[ofa-general] amso1100 NULL dereference

Ethan Burns eaburns at iol.unh.edu
Wed Aug 1 05:26:39 PDT 2007


Hi Tom,
	I believe that I found a bug in the amso1100 driver.  In the
c2_up() function there is the following code:

        /* Tell the stack to ignore arp requests for ipaddrs bound to
         * other interfaces.  This is needed to prevent the host stack
         * from responding to arp requests to the ipaddr bound on the
         * rdma interface.
         */
        in_dev = in_dev_get(netdev);
        IN_DEV_CONF_SET(in_dev, ARP_IGNORE, 1);
        in_dev_put(in_dev);


The issue is that the interface can be brought up with out having an
ipv4 address assigned to it.  This causes a NULL pointer derefernce
(since in_dev will be NULL after in_dev_get(netdev)).

I tried a simple ``if (in_dev) { }'', however, I then run into trouble
if I add an ipv4 address to the interface after it is already up (I
encounter the ARP problem that this piece of code is trying to solve).

A simple solution is to only bring up the interface with an ipv4
address.  This will work for my purposes, however, I wanted to point
this issue out incase there is possible fix for it.


Thanks,
Ethan



More information about the general mailing list