This bug was fixed in the package linux - 4.15.0-50.54

---------------
linux (4.15.0-50.54) bionic; urgency=medium

  * CVE-2018-12126 // CVE-2018-12127 // CVE-2018-12130
    - Documentation/l1tf: Fix small spelling typo
    - x86/cpu: Sanitize FAM6_ATOM naming
    - kvm: x86: Report STIBP on GET_SUPPORTED_CPUID
    - locking/atomics, asm-generic: Move some macros from <linux/bitops.h> to a
      new <linux/bits.h> file
    - tools include: Adopt linux/bits.h
    - x86/msr-index: Cleanup bit defines
    - x86/speculation: Consolidate CPU whitelists
    - x86/speculation/mds: Add basic bug infrastructure for MDS
    - x86/speculation/mds: Add BUG_MSBDS_ONLY
    - x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests
    - x86/speculation/mds: Add mds_clear_cpu_buffers()
    - x86/speculation/mds: Clear CPU buffers on exit to user
    - x86/kvm/vmx: Add MDS protection when L1D Flush is not active
    - x86/speculation/mds: Conditionally clear CPU buffers on idle entry
    - x86/speculation/mds: Add mitigation control for MDS
    - x86/speculation/mds: Add sysfs reporting for MDS
    - x86/speculation/mds: Add mitigation mode VMWERV
    - Documentation: Move L1TF to separate directory
    - Documentation: Add MDS vulnerability documentation
    - x86/speculation/mds: Add mds=full,nosmt cmdline option
    - x86/speculation: Move arch_smt_update() call to after mitigation decisions
    - x86/speculation/mds: Add SMT warning message
    - x86/speculation/mds: Fix comment
    - x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off
    - x86/speculation/mds: Add 'mitigations=' support for MDS

  * CVE-2017-5715 // CVE-2017-5753
    - s390/speculation: Support 'mitigations=' cmdline option

  * CVE-2017-5715 // CVE-2017-5753 // CVE-2017-5754 // CVE-2018-3639
    - powerpc/speculation: Support 'mitigations=' cmdline option

  * CVE-2017-5715 // CVE-2017-5754 // CVE-2018-3620 // CVE-2018-3639 //
    CVE-2018-3646
    - cpu/speculation: Add 'mitigations=' cmdline option
    - x86/speculation: Support 'mitigations=' cmdline option

  * Packaging resync (LP: #1786013)
    - [Packaging] resync git-ubuntu-log

linux (4.15.0-49.53) bionic; urgency=medium

  * linux: 4.15.0-49.53 -proposed tracker (LP: #1826358)

  * Backport support for software count cache flush Spectre v2 mitigation. (CVE)
    (required for POWER9 DD2.3) (LP: #1822870)
    - powerpc/64s: Add support for ori barrier_nospec patching
    - powerpc/64s: Patch barrier_nospec in modules
    - powerpc/64s: Enable barrier_nospec based on firmware settings
    - powerpc: Use barrier_nospec in copy_from_user()
    - powerpc/64: Use barrier_nospec in syscall entry
    - powerpc/64s: Enhance the information in cpu_show_spectre_v1()
    - powerpc/64: Disable the speculation barrier from the command line
    - powerpc/64: Make stf barrier PPC_BOOK3S_64 specific.
    - powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC
    - powerpc/64: Call setup_barrier_nospec() from setup_arch()
    - powerpc/64: Make meltdown reporting Book3S 64 specific
    - powerpc/lib/code-patching: refactor patch_instruction()
    - powerpc/lib/feature-fixups: use raw_patch_instruction()
    - powerpc/asm: Add a patch_site macro & helpers for patching instructions
    - powerpc/64s: Add new security feature flags for count cache flush
    - powerpc/64s: Add support for software count cache flush
    - powerpc/pseries: Query hypervisor for count cache flush settings
    - powerpc/powernv: Query firmware for count cache flush settings
    - powerpc/fsl: Add nospectre_v2 command line argument
    - KVM: PPC: Book3S: Add count cache flush parameters to 
kvmppc_get_cpu_char()
    - [Config] Add CONFIG_PPC_BARRIER_NOSPEC

  * Packaging resync (LP: #1786013)
    - [Packaging] resync git-ubuntu-log

  * autopkgtests run too often, too much and don't skip enough (LP: #1823056)
    - [Debian] Set +x on rebuild testcase.
    - [Debian] Skip rebuild test, for regression-suite deps.
    - [Debian] Make ubuntu-regression-suite skippable on unbootable kernels.
    - [Debian] make rebuild use skippable error codes when skipping.
    - [Debian] Only run regression-suite, if requested to.

  * bionic: fork out linux-snapdragon into its own topic kernel (LP: #1820868)
    - [Packaging] remove arm64 snapdragon from getabis
    - [Config] config changes for snapdragon split
    - packaging: arm64: disable building the snapdragon flavour
    - [Packaging] arm64: Drop snapdragon from kernel-versions

  * CVE-2017-5753
    - KVM: arm/arm64: vgic: fix possible spectre-v1 in vgic_get_irq()
    - media: dvb_ca_en50221: prevent using slot_info for Spectre attacs
    - sysvipc/sem: mitigate semnum index against spectre v1
    - libahci: Fix possible Spectre-v1 pmp indexing in ahci_led_store()
    - s390/keyboard: sanitize array index in do_kdsk_ioctl
    - arm64: fix possible spectre-v1 write in ptrace_hbp_set_event()
    - KVM: arm/arm64: vgic: Fix possible spectre-v1 write in 
vgic_mmio_write_apr()
    - pktcdvd: Fix possible Spectre-v1 for pkt_devs
    - net: socket: fix potential spectre v1 gadget in socketcall
    - net: socket: Fix potential spectre v1 gadget in sock_is_registered
    - drm/amdgpu/pm: Fix potential Spectre v1
    - netlink: Fix spectre v1 gadget in netlink_create()
    - ext4: fix spectre gadget in ext4_mb_regular_allocator()
    - drm/i915/kvmgt: Fix potential Spectre v1
    - net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd()
    - fs/quota: Fix spectre gadget in do_quotactl
    - hwmon: (nct6775) Fix potential Spectre v1
    - mac80211_hwsim: Fix possible Spectre-v1 for hwsim_world_regdom_custom
    - switchtec: Fix Spectre v1 vulnerability
    - misc: hmc6352: fix potential Spectre v1
    - tty: vt_ioctl: fix potential Spectre v1
    - nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT
    - nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds
    - IB/ucm: Fix Spectre v1 vulnerability
    - RDMA/ucma: Fix Spectre v1 vulnerability
    - drm/bufs: Fix Spectre v1 vulnerability
    - usb: gadget: storage: Fix Spectre v1 vulnerability
    - ptp: fix Spectre v1 vulnerability
    - HID: hiddev: fix potential Spectre v1
    - vhost: Fix Spectre V1 vulnerability
    - drivers/misc/sgi-gru: fix Spectre v1 vulnerability
    - ipv4: Fix potential Spectre v1 vulnerability
    - aio: fix spectre gadget in lookup_ioctx
    - ALSA: emux: Fix potential Spectre v1 vulnerabilities
    - ALSA: pcm: Fix potential Spectre v1 vulnerability
    - ip6mr: Fix potential Spectre v1 vulnerability
    - ALSA: rme9652: Fix potential Spectre v1 vulnerability
    - ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities
    - KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq()
    - drm/ioctl: Fix Spectre v1 vulnerabilities
    - char/mwave: fix potential Spectre v1 vulnerability
    - applicom: Fix potential Spectre v1 vulnerabilities
    - ipmi: msghandler: Fix potential Spectre v1 vulnerabilities
    - powerpc/ptrace: Mitigate potential Spectre v1
    - cfg80211: prevent speculation on cfg80211_classify8021d() return
    - ALSA: rawmidi: Fix potential Spectre v1 vulnerability
    - ALSA: seq: oss: Fix Spectre v1 vulnerability

  * Bionic: Sync to Xenial (Spectre) (LP: #1822760)
    - x86/speculation/l1tf: Suggest what to do on systems with too much RAM
    - KVM: SVM: Add MSR-based feature support for serializing LFENCE
    - KVM: VMX: fixes for vmentry_l1d_flush module parameter
    - KVM: X86: Allow userspace to define the microcode version
    - SAUCE: [Fix] x86/KVM/VMX: Add L1D flush logic
    - SAUCE: [Fix] x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on
      vmentry

  * [SRU] [B/OEM] Fix ACPI bug that causes boot failure (LP: #1819921)
    - SAUCE: ACPI / bus: Add some Lenovo laptops in list of acpi table term list

  * Bionic update: upstream stable patchset for fuse 2019-04-12 (LP: #1824553)
    - fuse: fix double request_end()
    - fuse: fix unlocked access to processing queue
    - fuse: umount should wait for all requests
    - fuse: Fix oops at process_init_reply()
    - fuse: Don't access pipe->buffers without pipe_lock()
    - fuse: Fix use-after-free in fuse_dev_do_read()
    - fuse: Fix use-after-free in fuse_dev_do_write()
    - fuse: set FR_SENT while locked
    - fuse: fix blocked_waitq wakeup
    - fuse: fix leaked notify reply
    - fuse: fix possibly missed wake-up after abort
    - fuse: fix use-after-free in fuse_direct_IO()
    - fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS
    - fuse: handle zero sized retrieve correctly
    - fuse: call pipe_buf_release() under pipe lock
    - fuse: decrement NR_WRITEBACK_TEMP on the right page

  * Backport support for software count cache flush Spectre v2 mitigation. (CVE)
    (required for POWER9 DD2.3) (LP: #1822870) // Backport support for software
    count cache flush Spectre v2 mitigation. (CVE) (required for POWER9 DD2.3)
    (LP: #1822870)
    - powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2
    - powerpc/fsl: Fix spectre_v2 mitigations reporting
    - powerpc: Avoid code patching freed init sections

  * Backport support for software count cache flush Spectre v2 mitigation. (CVE)
    (required for POWER9 DD2.3) (LP: #1822870) // Backport support for software
    count cache flush Spectre v2 mitigation. (CVE) (required for POWER9 DD2.3)
    (LP: #1822870) // Backport support for software count cache flush Spectre v2
    mitigation. (CVE) (required for POWER9 DD2.3) (LP: #1822870)
    - powerpc/security: Fix spectre_v2 reporting

  * CVE-2019-3874
    - sctp: use sk_wmem_queued to check for writable space
    - sctp: implement memory accounting on tx path
    - sctp: implement memory accounting on rx path

  * NULL pointer dereference when using z3fold and zswap (LP: #1814874)
    - z3fold: fix possible reclaim races

  * Kprobe event argument syntax in ftrace from ubuntu_kernel_selftests failed
    on B PowerPC (LP: #1812809)
    - selftests/ftrace: Add ppc support for kprobe args tests

  * The Realtek card reader does not enter PCIe 1.1/1.2 (LP: #1825487)
    - misc: rtsx: make various functions static
    - misc: rtsx: Enable OCP for rts522a rts524a rts525a rts5260
    - SAUCE: misc: rtsx: Fixed rts5260 power saving parameter and sd glitch

  * headset-mic doesn't work on two Dell laptops. (LP: #1825272)
    - ALSA: hda/realtek - add two more pin configuration sets to quirk table

  * CVE-2018-16884
    - sunrpc: use SVC_NET() in svcauth_gss_* functions
    - sunrpc: use-after-free in svc_process_common()

  * sky2 ethernet card don't work after returning from suspension (LP: #1798921)
    - sky2: Increase D3 delay again

  * CVE-2019-9500
    - brcmfmac: assure SSID length from firmware is limited

  * CVE-2019-9503
    - brcmfmac: add subtype check for event handling in data path

  * CVE-2019-3882
    - vfio/type1: Limit DMA mappings per container

  * Intel I210 Ethernet card not working after hotplug [8086:1533]
    (LP: #1818490)
    - igb: Fix WARN_ONCE on runtime suspend

  * bionic, xenial/hwe: misses "fuse: fix initial parallel dirops" patch
    (LP: #1823972)
    - fuse: fix initial parallel dirops

  * amdgpu resume failure: failed to allocate wb slot (LP: #1825074)
    - drm/amdgpu: fix&cleanups for wb_clear

  * Pop noise when headset is plugged in or removed from GHS/Line-out jack
    (LP: #1821290)
    - ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode
      for ALC225
    - ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225
    - ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO
    - ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB

  * mac80211_hwsim unable to handle kernel NULL pointer dereference
    at0000000000000000  (LP: #1825058)
    - mac80211_hwsim: Timer should be initialized before device registered

  * [regression][snd_hda_codec_realtek] repeating crackling noise after 19.04
    upgrade (LP: #1821663)
    - ALSA: hda: Add Intel NUC7i3BNB to the power_save blacklist
    - ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist
    - ALSA: hda - Add two more machines to the power_save_blacklist

  * ubuntu_nbd_smoke_test failed on P9 with Bionic kernel (LP: #1822247)
    - nbd: fix how we set bd_invalidated

  * TSC clocksource not available in nested guests (LP: #1822821)
    - kvmclock: fix TSC calibration for nested guests

  * 4.15 kernel ip_vs --ops causes performance and hang problem (LP: #1819786)
    - ipvs: fix refcount usage for conns in ops mode

  * systemd cause kernel trace "BUG: unable to handle kernel paging request at
    6db23a14" on Cosmic i386 (LP: #1813244) // systemd cause kernel trace "BUG:
    unable to handle kernel paging request at 6db23a14" on Cosmic i386
    (LP: #1813244)
    - openvswitch: fix flow actions reallocation

 -- Stefan Bader <stefan.ba...@canonical.com>  Mon, 06 May 2019 18:59:24
+0200

** Changed in: linux (Ubuntu Bionic)
       Status: Fix Committed => Fix Released

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5715

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5753

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5754

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-12126

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-12127

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-12130

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-16884

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-3620

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-3639

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-3646

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2019-3874

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2019-3882

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2019-9500

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2019-9503

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1819786

Title:
  4.15 kernel ip_vs --ops causes performance and hang problem

Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Bionic:
  Fix Released

Bug description:
  === SRU Justification ===
  [Impact]
  From the commit message:
  "Connections in One-packet scheduling mode (-o, --ops) are
  removed with refcnt=0 because they are not hashed in conn table."

  [Fix]
  From the commit message:
  "To avoid refcount_dec reporting this as error, change them to be
  removed with refcount_dec_if_one as all other connections."

  [Test]
  The bug reporter has a reproducer and confirmed this commit fixes the
  issue.

  [Regression Potential]
  Low. Fix for a specific use case, and it's in upstream for a while.

  === Original Bug Report ===
  On our 16.04LTS (and earlier) systems we used the ipvsadm --ops UDP
  support (one-packet scheduling) to get a better distribution amongst
  our real servers behind the load-balancer for some small subset of
  applications.

  This has worked fine through the 4.4.0-xxx kernels. But when we started
  a program to upgrade systems to use the 4.15 series of kernels to take
  advantage of new facilities, the subset of systems which used the --ops
  option ran into problems. Everything else with the 4.15 kernels appeared
  to work well.

  This issue was reported in #1817247 against 16.04LTS with the HWE 4.15 kernel
  but has not received any acknowledgement after having been reported weeks
  ago.   So we have moved on to confirm that a stock 18.04LTS system with the
  latest expected/standard 4.15 kernel also has this issue as well and report
  that here.  Perhaps this will get more attention.

  The issue appears to have been the change in the ip_vs module from using
  "atomic_*()" increment/decrement functions in the 4.4 kernel to instead
  use "refcount_*()" functions in a later kernel, including the 4.15 one
  we switched to. Unfortunately, the simple refcount_dec() function was
  inadequate, in putting out a time-consuming message and handling when
  the refcount dropped to zero, which is expected in the case of --ops
  support that retains no state post packet delivery. I will upload an
  attachment with the sample messages that get put out at packet arrival
  rate, which destroys performance of course. This test VM reports the
  identical errors we see in our production servers, but at least throwing
  only a couple of test --ops packets at it doesn't crash/hang the 18.04 system
  as it did in the 16.04 VM reported earlier.   And in production, with the
  far greater packet rates, our systems fail since the attached call backtrace
  *** appears on every packet!! ***

  This issue was apparently already recognized as an error and has appeared
  as a fix in upstream kernels. This is a reference to the 4.17 version
  of the fix that we'd like to see incorporated into the next possible
  kernel maintenance release:

  
https://github.com/torvalds/linux/commit/a050d345cef0dc6249263540da1e902bba617e43
  #diff-75923493f6e3f314b196a8223b0d6342

  We have successfully used the livepatch facility to build a livepatch .ko
  with the above diffs on our 4.15.0-36 system and successfully demonstrated
  the contrast in good/bad behavior with/without the livepatch module
  loaded. But we'd rather not have to build a version of livepatch.ko for
  each kernel maintenance release, such as the 4.5.0-46 kernel here used to
  demonstrate the issue persists in the Ubuntu mainline distro.

  The problem is easy to generate, with only a couple of packets
  and a simple configuration. Here's a very basic test (addresses
  rewritten/obscured) version of an example configuration for 2 servers
  that worked on my test VM:

  ipvsadm -A -f 100 -s rr --ops
  ipvsadm -a -f 100 -r 10.129.131.227:0 -g -w 9999
  ipvsadm -a -f 100 -r 10.129.131.228:0 -g -w 9999
  iptables -t mangle -A PREROUTING -d 172.16.5.1/32 -j MARK --set-xmark 
0x64/0xffffffff
  ifconfig lo:0 172.16.5.1/32 up

  Routing and addressing to achieve the above, or adaptation for one's
  own test environment, is left to the tester.  I just added alias 10.129.131.x
  addresses on my "outbound" interface and a static route for 172.16.5.1 to my
  client system so the test packets arrived on the "inbound" interface.

  I set up routing and addresses on my 2 NIC test such that packets arrived
  on my test machine's eth1 NIC and were directed by ip_vs out the eth2. To
  test, all I did was throw a few UDP packets via traceroute at the address
  on the iptables/firewall mark rule so that the eth1 interface of the
  test system was the traceroute system's default gateway:

    traceroute -m 2 172.16.5.1

  Without the fix my test ip_vs system either hangs or puts out messages
  as per the attached. With our livepatch module using the above commit's
  contents, all is well. Both of the test ("real" as opposed to "virtual")
  servers configured above via ipvsadm, get packets and no errors are
  reported in the logs.

  Let me know of anything I can do to help accelerate addressing of this
  issue or understanding. It seems that the fix incorporation is fairly
  straightforward, and is a performance disaster without it for anyone
  using the --ops facility to any significant degree.

  Thanks!

  $ lsb_release -rd
  Description:    Ubuntu 18.04.2 LTS
  Release:        18.04
  $ uname -a
  Linux direct-18-04 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 
2019 x86_64 x86_64 x86_64 GNU/Linux

  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: linux-image-4.15.0-46-generic 4.15.0-46.49
  ProcVersionSignature: Ubuntu 4.15.0-46.49-generic 4.15.18
  Uname: Linux 4.15.0-46-generic x86_64
  ApportVersion: 2.20.9-0ubuntu7.5
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC0:  marc       1980 F.... pulseaudio
  CurrentDesktop: ubuntu:GNOME
  Date: Tue Mar 12 13:14:31 2019
  InstallationDate: Installed on 2018-08-01 (222 days ago)
  InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426)
  Lsusb:
   Bus 001 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
   Bus 001 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
   Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  MachineType: VMware, Inc. VMware Virtual Platform
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcFB: 0 svgadrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-46-generic 
root=UUID=103a235a-d768-45d6-9f14-c7414f72320d ro quiet splash nopti 
nospectre_v2 nospec_store_bypass_disable
  RelatedPackageVersions:
   linux-restricted-modules-4.15.0-46-generic N/A
   linux-backports-modules-4.15.0-46-generic  N/A
   linux-firmware                             1.173.3
  RfKill:

  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 05/20/2014
  dmi.bios.vendor: Phoenix Technologies LTD
  dmi.bios.version: 6.00
  dmi.board.name: 440BX Desktop Reference Platform
  dmi.board.vendor: Intel Corporation
  dmi.board.version: None
  dmi.chassis.asset.tag: No Asset Tag
  dmi.chassis.type: 1
  dmi.chassis.vendor: No Enclosure
  dmi.chassis.version: N/A
  dmi.modalias: 
dmi:bvnPhoenixTechnologiesLTD:bvr6.00:bd05/20/2014:svnVMware,Inc.:pnVMwareVirtualPlatform:pvrNone:rvnIntelCorporation:rn440BXDesktopReferencePlatform:rvrNone:cvnNoEnclosure:ct1:cvrN/A:
  dmi.product.name: VMware Virtual Platform
  dmi.product.version: None
  dmi.sys.vendor: VMware, Inc.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819786/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to