On Wed, 2008-02-13 at 16:25 -0800, Yinghai Lu wrote: > one system: initrd get courrupted: > > RAMDISK: Compressed image found at block 0 > RAMDISK: incomplete write (-28 != 2048) 134217728 > crc error > VFS: Mounted root (ext2 filesystem). > Freeing unused kernel memory: 388k freed > init_special_inode: bogus i_mode (177777) > Warning: unable to open an initial console. > init_special_inode: bogus i_mode (177777) > init_special_inode: bogus i_mode (177777) > Kernel panic - not syncing: No init found. Try passing init= option to kernel. > > bisected to > commit 9927c68864e9c39cc317b4f559309ba29e642168 > Author: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Date: Sun Feb 3 15:48:56 2008 -0600 > > [SCSI] ses: add new Enclosure ULD > > changes: > 1. change char to unsigned char to avoid type change later. > 2. preserve len for page1 > 3. need to move desc_ptr even the entry is not enclosure_component_device/raid. > so keep desc_ptr on right position > 4. record page7 len, and double check if desc_ptr out of boundary before touch. > 5. fix typo in subenclosure checking: should use hdr_buf instead. > > Signed-off-by: Yinghai Lu <yinghai.lu@xxxxxxx> OK, I added this with a fixup to eliminate the spurious goto Thanks, James --- diff --git a/drivers/scsi/ses.c b/drivers/scsi/ses.c index cbba012..a6d9669 100644 --- a/drivers/scsi/ses.c +++ b/drivers/scsi/ses.c @@ -561,16 +561,15 @@ static int ses_intf_add(struct class_device *cdev, if (desc_ptr) { if (desc_ptr >= buf + page7_len) { desc_ptr = NULL; - goto noname; + } else { + len = (desc_ptr[2] << 8) + desc_ptr[3]; + desc_ptr += 4; + /* Add trailing zero - pushes into + * reserved space */ + desc_ptr[len] = '\0'; + name = desc_ptr; } - len = (desc_ptr[2] << 8) + desc_ptr[3]; - desc_ptr += 4; - /* Add trailing zero - pushes into - * reserved space */ - desc_ptr[len] = '\0'; - name = desc_ptr; } - noname: if (type_ptr[0] == ENCLOSURE_COMPONENT_DEVICE || type_ptr[0] == ENCLOSURE_COMPONENT_ARRAY_DEVICE) { - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html