[Hyper-V] linux-azure: PCI: hv: Do not sleep in compose_msi_msg()

Bug #1747543 reported by Joshua R. Poulson on 2018-02-05
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-azure (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Marcelo Cerri
linux-azure-edge (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Marcelo Cerri

Bug Description

Part of the transparent SR-IOV series appears to be missing from 4.13.

PCI: hv: Do not sleep in compose_msi_msg()

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=80bfeeb9dd6b54ac108c884c792f0fc7d4912bee

The setup of MSI with Hyper-V host was sleeping with locks held. This
error is reported when doing SR-IOV hotplug with kernel built with lockdep:

    BUG: sleeping function called from invalid context at kernel/sched/completion.c:93
    in_atomic(): 1, irqs_disabled(): 1, pid: 1405, name: ip
    3 locks held by ip/1405:
   #0: (rtnl_mutex){+.+.+.}, at: [<ffffffff976b10bb>] rtnetlink_rcv+0x1b/0x40
   #1: (&desc->request_mutex){+.+...}, at: [<ffffffff970ddd33>] __setup_irq+0xb3/0x720
   #2: (&irq_desc_lock_class){-.-...}, at: [<ffffffff970ddd65>] __setup_irq+0xe5/0x720
   irq event stamp: 3476
   hardirqs last enabled at (3475): [<ffffffff971b3005>] get_page_from_freelist+0x225/0xc90
   hardirqs last disabled at (3476): [<ffffffff978024e7>] _raw_spin_lock_irqsave+0x27/0x90
   softirqs last enabled at (2446): [<ffffffffc05ef0b0>] ixgbevf_configure+0x380/0x7c0 [ixgbevf]
   softirqs last disabled at (2444): [<ffffffffc05ef08d>] ixgbevf_configure+0x35d/0x7c0 [ixgbevf]

The workaround is to poll for host response instead of blocking on
completion.

Please add this to linux-azure on 4.13.

Joshua R. Poulson (jrp) on 2018-02-05
Changed in linux-azure (Ubuntu):
status: New → Confirmed
Marcelo Cerri (mhcerri) on 2018-02-06
Changed in linux-azure (Ubuntu Xenial):
assignee: nobody → Marcelo Cerri (mhcerri)
status: New → In Progress
Changed in linux-azure-edge (Ubuntu Xenial):
assignee: nobody → Marcelo Cerri (mhcerri)
Marcelo Cerri (mhcerri) on 2018-02-07
Changed in linux-azure (Ubuntu Xenial):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (21.5 KiB)

This bug was fixed in the package linux-azure - 4.13.0-1011.14

---------------
linux-azure (4.13.0-1011.14) xenial; urgency=medium

  * linux-azure: 4.13.0-1011.14 -proposed tracker (LP: #1748476)

  * [Hyper-V] Fixes for Network Direct InfiniBand/RDMA driver (LP: #1749332)
    - SAUCE: vmbus-rdma: ND142: don't wait forever for disconnection from remote
      connector
    - SAUCE: vmbus-rdma: ND142: remove idr handle before calling ND on freeing CQ
      and QP
    - SAUCE: vmbus-rdma: ND142: do not crash on idr allocation failure - warn
      instead
    - SAUCE: vmbus-rdma: ND144: don't wait forever for disconnection from remote
      connector
    - SAUCE: vmbus-rdma: ND144: remove idr handle before calling ND on freeing CQ
      and QP
    - SAUCE: vmbus-rdma: ND144: do not crash on idr allocation failure - warn
      instead

  * [Hyper-V] vsock: always call vsock_init_tables() (LP: #1747970)
    - vsock: always call vsock_init_tables()

  * Update the source code location in the debian package for cloud kernels
    (LP: #1747890)
    - [Debian] Update git repository URI

  [ Ubuntu: 4.13.0-35.39 ]

  * linux: 4.13.0-35.39 -proposed tracker (LP: #1748743)
  * CVE-2017-5715 (Spectre v2 Intel)
    - Revert "UBUNTU: SAUCE: turn off IBPB when full retpoline is present"
    - SAUCE: turn off IBRS when full retpoline is present
    - [Packaging] retpoline files must be sorted
    - [Packaging] pull in retpoline files

  [ Ubuntu: 4.13.0-34.37 ]

  * linux: 4.13.0-34.37 -proposed tracker (LP: #1748475)
  * libata: apply MAX_SEC_1024 to all LITEON EP1 series devices (LP: #1743053)
    - libata: apply MAX_SEC_1024 to all LITEON EP1 series devices
  * KVM patches for s390x to provide facility bits 81 (ppa15) and 82 (bpb)
    (LP: #1747090)
    - KVM: s390: wire up bpb feature
  * artful 4.13 i386 kernels crash after memory hotplug remove (LP: #1747069)
    - Revert "mm, memory_hotplug: do not associate hotadded memory to zones until
      online"
  * CVE-2017-5715 (Spectre v2 Intel)
    - x86/feature: Enable the x86 feature to control Speculation
    - x86/feature: Report presence of IBPB and IBRS control
    - x86/enter: MACROS to set/clear IBRS and set IBPB
    - x86/enter: Use IBRS on syscall and interrupts
    - x86/idle: Disable IBRS entering idle and enable it on wakeup
    - x86/idle: Disable IBRS when offlining cpu and re-enable on wakeup
    - x86/mm: Set IBPB upon context switch
    - x86/mm: Only set IBPB when the new thread cannot ptrace current thread
    - x86/entry: Stuff RSB for entry to kernel for non-SMEP platform
    - x86/kvm: add MSR_IA32_SPEC_CTRL and MSR_IA32_PRED_CMD to kvm
    - x86/kvm: Set IBPB when switching VM
    - x86/kvm: Toggle IBRS on VM entry and exit
    - x86/spec_ctrl: Add sysctl knobs to enable/disable SPEC_CTRL feature
    - x86/spec_ctrl: Add lock to serialize changes to ibrs and ibpb control
    - x86/cpu/AMD: Add speculative control support for AMD
    - x86/microcode: Extend post microcode reload to support IBPB feature
    - KVM: SVM: Do not intercept new speculative control MSRs
    - x86/svm: Set IBRS value on VM entry and exit
    - x86/svm: Set IBPB when running a different VCPU
    - KVM: x86: Ad...

Changed in linux-azure (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers