[2.1.41] kernel: a.out: Exception at ...

Regis Duchesne (regis@via.ecp.fr)
Mon, 2 Jun 1997 02:15:05 +0200 (CEST)


The small piece of code (at the end of this mail) triggers a reproducible
exception :

Celine kernel: a.out: Exception at [<c015c1de>] (c017c5cb)

Where my System.map shows :

c015c1a8 T devinet_ioctl <-- in net/ipv4/devinet.c
c015c5e4 T destroy_sock

This is probably because the 3rd argument of ioctl() is NULL instead of
being a struct ifreq * (according to man ioctl_list). Neithertheless,
shouldn't this be checked instead of letting it cause an exception?
Is it normal?

Note that the ioctl rightly returns -1 with errno="Bad address" though.

This works with 2.1.26 too...

---------------------------------

#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>

int main(int argc, char *argv[])
{
int sock, type;

type = SOCK_DGRAM;
sock = socket(AF_INET, type, 0);
ioctl(sock, SIOCGIFBRDADDR, NULL);
exit(0);
}

Regis "HPReg" Duchesne - Engineering Student at ***** ******** *****
www http://www.via.ecp.fr/~regis/
(O o) I use Linux & 3Com (1135 Kb/s over 10Mb/s ethernet)
--.oOO--(_)--OOo.-----------------------------------------------------------