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;

Reply via email to