cpia_usb caught by the slab-poisoning (2.4.0-test1-ac7)

From: Arjan van de Ven (arjan@fenrus.demon.nl)
Date: Fri Jun 02 2000 - 15:21:12 EDT

  • Next message: Dr. Kelsey Hudson: "Re: Wrong major or minor number on /dev/sda* in 2.4.0-test1-ac7"

    Hi,

    In 2.4.0-test1-ac7, the cpia_usb driver gets caught here by the
    slab-poison logic. However, I have not been able to get a decodable oops.
    I tried the patch below, which effectively makes several pointers NULL
    just after a kfree. I was hoping I would catch the actual problem with a
    decodable NULL oops with this. Unfortionatly, with this patch, the problem
    doesn't happen anymore. Now I wonder what to do....

    Greetings,
       Arjan van de Ven

    --- cpia_usb.c~ Fri Mar 31 04:00:01 2000
    +++ cpia_usb.c Fri Jun 2 19:08:53 2000
    @@ -260,8 +260,10 @@
     
     error_all:
             kfree (ucpia->sbuf[1].data);
    + ucpia->sbuf[1].data = NULL;
     error_0:
             kfree (ucpia->sbuf[0].data);
    + ucpia->sbuf[0].data = NULL;
             
             return retval;
     }
    @@ -436,8 +438,9 @@
     
             cpia_usb_free_resources(ucpia, 1);
     
    - if (!ucpia->present)
    + if (!ucpia->present)
                     kfree(ucpia);
    +
     
             return 0;
     }
    @@ -590,8 +593,10 @@
                     ucpia->buffers[0] = NULL;
             }
     
    - if (!ucpia->open)
    + if (!ucpia->open) {
                     kfree(ucpia);
    + cam->lowlevel_data = NULL;
    + }
     }
     
     int usb_cpia_init(void)

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Fri Jun 02 2000 - 16:23:24 EDT