In file net/core/dev.c, function dev_ifconf, 'len' is declared as
'unsigned int' but is used as a signed integer and can take on
negative values if ifc.ifc_buf == NULL or ifc.ifc_len == 0.
In file net/ipv4/devinet.c, function inet_gifconf, 'len' is a signed
integer. But it is compared to an unsigned quantity: sizeof(ifr).
This comparison will be done in an unsigned way, so negative values
of len will not compare as expected.
Finally, for the sake of future modularity, an unregister_gifconf
function will be needed.
Michael Chastain
<mailto:mec@shout.net>
"love without fear"