OOPS in 3.7.4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nick,

I just booted into a 3.7.4 kernel and found myself unable to start any of my targets up:

[ 1237.490697] BUG: unable to handle kernel NULL pointer dereference at (null) [ 1237.499827] IP: [<ffffffffa062c997>] target_fabric_port_link+0x8/0xd2 [target_core_mod]
[snip]

(gdb) list *target_fabric_port_link+0x8
0x6997 is in target_fabric_port_link (drivers/target/target_core_fabric_configfs.c:754).
751             struct target_fabric_configfs *tf;
752             int ret;
753
754             if (dev->dev_link_magic != SE_DEV_LINK_MAGIC) {
755 pr_err("Bad dev->dev_link_magic, not a valid se_dev_ci pointer:" 756 " %p to struct se_device: %p\n", se_dev_ci, dev);
757                     return -EFAULT;

It seems that "target: Add link_magic for fabric allow_link destination target_items" is to blame for this one:

http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commit;h=fdf9d862969f1be18814273b03fb9497ec2dbdae

In 3.7.4 at least, 'dev' isn't initialised until much further below, so the patch adds an access to uninitialised memory and causes a NULL pointer dereference. It looks as though the initialisation order of struct se_device *dev has changed due to the removal of struct se_subsystem_dev.

I think the fix is to simply move the dev_link_magic check to further below...

HTH,
Chris

--
Chris Boot
bootc@xxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux