These patches include few backported fixes for the 4.4 stable
tree.
I would appreciate if you could kindly consider including them in the
next release.
Ajay
---
[Changes from v1]: No changes, only answering Greg's below queries:
>> Why are these needed? From what I remember, the last patch here is only
>> needed for machines that are "HUGE" and for those, you shouldn't be
>> using 4.4.y anymore anyway, right? You just end up saving so much more
>> speed and energy using a newer kernel, why would you want to waste it
>> using an older one?
>>
>> So I need a really good reason why to accept these :)
>
> It's been a week, so I'm dropping this from my queue now. Please resend
> with this information if you still want these in the tree.
> thanks,
> greg k-h
Indeed, the machine needs to have about 140 GB of RAM to exploit
this vulnerability (CVE-2019-11487). However, Photon OS doesn't
impose any limits on the amount of RAM that it supports, so we would
like to safeguard the kernel against this CVE. Also, while newer
versions of Photon OS are on more recent kernels, Photon OS 1.0 uses
the 4.4 stable series, so it would be great to get these patches
included in an upcoming 4.4 stable release.
We would also like to have the following patches that are for machines
that are huge:
Patch 1: Introduced page_ref_zero_or_close_to_overflow() which helps to
check for small underflows (or _very_ close to overflowing), and ignore
overflows which have strayed into negative territory.
And this is being used inside get_page() and get_page_foll() to reduce the
possibility of overflowing.
Patch 6: Attacker could do direct IO on a page multiple times to trigger
an overflowing. This patch makes get_user_pages() refuse to if there is
an overflow.
Patch 8: This removes another mechanism for overflowing the page refcount
inside pipe_buf_get().
---
[PATCH v2 1/8]:
Backporting of upstream commit f958d7b528b1:
mm: make page ref count overflow check tighter and more explicit
[PATCH v2 2/8]:
Backporting of upstream commit 88b1a17dfc3e:
mm: add 'try_get_page()' helper function
[PATCH v2 3/8]:
Backporting of upstream commit 7aef4172c795:
mm: handle PTE-mapped tail pages in gerneric fast gup implementaiton
[PATCH v2 4/8]:
Backporting of upstream commit a3e328556d41:
mm, gup: remove broken VM_BUG_ON_PAGE compound check for hugepages
[PATCH v2 5/8]:
Backporting of upstream commit d63206ee32b6:
mm, gup: ensure real head page is ref-counted when using hugepages
[PATCH v2 6/8]:
Backporting of upstream commit 8fde12ca79af:
mm: prevent get_user_pages() from overflowing page refcount
[PATCH v2 7/8]:
Backporting of upstream commit 7bf2d1df8082:
pipe: add pipe_buf_get() helper
[PATCH v2 8/8]:
Backporting of upstream commit 15fab63e1e57:
fs: prevent page refcount overflow in pipe_buf_get
This is the start of the stable review cycle for the 5.4.1 release.
There are 66 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Fri, 29 Nov 2019 20:18:09 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.1-rc1.…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.4.1-rc1
Michael Ellerman <mpe(a)ellerman.id.au>
KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel
Michael Ellerman <mpe(a)ellerman.id.au>
powerpc/book3s64: Fix link stack flush on context switch
Bernd Porr <mail(a)berndporr.me.uk>
staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error
Aleksander Morgado <aleksander(a)aleksander.es>
USB: serial: option: add support for Foxconn T77W968 LTE modules
Aleksander Morgado <aleksander(a)aleksander.es>
USB: serial: option: add support for DW5821e with eSIM support
Johan Hovold <johan(a)kernel.org>
USB: serial: mos7840: fix remote wakeup
Johan Hovold <johan(a)kernel.org>
USB: serial: mos7720: fix remote wakeup
Pavel Löbl <pavel(a)loebl.cz>
USB: serial: mos7840: add USB ID to support Moxa UPort 2210
Oliver Neukum <oneukum(a)suse.com>
appledisplay: fix error handling in the scheduled work
Oliver Neukum <oneukum(a)suse.com>
USB: chaoskey: fix error case of a timeout
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
usb-serial: cp201x: support Mark-10 digital force gauge
Suwan Kim <suwan.kim027(a)gmail.com>
usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit()
Hewenliang <hewenliang4(a)huawei.com>
usbip: tools: fix fd leakage in the function of read_attr_usbip_status
Oliver Neukum <oneukum(a)suse.com>
USBIP: add config dependency for SGL_ALLOC
Takashi Iwai <tiwai(a)suse.de>
ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs
A Sun <as1033x(a)comcast.net>
media: mceusb: fix out of bounds read in MCE receiver buffer
Sean Young <sean(a)mess.org>
media: imon: invalid dereference in imon_touch_event
Vito Caputo <vcaputo(a)pengaru.com>
media: cxusb: detect cxusb_ctrl_msg error in query
Oliver Neukum <oneukum(a)suse.com>
media: b2c2-flexcop-usb: add sanity checking
Laurent Pinchart <laurent.pinchart(a)ideasonboard.com>
media: uvcvideo: Fix error path in control parsing failure
Thomas Gleixner <tglx(a)linutronix.de>
futex: Prevent exit livelock
Thomas Gleixner <tglx(a)linutronix.de>
futex: Provide distinct return value when owner is exiting
Thomas Gleixner <tglx(a)linutronix.de>
futex: Add mutex around futex exit
Thomas Gleixner <tglx(a)linutronix.de>
futex: Provide state handling for exec() as well
Thomas Gleixner <tglx(a)linutronix.de>
futex: Sanitize exit state handling
Thomas Gleixner <tglx(a)linutronix.de>
futex: Mark the begin of futex exit explicitly
Thomas Gleixner <tglx(a)linutronix.de>
futex: Set task::futex_state to DEAD right after handling futex exit
Thomas Gleixner <tglx(a)linutronix.de>
futex: Split futex_mm_release() for exit/exec
Thomas Gleixner <tglx(a)linutronix.de>
exit/exec: Seperate mm_release()
Thomas Gleixner <tglx(a)linutronix.de>
futex: Replace PF_EXITPIDONE with a state
Thomas Gleixner <tglx(a)linutronix.de>
futex: Move futex exit handling into futex code
Kai Shen <shenkai8(a)huawei.com>
cpufreq: Add NULL checks to show() and store() methods of cpufreq
Alan Stern <stern(a)rowland.harvard.edu>
media: usbvision: Fix races among open, close, and disconnect
Alan Stern <stern(a)rowland.harvard.edu>
media: usbvision: Fix invalid accesses after device disconnect
Alexander Popov <alex.popov(a)linux.com>
media: vivid: Fix wrong locking that causes race conditions on streaming stop
Vandana BN <bnvandana(a)gmail.com>
media: vivid: Set vid_cap_streaming and vid_out_streaming to true
Geoffrey D. Bennett <g(a)b4.vu>
ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data
Takashi Iwai <tiwai(a)suse.de>
ALSA: usb-audio: Fix NULL dereference at parsing BADD
Yang Tao <yang.tao172(a)zte.com.cn>
futex: Prevent robust futex exit race
Andy Lutomirski <luto(a)kernel.org>
x86/entry/32: Fix FIXUP_ESPFIX_STACK with user CR3
Ingo Molnar <mingo(a)kernel.org>
x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make the CPU_ENTRY_AREA_PAGES assert precise
Andy Lutomirski <luto(a)kernel.org>
selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel
Andy Lutomirski <luto(a)kernel.org>
selftests/x86/mov_ss_trap: Fix the SYSENTER test
Peter Zijlstra <peterz(a)infradead.org>
x86/entry/32: Fix NMI vs ESPFIX
Andy Lutomirski <luto(a)kernel.org>
x86/entry/32: Unwind the ESPFIX stack earlier on exception entry
Andy Lutomirski <luto(a)kernel.org>
x86/entry/32: Move FIXUP_FRAME after pushing %fs in SAVE_ALL
Andy Lutomirski <luto(a)kernel.org>
x86/entry/32: Use %ss segment where required
Peter Zijlstra <peterz(a)infradead.org>
x86/entry/32: Fix IRET exception
Thomas Gleixner <tglx(a)linutronix.de>
x86/cpu_entry_area: Add guard page for entry stack on 32bit
Thomas Gleixner <tglx(a)linutronix.de>
x86/pti/32: Size initial_page_table correctly
Andy Lutomirski <luto(a)kernel.org>
x86/doublefault/32: Fix stack canaries in the double fault handler
Jan Beulich <jbeulich(a)suse.com>
x86/xen/32: Simplify ring check in xen_iret_crit_fixup()
Jan Beulich <jbeulich(a)suse.com>
x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout
Jan Beulich <jbeulich(a)suse.com>
x86/stackframe/32: Repair 32-bit Xen PV
Navid Emamdoost <navid.emamdoost(a)gmail.com>
nbd: prevent memory leak
Waiman Long <longman(a)redhat.com>
x86/speculation: Fix redundant MDS mitigation message
Waiman Long <longman(a)redhat.com>
x86/speculation: Fix incorrect MDS/TAA mitigation status
Alexander Kapshuk <alexander.kapshuk(a)gmail.com>
x86/insn: Fix awk regexp warnings
John Pittman <jpittman(a)redhat.com>
md/raid10: prevent access of uninitialized resync_pages offset
Mike Snitzer <snitzer(a)redhat.com>
Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues"
Adam Ford <aford173(a)gmail.com>
Revert "Bluetooth: hci_ll: set operational frequency earlier"
Christian Lamparter <chunkeey(a)gmail.com>
ath10k: restore QCA9880-AR1A (v1) detection
Bjorn Andersson <bjorn.andersson(a)linaro.org>
ath10k: Fix HOST capability QMI incompatibility
Hui Peng <benquike(a)gmail.com>
ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe
Denis Efremov <efremov(a)linux.com>
ath9k_hw: fix uninitialized variable data
Tomas Bortoli <tomasbortoli(a)gmail.com>
Bluetooth: Fix invalid-free in bcsp_close()
-------------
Diffstat:
Documentation/admin-guide/hw-vuln/mds.rst | 7 +-
.../admin-guide/hw-vuln/tsx_async_abort.rst | 5 +-
Documentation/admin-guide/kernel-parameters.txt | 11 +
.../bindings/net/wireless/qcom,ath10k.txt | 6 +
Makefile | 4 +-
arch/powerpc/include/asm/asm-prototypes.h | 3 +
arch/powerpc/include/asm/security_features.h | 3 +
arch/powerpc/kernel/entry_64.S | 6 +
arch/powerpc/kernel/security.c | 57 +++-
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 30 ++
arch/x86/entry/entry_32.S | 211 +++++++++-----
arch/x86/include/asm/cpu_entry_area.h | 18 +-
arch/x86/include/asm/pgtable_32_types.h | 8 +-
arch/x86/include/asm/segment.h | 12 +
arch/x86/kernel/cpu/bugs.c | 30 +-
arch/x86/kernel/doublefault.c | 3 +
arch/x86/kernel/head_32.S | 10 +
arch/x86/mm/cpu_entry_area.c | 4 +-
arch/x86/tools/gen-insn-attr-x86.awk | 4 +-
arch/x86/xen/xen-asm_32.S | 75 ++---
drivers/block/nbd.c | 5 +-
drivers/bluetooth/hci_bcsp.c | 3 +
drivers/bluetooth/hci_ll.c | 39 ++-
drivers/cpufreq/cpufreq.c | 6 +
drivers/md/dm-crypt.c | 9 +-
drivers/md/raid10.c | 2 +-
drivers/media/platform/vivid/vivid-kthread-cap.c | 8 +-
drivers/media/platform/vivid/vivid-kthread-out.c | 8 +-
drivers/media/platform/vivid/vivid-sdr-cap.c | 8 +-
drivers/media/platform/vivid/vivid-vid-cap.c | 3 -
drivers/media/platform/vivid/vivid-vid-out.c | 3 -
drivers/media/rc/imon.c | 3 +-
drivers/media/rc/mceusb.c | 141 ++++++---
drivers/media/usb/b2c2/flexcop-usb.c | 3 +
drivers/media/usb/dvb-usb/cxusb.c | 3 +-
drivers/media/usb/usbvision/usbvision-video.c | 29 +-
drivers/media/usb/uvc/uvc_driver.c | 28 +-
drivers/net/wireless/ath/ath10k/pci.c | 36 ++-
drivers/net/wireless/ath/ath10k/qmi.c | 13 +-
drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.c | 22 ++
drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.h | 1 +
drivers/net/wireless/ath/ath10k/snoc.c | 11 +
drivers/net/wireless/ath/ath10k/snoc.h | 1 +
drivers/net/wireless/ath/ath10k/usb.c | 8 +
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 2 +-
drivers/staging/comedi/drivers/usbduxfast.c | 21 +-
drivers/usb/misc/appledisplay.c | 8 +-
drivers/usb/misc/chaoskey.c | 24 +-
drivers/usb/serial/cp210x.c | 1 +
drivers/usb/serial/mos7720.c | 4 -
drivers/usb/serial/mos7840.c | 16 +-
drivers/usb/serial/option.c | 7 +
drivers/usb/usbip/Kconfig | 1 +
drivers/usb/usbip/stub_rx.c | 50 ++--
fs/exec.c | 2 +-
include/linux/compat.h | 2 -
include/linux/futex.h | 40 ++-
include/linux/sched.h | 3 +-
include/linux/sched/mm.h | 6 +-
kernel/exit.c | 30 +-
kernel/fork.c | 40 +--
kernel/futex.c | 324 ++++++++++++++++++---
sound/pci/hda/patch_hdmi.c | 22 --
sound/usb/mixer.c | 3 +
sound/usb/mixer_scarlett_gen2.c | 36 +--
tools/arch/x86/tools/gen-insn-attr-x86.awk | 4 +-
tools/testing/selftests/x86/mov_ss_trap.c | 3 +-
tools/testing/selftests/x86/sigreturn.c | 13 +
tools/usb/usbip/libsrc/usbip_host_common.c | 2 +-
69 files changed, 1091 insertions(+), 473 deletions(-)
Christian reported a warning like the following obtained during running some
KVM-related tests on s390:
WARNING: CPU: 8 PID: 208 at lib/percpu-refcount.c:108 percpu_ref_exit+0x50/0x58
Modules linked in: kvm(-) xt_CHECKSUM xt_MASQUERADE bonding xt_tcpudp ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_conntrack ip6table_na>
CPU: 8 PID: 208 Comm: kworker/8:1 Not tainted 5.2.0+ #66
Hardware name: IBM 2964 NC9 712 (LPAR)
Workqueue: events sysfs_slab_remove_workfn
Krnl PSW : 0704e00180000000 0000001529746850 (percpu_ref_exit+0x50/0x58)
R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3
Krnl GPRS: 00000000ffff8808 0000001529746740 000003f4e30e8e18 0036008100000000
0000001f00000000 0035008100000000 0000001fb3573ab8 0000000000000000
0000001fbdb6de00 0000000000000000 0000001529f01328 0000001fb3573b00
0000001fbb27e000 0000001fbdb69300 000003e009263d00 000003e009263cd0
Krnl Code: 0000001529746842: f0a0000407fe srp 4(11,%r0),2046,0
0000001529746848: 47000700 bc 0,1792
#000000152974684c: a7f40001 brc 15,152974684e
>0000001529746850: a7f4fff2 brc 15,1529746834
0000001529746854: 0707 bcr 0,%r7
0000001529746856: 0707 bcr 0,%r7
0000001529746858: eb8ff0580024 stmg %r8,%r15,88(%r15)
000000152974685e: a738ffff lhi %r3,-1
Call Trace:
([<000003e009263d00>] 0x3e009263d00)
[<00000015293252ea>] slab_kmem_cache_release+0x3a/0x70
[<0000001529b04882>] kobject_put+0xaa/0xe8
[<000000152918cf28>] process_one_work+0x1e8/0x428
[<000000152918d1b0>] worker_thread+0x48/0x460
[<00000015291942c6>] kthread+0x126/0x160
[<0000001529b22344>] ret_from_fork+0x28/0x30
[<0000001529b2234c>] kernel_thread_starter+0x0/0x10
Last Breaking-Event-Address:
[<000000152974684c>] percpu_ref_exit+0x4c/0x58
---[ end trace b035e7da5788eb09 ]---
The problem occurs because kmem_cache_destroy() is called immediately
after deleting of a memcg, so it races with the memcg kmem_cache
deactivation.
flush_memcg_workqueue() at the beginning of kmem_cache_destroy()
is supposed to guarantee that all deactivation processes are finished,
but failed to do so. It waits for an rcu grace period, after which all
children kmem_caches should be deactivated. During the deactivation
percpu_ref_kill() is called for non root kmem_cache refcounters,
but it requires yet another rcu grace period to finish the transition
to the atomic (dead) state.
So in a rare case when not all children kmem_caches are destroyed
at the moment when the root kmem_cache is about to be gone, we need
to wait another rcu grace period before destroying the root
kmem_cache.
This issue can be triggered only with dynamically created kmem_caches
which are used with memcg accounting. In this case per-memcg child
kmem_caches are created. They are deactivated from the cgroup removing
path. If the destruction of the root kmem_cache is racing with the
removal of the cgroup (both are quite complicated multi-stage
processes), the described issue can occur. The only known way to
trigger it in the real life, is to unload some kernel module which
creates a dedicated kmem_cache, used from different memory cgroups
with GFP_ACCOUNT flag. If the unloading happens immediately after
calling rmdir on the corresponding cgroup, there is some chance to
trigger the issue.
v2: added a note to the commit log, proposed by Michal Hocko
Reported-by: Christian Borntraeger <borntraeger(a)de.ibm.com>
Tested-by: Christian Borntraeger <borntraeger(a)de.ibm.com>
Fixes: f0a3a24b532d ("mm: memcg/slab: rework non-root kmem_cache lifecycle management")
Signed-off-by: Roman Gushchin <guro(a)fb.com>
Reviewed-by: Shakeel Butt <shakeelb(a)google.com>
Cc: stable(a)vger.kernel.org
---
mm/slab_common.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/mm/slab_common.c b/mm/slab_common.c
index 8afa188f6e20..f0ab6d4ceb4c 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -904,6 +904,18 @@ static void flush_memcg_workqueue(struct kmem_cache *s)
* previous workitems on workqueue are processed.
*/
flush_workqueue(memcg_kmem_cache_wq);
+
+ /*
+ * If we're racing with children kmem_cache deactivation, it might
+ * take another rcu grace period to complete their destruction.
+ * At this moment the corresponding percpu_ref_kill() call should be
+ * done, but it might take another rcu grace period to complete
+ * switching to the atomic mode.
+ * Please, note that we check without grabbing the slab_mutex. It's safe
+ * because at this moment the children list can't grow.
+ */
+ if (!list_empty(&s->memcg_params.children))
+ rcu_barrier();
}
#else
static inline int shutdown_memcg_caches(struct kmem_cache *s)
--
2.17.1
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git
Commit: 10332f9dac30 - net-sysfs: fix netdev_queue_add_kobject() breakage
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://artifacts.cki-project.org/pipelines/312623
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 3 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func: local
✅ Networking route_func: forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns transport
✅ Networking ipsec: basic netns tunnel
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm test suite
🚧 ✅ LTP: openposix test suite
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ iotop: sanity
🚧 ✅ Usex - version 1.9-29
🚧 ✅ storage: dm/common
Host 2:
✅ Boot test
✅ xfstests: ext4
✅ xfstests: xfs
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ selinux-policy: serge-testsuite
🚧 ✅ Storage blktests
ppc64le:
Host 1:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking route: pmtu
✅ Networking route_func: local
✅ Networking route_func: forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns tunnel
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm test suite
🚧 ✅ LTP: openposix test suite
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ iotop: sanity
🚧 ✅ Usex - version 1.9-29
🚧 ✅ storage: dm/common
Host 2:
✅ Boot test
✅ xfstests: ext4
✅ xfstests: xfs
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ selinux-policy: serge-testsuite
🚧 ✅ Storage blktests
x86_64:
Host 1:
⏱ Boot test
⏱ Storage SAN device stress - megaraid_sas
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func: local
✅ Networking route_func: forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns transport
✅ Networking ipsec: basic netns tunnel
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ tuned: tune-processes-through-perf
✅ pciutils: sanity smoke test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ⚡⚡⚡ jvm test suite
🚧 ⚡⚡⚡ LTP: openposix test suite
🚧 ⚡⚡⚡ Networking vnic: ipvlan/basic
🚧 ⚡⚡⚡ iotop: sanity
🚧 ⚡⚡⚡ Usex - version 1.9-29
🚧 ⚡⚡⚡ storage: dm/common
Host 3:
✅ Boot test
✅ xfstests: ext4
✅ xfstests: xfs
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ❌ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ selinux-policy: serge-testsuite
🚧 ✅ Storage blktests
Host 4:
⏱ Boot test
⏱ Storage SAN device stress - mpt3sas driver
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running are marked with ⏱. Reports for non-upstream kernels have
a Beaker recipe linked to next to each host.
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git
Commit: 812770f69be5 - net-sysfs: fix netdev_queue_add_kobject() breakage
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://artifacts.cki-project.org/pipelines/313163
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 3 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func: local
✅ Networking route_func: forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns transport
✅ Networking ipsec: basic netns tunnel
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm test suite
🚧 ✅ LTP: openposix test suite
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ iotop: sanity
🚧 ✅ Usex - version 1.9-29
🚧 ✅ storage: dm/common
Host 2:
✅ Boot test
✅ xfstests: ext4
✅ xfstests: xfs
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ selinux-policy: serge-testsuite
🚧 ✅ Storage blktests
ppc64le:
Host 1:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking route: pmtu
✅ Networking route_func: local
✅ Networking route_func: forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns tunnel
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm test suite
🚧 ✅ LTP: openposix test suite
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ iotop: sanity
🚧 ✅ Usex - version 1.9-29
🚧 ✅ storage: dm/common
Host 2:
✅ Boot test
✅ xfstests: ext4
✅ xfstests: xfs
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ selinux-policy: serge-testsuite
🚧 ✅ Storage blktests
x86_64:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running are marked with ⏱. Reports for non-upstream kernels have
a Beaker recipe linked to next to each host.
Christian reported a warning like the following obtained during running some
KVM-related tests on s390:
WARNING: CPU: 8 PID: 208 at lib/percpu-refcount.c:108 percpu_ref_exit+0x50/0x58
Modules linked in: kvm(-) xt_CHECKSUM xt_MASQUERADE bonding xt_tcpudp ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_conntrack ip6table_na>
CPU: 8 PID: 208 Comm: kworker/8:1 Not tainted 5.2.0+ #66
Hardware name: IBM 2964 NC9 712 (LPAR)
Workqueue: events sysfs_slab_remove_workfn
Krnl PSW : 0704e00180000000 0000001529746850 (percpu_ref_exit+0x50/0x58)
R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3
Krnl GPRS: 00000000ffff8808 0000001529746740 000003f4e30e8e18 0036008100000000
0000001f00000000 0035008100000000 0000001fb3573ab8 0000000000000000
0000001fbdb6de00 0000000000000000 0000001529f01328 0000001fb3573b00
0000001fbb27e000 0000001fbdb69300 000003e009263d00 000003e009263cd0
Krnl Code: 0000001529746842: f0a0000407fe srp 4(11,%r0),2046,0
0000001529746848: 47000700 bc 0,1792
#000000152974684c: a7f40001 brc 15,152974684e
>0000001529746850: a7f4fff2 brc 15,1529746834
0000001529746854: 0707 bcr 0,%r7
0000001529746856: 0707 bcr 0,%r7
0000001529746858: eb8ff0580024 stmg %r8,%r15,88(%r15)
000000152974685e: a738ffff lhi %r3,-1
Call Trace:
([<000003e009263d00>] 0x3e009263d00)
[<00000015293252ea>] slab_kmem_cache_release+0x3a/0x70
[<0000001529b04882>] kobject_put+0xaa/0xe8
[<000000152918cf28>] process_one_work+0x1e8/0x428
[<000000152918d1b0>] worker_thread+0x48/0x460
[<00000015291942c6>] kthread+0x126/0x160
[<0000001529b22344>] ret_from_fork+0x28/0x30
[<0000001529b2234c>] kernel_thread_starter+0x0/0x10
Last Breaking-Event-Address:
[<000000152974684c>] percpu_ref_exit+0x4c/0x58
---[ end trace b035e7da5788eb09 ]---
The problem occurs because kmem_cache_destroy() is called immediately
after deleting of a memcg, so it races with the memcg kmem_cache
deactivation.
flush_memcg_workqueue() at the beginning of kmem_cache_destroy()
is supposed to guarantee that all deactivation processes are finished,
but failed to do so. It waits for an rcu grace period, after which all
children kmem_caches should be deactivated. During the deactivation
percpu_ref_kill() is called for non root kmem_cache refcounters,
but it requires yet another rcu grace period to finish the transition
to the atomic (dead) state.
So in a rare case when not all children kmem_caches are destroyed
at the moment when the root kmem_cache is about to be gone, we need
to wait another rcu grace period before destroying the root
kmem_cache.
Reported-by: Christian Borntraeger <borntraeger(a)de.ibm.com>
Tested-by: Christian Borntraeger <borntraeger(a)de.ibm.com>
Fixes: f0a3a24b532d ("mm: memcg/slab: rework non-root kmem_cache lifecycle management")
Signed-off-by: Roman Gushchin <guro(a)fb.com>
Cc: stable(a)vger.kernel.org
---
mm/slab_common.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/mm/slab_common.c b/mm/slab_common.c
index 8afa188f6e20..f0ab6d4ceb4c 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -904,6 +904,18 @@ static void flush_memcg_workqueue(struct kmem_cache *s)
* previous workitems on workqueue are processed.
*/
flush_workqueue(memcg_kmem_cache_wq);
+
+ /*
+ * If we're racing with children kmem_cache deactivation, it might
+ * take another rcu grace period to complete their destruction.
+ * At this moment the corresponding percpu_ref_kill() call should be
+ * done, but it might take another rcu grace period to complete
+ * switching to the atomic mode.
+ * Please, note that we check without grabbing the slab_mutex. It's safe
+ * because at this moment the children list can't grow.
+ */
+ if (!list_empty(&s->memcg_params.children))
+ rcu_barrier();
}
#else
static inline int shutdown_memcg_caches(struct kmem_cache *s)
--
2.23.0
This is the start of the stable review cycle for the 5.3.14 release.
There are 95 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Fri, 29 Nov 2019 20:18:09 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.3.14-rc1…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.3.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.3.14-rc1
Michael Ellerman <mpe(a)ellerman.id.au>
KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel
Michael Ellerman <mpe(a)ellerman.id.au>
powerpc/book3s64: Fix link stack flush on context switch
Christopher M. Riedl <cmr(a)informatik.wtf>
powerpc/64s: support nospectre_v2 cmdline option
Bernd Porr <mail(a)berndporr.me.uk>
staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error
Aleksander Morgado <aleksander(a)aleksander.es>
USB: serial: option: add support for Foxconn T77W968 LTE modules
Aleksander Morgado <aleksander(a)aleksander.es>
USB: serial: option: add support for DW5821e with eSIM support
Johan Hovold <johan(a)kernel.org>
USB: serial: mos7840: fix remote wakeup
Johan Hovold <johan(a)kernel.org>
USB: serial: mos7720: fix remote wakeup
Pavel Löbl <pavel(a)loebl.cz>
USB: serial: mos7840: add USB ID to support Moxa UPort 2210
Oliver Neukum <oneukum(a)suse.com>
appledisplay: fix error handling in the scheduled work
Oliver Neukum <oneukum(a)suse.com>
USB: chaoskey: fix error case of a timeout
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
usb-serial: cp201x: support Mark-10 digital force gauge
Suwan Kim <suwan.kim027(a)gmail.com>
usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit()
Hewenliang <hewenliang4(a)huawei.com>
usbip: tools: fix fd leakage in the function of read_attr_usbip_status
Oliver Neukum <oneukum(a)suse.com>
USBIP: add config dependency for SGL_ALLOC
Alexander Potapenko <glider(a)google.com>
mm/slub.c: init_on_free=1 should wipe freelist ptr for bulk allocations
A Sun <as1033x(a)comcast.net>
media: mceusb: fix out of bounds read in MCE receiver buffer
Sean Young <sean(a)mess.org>
media: imon: invalid dereference in imon_touch_event
Vito Caputo <vcaputo(a)pengaru.com>
media: cxusb: detect cxusb_ctrl_msg error in query
Oliver Neukum <oneukum(a)suse.com>
media: b2c2-flexcop-usb: add sanity checking
Laurent Pinchart <laurent.pinchart(a)ideasonboard.com>
media: uvcvideo: Fix error path in control parsing failure
Kai Shen <shenkai8(a)huawei.com>
cpufreq: Add NULL checks to show() and store() methods of cpufreq
Alan Stern <stern(a)rowland.harvard.edu>
media: usbvision: Fix races among open, close, and disconnect
Alan Stern <stern(a)rowland.harvard.edu>
media: usbvision: Fix invalid accesses after device disconnect
Alexander Popov <alex.popov(a)linux.com>
media: vivid: Fix wrong locking that causes race conditions on streaming stop
Vandana BN <bnvandana(a)gmail.com>
media: vivid: Set vid_cap_streaming and vid_out_streaming to true
Jouni Hogander <jouni.hogander(a)unikie.com>
net-sysfs: Fix reference count leak in rx|netdev_queue_add_kobject
Oliver Neukum <oneukum(a)suse.com>
nfc: port100: handle command failure cleanly
Takashi Iwai <tiwai(a)suse.de>
ALSA: usb-audio: Fix NULL dereference at parsing BADD
Yang Tao <yang.tao172(a)zte.com.cn>
futex: Prevent robust futex exit race
Andy Lutomirski <luto(a)kernel.org>
x86/entry/32: Fix FIXUP_ESPFIX_STACK with user CR3
Ingo Molnar <mingo(a)kernel.org>
x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make the CPU_ENTRY_AREA_PAGES assert precise
Andy Lutomirski <luto(a)kernel.org>
selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel
Andy Lutomirski <luto(a)kernel.org>
selftests/x86/mov_ss_trap: Fix the SYSENTER test
Peter Zijlstra <peterz(a)infradead.org>
x86/entry/32: Fix NMI vs ESPFIX
Andy Lutomirski <luto(a)kernel.org>
x86/entry/32: Unwind the ESPFIX stack earlier on exception entry
Andy Lutomirski <luto(a)kernel.org>
x86/entry/32: Move FIXUP_FRAME after pushing %fs in SAVE_ALL
Andy Lutomirski <luto(a)kernel.org>
x86/entry/32: Use %ss segment where required
Peter Zijlstra <peterz(a)infradead.org>
x86/entry/32: Fix IRET exception
Thomas Gleixner <tglx(a)linutronix.de>
x86/cpu_entry_area: Add guard page for entry stack on 32bit
Thomas Gleixner <tglx(a)linutronix.de>
x86/pti/32: Size initial_page_table correctly
Andy Lutomirski <luto(a)kernel.org>
x86/doublefault/32: Fix stack canaries in the double fault handler
Jan Beulich <jbeulich(a)suse.com>
x86/xen/32: Simplify ring check in xen_iret_crit_fixup()
Jan Beulich <jbeulich(a)suse.com>
x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout
Jan Beulich <jbeulich(a)suse.com>
x86/stackframe/32: Repair 32-bit Xen PV
Adi Suresh <adisuresh(a)google.com>
gve: fix dma sync bug where not all pages synced
Navid Emamdoost <navid.emamdoost(a)gmail.com>
nbd: prevent memory leak
Waiman Long <longman(a)redhat.com>
x86/speculation: Fix redundant MDS mitigation message
Waiman Long <longman(a)redhat.com>
x86/speculation: Fix incorrect MDS/TAA mitigation status
Alexander Kapshuk <alexander.kapshuk(a)gmail.com>
x86/insn: Fix awk regexp warnings
Chester Lin <clin(a)suse.com>
ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary
Geert Uytterhoeven <geert+renesas(a)glider.be>
mdio_bus: Fix init if CONFIG_RESET_CONTROLLER=n
John Pittman <jpittman(a)redhat.com>
md/raid10: prevent access of uninitialized resync_pages offset
Mike Snitzer <snitzer(a)redhat.com>
Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues"
Adam Ford <aford173(a)gmail.com>
Revert "Bluetooth: hci_ll: set operational frequency earlier"
Denis Efremov <efremov(a)linux.com>
ath9k_hw: fix uninitialized variable data
Hui Peng <benquike(a)gmail.com>
ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe
Bjorn Andersson <bjorn.andersson(a)linaro.org>
ath10k: Fix HOST capability QMI incompatibility
Christian Lamparter <chunkeey(a)gmail.com>
ath10k: restore QCA9880-AR1A (v1) detection
Tomas Bortoli <tomasbortoli(a)gmail.com>
Bluetooth: Fix invalid-free in bcsp_close()
Chris Wilson <chris(a)chris-wilson.co.uk>
drm/i915/userptr: Try to acquire the page lock around set_page_dirty()
Chris Wilson <chris(a)chris-wilson.co.uk>
drm/i915/pmu: "Frequency" is reported as accumulated cycles
Ville Syrjälä <ville.syrjala(a)linux.intel.com>
drm/i915: Don't oops in dumb_create ioctl if we have no crtcs
Evan Quan <evan.quan(a)amd.com>
drm/amd/powerplay: issue no PPSMC_MSG_GetCurrPkgPwr on unsupported ASICs
Alex Deucher <alexander.deucher(a)amd.com>
drm/amdgpu: disable gfxoff on original raven
Alex Deucher <alexander.deucher(a)amd.com>
drm/amdgpu: disable gfxoff when using register read interface
Andrey Ryabinin <aryabinin(a)virtuozzo.com>
mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()
David Hildenbrand <david(a)redhat.com>
mm/memory_hotplug: don't access uninitialized memmaps in shrink_zone_span()
Joseph Qi <joseph.qi(a)linux.alibaba.com>
Revert "fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()"
Wei Wang <wei.w.wang(a)intel.com>
virtio_balloon: fix shrinker count
Halil Pasic <pasic(a)linux.ibm.com>
virtio_ring: fix return code on DMA mapping fails
Laurent Vivier <lvivier(a)redhat.com>
virtio_console: allocate inbufs in add_port() only if it is needed
Sun Ke <sunke32(a)huawei.com>
nbd:fix memory leak in nbd_get_socket()
Luc Van Oostenryck <luc.vanoostenryck(a)gmail.com>
fork: fix pidfd_poll()'s return type
Laura Abbott <labbott(a)redhat.com>
tools: gpio: Correctly add make dependencies for gpio_utils
Thierry Reding <treding(a)nvidia.com>
gpio: bd70528: Use correct unit for debounce times
Thierry Reding <treding(a)nvidia.com>
gpio: max77620: Fixup debounce delays
Stefano Garzarella <sgarzare(a)redhat.com>
vhost/vsock: split packets to send using multiple buffers
Shani Shapp <shanish(a)mellanox.com>
net/mlx5: Update the list of the PCI supported devices
Eran Ben Elisha <eranbe(a)mellanox.com>
net/mlx5e: Do not use non-EXT link modes in EXT mode
Eli Cohen <eli(a)mellanox.com>
net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6
Marcelo Ricardo Leitner <marcelo.leitner(a)gmail.com>
net/ipv4: fix sysctl max for fib_multipath_hash_policy
Ivan Khoronzhuk <ivan.khoronzhuk(a)linaro.org>
taprio: don't reject same mqprio settings
Hangbin Liu <liuhangbin(a)gmail.com>
ipv6/route: return if there is no fib_nh_gw_family
Willem de Bruijn <willemb(a)google.com>
net/tls: enable sk_msg redirect to tls socket egress
Maor Gottlieb <maorg(a)mellanox.com>
net/mlx5: Fix auto group size calculation
Roi Dayan <roid(a)mellanox.com>
net/mlx5e: Fix set vf link state error flow
Eran Ben Elisha <eranbe(a)mellanox.com>
net/mlxfw: Verify FSM error code translation doesn't exceed array size
Martin Habets <mhabets(a)solarflare.com>
sfc: Only cancel the PPS workqueue if it exists
Xin Long <lucien.xin(a)gmail.com>
net: sched: ensure opts_len <= IP_TUNNEL_OPTS_MAX in act_tunnel_key
Davide Caratti <dcaratti(a)redhat.com>
net/sched: act_pedit: fix WARN() in the traffic path
Dan Carpenter <dan.carpenter(a)oracle.com>
net: rtnetlink: prevent underflows in do_setvfinfo()
Tariq Toukan <tariqt(a)mellanox.com>
net/mlx4_en: Fix wrong limitation for number of TX rings
Luigi Rizzo <lrizzo(a)google.com>
net/mlx4_en: fix mlx4 ethtool -N insertion
Petr Machata <petrm(a)mellanox.com>
mlxsw: spectrum_router: Fix determining underlay for a GRE tunnel
-------------
Diffstat:
Documentation/admin-guide/hw-vuln/mds.rst | 7 +-
.../admin-guide/hw-vuln/tsx_async_abort.rst | 5 +-
Documentation/admin-guide/kernel-parameters.txt | 11 ++
.../bindings/net/wireless/qcom,ath10k.txt | 6 +
Makefile | 4 +-
arch/arm/mm/mmu.c | 3 +
arch/powerpc/include/asm/asm-prototypes.h | 3 +
arch/powerpc/include/asm/security_features.h | 3 +
arch/powerpc/kernel/entry_64.S | 6 +
arch/powerpc/kernel/security.c | 74 +++++++-
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 30 +++
arch/x86/entry/entry_32.S | 211 +++++++++++++--------
arch/x86/include/asm/cpu_entry_area.h | 18 +-
arch/x86/include/asm/pgtable_32_types.h | 8 +-
arch/x86/include/asm/segment.h | 12 ++
arch/x86/kernel/cpu/bugs.c | 30 ++-
arch/x86/kernel/doublefault.c | 3 +
arch/x86/kernel/head_32.S | 10 +
arch/x86/mm/cpu_entry_area.c | 4 +-
arch/x86/tools/gen-insn-attr-x86.awk | 4 +-
arch/x86/xen/xen-asm_32.S | 75 +++-----
drivers/block/nbd.c | 6 +-
drivers/bluetooth/hci_bcsp.c | 3 +
drivers/bluetooth/hci_ll.c | 39 ++--
drivers/char/virtio_console.c | 28 ++-
drivers/cpufreq/cpufreq.c | 6 +
drivers/gpio/gpio-bd70528.c | 6 +-
drivers/gpio/gpio-max77620.c | 6 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 6 +-
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 9 +-
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 23 ++-
drivers/gpu/drm/i915/display/intel_display.c | 3 +
drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 22 ++-
drivers/gpu/drm/i915/i915_pmu.c | 4 +-
drivers/md/dm-crypt.c | 9 +-
drivers/md/raid10.c | 2 +-
drivers/media/platform/vivid/vivid-kthread-cap.c | 8 +-
drivers/media/platform/vivid/vivid-kthread-out.c | 8 +-
drivers/media/platform/vivid/vivid-sdr-cap.c | 8 +-
drivers/media/platform/vivid/vivid-vid-cap.c | 3 -
drivers/media/platform/vivid/vivid-vid-out.c | 3 -
drivers/media/rc/imon.c | 3 +-
drivers/media/rc/mceusb.c | 141 +++++++++-----
drivers/media/usb/b2c2/flexcop-usb.c | 3 +
drivers/media/usb/dvb-usb/cxusb.c | 3 +-
drivers/media/usb/usbvision/usbvision-video.c | 29 ++-
drivers/media/usb/uvc/uvc_driver.c | 28 +--
drivers/net/ethernet/google/gve/gve_tx.c | 9 +-
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 9 +-
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 9 +
.../net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 18 +-
.../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 12 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 10 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/main.c | 1 +
drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c | 2 +
.../net/ethernet/mellanox/mlxsw/spectrum_router.c | 19 +-
drivers/net/ethernet/sfc/ptp.c | 3 +-
drivers/net/phy/mdio_bus.c | 11 +-
drivers/net/wireless/ath/ath10k/pci.c | 36 ++--
drivers/net/wireless/ath/ath10k/qmi.c | 13 +-
drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.c | 22 +++
drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.h | 1 +
drivers/net/wireless/ath/ath10k/snoc.c | 11 ++
drivers/net/wireless/ath/ath10k/snoc.h | 1 +
drivers/net/wireless/ath/ath10k/usb.c | 8 +
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 2 +-
drivers/nfc/port100.c | 2 +-
drivers/staging/comedi/drivers/usbduxfast.c | 21 +-
drivers/usb/misc/appledisplay.c | 8 +-
drivers/usb/misc/chaoskey.c | 24 ++-
drivers/usb/serial/cp210x.c | 1 +
drivers/usb/serial/mos7720.c | 4 -
drivers/usb/serial/mos7840.c | 16 +-
drivers/usb/serial/option.c | 7 +
drivers/usb/usbip/Kconfig | 1 +
drivers/usb/usbip/stub_rx.c | 50 +++--
drivers/vhost/vsock.c | 66 +++++--
drivers/virtio/virtio_balloon.c | 2 +-
drivers/virtio/virtio_ring.c | 4 +-
fs/ocfs2/xattr.c | 56 +++---
include/net/tls.h | 2 +
kernel/fork.c | 6 +-
kernel/futex.c | 58 +++++-
mm/ksm.c | 14 +-
mm/memory_hotplug.c | 16 +-
mm/slub.c | 22 ++-
net/core/net-sysfs.c | 24 +--
net/core/rtnetlink.c | 23 ++-
net/ipv4/sysctl_net_ipv4.c | 2 +-
net/ipv6/route.c | 2 +-
net/sched/act_pedit.c | 12 +-
net/sched/act_tunnel_key.c | 4 +
net/sched/sch_taprio.c | 28 ++-
net/tls/tls_main.c | 1 +
net/tls/tls_sw.c | 11 ++
net/vmw_vsock/virtio_transport_common.c | 15 +-
sound/usb/mixer.c | 3 +
tools/gpio/Build | 1 +
tools/gpio/Makefile | 10 +-
tools/objtool/arch/x86/tools/gen-insn-attr-x86.awk | 4 +-
tools/testing/selftests/x86/mov_ss_trap.c | 3 +-
tools/testing/selftests/x86/sigreturn.c | 13 ++
tools/usb/usbip/libsrc/usbip_host_common.c | 2 +-
105 files changed, 1173 insertions(+), 501 deletions(-)