Hard hand in 2.2.19

If you open a non-existant md device (i.e. /dev/md11) from userspace 
with an open() call, then send an ioctl() command, it results in the
following message then hard hangs the entire system if you attempt
to open any /dev/mdXX device with a minor number greater than 10.  
Used to work on 2.2.17.

message is:

md map 11
bap map 11 ll_rw_block
       

offending code that causes the hard hang is:


        register int fd, ccode;
        struct hd_geometry geometry;

        fd = open("/dev/md11", O_RDWR);
        if (fd < 0)
            return 1;

#ifdef HDIO_REQ
       ccode = ioctl(fd, HDIO_REQ, &geometry);
#else
       ccode = ioctl(fd, HDIO_GETGEO, &geometry);
#endif
       if ((ccode == -EINVAL) || (ccode == -ENODEV))
       {
          close(fd);
          return 1;
       }  
       close(fd)
       return 0;


Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to