** No longer affects: linux (Ubuntu Utopic) ** Changed in: linux (Ubuntu) Assignee: (unassigned) => Chris J Arges (arges)
** Changed in: linux (Ubuntu) Status: Confirmed => In Progress ** Also affects: linux (Ubuntu Vivid) Importance: Undecided Status: New ** Description changed: + SRU Justification: + + [Impact] + Removing the ipr driver causes kernel warnings. + + [Fix] + commit 11e52a699afff576606ceb6cf697270459f1a4aa upstream + $ git describe --contains 11e52a699afff576606ceb6cf697270459f1a4aa + v4.0~8^2~2 + + [Test Case] + See Steps to Reproduce below. + + -- + + pKVM version: [root@yangtze-lp1 ~]# cat /etc/issue IBM_PowerKVM release 2.1.1 build 10 alpha (pkvm2_1_1) Kernel \r on a \m (\l) Ubuntu version: root@ubuntushinner:~# uname -a Linux ubuntushinner 3.16.0-14-generic #20-Ubuntu SMP Sat Sep 6 23:45:12 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux - steps to reproduce: 1. rmmod the ipr driver and kernel traces are seen on the syslog. root@ubuntushinner:~# lsmod Module Size Used by pseries_rng 2849 0 ses 9046 0 enclosure 11198 1 ses rtc_generic 2249 0 ipr 140038 0 ohci_pci 6794 0 root@ubuntushinner:~# uname -a Linux ubuntushinner 3.16.0-14-generic #20-Ubuntu SMP Sat Sep 6 23:45:12 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux root@ubuntushinner:~# rmmod ipr root@ubuntushinner:~# lsscsi [0:0:0:0] disk QEMU QEMU HARDDISK 2.0. /dev/sda [0:0:0:1] cd/dvd QEMU QEMU CD-ROM 2.0. /dev/sr0 - syslog: Sep 9 02:57:57 ubuntushinner kernel: [ 576.546878] kernfs: can not remove 'device', no directory Sep 9 02:57:57 ubuntushinner kernel: [ 576.546903] ------------[ cut here ]------------ Sep 9 02:57:57 ubuntushinner kernel: [ 576.546906] WARNING: at /build/buildd/linux-3.16.0/fs/kernfs/dir.c:1220 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546908] Modules linked in: pseries_rng ses enclosure rtc_generic ipr(-) ohci_pci Sep 9 02:57:57 ubuntushinner kernel: [ 576.546922] CPU: 1 PID: 3537 Comm: rmmod Not tainted 3.16.0-14-generic #20-Ubuntu Sep 9 02:57:57 ubuntushinner kernel: [ 576.546926] task: c0000003ebad6830 ti: c0000003e5da8000 task.ti: c0000003e5da8000 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546928] NIP: c000000000350c34 LR: c000000000350c30 CTR: c000000000517a60 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546931] REGS: c0000003e5dab380 TRAP: 0700 Not tainted (3.16.0-14-generic) Sep 9 02:57:57 ubuntushinner kernel: [ 576.546932] MSR: 8000000100029033 <SF,EE,ME,IR,DR,RI,LE> CR: 28088844 XER: 20000000 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] CFAR: c0000000009fd270 SOFTE: 1 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] GPR00: c000000000350c30 c0000003e5dab600 c0000000013d49e0 000000000000002d Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] GPR04: c000000001845db0 c000000001856618 0000000000000175 0000000000000175 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] GPR08: c000000000e449e0 0000000000000000 0000000000000000 c000000000c41b80 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] GPR12: 0000000000008800 c00000000fb80900 0000000000000000 00000100311e01f0 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] GPR16: 0000000000000000 000000004c7133a0 000000004c713358 0000000000000000 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] GPR20: 000000004c713380 000000004c7133b8 0000000000000000 000000004c713398 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] GPR24: 0000000000000000 0000000000000001 00003fffe6f71750 c0000003e4e01d28 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546942] GPR28: 0000000000000000 d000000005fe18e0 c0000003e4e01d18 0000000000000000 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546980] NIP [c000000000350c34] kernfs_remove_by_name_ns+0xe4/0xf0 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546984] LR [c000000000350c30] kernfs_remove_by_name_ns+0xe0/0xf0 Sep 9 02:57:57 ubuntushinner kernel: [ 576.546987] Call Trace: Sep 9 02:57:57 ubuntushinner kernel: [ 576.546990] [c0000003e5dab600] [c000000000350c30] kernfs_remove_by_name_ns+0xe0/0xf0 (unreliable) Sep 9 02:57:57 ubuntushinner kernel: [ 576.546995] [c0000003e5dab680] [c0000000003542c0] sysfs_remove_link+0x40/0x90 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547001] [c0000003e5dab6c0] [d000000005fe0de0] enclosure_remove_links.part.2+0x80/0xb0 [enclosure] Sep 9 02:57:57 ubuntushinner kernel: [ 576.547005] [c0000003e5dab730] [d000000005fe0e54] enclosure_component_release+0x44/0x70 [enclosure] Sep 9 02:57:57 ubuntushinner kernel: [ 576.547012] [c0000003e5dab760] [c000000000639360] device_release+0x60/0xf0 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547018] [c0000003e5dab7e0] [c00000000050b73c] kobject_release+0xdc/0x250 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547022] [c0000003e5dab870] [c000000000639f3c] device_unregister+0x4c/0xb0 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547025] [c0000003e5dab8e0] [d000000005fe0810] enclosure_unregister+0xb0/0x100 [enclosure] Sep 9 02:57:57 ubuntushinner kernel: [ 576.547029] [c0000003e5dab920] [d0000000060a0178] ses_intf_remove+0xb8/0x160 [ses] Sep 9 02:57:57 ubuntushinner kernel: [ 576.547032] [c0000003e5dab950] [c000000000639d84] device_del+0x104/0x270 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547036] [c0000003e5dab990] [c000000000639f2c] device_unregister+0x3c/0xb0 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547041] [c0000003e5daba00] [c0000000006bb8b4] __scsi_remove_device+0x124/0x150 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547044] [c0000003e5daba30] [c0000000006b8834] scsi_forget_host+0xa4/0xb0 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547048] [c0000003e5daba60] [c0000000006a88e4] scsi_remove_host+0xa4/0x1b0 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547054] [c0000003e5dabaa0] [d000000003b74bd0] ipr_remove+0x80/0x100 [ipr] Sep 9 02:57:57 ubuntushinner kernel: [ 576.547058] [c0000003e5dabb20] [c000000000567bb0] pci_device_remove+0x70/0x110 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547061] [c0000003e5dabb60] [c00000000063ff9c] __device_release_driver+0xac/0x130 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547064] [c0000003e5dabb90] [c000000000640e08] driver_detach+0x148/0x190 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547067] [c0000003e5dabbe0] [c00000000063fa28] bus_remove_driver+0x98/0x150 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547070] [c0000003e5dabc50] [c000000000641aac] driver_unregister+0x4c/0x80 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547074] [c0000003e5dabcc0] [c00000000056613c] pci_unregister_driver+0x4c/0x120 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547078] [c0000003e5dabd10] [d000000003b7573c] ipr_exit+0x34/0x1f18 [ipr] Sep 9 02:57:57 ubuntushinner kernel: [ 576.547083] [c0000003e5dabd40] [c00000000015ddc8] SyS_delete_module+0x228/0x280 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547087] [c0000003e5dabe30] [c00000000000a17c] syscall_exit+0x0/0x7c Sep 9 02:57:57 ubuntushinner kernel: [ 576.547089] Instruction dump: Sep 9 02:57:57 ubuntushinner kernel: [ 576.547090] e8010010 eb81ffe0 eba1ffe8 ebc1fff0 7c0803a6 ebe1fff8 4e800020 3c62ff89 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547095] 7fa4eb78 38638f40 486ac5b9 60000000 <0fe00000> 3860fffe 4bffff94 3c4c0108 Sep 9 02:57:57 ubuntushinner kernel: [ 576.547101] ---[ end trace 4a44cd6dfffd2bb9 ]--- Guest xml: [root@yangtze-lp1 ~]# virsh dumpxml GManu_Ubuntu_14_10_GTO <domain type='kvm' id='11'> - <name>GManu_Ubuntu_14_10_GTO</name> - <uuid>22a274f5-e9bc-4189-b4bb-5cf7f848889e</uuid> - <memory unit='KiB'>17532928</memory> - <currentMemory unit='KiB'>17532672</currentMemory> - <vcpu placement='static'>16</vcpu> - <resource> - <partition>/machine</partition> - </resource> - <os> - <type arch='ppc64' machine='pseries'>hvm</type> - <boot dev='hd'/> - <boot dev='cdrom'/> - <boot dev='network'/> - <bootmenu enable='yes'/> - </os> - <features> - <acpi/> - <apic/> - <pae/> - </features> - <clock offset='utc'/> - <on_poweroff>destroy</on_poweroff> - <on_reboot>restart</on_reboot> - <on_crash>restart</on_crash> - <devices> - <emulator>/usr/bin/qemu-kvm</emulator> - <disk type='file' device='disk'> - <driver name='qemu' type='qcow2'/> - <source file='/var/lib/libvirt/images/manu/Ubunut_14_10_shinner.qcow2'/> - <backingStore/> - <target dev='sda' bus='scsi'/> - <alias name='scsi0-0-0-0'/> - <address type='drive' controller='0' bus='0' target='0' unit='0'/> - </disk> - <disk type='file' device='cdrom'> - <driver name='qemu' type='raw'/> - <source file='/var/lib/libvirt/images/manu/utopic-server-ppc64el.iso'/> - <backingStore/> - <target dev='sdb' bus='scsi'/> - <readonly/> - <alias name='scsi0-0-0-1'/> - <address type='drive' controller='0' bus='0' target='0' unit='1'/> - </disk> - <controller type='usb' index='0'> - <alias name='usb0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> - </controller> - <controller type='pci' index='0' model='pci-root'> - <alias name='pci.0'/> - </controller> - <controller type='scsi' index='0'> - <alias name='scsi0'/> - <address type='spapr-vio' reg='0x2000'/> - </controller> - <controller type='scsi' index='1'> - <alias name='scsi1'/> - <address type='spapr-vio' reg='0x3000'/> - </controller> - <interface type='bridge'> - <mac address='52:54:00:d7:00:34'/> - <source bridge='virbr0'/> - <target dev='vnet1'/> - <model type='virtio'/> - <alias name='net0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> - </interface> - <serial type='pty'> - <source path='/dev/pts/0'/> - <target port='0'/> - <alias name='serial0'/> - <address type='spapr-vio' reg='0x30000000'/> - </serial> - <console type='pty' tty='/dev/pts/0'> - <source path='/dev/pts/0'/> - <target type='serial' port='0'/> - <alias name='serial0'/> - <address type='spapr-vio' reg='0x30000000'/> - </console> - <hostdev mode='subsystem' type='pci' managed='yes'> - <driver name='vfio'/> - <source> - <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> - </source> - <alias name='hostdev0'/> - </hostdev> - <memballoon model='virtio'> - <alias name='balloon0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> - </memballoon> - </devices> - <seclabel type='dynamic' model='selinux' relabel='yes'> - <label>system_u:system_r:svirt_t:s0:c16,c940</label> - <imagelabel>system_u:object_r:svirt_image_t:s0:c16,c940</imagelabel> - </seclabel> + <name>GManu_Ubuntu_14_10_GTO</name> + <uuid>22a274f5-e9bc-4189-b4bb-5cf7f848889e</uuid> + <memory unit='KiB'>17532928</memory> + <currentMemory unit='KiB'>17532672</currentMemory> + <vcpu placement='static'>16</vcpu> + <resource> + <partition>/machine</partition> + </resource> + <os> + <type arch='ppc64' machine='pseries'>hvm</type> + <boot dev='hd'/> + <boot dev='cdrom'/> + <boot dev='network'/> + <bootmenu enable='yes'/> + </os> + <features> + <acpi/> + <apic/> + <pae/> + </features> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>restart</on_crash> + <devices> + <emulator>/usr/bin/qemu-kvm</emulator> + <disk type='file' device='disk'> + <driver name='qemu' type='qcow2'/> + <source file='/var/lib/libvirt/images/manu/Ubunut_14_10_shinner.qcow2'/> + <backingStore/> + <target dev='sda' bus='scsi'/> + <alias name='scsi0-0-0-0'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <disk type='file' device='cdrom'> + <driver name='qemu' type='raw'/> + <source file='/var/lib/libvirt/images/manu/utopic-server-ppc64el.iso'/> + <backingStore/> + <target dev='sdb' bus='scsi'/> + <readonly/> + <alias name='scsi0-0-0-1'/> + <address type='drive' controller='0' bus='0' target='0' unit='1'/> + </disk> + <controller type='usb' index='0'> + <alias name='usb0'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> + </controller> + <controller type='pci' index='0' model='pci-root'> + <alias name='pci.0'/> + </controller> + <controller type='scsi' index='0'> + <alias name='scsi0'/> + <address type='spapr-vio' reg='0x2000'/> + </controller> + <controller type='scsi' index='1'> + <alias name='scsi1'/> + <address type='spapr-vio' reg='0x3000'/> + </controller> + <interface type='bridge'> + <mac address='52:54:00:d7:00:34'/> + <source bridge='virbr0'/> + <target dev='vnet1'/> + <model type='virtio'/> + <alias name='net0'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> + </interface> + <serial type='pty'> + <source path='/dev/pts/0'/> + <target port='0'/> + <alias name='serial0'/> + <address type='spapr-vio' reg='0x30000000'/> + </serial> + <console type='pty' tty='/dev/pts/0'> + <source path='/dev/pts/0'/> + <target type='serial' port='0'/> + <alias name='serial0'/> + <address type='spapr-vio' reg='0x30000000'/> + </console> + <hostdev mode='subsystem' type='pci' managed='yes'> + <driver name='vfio'/> + <source> + <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </source> + <alias name='hostdev0'/> + </hostdev> + <memballoon model='virtio'> + <alias name='balloon0'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> + </memballoon> + </devices> + <seclabel type='dynamic' model='selinux' relabel='yes'> + <label>system_u:system_r:svirt_t:s0:c16,c940</label> + <imagelabel>system_u:object_r:svirt_image_t:s0:c16,c940</imagelabel> + </seclabel> </domain> We saw the similar issue when we tried to "rmmod ipr" with daul controllers configuration. Looks his guest only has one GTO adapter. Also I checked the latest kernel source code for drivers/misc/enclosure.c, it included the fix patch for dual controller case. static void enclosure_remove_links(struct enclosure_component *cdev) { - char name[ENCLOSURE_NAME_SIZE]; - - /* - * In odd circumstances, like multipath devices, something else may - * already have removed the links, so check for this condition first. - */ - if (!cdev->dev->kobj.sd) -------------> fix patch for dual controllers - return; - - enclosure_link_name(cdev, name); - sysfs_remove_link(&cdev->dev->kobj, name); - sysfs_remove_link(&cdev->cdev.kobj, "device"); + char name[ENCLOSURE_NAME_SIZE]; + + /* + * In odd circumstances, like multipath devices, something else may + * already have removed the links, so check for this condition first. + */ + if (!cdev->dev->kobj.sd) -------------> fix patch for dual controllers + return; + + enclosure_link_name(cdev, name); + sysfs_remove_link(&cdev->dev->kobj, name); + sysfs_remove_link(&cdev->cdev.kobj, "device"); } Thanks, Wendy I re-created the issue on another guest. Looks the following patch caused the issue. I need to re-build the kernel and do more debug. http://git.kernel.org/cgit/linux/kernel/git/jejb/scsi.git/commit/fs/sysfs/symlink.c?h =for-next&id=879f40d193bb3c6c13930e88e3e9d5d7baf84d19 Thanks, Wendy Here is the upstream link for the patch: http://marc.info/?l=linux-scsi&m=142145523316373&w=2 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1415178 Title: Kernel trace message when the ipr driver is rmmod from Ubuntu 14.10 guest (GTO - PCI Passthrough) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1415178/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs