Patch is not yet in mainline. We encounter it regulary on our Fujitsu RX300 S6
servers. So we are interested to test and fine tune the patch. I implemented it 
into a 3.15.10 kernel and checked the result. Sadly the error changed to a NULL 
pointer derefernce.

What can I do?

[    9.004018] Oops: 0000 [#1] SMP
[    9.004125] Modules linked in: ses(+) enclosure microcode(+) ipmi_devintf 
nfsd ipmi_si ipmi_msghandler i7core_edac iTCO_wdt iTCO_vendor_support lpc_ich 
mfd_core edac_core ptp pps_core dca shpchp auth_rpcgss nfs_acl lockd i2c_i801 
sunrpc tpm_tis tpm_infineon tpm acpi_cpufreq acpi_power_meter dm_multipath 
8021q garp mrp tun bridge stp llc bonding ib_umad ib_ipoib ib_cm mlx4_ib ib_sa 
i2c_algo_bit drm_kms_helper ttm drm i2c_core megaraid_sas mlx4_core ib_mad 
ib_core ib_addr dummy
[    9.005137] CPU: 0 PID: 445 Comm: systemd-udevd Tainted: G          I   
3.15.10-201.lts19.fc20.x86_64 #1
[    9.005325] Hardware name: FUJITSU                          PRIMERGY RX300 
S6             /D2619, BIOS 6.00 Rev. 1.13.2619.N1           01/19/2012
[    9.005524] task: ffff88197ac09da0 ti: ffff88197bbe0000 task.ti: 
ffff88197bbe0000
[    9.005703] RIP: 0010:[<ffffffff81355478>]  [<ffffffff81355478>] 
strcmp+0x18/0x40
[    9.005890] RSP: 0018:ffff88197bbe3ba0  EFLAGS: 00010202
[    9.005988] RAX: ffff880d683b61c0 RBX: ffff880d683b4000 RCX: ffff880d6813c028
[    9.006095] RDX: 0000000000000004 RSI: ffff880d6813c028 RDI: 0000000000000001
[    9.006201] RBP: ffff88197bbe3ba0 R08: ffff880d683b4000 R09: 0000000000000001
[    9.006308] R10: 000000000000000d R11: ffff880d6813c2ef R12: 0000000000000000
[    9.006413] R13: ffff880d683b42d0 R14: ffff880d683b42d8 R15: ffff880d6813c028
[    9.006518] FS:  00007ffca3544880(0000) GS:ffff880d89c00000(0000) 
knlGS:0000000000000000
[    9.006700] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    9.006801] CR2: 0000000000000000 CR3: 000000197b2de000 CR4: 00000000000007f0
[    9.006905] Stack:
[    9.006992]  ffff88197bbe3be0 ffffffffa0445708 ffff880d683b61c0 
ffff880d6813c028
[    9.007197]  ffff880036e86e08 ffff8800bb221d38 000000000000000d 
0000000000000000
[    9.007407]  ffff88197bbe3c50 ffffffffa044a91d ffff880d72deaa00 
ffff880d6813c000
[    9.007615] Call Trace:
[    9.007708]  [<ffffffffa0445708>] enclosure_component_register+0x118/0x180 
[enclosure]
[    9.007892]  [<ffffffffa044a91d>] ses_enclosure_data_process+0x27d/0x370 
[ses]
[    9.008073]  [<ffffffffa044af6d>] ses_intf_add+0x44d/0x4fc [ses]
[    9.008178]  [<ffffffff8145fa99>] class_interface_register+0xa9/0x100
[    9.008282]  [<ffffffffa0005000>] ? 0xffffffffa0004fff
[    9.008385]  [<ffffffff8148c016>] scsi_register_interface+0x16/0x20
[    9.008491]  [<ffffffffa0005013>] ses_init+0x13/0x1000 [ses]
[    9.008595]  [<ffffffffa0005000>] ? 0xffffffffa0004fff
[    9.008696]  [<ffffffff8100216a>] do_one_initcall+0xfa/0x1b0
[    9.008800]  [<ffffffff81059853>] ? set_memory_nx+0x43/0x50
[    9.008908]  [<ffffffff81103fd2>] load_module+0x1d92/0x25e0
[    9.009009]  [<ffffffff810ffcf0>] ? store_uevent+0x70/0x70
[    9.009114]  [<ffffffff811ec560>] ? kernel_read+0x50/0x80
[    9.009217]  [<ffffffff811049d6>] SyS_finit_module+0xa6/0xd0
[    9.009322]  [<ffffffff816ffba9>] system_call_fastpath+0x16/0x1b
[    9.009422] Code: c9 88 4a ff 75 ed 5d c3 66 66 2e 0f 1f 84 00 00 00 00 00 
55 48 89 e5 eb 0e 66 2e 0f 1f 84 00 00 00 00 00 84 c0 74 1c 48 83 c7 01 <0f> b6 
47 ff 48 83 c6 01 3a 46 ff 74 eb 19 c0 83 c8 01 5d c3 0f
[    9.010126] RIP  [<ffffffff81355478>] strcmp+0x18/0x40
[    9.010231]  RSP <ffff88197bbe3ba0>
[    9.010323] CR2: 0000000000000000
[    9.010461] ---[ end trace f34cf7c5817f3b6d ]---


+static struct enclosure_component *
+enclosure_component_find_by_name(struct enclosure_device *edev,
+                               const char *name)
+{
+       int i;
+       if (!edev || !name || !name[0])
+               return NULL;
+
+       for (i=0; i<edev->components; i++) {
+               struct enclosure_component *ecomp = &edev->component[i];
+               if (ecomp->number != -1 && !strcmp(dev_name(&ecomp->cdev), 
name)) <- BUG HERE?
+                       return ecomp;
+       }
+
+       return NULL;
+}
+
 static const struct attribute_group *enclosure_groups[];
 
 /**
@@ -276,9 +293,13 @@ enclosure_component_register(struct enclosure_device *edev,
        ecomp->number = number;
        cdev = &ecomp->cdev;
        cdev->parent = get_device(&edev->edev);
-       if (name && name[0])
-               dev_set_name(cdev, "%s", name);
-       else
+
+       if (name && name[0]) {
+               if (enclosure_component_find_by_name (edev, name))
+                       dev_set_name(cdev, "%s_%u", name, number);
+               else
+                       dev_set_name(cdev, "%s", name);
+       } else
                dev_set_name(cdev, "%u", number);
****************************************************************************
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail
irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
Weitergabe dieser Mail ist nicht gestattet.

Über das Internet versandte E-Mails können unter fremden Namen erstellt oder
manipuliert werden. Deshalb ist diese als E-Mail verschickte Nachricht keine
rechtsverbindliche Willenserklärung.

Collogia
Unternehmensberatung AG
Ubierring 11
D-50678 Köln

Vorstand:
Kadir Akin
Dr. Michael Höhnerbach

Vorsitzender des Aufsichtsrates:
Hans Kristian Langva

Registergericht: Amtsgericht Köln
Registernummer: HRB 52 497

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.

e-mails sent over the internet may have been written under a wrong name or
been manipulated. That is why this message sent as an e-mail is not a
legally binding declaration of intention.

Collogia
Unternehmensberatung AG
Ubierring 11
D-50678 Köln

executive board:
Kadir Akin
Dr. Michael Höhnerbach

President of the supervisory board:
Hans Kristian Langva

Registry office: district court Cologne
Register number: HRB 52 497

****************************************************************************

Reply via email to