The patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
Possible dependencies:
16f1f838442d ("Revert "ALSA: usb-audio: Drop superfluous interface setup at parsing"")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 16f1f838442dc6430d32d51ddda347b8421ec34b Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Wed, 4 Jan 2023 16:09:44 +0100
Subject: [PATCH] Revert "ALSA: usb-audio: Drop superfluous interface setup at
parsing"
This reverts commit ac5e2fb425e1121ceef2b9d1b3ffccc195d55707.
The commit caused a regression on Behringer UMC404HD (and likely
others). As the change was meant only as a minor optimization, it's
better to revert it to address the regression.
Reported-and-tested-by: Michael Ralston <michael(a)ralston.id.au>
Cc: <stable(a)vger.kernel.org>
Link: https://lore.kernel.org/r/CAC2975JXkS1A5Tj9b02G_sy25ZWN-ys+tc9wmkoS=qPgKCog…
Link: https://lore.kernel.org/r/20230104150944.24918-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
diff --git a/sound/usb/stream.c b/sound/usb/stream.c
index f75601ca2d52..f10f4e6d3fb8 100644
--- a/sound/usb/stream.c
+++ b/sound/usb/stream.c
@@ -1222,6 +1222,12 @@ static int __snd_usb_parse_audio_interface(struct snd_usb_audio *chip,
if (err < 0)
return err;
}
+
+ /* try to set the interface... */
+ usb_set_interface(chip->dev, iface_no, 0);
+ snd_usb_init_pitch(chip, fp);
+ snd_usb_init_sample_rate(chip, fp, fp->rate_max);
+ usb_set_interface(chip->dev, iface_no, altno);
}
return 0;
}
I'm announcing the release of the 6.1.6 kernel.
All users of the 6.1 kernel series must upgrade.
The updated 6.1.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.1.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
arch/parisc/include/uapi/asm/mman.h | 29 ++---
arch/parisc/kernel/sys_parisc.c | 28 +++++
arch/parisc/kernel/syscalls/syscall.tbl | 2
arch/x86/kernel/fpu/core.c | 19 +--
arch/x86/kernel/fpu/regset.c | 2
arch/x86/kernel/fpu/signal.c | 2
arch/x86/kernel/fpu/xstate.c | 52 +++++++++-
arch/x86/kernel/fpu/xstate.h | 4
fs/nfsd/nfs4proc.c | 7 -
fs/nfsd/nfs4xdr.c | 2
init/Kconfig | 6 +
net/sched/sch_api.c | 5 +
net/sunrpc/auth_gss/svcauth_gss.c | 4
net/sunrpc/svc.c | 6 -
net/sunrpc/svc_xprt.c | 2
net/sunrpc/svcsock.c | 8 -
net/sunrpc/xprtrdma/svc_rdma_transport.c | 2
sound/core/control.c | 24 +++-
sound/pci/hda/cs35l41_hda.c | 20 +++-
sound/pci/hda/patch_hdmi.c | 1
sound/pci/hda/patch_realtek.c | 2
tools/arch/parisc/include/uapi/asm/mman.h | 12 +-
tools/perf/bench/bench.h | 12 --
tools/testing/selftests/vm/pkey-x86.h | 12 ++
tools/testing/selftests/vm/protection_keys.c | 131 ++++++++++++++++++++++++++-
26 files changed, 308 insertions(+), 88 deletions(-)
Adrian Chan (1):
ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list
Chris Chiu (1):
ALSA: hda - Enable headset mic on another Dell laptop with ALC3254
Chuck Lever (1):
Revert "SUNRPC: Use RMW bitops in single-threaded hot paths"
Clement Lecigne (1):
ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
Frederick Lawler (1):
net: sched: disallow noqueue for qdisc classes
Greg Kroah-Hartman (1):
Linux 6.1.6
Helge Deller (1):
parisc: Align parisc MADV_XXX constants with all other architectures
Jeremy Szu (1):
ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform
Kyle Huey (6):
x86/fpu: Take task_struct* in copy_sigframe_from_user_to_xstate()
x86/fpu: Add a pkru argument to copy_uabi_from_kernel_to_xstate().
x86/fpu: Add a pkru argument to copy_uabi_to_xstate()
x86/fpu: Allow PKRU to be (once again) written by ptrace.
x86/fpu: Emulate XRSTOR's behavior if the xfeatures PKRU bit is not set
selftests/vm/pkeys: Add a regression test for setting PKRU through ptrace
Linus Torvalds (1):
gcc: disable -Warray-bounds for gcc-11 too
Takashi Iwai (2):
ALSA: hda: cs35l41: Don't return -EINVAL from system suspend/resume
ALSA: hda: cs35l41: Check runtime suspend capability at runtime_idle
I'm announcing the release of the 5.15.88 kernel.
All users of the 5.15 kernel series must upgrade.
The updated 5.15.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.15.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
arch/parisc/include/uapi/asm/mman.h | 27 ++---
arch/parisc/kernel/sys_parisc.c | 27 +++++
arch/parisc/kernel/syscalls/syscall.tbl | 2
arch/x86/include/asm/fpu/xstate.h | 4
arch/x86/kernel/fpu/regset.c | 2
arch/x86/kernel/fpu/signal.c | 2
arch/x86/kernel/fpu/xstate.c | 41 +++++++-
drivers/tty/serial/fsl_lpuart.c | 2
drivers/tty/serial/serial_core.c | 3
net/ipv4/inet_connection_sock.c | 16 +++
net/ipv4/tcp_ulp.c | 4
net/sched/sch_api.c | 5 +
sound/core/control.c | 24 +++-
sound/pci/hda/patch_hdmi.c | 1
sound/pci/hda/patch_realtek.c | 1
tools/arch/parisc/include/uapi/asm/mman.h | 12 +-
tools/perf/bench/bench.h | 12 --
tools/testing/selftests/vm/pkey-x86.h | 12 ++
tools/testing/selftests/vm/protection_keys.c | 131 ++++++++++++++++++++++++++-
20 files changed, 273 insertions(+), 57 deletions(-)
Adrian Chan (1):
ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list
Chris Chiu (1):
ALSA: hda - Enable headset mic on another Dell laptop with ALC3254
Clement Lecigne (1):
ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
Frederick Lawler (1):
net: sched: disallow noqueue for qdisc classes
Greg Kroah-Hartman (1):
Linux 5.15.88
Helge Deller (1):
parisc: Align parisc MADV_XXX constants with all other architectures
Kyle Huey (6):
x86/fpu: Take task_struct* in copy_sigframe_from_user_to_xstate()
x86/fpu: Add a pkru argument to copy_uabi_from_kernel_to_xstate().
x86/fpu: Add a pkru argument to copy_uabi_to_xstate()
x86/fpu: Allow PKRU to be (once again) written by ptrace.
x86/fpu: Emulate XRSTOR's behavior if the xfeatures PKRU bit is not set
selftests/vm/pkeys: Add a regression test for setting PKRU through ptrace
Paolo Abeni (1):
net/ulp: prevent ULP without clone op from entering the LISTEN status
Rasmus Villemoes (1):
serial: fixup backport of "serial: Deassert Transmit Enable on probe in driver-specific way"
The x86-64 memmove code has two ALTERNATIVE statements in a row, one to
handle FSRM ("Fast Short REP MOVSB"), and one to handle ERMS ("Enhanced
REP MOVSB"). If either of these features is present, the goal is to jump
directly to a REP MOVSB; otherwise, some setup code that handles short
lengths is executed. The first comparison of a sequence of specific
small sizes is included in the first ALTERNATIVE, so it will be replaced
by NOPs if FSRM is set, and then (assuming ERMS is also set) execution
will fall through to the JMP to a REP MOVSB in the next ALTERNATIVE.
The two ALTERNATIVE invocations can be combined into a single instance
of ALTERNATIVE_2 to simplify and slightly shorten the code. If either
FSRM or ERMS is set, the first instruction in the memmove_begin_forward
path will be replaced with a jump to the REP MOVSB.
This also prevents a problem when FSRM is set but ERMS is not; in this
case, the previous code would have replaced both ALTERNATIVEs with NOPs
and skipped the first check for sizes less than 0x20 bytes. This
combination of CPU features is arguably a firmware bug, but this patch
makes the function robust against this badness.
Fixes: f444a5ff95dc ("x86/cpufeatures: Add support for fast short REP; MOVSB")
Signed-off-by: Daniel Verkamp <dverkamp(a)chromium.org>
---
arch/x86/lib/memmove_64.S | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/lib/memmove_64.S b/arch/x86/lib/memmove_64.S
index 724bbf83eb5b..1fc36dbd3bdc 100644
--- a/arch/x86/lib/memmove_64.S
+++ b/arch/x86/lib/memmove_64.S
@@ -38,8 +38,10 @@ SYM_FUNC_START(__memmove)
/* FSRM implies ERMS => no length checks, do the copy directly */
.Lmemmove_begin_forward:
- ALTERNATIVE "cmp $0x20, %rdx; jb 1f", "", X86_FEATURE_FSRM
- ALTERNATIVE "", "jmp .Lmemmove_erms", X86_FEATURE_ERMS
+ ALTERNATIVE_2 \
+ "cmp $0x20, %rdx; jb 1f", \
+ "jmp .Lmemmove_erms", X86_FEATURE_FSRM, \
+ "jmp .Lmemmove_erms", X86_FEATURE_ERMS
/*
* movsq instruction have many startup latency
--
2.39.0.314.g84b9a713c41-goog
This reverts commit 7efc3b7261030da79001c00d92bc3392fd6c664c.
We have got openSUSE reports (Link 1) for 6.1 kernel with khugepaged
stalling CPU for long periods of time. Investigation of tracepoint data
shows that compaction is stuck in repeating fast_find_migrateblock()
based migrate page isolation, and then fails to migrate all isolated
pages. Commit 7efc3b726103 ("mm/compaction: fix set skip in
fast_find_migrateblock") was suspected as it was merged in 6.1 and in
theory can indeed remove a termination condition for
fast_find_migrateblock() under certain conditions, as it removes a place
that always marks a scanned pageblock from being re-scanned. There are
other such places, but those can be skipped under certain conditions,
which seems to match the tracepoint data.
Testing of revert also appears to have resolved the issue, thus revert
the commit until a more robust solution for the original problem is
developed.
It's also likely this will fix qemu stalls with 6.1 kernel reported in
Link 2, but that is not yet confirmed.
Link: https://bugzilla.suse.com/show_bug.cgi?id=1206848
Link: https://lore.kernel.org/kvm/b8017e09-f336-3035-8344-c549086c2340@kernel.org/
Fixes: 7efc3b726103 ("mm/compaction: fix set skip in fast_find_migrateblock")
Cc: <stable(a)vger.kernel.org>
---
mm/compaction.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/compaction.c b/mm/compaction.c
index ca1603524bbe..8238e83385a7 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1839,6 +1839,7 @@ static unsigned long fast_find_migrateblock(struct compact_control *cc)
pfn = cc->zone->zone_start_pfn;
cc->fast_search_fail = 0;
found_block = true;
+ set_pageblock_skip(freepage);
break;
}
}
--
2.39.0
The x86-64 memmove code has two ALTERNATIVE statements in a row, one to
handle FSRM ("Fast Short REP MOVSB"), and one to handle ERMS ("Enhanced
REP MOVSB"). If either of these features is present, the goal is to jump
directly to a REP MOVSB; otherwise, some setup code that handles short
lengths is executed. The first comparison of a sequence of specific
small sizes is included in the first ALTERNATIVE, so it will be replaced
by NOPs if FSRM is set, and then (assuming ERMS is also set) execution
will fall through to the JMP to a REP MOVSB in the next ALTERNATIVE.
The two ALTERNATIVE invocations can be combined into a single instance
of ALTERNATIVE_2 to simplify and slightly shorten the code. If either
FSRM or ERMS is set, the first instruction in the memmove_begin_forward
path will be replaced with a jump to the REP MOVSB.
This also prevents a problem when FSRM is set but ERMS is not; in this
case, the previous code would have replaced both ALTERNATIVEs with NOPs
and skipped the first check for sizes less than 0x20 bytes. This
combination of CPU features is arguably a firmware bug, but this patch
makes the function robust against this badness.
Fixes: f444a5ff95dc ("x86/cpufeatures: Add support for fast short REP; MOVSB")
Signed-off-by: Daniel Verkamp <dverkamp(a)chromium.org>
---
arch/x86/lib/memmove_64.S | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/lib/memmove_64.S b/arch/x86/lib/memmove_64.S
index 724bbf83eb5b..1fc36dbd3bdc 100644
--- a/arch/x86/lib/memmove_64.S
+++ b/arch/x86/lib/memmove_64.S
@@ -38,8 +38,10 @@ SYM_FUNC_START(__memmove)
/* FSRM implies ERMS => no length checks, do the copy directly */
.Lmemmove_begin_forward:
- ALTERNATIVE "cmp $0x20, %rdx; jb 1f", "", X86_FEATURE_FSRM
- ALTERNATIVE "", "jmp .Lmemmove_erms", X86_FEATURE_ERMS
+ ALTERNATIVE_2 \
+ "cmp $0x20, %rdx; jb 1f", \
+ "jmp .Lmemmove_erms", X86_FEATURE_FSRM, \
+ "jmp .Lmemmove_erms", X86_FEATURE_ERMS
/*
* movsq instruction have many startup latency
--
2.39.0.314.g84b9a713c41-goog
Before these patches, the Userspace Path Manager would allow the
creation of subflows with wrong families: taking the one of the MPTCP
socket instead of the provided ones and resulting in the creation of
subflows with likely not the right source and/or destination IPs. It
would also allow the creation of subflows between different families or
not respecting v4/v6-only socket attributes.
Patch 1 lets the userspace PM select the proper family to avoid creating
subflows with the wrong source and/or destination addresses because the
family is not the expected one.
Patch 2 makes sure the userspace PM doesn't allow the userspace to
create subflows for a family that is not allowed.
Patch 3 validates scenarios with a mix of v4 and v6 subflows for the
same MPTCP connection.
These patches fix issues introduced in v5.19 when the userspace path
manager has been introduced.
To: "David S. Miller" <davem(a)davemloft.net>
To: Eric Dumazet <edumazet(a)google.com>
To: Jakub Kicinski <kuba(a)kernel.org>
To: Kishen Maloor <kishen.maloor(a)intel.com>
To: Florian Westphal <fw(a)strlen.de>
To: Shuah Khan <shuah(a)kernel.org>
Cc: netdev(a)vger.kernel.org
Cc: mptcp(a)lists.linux.dev
Cc: linux-kernel(a)vger.kernel.org
Cc: linux-kselftest(a)vger.kernel.org
Cc: Paolo Abeni <pabeni(a)redhat.com>
Cc: Mat Martineau <mathew.j.martineau(a)linux.intel.com>
Signed-off-by: Matthieu Baerts <matthieu.baerts(a)tessares.net>
---
Matthieu Baerts (2):
mptcp: netlink: respect v4/v6-only sockets
selftests: mptcp: userspace: validate v4-v6 subflows mix
Paolo Abeni (1):
mptcp: explicitly specify sock family at subflow creation time
net/mptcp/pm.c | 25 ++++++++++++
net/mptcp/pm_userspace.c | 7 ++++
net/mptcp/protocol.c | 2 +-
net/mptcp/protocol.h | 6 ++-
net/mptcp/subflow.c | 9 +++--
tools/testing/selftests/net/mptcp/userspace_pm.sh | 47 +++++++++++++++++++++++
6 files changed, 90 insertions(+), 6 deletions(-)
---
base-commit: be53771c87f4e322a9835d3faa9cd73a4ecdec5b
change-id: 20230112-upstream-net-20230112-netlink-v4-v6-b6b958039ee0
Best regards,
--
Matthieu Baerts <matthieu.baerts(a)tessares.net>
Hello!
This is an experimental semi-automated report about issues detected by
Coverity from a scan of next-20230113 as part of the linux-next scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan
You're getting this email because you were associated with the identified
lines of code (noted below) that were touched by commits:
Wed Jan 11 16:15:43 2023 -0800
ebc4c1bcc2a5 ("maple_tree: fix mas_empty_area_rev() lower bound validation")
Coverity reported the following:
*** CID 1530569: Error handling issues (CHECKED_RETURN)
lib/test_maple_tree.c:2598 in check_empty_area_window()
2592 MT_BUG_ON(mt, mas_empty_area(&mas, 5, 100, 6) != -EBUSY);
2593
2594 mas_reset(&mas);
2595 MT_BUG_ON(mt, mas_empty_area(&mas, 0, 8, 10) != -EBUSY);
2596
2597 mas_reset(&mas);
vvv CID 1530569: Error handling issues (CHECKED_RETURN)
vvv Calling "mas_empty_area" without checking return value (as is done elsewhere 8 out of 10 times).
2598 mas_empty_area(&mas, 100, 165, 3);
2599
2600 mas_reset(&mas);
2601 MT_BUG_ON(mt, mas_empty_area(&mas, 100, 163, 6) != -EBUSY);
2602 rcu_read_unlock();
2603 }
If this is a false positive, please let us know so we can mark it as
such, or teach the Coverity rules to be smarter. If not, please make
sure fixes get into linux-next. :) For patches fixing this, please
include these lines (but double-check the "Fixes" first):
Reported-by: coverity-bot <keescook+coverity-bot(a)chromium.org>
Addresses-Coverity-ID: 1530569 ("Error handling issues")
Fixes: ebc4c1bcc2a5 ("maple_tree: fix mas_empty_area_rev() lower bound validation")
Thanks for your attention!
--
Coverity-bot
This is the start of the stable review cycle for the 5.15.88 release.
There are 10 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 Sat, 14 Jan 2023 13:53:18 +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.15.88-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.15.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.15.88-rc1
Paolo Abeni <pabeni(a)redhat.com>
net/ulp: prevent ULP without clone op from entering the LISTEN status
Frederick Lawler <fred(a)cloudflare.com>
net: sched: disallow noqueue for qdisc classes
Rasmus Villemoes <linux(a)rasmusvillemoes.dk>
serial: fixup backport of "serial: Deassert Transmit Enable on probe in driver-specific way"
Kyle Huey <me(a)kylehuey.com>
selftests/vm/pkeys: Add a regression test for setting PKRU through ptrace
Kyle Huey <me(a)kylehuey.com>
x86/fpu: Emulate XRSTOR's behavior if the xfeatures PKRU bit is not set
Kyle Huey <me(a)kylehuey.com>
x86/fpu: Allow PKRU to be (once again) written by ptrace.
Kyle Huey <me(a)kylehuey.com>
x86/fpu: Add a pkru argument to copy_uabi_to_xstate()
Kyle Huey <me(a)kylehuey.com>
x86/fpu: Add a pkru argument to copy_uabi_from_kernel_to_xstate().
Kyle Huey <me(a)kylehuey.com>
x86/fpu: Take task_struct* in copy_sigframe_from_user_to_xstate()
Helge Deller <deller(a)gmx.de>
parisc: Align parisc MADV_XXX constants with all other architectures
-------------
Diffstat:
Makefile | 4 +-
arch/parisc/include/uapi/asm/mman.h | 27 +++---
arch/parisc/kernel/sys_parisc.c | 27 ++++++
arch/parisc/kernel/syscalls/syscall.tbl | 2 +-
arch/x86/include/asm/fpu/xstate.h | 4 +-
arch/x86/kernel/fpu/regset.c | 2 +-
arch/x86/kernel/fpu/signal.c | 2 +-
arch/x86/kernel/fpu/xstate.c | 41 ++++++++-
drivers/tty/serial/fsl_lpuart.c | 2 +-
drivers/tty/serial/serial_core.c | 3 +-
net/ipv4/inet_connection_sock.c | 16 +++-
net/ipv4/tcp_ulp.c | 4 +
net/sched/sch_api.c | 5 +
tools/arch/parisc/include/uapi/asm/mman.h | 12 +--
tools/perf/bench/bench.h | 12 ---
tools/testing/selftests/vm/pkey-x86.h | 12 +++
tools/testing/selftests/vm/protection_keys.c | 131 ++++++++++++++++++++++++++-
17 files changed, 257 insertions(+), 49 deletions(-)