Fix close/open corner cases

Bug #1918714 reported by Tim Gardner
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
Bionic
Invalid
Undecided
Unassigned
linux-azure-4.15 (Ubuntu)
Invalid
Undecided
Unassigned
Bionic
Fix Released
Medium
Tim Gardner

Bug Description

SRU Justification

[Impact]
Microsoft has asked for these 3 patches to be applied to the linux-azure-4.15 kernel.
The code has changed significantly from 4.15 to 5.6, so the patches are
quite different then current upstream. Hopefully I've captured the intent
if not the function in those patches.

[1] - Correct corner case where a close operation does not complete.
[2] - Fix a race when an OPEN is cancelled.
[3] - Fix a panic when allocating memory when a spinlock is held.

[Test Case]
none

[Potential regression]
These patches are all intended to accommodate boundary conditions. You shouldn't
experience any regression under normal use.

CVE References

Tim Gardner (timg-tpi)
Changed in linux (Ubuntu):
status: New → Invalid
Changed in linux-azure-4.15 (Ubuntu Bionic):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Tim Gardner (timg-tpi)
Revision history for this message
Tim Gardner (timg-tpi) wrote :
Revision history for this message
Tim Gardner (timg-tpi) wrote :
Revision history for this message
Tim Gardner (timg-tpi) wrote :
tags: added: patch
Revision history for this message
Tim Gardner (timg-tpi) wrote :
Stefan Bader (smb)
Changed in linux-azure-4.15 (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Bionic):
status: New → Invalid
Revision history for this message
Tim Gardner (timg-tpi) wrote :

Microsoft has run the test kernel and verified that there are no longer any leaked handles.

Changed in linux-azure-4.15 (Ubuntu Bionic):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-bionic
Revision history for this message
Tim Gardner (timg-tpi) wrote :
tags: added: verification-done-bionic
removed: verification-needed-bionic
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (12.2 KiB)

This bug was fixed in the package linux-azure-4.15 - 4.15.0-1112.125

---------------
linux-azure-4.15 (4.15.0-1112.125) bionic; urgency=medium

  * bionic/linux-azure-4.15: 4.15.0-1112.125 -proposed tracker (LP: #1919518)

  * Please trust Canonical Livepatch Service kmod signing key (LP: #1898716)
    - [Config] azure: enable CONFIG_MODVERSIONS and CONFIG_ASM_MODVERSIONS
    - [Packaging] build canonical-certs.pem from branch/arch certs

  * Enforce CONFIG_DRM_BOCHS=m (LP: #1916290)
    - [Config] azure: Keep CONFIG_DRM_BOCHS disabled

  * linux-azure: Install PMEM modules by default (LP: #1921411)
    - [Packaging] azure: Move PMEM related modules to linux-modules

  * Fix close/open corner cases (LP: #1918714)
    - CIFS: Close open handle after interrupted close
    - CIFS: Do not miss cancelled OPEN responses
    - cifs: Fix memory allocation in __smb2_handle_cancelled_cmd()

  [ Ubuntu: 4.15.0-141.145 ]

  * bionic/linux: 4.15.0-141.145 -proposed tracker (LP: #1919536)
  * binary assembly failures with CONFIG_MODVERSIONS present (LP: #1919315)
    - [Packaging] quiet (nomially) benign errors in BUILD script
  * selftests: bpf verifier fails after sanitize_ptr_alu fixes (LP: #1920995)
    - bpf: Simplify alu_limit masking for pointer arithmetic
    - bpf: Add sanity check for upper ptr_limit
    - bpf, selftests: Fix up some test_verifier cases for unprivileged
  * Packaging resync (LP: #1786013)
    - update dkms package versions
  * CVE-2018-13095
    - xfs: More robust inode extent count validation
  * i40e PF reset due to incorrect MDD event (LP: #1772675)
    - i40e: change behavior on PF in response to MDD event
  * Bionic update: upstream stable patchset 2021-03-09 (LP: #1918330)
    - ACPI: sysfs: Prefer "compatible" modalias
    - ARM: dts: imx6qdl-gw52xx: fix duplicate regulator naming
    - wext: fix NULL-ptr-dereference with cfg80211's lack of commit()
    - net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family
    - drivers: soc: atmel: Avoid calling at91_soc_init on non AT91 SoCs
    - drivers: soc: atmel: add null entry at the end of at91_soc_allowed_list[]
    - KVM: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in
      intel_arch_events[]
    - KVM: x86: get smi pending status correctly
    - xen: Fix XenStore initialisation for XS_LOCAL
    - leds: trigger: fix potential deadlock with libata
    - mt7601u: fix kernel crash unplugging the device
    - mt7601u: fix rx buffer refcounting
    - xen-blkfront: allow discard-* nodes to be optional
    - ARM: imx: build suspend-imx6.S with arm instruction set
    - netfilter: nft_dynset: add timeout extension to template
    - xfrm: Fix oops in xfrm_replay_advance_bmp
    - RDMA/cxgb4: Fix the reported max_recv_sge value
    - iwlwifi: pcie: use jiffies for memory read spin time limit
    - iwlwifi: pcie: reschedule in long-running memory reads
    - mac80211: pause TX while changing interface type
    - can: dev: prevent potential information leak in can_fill_info()
    - x86/entry/64/compat: Preserve r8-r11 in int $0x80
    - x86/entry/64/compat: Fix "x86/entry/64/compat: Preserve r8-r11 in int $0x80"
    - iommu/vt-d: Gracefully handle DMAR units...

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.