← Back to team overview

kernel-packages team mailing list archive

[Bug 1415178] [NEW] Kernel trace message when the ipr driver is rmmod from Ubuntu 14.10 guest (GTO - PCI Passthrough)

 

You have been subscribed to a public bug:

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>
</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");
}

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

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: architecture-ppc64le bugnameltc-115767 severity-medium targetmilestone-inin1504
-- 
Kernel trace message when the ipr driver is rmmod from Ubuntu 14.10 guest (GTO - PCI Passthrough)
https://bugs.launchpad.net/bugs/1415178
You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu.