lkml.org 
[lkml]   [2008]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    Subjectpartition sysfs OOPS in current GIT
    From

    I get the following OOPS from udevd during bootup on
    sparc64:

    [ 0.982046] \|/ ____ \|/
    [ 0.982054] "@'/ .. \`@"
    [ 0.982058] /_| \__/ |_\
    [ 0.982063] \__U_/
    [ 0.982482] udevd(1305): Kernel illegal instruction [#1]
    [ 0.982550] TSTATE: 0000004411001602 TPC: 00000000007ddb80 TNPC: 00000000007ddb84 Y: 00000000 Not tainted
    [ 0.982647] TPC: <0x7ddb88>
    [ 0.982684] g0: 0000000000000000 g1: 00000000007ddb80 g2: 0000000000000000 g3: 0000000000000000
    [ 0.982760] g4: fffff803fb332a00 g5: fffff8000f8a6000 g6: fffff803fb3a8000 g7: fffff803fc893724
    [ 0.982831] o0: fffff803fc8bc010 o1: 00000000007ddb58 o2: fffff803fbba0000 o3: fffff803fb3abd48
    [ 0.982907] o4: 0000000000040001 o5: 0000000000000000 sp: fffff803fb3ab391 ret_pc: 00000000005b7524
    [ 0.982984] RPC: <dev_attr_show+0x24/0x30>
    [ 0.983016] l0: 0000000000000000 l1: 0000000000000000 l2: fffff803fc9a5308 l3: 000000000005a000
    [ 0.983074] l4: 0000000000000004 l5: fffff803fb340b00 l6: 0000000000000168 l7: fffff803fbd32700
    [ 0.983133] i0: fffffffffffffffb i1: 00000000007ddb58 i2: fffff803fbba0000 i3: 0000000000000000
    [ 0.983197] i4: 00000000005002a4 i5: 0000000000000008 i6: fffff803fb3ab451 i7: 0000000000500620
    [ 0.983269] I7: <sysfs_read_file+0x80/0x104>
    [ 0.983299] Caller[0000000000500620]: sysfs_read_file+0x80/0x104
    [ 0.983368] Caller[00000000004bedc0]: vfs_read+0x78/0x10c
    [ 0.983556] Caller[00000000004bf114]: sys_read+0x34/0x60
    [ 0.983622] Caller[0000000000406294]: linux_sparc_syscall32+0x3c/0x40
    [ 0.983707] Caller[0000000000016d90]: 0x16d98
    [ 0.983873] Instruction DUMP: 007ddb80 00000000 00000000 <00000000> 00000000 00000000 00000000 00000000 007ddb98

    This is dev_attr_show() calling attr->show() which points to
    'part_attr_group' struct instead of a function. :-)

    I'm pretty sure the following changeset is to blame:

    commit edfaa7c36574f1bf09c65ad602412db9da5f96bf
    Author: Kay Sievers <kay.sievers@vrfy.org>
    Date: Mon May 21 22:08:01 2007 +0200

    Driver core: convert block from raw kobjects to core devices

    This moves the block devices to /sys/class/block. It will create a
    flat list of all block devices, with the disks and partitions in one
    directory. For compatibility /sys/block is created and contains symlinks
    to the disks.

    /sys/class/block
    |-- sda -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
    |-- sda1 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1
    |-- sda10 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10
    |-- sda5 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5
    |-- sda6 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6
    |-- sda7 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7
    |-- sda8 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8
    |-- sda9 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9
    `-- sr0 -> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0

    /sys/block/
    |-- sda -> ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
    `-- sr0 -> ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0

    Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


    \
     
     \ /
      Last update: 2008-02-07 00:29    [W:0.058 / U:63.404 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site