Hello,
On Tue, 28 Jul 2026 11:38:21 Bradley Morgan wrote:
> Hi, Where's the patch?
>
> Adding -WError is relatively a non issue, (as the user could build with
> W1,or W128 if they are feeling crazy) Forcing the user to build with
> warnings as errors makes the build(er) responsible for fixing
> someone elses BS
>
> If I see the patch, I'll have a look 😀
>
> Thanks!
I sent all the patches separately (8 in total). Maybe you can get them if I
send them as two files?
--
Mikhail Karpov
From 8b53600c63c602616d20ac927dd583a20f7183e0 Mon Sep 17 00:00:00 2001
From: Mikhail Karpov <[email protected]>
Date: Tue, 28 Jul 2026 17:44:43 +0700
Subject: [PATCH] All patches
---
boot/userland-boot.c | 2 +-
console-client/ncursesw.c | 11 +++++++++--
fatfs/main.c | 2 +-
libbpf/bpf_impl.h | 2 --
libdiskfs/diskfs.h | 2 +-
libdiskfs/lookup.c | 4 ++--
libps/ps.h | 2 +-
libstore/device.c | 2 +-
libstore/nbd.c | 4 ++--
libstore/part.c | 2 +-
pfinet/Makefile | 2 +-
pfinet/glue-include/asm/uaccess.h | 1 -
pfinet/glue-include/linux/socket.h | 2 +-
pfinet/linux-src/include/linux/in_route.h | 4 ----
pfinet/linux-src/include/net/flow.h | 2 ++
pfinet/linux-src/net/core/dev.c | 2 ++
pfinet/linux-src/net/core/iovec.c | 3 ++-
pfinet/linux-src/net/ethernet/eth.c | 3 ++-
pfinet/linux-src/net/ipv4/arp.c | 15 +++++++++------
pfinet/linux-src/net/ipv4/devinet.c | 5 +----
pfinet/linux-src/net/ipv4/fib_hash.c | 1 -
pfinet/linux-src/net/ipv4/igmp.c | 6 +++---
pfinet/linux-src/net/ipv4/ip_output.c | 9 ++++-----
pfinet/linux-src/net/ipv4/ip_sockglue.c | 2 +-
pfinet/linux-src/net/ipv4/raw.c | 4 ++--
pfinet/linux-src/net/ipv4/tcp.c | 9 +++++----
pfinet/linux-src/net/ipv4/tcp_ipv4.c | 8 +++++---
pfinet/linux-src/net/ipv4/tcp_output.c | 7 ++++---
pfinet/linux-src/net/ipv4/udp.c | 20 ++++++++++++--------
pfinet/linux-src/net/ipv6/addrconf.c | 2 ++
pfinet/linux-src/net/ipv6/icmpv6.c | 8 ++++----
pfinet/linux-src/net/ipv6/ip6_output.c | 7 ++-----
pfinet/linux-src/net/ipv6/mcast.c | 2 +-
pfinet/linux-src/net/ipv6/ndisc.c | 7 ++-----
pfinet/linux-src/net/ipv6/raw_ipv6.c | 6 +++---
pfinet/linux-src/net/ipv6/tcp_ipv6.c | 12 ++++++------
pfinet/linux-src/net/ipv6/udp_ipv6.c | 9 ++++-----
pfinet/pfinet-ops.c | 1 -
procfs/process.c | 2 +-
trans/new-fifo.c | 5 +++++
40 files changed, 105 insertions(+), 94 deletions(-)
diff --git a/boot/userland-boot.c b/boot/userland-boot.c
index 1739eb91..2c92f6bd 100644
--- a/boot/userland-boot.c
+++ b/boot/userland-boot.c
@@ -212,7 +212,7 @@ load_image (task_t t,
buf = (vm_address_t) mmap (0, bufsz,
PROT_READ|PROT_WRITE, MAP_ANON, 0, 0);
- assert_backtrace (buf != MAP_FAILED);
+ assert_backtrace ((void *) buf != MAP_FAILED);
lseek (fd, ph->p_offset, SEEK_SET);
err = read (fd, (void *)(buf + offs), ph->p_filesz);
diff --git a/console-client/ncursesw.c b/console-client/ncursesw.c
index 116f86cc..c556aba6 100644
--- a/console-client/ncursesw.c
+++ b/console-client/ncursesw.c
@@ -453,7 +453,9 @@ mvwputsn (conchar_t *str, size_t len, off_t x, off_t y)
wmove (conspad, y, x);
while (len)
{
+#if 0
int ret;
+#endif
chtype ac;
if (last_attr != *(uint32_t *) &str->attr)
@@ -468,23 +470,28 @@ mvwputsn (conchar_t *str, size_t len, off_t x, off_t y)
else
{
wch[0] = str->chr;
- ret = setcchar (&chr, wch, attr, color_pair, NULL);
#if 0
+ ret = setcchar (&chr, wch, attr, color_pair, NULL);
if (ret == ERR)
{
printf ("setcchar failed: %s\n", strerror (errno));
printf ("[%lc]\n", wch[0]);
assert_backtrace (!"Do something if setcchar fails.");
}
+#else
+ setcchar (&chr, wch, attr, color_pair, NULL);
#endif
- ret = wadd_wch (conspad, &chr);
+
#if 0
+ ret = wadd_wch (conspad, &chr);
if (ret == ERR)
{
printf ("add_wch failed: %i, %s\n", ret, strerror (errno));
printf ("[%lc]\n", wch[0]);
assert_backtrace (!"Do something if add_wchr fails.");
}
+#else
+ wadd_wch (conspad, &chr);
#endif
}
len--;
diff --git a/fatfs/main.c b/fatfs/main.c
index 8f44ed8b..ab5db03e 100644
--- a/fatfs/main.c
+++ b/fatfs/main.c
@@ -235,7 +235,7 @@ main (int argc, char **argv)
zerocluster = (vm_address_t) mmap (0, bytes_per_cluster, PROT_READ|PROT_WRITE,
MAP_ANON, 0, 0);
- assert_backtrace (zerocluster != MAP_FAILED);
+ assert_backtrace ((void *) zerocluster != MAP_FAILED);
fetch_root ();
diff --git a/libbpf/bpf_impl.h b/libbpf/bpf_impl.h
index fb0fb490..d80e0058 100644
--- a/libbpf/bpf_impl.h
+++ b/libbpf/bpf_impl.h
@@ -51,8 +51,6 @@ typedef struct
typedef unsigned short filter_t;
typedef filter_t *filter_array_t;
-#define NET_MAX_FILTER 512 /* bpf programs are big */
-
#define NET_HASH_SIZE 256
#define N_NET_HASH 4
#define N_NET_HASH_KEYS 4
diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h
index d95e1b80..b8316d96 100644
--- a/libdiskfs/diskfs.h
+++ b/libdiskfs/diskfs.h
@@ -890,7 +890,7 @@ diskfs_disknode_node (struct disknode *disknode)
This function is a wrapper for diskfs_lookup_hard.
*/
error_t diskfs_lookup (struct node *dp,
- char *name, lookup_flags_t l_flags,
+ const char *name, lookup_flags_t l_flags,
struct node **np, struct dirstat *ds,
struct protid *cred);
diff --git a/libdiskfs/lookup.c b/libdiskfs/lookup.c
index 87b54c01..06b03b69 100644
--- a/libdiskfs/lookup.c
+++ b/libdiskfs/lookup.c
@@ -71,7 +71,7 @@
This function is a wrapper for diskfs_lookup_hard. */
error_t
-diskfs_lookup (struct node *dp, char *name, lookup_flags_t l_flags,
+diskfs_lookup (struct node *dp, const char *name, lookup_flags_t l_flags,
struct node **np, struct dirstat *ds, struct protid *cred)
{
error_t err;
@@ -99,7 +99,7 @@ diskfs_lookup (struct node *dp, char *name, lookup_flags_t l_flags,
}
else
{
- char *p = strchr (name, '/');
+ char *p = (char *) strchr (name, '/');
if (p != 0)
{
*p = '\0';
diff --git a/libps/ps.h b/libps/ps.h
index 3e59c66a..ad0aab77 100644
--- a/libps/ps.h
+++ b/libps/ps.h
@@ -356,7 +356,7 @@ struct proc_stat
#define PSTAT_NO_MSGPORT 0x1000000 /* Don't use the msgport at all */
/* Bits from PSTAT_USER_BASE on up are available for user-use. */
-#define PSTAT_USER_BASE 0x20000000
+#define PSTAT_USER_BASE 0x20000000ULL
#define PSTAT_USER_MASK ~(PSTAT_USER_BASE - 1)
/* If the PSTAT_STATE flag is set, then the proc_stats state field holds a
diff --git a/libstore/device.c b/libstore/device.c
index 56f3d93d..15f346e4 100644
--- a/libstore/device.c
+++ b/libstore/device.c
@@ -128,7 +128,7 @@ dopen (const char *name, device_t *device, int *mod_flags)
char *rest;
/* Parse @master:/dev/hello */
- if ( (name[0] == '@') && (pos = strchr (name, ':')) )
+ if ( (name[0] == '@') && (pos = (char *) strchr (name, ':')) )
{
master = strndup (name+1, pos-(name+1));
rest = pos+1;
diff --git a/libstore/nbd.c b/libstore/nbd.c
index 556222e1..e2699e76 100644
--- a/libstore/nbd.c
+++ b/libstore/nbd.c
@@ -299,12 +299,12 @@ static error_t
nbd_validate_name (const char *name,
const struct store_class *const *classes)
{
- char *p, *endp;
+ char *endp;
if (!strncmp (name, url_prefix, sizeof url_prefix - 1))
name += sizeof url_prefix - 1;
- p = strchr (name, ':');
+ const char *p = strchr (name, ':');
if (p == 0)
return EINVAL;
endp = 0;
diff --git a/libstore/part.c b/libstore/part.c
index e0937c66..b3ea2ead 100644
--- a/libstore/part.c
+++ b/libstore/part.c
@@ -29,7 +29,7 @@
/* XXX Until the Hurd specific header is available, provide the
declaration of ped_device_new_from_store here. */
-#warning "Using local declaration of ped_device_new_from_store."
+#pragma message "Using local declaration of ped_device_new_from_store."
/* Initialize a PedDevice using SOURCE. The SOURCE will NOT be destroyed;
the caller created it, it is the caller's responsilbility to free it
diff --git a/pfinet/Makefile b/pfinet/Makefile
index 22c3a171..e15aa59d 100644
--- a/pfinet/Makefile
+++ b/pfinet/Makefile
@@ -131,7 +131,7 @@ CPPFLAGS += -imacros $(srcdir)/config.h \
# Don't ask... We use Linux code. The problem was first noticed when
# compiling `pfinet' with GCC 4.2.
-CFLAGS += -fno-strict-aliasing
+CFLAGS += -fno-strict-aliasing -Wno-array-bounds
asm/checksum.h: ../config.status
mkdir -p $(@D)
diff --git a/pfinet/glue-include/asm/uaccess.h b/pfinet/glue-include/asm/uaccess.h
index 752c61c0..7f47632b 100644
--- a/pfinet/glue-include/asm/uaccess.h
+++ b/pfinet/glue-include/asm/uaccess.h
@@ -41,7 +41,6 @@ struct __large_struct { unsigned long buf[100]; };
#define get_user_ret(x,ptr,ret) ({ if (get_user(x,ptr)) return ret; })
-#define copy_to_user(to,from,n) (memcpy ((to), (from), (n)), 0)
#define copy_from_user(to,from,n) (memcpy ((to), (from), (n)), 0)
#define clear_user(mem, len) (memset ((mem), 0, (len)), 0)
diff --git a/pfinet/glue-include/linux/socket.h b/pfinet/glue-include/linux/socket.h
index 58fc2c7a..202d6ccc 100644
--- a/pfinet/glue-include/linux/socket.h
+++ b/pfinet/glue-include/linux/socket.h
@@ -79,7 +79,7 @@ put_cmsg(struct msghdr *msg, int level, int type, int len, void *data)
#define CMSG_ALIGN(size) (0)
#define CMSG_LEN(size) (0)
#else
-#define copy_to_user(to,from,n) (memcpy ((to), (from), (n)), 0)
+#define copy_to_user(to,from,n) ({memcpy ((to), (from), (n)); 0;})
static inline int
put_cmsg(struct msghdr * msg, int level, int type, int len, void *data)
{
diff --git a/pfinet/linux-src/include/linux/in_route.h b/pfinet/linux-src/include/linux/in_route.h
index 61f25c30..407dbecc 100644
--- a/pfinet/linux-src/include/linux/in_route.h
+++ b/pfinet/linux-src/include/linux/in_route.h
@@ -25,8 +25,4 @@
#define RTCF_REJECT 0x40000000
#define RTCF_LOCAL 0x80000000
-#define RTCF_NAT (RTCF_DNAT|RTCF_SNAT)
-
-#define RT_TOS(tos) ((tos)&IPTOS_TOS_MASK)
-
#endif /* _LINUX_IN_ROUTE_H */
diff --git a/pfinet/linux-src/include/net/flow.h b/pfinet/linux-src/include/net/flow.h
index e1ce1b2a..2cb6cd91 100644
--- a/pfinet/linux-src/include/net/flow.h
+++ b/pfinet/linux-src/include/net/flow.h
@@ -91,6 +91,8 @@ struct flow_rule {
unsigned char private[0];
};
+struct rt6_info;
+
struct flow_rule_ops {
int (*accept)(struct rt6_info *rt,
struct rt6_info *rule,
diff --git a/pfinet/linux-src/net/core/dev.c b/pfinet/linux-src/net/core/dev.c
index b47c5027..2b5ff4e2 100644
--- a/pfinet/linux-src/net/core/dev.c
+++ b/pfinet/linux-src/net/core/dev.c
@@ -1062,6 +1062,7 @@ int register_gifconf(unsigned int family, gifconf_func_t * gifconf)
* Map an interface index to its name (SIOCGIFNAME)
*/
+#if 0
/*
* This call is useful, but I'd remove it too.
*
@@ -1100,6 +1101,7 @@ static int dev_ifname(struct ifreq *arg)
err = copy_to_user(arg, &ifr, sizeof(struct ifreq));
return (err)?-EFAULT:0;
}
+#endif
/*
* Perform a SIOCGIFCONF call. This structure will change
diff --git a/pfinet/linux-src/net/core/iovec.c b/pfinet/linux-src/net/core/iovec.c
index c20f8530..5c9660f9 100644
--- a/pfinet/linux-src/net/core/iovec.c
+++ b/pfinet/linux-src/net/core/iovec.c
@@ -259,7 +259,8 @@ int csum_partial_copy_fromiovecend(unsigned char *kdata, struct iovec *iov,
}
if (copy) {
- csum = csum_and_copy_from_user(base, kdata, copy,
+ csum = csum_and_copy_from_user((const char *) base,
+ (char *) kdata, copy,
csum, &err);
if (err)
goto out;
diff --git a/pfinet/linux-src/net/ethernet/eth.c b/pfinet/linux-src/net/ethernet/eth.c
index 945f4a06..c33c25b8 100644
--- a/pfinet/linux-src/net/ethernet/eth.c
+++ b/pfinet/linux-src/net/ethernet/eth.c
@@ -291,7 +291,8 @@ void eth_copy_and_sum(struct sk_buff *dest, unsigned char *src, int length, int
if ((ip_length <= length) && (ip_length > 7))
length=ip_length;
- dest->csum=csum_partial_copy(src+sizeof(struct iphdr)+ETH_HLEN,dest->data+sizeof(struct iphdr)+ETH_HLEN,length,base);
+ dest->csum=csum_partial_copy((const char *)src+sizeof(struct iphdr)+ETH_HLEN,
+ (char *)dest->data+sizeof(struct iphdr)+ETH_HLEN,length,base);
dest->ip_summed=1;
}
diff --git a/pfinet/linux-src/net/ipv4/arp.c b/pfinet/linux-src/net/ipv4/arp.c
index 53d155a9..c09debdf 100644
--- a/pfinet/linux-src/net/ipv4/arp.c
+++ b/pfinet/linux-src/net/ipv4/arp.c
@@ -197,13 +197,13 @@ int arp_mc_map(u32 addr, u8 *haddr, struct device *dev, int dir)
switch (dev->type) {
case ARPHRD_ETHER:
case ARPHRD_FDDI:
- ip_eth_mc_map(addr, haddr) ;
+ ip_eth_mc_map(addr, (char *) haddr);
return 0 ;
case ARPHRD_IEEE802:
if ( (dev->name[0] == 't') && (dev->name[1] == 'r')) /* Token Ring */
- ip_tr_mc_map(addr,haddr) ;
+ ip_tr_mc_map(addr, (char *) haddr);
else
- ip_eth_mc_map(addr, haddr);
+ ip_eth_mc_map(addr, (char *) haddr);
return 0;
default:
if (dir) {
@@ -545,7 +545,7 @@ int arp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
struct arphdr *arp = skb->nh.arph;
unsigned char *arp_ptr= (unsigned char *)(arp+1);
struct rtable *rt;
- unsigned char *sha, *tha;
+ unsigned char *sha;
u32 sip, tip;
u16 dev_type = dev->type;
int addr_type;
@@ -632,7 +632,6 @@ int arp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
arp_ptr += dev->addr_len;
memcpy(&sip, arp_ptr, 4);
arp_ptr += 4;
- tha=arp_ptr;
arp_ptr += dev->addr_len;
memcpy(&tip, arp_ptr, 4);
/*
@@ -825,13 +824,14 @@ int arp_req_set(struct arpreq *r, struct device * dev)
if (r->arp_flags & ATF_PERM)
state = NUD_PERMANENT;
err = neigh_update(neigh, (r->arp_flags&ATF_COM) ?
- r->arp_ha.sa_data : NULL, state, 1, 0);
+ (unsigned char *) r->arp_ha.sa_data : NULL, state, 1, 0);
neigh_release(neigh);
}
end_bh_atomic();
return err;
}
+#if 0
static unsigned arp_state_to_flags(struct neighbour *neigh)
{
unsigned flags = 0;
@@ -841,11 +841,13 @@ static unsigned arp_state_to_flags(struct neighbour *neigh)
flags = ATF_COM;
return flags;
}
+#endif
/*
* Get an ARP cache entry.
*/
+#if 0
static int arp_req_get(struct arpreq *r, struct device *dev)
{
u32 ip = ((struct sockaddr_in *) &r->arp_pa)->sin_addr.s_addr;
@@ -865,6 +867,7 @@ static int arp_req_get(struct arpreq *r, struct device *dev)
end_bh_atomic();
return err;
}
+#endif
int arp_req_delete(struct arpreq *r, struct device * dev)
{
diff --git a/pfinet/linux-src/net/ipv4/devinet.c b/pfinet/linux-src/net/ipv4/devinet.c
index a566743a..828a8828 100644
--- a/pfinet/linux-src/net/ipv4/devinet.c
+++ b/pfinet/linux-src/net/ipv4/devinet.c
@@ -705,10 +705,7 @@ inet_gifconf(struct device *dev, char *buf, int len)
if (len < (int) sizeof(ifr))
return done;
memset(&ifr, 0, sizeof(struct ifreq));
- if (ifa->ifa_label)
- strcpy(ifr.ifr_name, ifa->ifa_label);
- else
- strcpy(ifr.ifr_name, dev->name);
+ strcpy(ifr.ifr_name, ifa->ifa_label);
#ifdef _HURD_
(*(struct sockaddr_in *) &ifr.ifr_addr).sin_len = sizeof (struct sockaddr_in);
diff --git a/pfinet/linux-src/net/ipv4/fib_hash.c b/pfinet/linux-src/net/ipv4/fib_hash.c
index 495f1682..4016e70a 100644
--- a/pfinet/linux-src/net/ipv4/fib_hash.c
+++ b/pfinet/linux-src/net/ipv4/fib_hash.c
@@ -887,7 +887,6 @@ __initfunc(struct fib_table * fib_hash_init(int id))
static void
fib_node_get_route(int type, int dead, struct fib_info *fi, u32 prefix, u32 mask, ifrtreq_t *r)
{
- int len;
static unsigned type2flags[RTN_MAX+1] = {
[RTN_UNREACHABLE] = RTF_REJECT,
[RTN_PROHIBIT] = RTF_REJECT
diff --git a/pfinet/linux-src/net/ipv4/igmp.c b/pfinet/linux-src/net/ipv4/igmp.c
index 46269106..7bf45034 100644
--- a/pfinet/linux-src/net/ipv4/igmp.c
+++ b/pfinet/linux-src/net/ipv4/igmp.c
@@ -352,7 +352,7 @@ static void ip_mc_filter_add(struct in_device *in_dev, u32 addr)
if (dev->mc_list && dev->flags&IFF_MULTICAST) { do it; }
--ANK
*/
- if (arp_mc_map(addr, buf, dev, 0) == 0)
+ if (arp_mc_map(addr, (unsigned char *) buf, dev, 0) == 0)
dev_mc_add(dev,buf,dev->addr_len,0);
}
@@ -365,7 +365,7 @@ static void ip_mc_filter_del(struct in_device *in_dev, u32 addr)
char buf[MAX_ADDR_LEN];
struct device *dev = in_dev->dev;
- if (arp_mc_map(addr, buf, dev, 0) == 0)
+ if (arp_mc_map(addr, (unsigned char *) buf, dev, 0) == 0)
dev_mc_delete(dev,buf,dev->addr_len,0);
}
@@ -442,8 +442,8 @@ void ip_mc_inc_group(struct in_device *in_dev, u32 addr)
im->timer.function=&igmp_timer_expire;
im->unsolicit_count = IGMP_Unsolicited_Report_Count;
im->reporter = 0;
- im->loaded = 0;
#endif
+ im->loaded = 0;
im->next=in_dev->mc_list;
in_dev->mc_list=im;
igmp_group_added(im);
diff --git a/pfinet/linux-src/net/ipv4/ip_output.c b/pfinet/linux-src/net/ipv4/ip_output.c
index f43f4ffd..0723d5b5 100644
--- a/pfinet/linux-src/net/ipv4/ip_output.c
+++ b/pfinet/linux-src/net/ipv4/ip_output.c
@@ -101,7 +101,6 @@ void ip_build_and_send_pkt(struct sk_buff *skb, struct sock *sk,
{
struct rtable *rt = (struct rtable *)skb->dst;
struct iphdr *iph;
- struct device *dev;
/* Build the IP header. */
if (opt)
@@ -128,10 +127,10 @@ void ip_build_and_send_pkt(struct sk_buff *skb, struct sock *sk,
ip_options_build(skb, opt, daddr, rt, 0);
}
- dev = rt->u.dst.dev;
-
#ifdef CONFIG_FIREWALL
/* Now we have no better mechanism to notify about error. */
+ struct device *dev = rt->u.dst.dev;
+
switch (call_out_firewall(PF_INET, dev, iph, NULL, &skb)) {
case FW_REJECT:
icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0);
@@ -488,7 +487,7 @@ int ip_build_xmit_slow(struct sock *sk,
*/
do {
- char *data;
+ unsigned char *data;
struct sk_buff * skb;
/*
@@ -555,7 +554,7 @@ int ip_build_xmit_slow(struct sock *sk,
* User data callback
*/
- if (getfrag(frag, data, offset, fraglen-fragheaderlen)) {
+ if (getfrag(frag, (char *) data, offset, fraglen-fragheaderlen)) {
err = -EFAULT;
kfree_skb(skb);
goto error;
diff --git a/pfinet/linux-src/net/ipv4/ip_sockglue.c b/pfinet/linux-src/net/ipv4/ip_sockglue.c
index 369a6770..bac90766 100644
--- a/pfinet/linux-src/net/ipv4/ip_sockglue.c
+++ b/pfinet/linux-src/net/ipv4/ip_sockglue.c
@@ -405,7 +405,7 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char *optval, int opt
struct ip_options * opt = NULL;
if (optlen > 40 || optlen < 0)
return -EINVAL;
- err = ip_options_get(&opt, optval, optlen, 1);
+ err = ip_options_get(&opt, (unsigned char *) optval, optlen, 1);
if (err)
return err;
lock_sock(sk);
diff --git a/pfinet/linux-src/net/ipv4/raw.c b/pfinet/linux-src/net/ipv4/raw.c
index a0aaa82e..5460ff35 100644
--- a/pfinet/linux-src/net/ipv4/raw.c
+++ b/pfinet/linux-src/net/ipv4/raw.c
@@ -210,7 +210,7 @@ struct rawfakehdr
static int raw_getfrag(const void *p, char *to, unsigned int offset, unsigned int fraglen)
{
struct rawfakehdr *rfh = (struct rawfakehdr *) p;
- return memcpy_fromiovecend(to, rfh->iov, offset, fraglen);
+ return memcpy_fromiovecend((unsigned char *) to, rfh->iov, offset, fraglen);
}
/*
@@ -221,7 +221,7 @@ static int raw_getrawfrag(const void *p, char *to, unsigned int offset, unsigned
{
struct rawfakehdr *rfh = (struct rawfakehdr *) p;
- if (memcpy_fromiovecend(to, rfh->iov, offset, fraglen))
+ if (memcpy_fromiovecend((unsigned char *) to, rfh->iov, offset, fraglen))
return -EFAULT;
if (offset==0) {
diff --git a/pfinet/linux-src/net/ipv4/tcp.c b/pfinet/linux-src/net/ipv4/tcp.c
index 13e57954..5a04c2d2 100644
--- a/pfinet/linux-src/net/ipv4/tcp.c
+++ b/pfinet/linux-src/net/ipv4/tcp.c
@@ -863,7 +863,8 @@ int tcp_do_sendmsg(struct sock *sk, struct msghdr *msg)
} else {
skb->csum =
csum_and_copy_from_user(
- from, skb_put(skb, copy),
+ (const char *) from,
+ (char *) skb_put(skb, copy),
copy, skb->csum, &err);
}
@@ -976,8 +977,8 @@ int tcp_do_sendmsg(struct sock *sk, struct msghdr *msg)
* Reserve header space and checksum the data.
*/
skb_reserve(skb, MAX_HEADER + sk->prot->max_header);
- skb->csum = csum_and_copy_from_user(from,
- skb_put(skb, copy), copy, 0, &err);
+ skb->csum = csum_and_copy_from_user((const char *) from,
+ (char *) skb_put(skb, copy), copy, 0, &err);
if (err)
goto do_fault;
@@ -1069,7 +1070,7 @@ static int tcp_recv_urg(struct sock * sk, int nonblock,
lock_sock(sk);
if (tp->urg_data & URG_VALID) {
int err = 0;
- char c = tp->urg_data;
+ unsigned char c = tp->urg_data;
if (!(flags & MSG_PEEK))
tp->urg_data = URG_READ;
diff --git a/pfinet/linux-src/net/ipv4/tcp_ipv4.c b/pfinet/linux-src/net/ipv4/tcp_ipv4.c
index ac55547a..82966b30 100644
--- a/pfinet/linux-src/net/ipv4/tcp_ipv4.c
+++ b/pfinet/linux-src/net/ipv4/tcp_ipv4.c
@@ -965,7 +965,8 @@ void tcp_v4_send_check(struct sock *sk, struct tcphdr *th, int len,
{
th->check = 0;
th->check = tcp_v4_check(th, len, sk->saddr, sk->daddr,
- csum_partial((char *)th, th->doff<<2, skb->csum));
+ csum_partial((const unsigned char *) th,
+ th->doff<<2, skb->csum));
}
/*
@@ -1177,7 +1178,8 @@ static void tcp_v4_send_synack(struct sock *sk, struct open_request *req)
th->check = tcp_v4_check(th, skb->len,
req->af.v4_req.loc_addr, req->af.v4_req.rmt_addr,
- csum_partial((char *)th, skb->len, skb->csum));
+ csum_partial((const unsigned char *) th, skb->len,
+ skb->csum));
ip_build_and_send_pkt(skb, sk, req->af.v4_req.loc_addr,
req->af.v4_req.rmt_addr, req->af.v4_req.opt);
@@ -1723,7 +1725,7 @@ int tcp_v4_rcv(struct sk_buff *skb, unsigned short len)
/* Try to use the device checksum if provided. */
switch (skb->ip_summed) {
case CHECKSUM_NONE:
- skb->csum = csum_partial((char *)th, len, 0);
+ skb->csum = csum_partial((const unsigned char *) th, len, 0);
case CHECKSUM_HW:
if (tcp_v4_check(th,len,skb->nh.iph->saddr,skb->nh.iph->daddr,skb->csum)) {
NETDEBUG(printk(KERN_DEBUG "TCPv4 bad checksum "
diff --git a/pfinet/linux-src/net/ipv4/tcp_output.c b/pfinet/linux-src/net/ipv4/tcp_output.c
index a15b7b30..cdb4204a 100644
--- a/pfinet/linux-src/net/ipv4/tcp_output.c
+++ b/pfinet/linux-src/net/ipv4/tcp_output.c
@@ -230,7 +230,8 @@ static int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len)
TCP_SKB_CB(buff)->sacked = 0;
/* Copy and checksum data tail into the new buffer. */
- buff->csum = csum_partial_copy(skb->data + len, skb_put(buff, nsize),
+ buff->csum = csum_partial_copy((const char *) skb->data + len,
+ (char *) skb_put(buff, nsize),
nsize, 0);
/* This takes care of the FIN sequence number too. */
@@ -495,8 +496,8 @@ static void tcp_retrans_try_collapse(struct sock *sk, struct sk_buff *skb, int m
/* Optimize, actually we could also combine next_skb->csum
* to skb->csum using a single add w/carry operation too.
*/
- skb->csum = csum_partial_copy(next_skb->data,
- skb_put(skb, next_skb_size),
+ skb->csum = csum_partial_copy((const char *) next_skb->data,
+ (char *) skb_put(skb, next_skb_size),
next_skb_size, skb->csum);
}
diff --git a/pfinet/linux-src/net/ipv4/udp.c b/pfinet/linux-src/net/ipv4/udp.c
index 52bae18e..6c77412b 100644
--- a/pfinet/linux-src/net/ipv4/udp.c
+++ b/pfinet/linux-src/net/ipv4/udp.c
@@ -506,10 +506,12 @@ static int udp_getfrag(const void *p, char * to, unsigned int offset, unsigned i
{
struct udpfakehdr *ufh = (struct udpfakehdr *)p;
if (offset==0) {
- if (csum_partial_copy_fromiovecend(to+sizeof(struct udphdr), ufh->iov, offset,
- fraglen-sizeof(struct udphdr), &ufh->wcheck))
+ if (csum_partial_copy_fromiovecend((unsigned char *) to+sizeof(struct udphdr),
+ ufh->iov, offset,
+ fraglen-sizeof(struct udphdr),
+ (int *) &ufh->wcheck))
return -EFAULT;
- ufh->wcheck = csum_partial((char *)ufh, sizeof(struct udphdr),
+ ufh->wcheck = csum_partial((const unsigned char *) ufh, sizeof(struct udphdr),
ufh->wcheck);
ufh->uh.check = csum_tcpudp_magic(ufh->saddr, ufh->daddr,
ntohs(ufh->uh.len),
@@ -519,8 +521,9 @@ static int udp_getfrag(const void *p, char * to, unsigned int offset, unsigned i
memcpy(to, ufh, sizeof(struct udphdr));
return 0;
}
- if (csum_partial_copy_fromiovecend(to, ufh->iov, offset-sizeof(struct udphdr),
- fraglen, &ufh->wcheck))
+ if (csum_partial_copy_fromiovecend((unsigned char *) to, ufh->iov,
+ offset-sizeof(struct udphdr),
+ fraglen, (int *) &ufh->wcheck))
return -EFAULT;
return 0;
}
@@ -538,10 +541,11 @@ static int udp_getfrag_nosum(const void *p, char * to, unsigned int offset, unsi
if (offset==0) {
memcpy(to, ufh, sizeof(struct udphdr));
- return memcpy_fromiovecend(to+sizeof(struct udphdr), ufh->iov, offset,
+ return memcpy_fromiovecend((unsigned char *) to+sizeof(struct udphdr),
+ ufh->iov, offset,
fraglen-sizeof(struct udphdr));
}
- return memcpy_fromiovecend(to, ufh->iov, offset-sizeof(struct udphdr),
+ return memcpy_fromiovecend((unsigned char *) to, ufh->iov, offset-sizeof(struct udphdr),
fraglen);
}
@@ -1102,7 +1106,7 @@ int udp_rcv(struct sk_buff *skb, unsigned short len)
if (uh->check &&
(((skb->ip_summed==CHECKSUM_HW)&&udp_check(uh,ulen,saddr,daddr,skb->csum)) ||
((skb->ip_summed==CHECKSUM_NONE) &&
- (udp_check(uh,ulen,saddr,daddr, csum_partial((char*)uh, ulen, 0))))))
+ (udp_check(uh,ulen,saddr,daddr, csum_partial((const unsigned char*) uh, ulen, 0))))))
goto csum_error;
#else
if (uh->check==0)
diff --git a/pfinet/linux-src/net/ipv6/addrconf.c b/pfinet/linux-src/net/ipv6/addrconf.c
index d392b3fd..61a333cb 100644
--- a/pfinet/linux-src/net/ipv6/addrconf.c
+++ b/pfinet/linux-src/net/ipv6/addrconf.c
@@ -264,6 +264,7 @@ struct inet6_dev * ipv6_find_idev(struct device *dev)
return idev;
}
+#if 0
static void addrconf_forward_change(struct inet6_dev *idev)
{
int i;
@@ -276,6 +277,7 @@ static void addrconf_forward_change(struct inet6_dev *idev)
idev->cnf.forwarding = ipv6_devconf.forwarding;
}
}
+#endif
struct inet6_dev * ipv6_get_idev(struct device *dev)
{
diff --git a/pfinet/linux-src/net/ipv6/icmpv6.c b/pfinet/linux-src/net/ipv6/icmpv6.c
index 9d701764..38d93faa 100644
--- a/pfinet/linux-src/net/ipv6/icmpv6.c
+++ b/pfinet/linux-src/net/ipv6/icmpv6.c
@@ -364,7 +364,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
unsigned char *data;
int len;
- data = (char *) (icmph + 1);
+ data = (unsigned char *) (icmph + 1);
saddr = &hdr->daddr;
@@ -474,7 +474,7 @@ int icmpv6_rcv(struct sk_buff *skb, unsigned long len)
/* Perform checksum. */
switch (skb->ip_summed) {
case CHECKSUM_NONE:
- skb->csum = csum_partial((char *)hdr, len, 0);
+ skb->csum = csum_partial((const unsigned char *) hdr, len, 0);
case CHECKSUM_HW:
if (csum_ipv6_magic(saddr, daddr, len, IPPROTO_ICMPV6,
skb->csum)) {
@@ -543,7 +543,7 @@ int icmpv6_rcv(struct sk_buff *skb, unsigned long len)
case ICMPV6_TIME_EXCEED:
case ICMPV6_PARAMPROB:
icmpv6_notify(skb, type, hdr->icmp6_code, hdr->icmp6_mtu,
- (char *) (hdr + 1), ulen);
+ (unsigned char *) (hdr + 1), ulen);
break;
case NDISC_ROUTER_SOLICITATION:
@@ -579,7 +579,7 @@ int icmpv6_rcv(struct sk_buff *skb, unsigned long len)
*/
icmpv6_notify(skb, type, hdr->icmp6_code, hdr->icmp6_mtu,
- (char *) (hdr + 1), ulen);
+ (unsigned char *) (hdr + 1), ulen);
};
kfree_skb(skb);
return 0;
diff --git a/pfinet/linux-src/net/ipv6/ip6_output.c b/pfinet/linux-src/net/ipv6/ip6_output.c
index e06ad59a..b2e78113 100644
--- a/pfinet/linux-src/net/ipv6/ip6_output.c
+++ b/pfinet/linux-src/net/ipv6/ip6_output.c
@@ -181,13 +181,10 @@ int ip6_nd_hdr(struct sock *sk, struct sk_buff *skb, struct device *dev,
{
struct ipv6_pinfo *np = &sk->net_pinfo.af_inet6;
struct ipv6hdr *hdr;
- int totlen;
skb->protocol = __constant_htons(ETH_P_IPV6);
skb->dev = dev;
- totlen = len + sizeof(struct ipv6hdr);
-
hdr = (struct ipv6hdr *) skb_put(skb, sizeof(struct ipv6hdr));
skb->nh.ipv6h = hdr;
@@ -344,7 +341,7 @@ static int ip6_frag_xmit(struct sock *sk, inet_getfrag_t getfrag,
prev_hdr = ipv6_build_fraghdr(last_skb, prev_hdr, frag_off);
fhdr_dist = prev_hdr - last_skb->data;
- err = getfrag(data, &hdr->saddr, last_skb->tail, data_off, last_len);
+ err = getfrag(data, &hdr->saddr, (char *) last_skb->tail, data_off, last_len);
if (!err) {
while (nfrags--) {
@@ -375,7 +372,7 @@ static int ip6_frag_xmit(struct sock *sk, inet_getfrag_t getfrag,
data_off = 0;
}
- err = getfrag(data, &hdr->saddr,skb_put(skb, frag_len),
+ err = getfrag(data, &hdr->saddr, (char *) skb_put(skb, frag_len),
data_off, frag_len);
if (err) {
diff --git a/pfinet/linux-src/net/ipv6/mcast.c b/pfinet/linux-src/net/ipv6/mcast.c
index 87e9e909..cd448d31 100644
--- a/pfinet/linux-src/net/ipv6/mcast.c
+++ b/pfinet/linux-src/net/ipv6/mcast.c
@@ -456,7 +456,7 @@ void igmp6_send(struct in6_addr *addr, struct device *dev, int type)
skb_reserve(skb, (dev->hard_header_len + 15) & ~15);
if (dev->hard_header) {
unsigned char ha[MAX_ADDR_LEN];
- ndisc_mc_map(snd_addr, ha, dev, 1);
+ ndisc_mc_map(snd_addr, (char *) ha, dev, 1);
dev->hard_header(skb, dev, ETH_P_IPV6, ha, NULL, full_len);
}
diff --git a/pfinet/linux-src/net/ipv6/ndisc.c b/pfinet/linux-src/net/ipv6/ndisc.c
index 61f950d2..d9fa47c1 100644
--- a/pfinet/linux-src/net/ipv6/ndisc.c
+++ b/pfinet/linux-src/net/ipv6/ndisc.c
@@ -192,7 +192,7 @@ static int ndisc_constructor(struct neighbour *neigh)
} else {
if (addr_type&IPV6_ADDR_MULTICAST) {
neigh->nud_state = NUD_NOARP;
- ndisc_mc_map(addr, neigh->ha, dev, 1);
+ ndisc_mc_map(addr, (char *) neigh->ha, dev, 1);
} else if (dev->flags&(IFF_NOARP|IFF_LOOPBACK)) {
neigh->nud_state = NUD_NOARP;
memcpy(neigh->ha, dev->dev_addr, dev->addr_len);
@@ -265,7 +265,7 @@ ndisc_build_ll_hdr(struct sk_buff *skb, struct device *dev,
if (dev->hard_header) {
if (ipv6_addr_type(daddr) & IPV6_ADDR_MULTICAST) {
- ndisc_mc_map(daddr, ha, dev, 1);
+ ndisc_mc_map(daddr, (char *) ha, dev, 1);
h_dest = ha;
} else if (neigh) {
h_dest = neigh->ha;
@@ -782,7 +782,6 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
u8 *opt;
int rd_len;
int err;
- int hlen;
dev = skb->dev;
rt = rt6_lookup(&skb->nh.ipv6h->saddr, NULL, dev->ifindex, 1);
@@ -831,8 +830,6 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
return;
}
- hlen = 0;
-
if (ndisc_build_ll_hdr(buff, dev, &skb->nh.ipv6h->saddr, NULL, len) == 0) {
kfree_skb(buff);
return;
diff --git a/pfinet/linux-src/net/ipv6/raw_ipv6.c b/pfinet/linux-src/net/ipv6/raw_ipv6.c
index 64bc247c..e9a64170 100644
--- a/pfinet/linux-src/net/ipv6/raw_ipv6.c
+++ b/pfinet/linux-src/net/ipv6/raw_ipv6.c
@@ -308,7 +308,7 @@ static int rawv6_getfrag(const void *data, struct in6_addr *saddr,
{
struct iovec *iov = (struct iovec *) data;
- return memcpy_fromiovecend(buff, iov, offset, len);
+ return memcpy_fromiovecend((unsigned char *) buff, iov, offset, len);
}
static int rawv6_frag_cksum(const void *data, struct in6_addr *addr,
@@ -317,8 +317,8 @@ static int rawv6_frag_cksum(const void *data, struct in6_addr *addr,
{
struct rawv6_fakehdr *hdr = (struct rawv6_fakehdr *) data;
- if (csum_partial_copy_fromiovecend(buff, hdr->iov, offset,
- len, &hdr->cksum))
+ if (csum_partial_copy_fromiovecend((unsigned char *) buff, hdr->iov, offset,
+ len, (int *) &hdr->cksum))
return -EFAULT;
if (offset == 0) {
diff --git a/pfinet/linux-src/net/ipv6/tcp_ipv6.c b/pfinet/linux-src/net/ipv6/tcp_ipv6.c
index cca5abf4..df832098 100644
--- a/pfinet/linux-src/net/ipv6/tcp_ipv6.c
+++ b/pfinet/linux-src/net/ipv6/tcp_ipv6.c
@@ -169,7 +169,6 @@ static int tcp_v6_get_port(struct sock *sk, unsigned short snum)
} else {
struct sock *sk2 = tb->owners;
int sk_reuse = sk->reuse;
- int addr_type = ipv6_addr_type(&sk->net_pinfo.af_inet6.rcv_saddr);
for( ; sk2 != NULL; sk2 = sk2->bind_next) {
if (sk->bound_dev_if == sk2->bound_dev_if) {
@@ -816,7 +815,8 @@ static void tcp_v6_send_synack(struct sock *sk, struct open_request *req)
th->check = tcp_v6_check(th, skb->len,
&req->af.v6_req.loc_addr, &req->af.v6_req.rmt_addr,
- csum_partial((char *)th, skb->len, skb->csum));
+ csum_partial((const unsigned char *) th, skb->len,
+ skb->csum));
fl.nl_u.ip6_u.daddr = &req->af.v6_req.rmt_addr;
ip6_xmit(sk, skb, &fl, opt);
@@ -960,7 +960,7 @@ static void tcp_v6_send_check(struct sock *sk, struct tcphdr *th, int len,
th->check = 0;
th->check = csum_ipv6_magic(&np->saddr, &np->daddr, len, IPPROTO_TCP,
- csum_partial((char *)th, th->doff<<2,
+ csum_partial((const unsigned char *) th, th->doff<<2,
skb->csum));
}
@@ -1150,7 +1150,7 @@ static void tcp_v6_send_reset(struct sk_buff *skb)
t1->ack_seq = htonl(ntohl(th->seq)+1);
}
- buff->csum = csum_partial((char *)t1, sizeof(*t1), 0);
+ buff->csum = csum_partial((const unsigned char *) t1, sizeof(*t1), 0);
fl.nl_u.ip6_u.daddr = &skb->nh.ipv6h->saddr;
fl.nl_u.ip6_u.saddr = &skb->nh.ipv6h->daddr;
@@ -1204,7 +1204,7 @@ static void tcp_v6_send_ack(struct sk_buff *skb, __u32 seq, __u32 ack, __u16 win
t1->window = htons(window);
- buff->csum = csum_partial((char *)t1, sizeof(*t1), 0);
+ buff->csum = csum_partial((const unsigned char *) t1, sizeof(*t1), 0);
fl.nl_u.ip6_u.daddr = &skb->nh.ipv6h->saddr;
fl.nl_u.ip6_u.saddr = &skb->nh.ipv6h->daddr;
@@ -1472,7 +1472,7 @@ int tcp_v6_rcv(struct sk_buff *skb, unsigned long len)
switch (skb->ip_summed) {
case CHECKSUM_NONE:
- skb->csum = csum_partial((char *)th, len, 0);
+ skb->csum = csum_partial((const unsigned char *) th, len, 0);
case CHECKSUM_HW:
if (tcp_v6_check(th,len,saddr,daddr,skb->csum)) {
printk(KERN_DEBUG "tcp csum failed\n");
diff --git a/pfinet/linux-src/net/ipv6/udp_ipv6.c b/pfinet/linux-src/net/ipv6/udp_ipv6.c
index 6d4bbdb9..f59c0014 100644
--- a/pfinet/linux-src/net/ipv6/udp_ipv6.c
+++ b/pfinet/linux-src/net/ipv6/udp_ipv6.c
@@ -134,7 +134,6 @@ gotit:
snum = result;
} else {
struct sock *sk2;
- int addr_type = ipv6_addr_type(&sk->net_pinfo.af_inet6.rcv_saddr);
for (sk2 = udp_hash[snum & (UDP_HTABLE_SIZE - 1)];
sk2 != NULL;
@@ -691,7 +690,7 @@ int udpv6_rcv(struct sk_buff *skb, unsigned long len)
#ifndef CONFIG_UDP_DELAY_CSUM
switch (skb->ip_summed) {
case CHECKSUM_NONE:
- skb->csum = csum_partial((char*)uh, ulen, 0);
+ skb->csum = csum_partial((const unsigned char*) uh, ulen, 0);
case CHECKSUM_HW:
if (csum_ipv6_magic(saddr, daddr, ulen, IPPROTO_UDP, skb->csum)) {
printk(KERN_DEBUG "IPv6: udp checksum error\n");
@@ -787,14 +786,14 @@ static int udpv6_getfrag(const void *data, struct in6_addr *addr,
clen -= sizeof(struct udphdr);
}
- if (csum_partial_copy_fromiovecend(dst, udh->iov, offset,
- clen, &udh->wcheck))
+ if (csum_partial_copy_fromiovecend((unsigned char *) dst, udh->iov, offset,
+ clen, (int *) &udh->wcheck))
return -EFAULT;
if (final) {
struct in6_addr *daddr;
- udh->wcheck = csum_partial((char *)udh, sizeof(struct udphdr),
+ udh->wcheck = csum_partial((const unsigned char *) udh, sizeof(struct udphdr),
udh->wcheck);
if (udh->daddr) {
diff --git a/pfinet/pfinet-ops.c b/pfinet/pfinet-ops.c
index 9b0c723f..3b645a0d 100644
--- a/pfinet/pfinet-ops.c
+++ b/pfinet/pfinet-ops.c
@@ -133,7 +133,6 @@ S_pfinet_getroutes (io_t port,
mach_msg_type_number_t *len,
boolean_t *dealloc_data)
{
- error_t err = 0;
ifrtreq_t rs[MAX_ROUTES];
int n;
ifrtreq_t *rtable = NULL;
diff --git a/procfs/process.c b/procfs/process.c
index 3170b775..59d1aaec 100644
--- a/procfs/process.c
+++ b/procfs/process.c
@@ -83,7 +83,7 @@ static long long int timeval_jiffies (time_value_t tv)
static const char *args_filename (const char *name)
{
- char *sp = strrchr (name, '/');
+ const char *sp = strrchr (name, '/');
return sp != NULL && *(sp + 1) != '\0' ? sp + 1 : name;
}
diff --git a/trans/new-fifo.c b/trans/new-fifo.c
index 7880eb24..3c1657b7 100644
--- a/trans/new-fifo.c
+++ b/trans/new-fifo.c
@@ -129,11 +129,13 @@ fifo_trans_create (struct fifo_trans *from, struct fifo_trans **trans)
*trans = new;
}
+#if 0
static void
fifo_trans_free (struct fifo_trans *trans)
{
free (trans);
}
+#endif
static error_t
fifo_trans_start (struct fifo_trans *trans, mach_port_t requestor)
@@ -182,6 +184,8 @@ main (int argc, char **argv)
error_t err;
mach_port_t bootstrap;
struct fifo_trans *trans;
+
+#if 0
/* Clean up a fsys control node. */
void clean_fsys (void *vfsys)
{
@@ -190,6 +194,7 @@ main (int argc, char **argv)
fifo_trans_free (fsys->hook);
trivfs_clean_cntl (fsys);
}
+#endif
fifo_trans_create (0, &trans);
--
2.43.0
--- rpc_msg.h 2026-07-28 13:12:44.249567980 +0700
+++ rpc_msg_new.h 2026-07-28 13:13:37.564304500 +0700
@@ -165,6 +165,11 @@
extern "C" {
#endif
/*
+ * The rcp error
+ */
+struct rpc_err;
+
+/*
* XDR routine to handle a rpc message.
* xdr_callmsg(xdrs, cmsg)
* XDR *xdrs;