The bug shows up when trying to do network scans of large networks.
Here is a script to replicate the bug, it requires the 'strobe' program
found in Debian's "netdiag" package (the program is known as "Proff's strobe").
The first of these two scripts prints out various kfree errors, the second
doesn't.
Note that to run this script without running out of resources you need
to set in /proc/sys/kernel file-max = 8192 and inode-max = 16384, or
somewhere around there. Just watch them in another window while it's
running to make sure they don't run out (I've never run a system where
I haven't had to tune up these values anyway).
Also, 10.3 is an unroutable network from where I run this, but it was working
with the university LAN as the network just I didn't want to fill up
everyone's firewall logs each time I tested a kernel bug! :)
I'd like to hear from...
1) other people who have done things which show this bug up
2) someone who can suggest how I could debug it
3) anyone who has a suggested patch
etc.
[it would be nice to have someone other than me able to replicate
the bug, too:)]
TIA,
David.
#!/usr/bin/perl
# NOTE: Make sure you have sufficiently tuned /proc/sys/kernel to run this!
# This DOES produce kfree errors
$prefix = "10.3";
$SIG{'CHLD'} = 'IGNORE';
for($i=0;$i<=255;$i++) {
if(!fork()) {
for($j=1;$j<255;$j++) {
push @hosts, $prefix.".$i.$j"; # note this line is where the change is
}
exec ("/usr/bin/strobe", "-q", "-d", "-m", "-p", "25", "-n", "252", @hosts);
}
sleep 1;
}
#!/usr/bin/perl
# NOTE: Make sure you have sufficiently tuned /proc/sys/kernel to run this!
# This DOES NOT produce kfree errors
$prefix = "10.3";
$SIG{'CHLD'} = 'IGNORE';
for($i=0;$i<=255;$i++) {
if(!fork()) {
for($j=1;$j<255;$j++) {
push @hosts, $prefix.".5.$j"; # note this line is where the change is
}
exec ("/usr/bin/strobe", "-q", "-d", "-m", "-p", "25", "-n", "252", @hosts);
}
sleep 1;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu