- use RESERVE_CONFIG_BUFFER. For defconfig this gives:
   text	   data	    bss	    dec	    hex	filename
   3627	      4	    120	   3751	    ea7	networking/arping.o.oorig
   3548	      4	     96	   3648	    e40	networking/arping.o.r14710
   3520	      4	     96	   3620	    e24	networking/arping.o
diff --git a/networking/arping.c b/networking/arping.c
index 782b61b..4f1a2e2 100644
--- a/networking/arping.c
+++ b/networking/arping.c
@@ -71,7 +71,7 @@
 {
 	int err;
 	struct timeval now;
-	unsigned char buf[256];
+	RESERVE_CONFIG_UBUFFER(buf, 256);
 	struct arphdr *ah = (struct arphdr *) buf;
 	unsigned char *p = (unsigned char *) (ah + 1);
 
@@ -105,6 +105,7 @@
 		if (!(cfg&unicasting))
 			brd_sent++;
 	}
+	RELEASE_CONFIG_BUFFER(buf);
 	return err;
 }
 
@@ -456,12 +457,12 @@
 
 	while (1) {
 		sigset_t sset, osset;
-		unsigned char packet[4096];
+		RESERVE_CONFIG_UBUFFER(packet, 4096);
 		struct sockaddr_ll from;
 		socklen_t alen = sizeof(from);
 		int cc;
 
-		if ((cc = recvfrom(s, packet, sizeof(packet), 0,
+		if ((cc = recvfrom(s, packet, 4096, 0,
 						   (struct sockaddr *) &from, &alen)) < 0) {
 			perror("recvfrom");
 			continue;
@@ -472,5 +473,6 @@
 		sigprocmask(SIG_BLOCK, &sset, &osset);
 		recv_pack(packet, cc, &from);
 		sigprocmask(SIG_SETMASK, &osset, NULL);
+		RELEASE_CONFIG_BUFFER(packet);
 	}
 }