The audio setup on the Lenovo Carbon X1 8th gen is the same as that on
the Lenovo Carbon X1 7th gen, as such it needs the same
ALC285_FIXUP_THINKPAD_HEADSET_JACK quirk.
This fixes volume control of the speaker not working among other things.
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1820196
Cc: stable(a)vger.kernel.org
Suggested-by: Jaroslav Kysela <perex(a)perex.cz>
Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
---
sound/pci/hda/patch_realtek.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 63e1a56f705b..9c3bbf1df93e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -7299,6 +7299,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Yoga 7th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
SND_PCI_QUIRK(0x17aa, 0x2293, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
+ SND_PCI_QUIRK(0x17aa, 0x22be, "Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
--
2.26.0
This is the start of the stable review cycle for the 5.4.30 release.
There are 27 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, 03 Apr 2020 16:09:36 +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.30-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.30-rc1
Madalin Bucur <madalin.bucur(a)oss.nxp.com>
arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode
Madalin Bucur <madalin.bucur(a)oss.nxp.com>
arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id
Chen-Yu Tsai <wens(a)csie.org>
ARM: dts: sun8i: r40: Move AHCI device node based on address order
Arthur Demchenkov <spinal.by(a)gmail.com>
ARM: dts: N900: fix onenand timings
Marco Felsch <m.felsch(a)pengutronix.de>
ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage
Nick Hudson <skrll(a)netbsd.org>
ARM: bcm2835-rpi-zero-w: Add missing pinctrl name
Sungbo Eo <mans0n(a)gorani.run>
ARM: dts: oxnas: Fix clear-mask property
disconnect3d <dominik.b.czarnota(a)gmail.com>
perf map: Fix off by one in strncpy() size argument
Ilie Halip <ilie.halip(a)gmail.com>
arm64: alternative: fix build with clang integrated assembler
Ilya Dryomov <idryomov(a)gmail.com>
libceph: fix alloc_msg_with_page_vector() memory leaks
Tony Lindgren <tony(a)atomide.com>
clk: ti: am43xx: Fix clock parent for RTC clock
Leonard Crestez <leonard.crestez(a)nxp.com>
clk: imx: Align imx sc clock parent msg structs to 4
Leonard Crestez <leonard.crestez(a)nxp.com>
clk: imx: Align imx sc clock msg structs to 4
Marek Vasut <marex(a)denx.de>
net: ks8851-ml: Fix IO operations, again
Hans de Goede <hdegoede(a)redhat.com>
gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
bpf: Explicitly memset some bpf info structures declared on the stack
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
bpf: Explicitly memset the bpf_attr structure
Georg Müller <georgmueller(a)gmx.net>
platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: fix use-after-free in vt_in_use()
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: remove unnecessary console allocation checks
Jiri Slaby <jslaby(a)suse.cz>
vt: switch vt_dont_switch to bool
Jiri Slaby <jslaby(a)suse.cz>
vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
Jiri Slaby <jslaby(a)suse.cz>
vt: selection, introduce vc_is_sel
Lanqing Liu <liuhhome(a)gmail.com>
serial: sprd: Fix a dereference warning
Johannes Berg <johannes.berg(a)intel.com>
mac80211: fix authentication with iwlwifi/mvm
Jouni Malinen <jouni(a)codeaurora.org>
mac80211: Check port authorization in the ieee80211_tx_dequeue() case
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 1 +
arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi | 4 +-
arch/arm/boot/dts/omap3-n900.dts | 44 ++++++++-----
arch/arm/boot/dts/ox810se.dtsi | 4 +-
arch/arm/boot/dts/ox820.dtsi | 4 +-
arch/arm/boot/dts/sun8i-r40.dtsi | 21 +++----
arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 4 +-
arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts | 4 +-
arch/arm64/include/asm/alternative.h | 2 +-
drivers/clk/imx/clk-scu.c | 8 +--
drivers/clk/ti/clk-43xx.c | 2 +-
drivers/gpio/gpiolib-acpi.c | 15 +++++
drivers/net/ethernet/micrel/ks8851_mll.c | 56 +++++++++++++++--
drivers/platform/x86/pmc_atom.c | 8 +++
drivers/tty/serial/sprd_serial.c | 3 +-
drivers/tty/vt/selection.c | 5 ++
drivers/tty/vt/vt.c | 30 +++++++--
drivers/tty/vt/vt_ioctl.c | 75 ++++++++++++-----------
include/linux/ceph/messenger.h | 7 ++-
include/linux/selection.h | 4 +-
include/linux/vt_kern.h | 2 +-
kernel/bpf/btf.c | 3 +-
kernel/bpf/syscall.c | 9 ++-
net/ceph/messenger.c | 9 ++-
net/ceph/osd_client.c | 14 +----
net/mac80211/tx.c | 20 +++++-
tools/perf/util/map.c | 2 +-
28 files changed, 250 insertions(+), 114 deletions(-)
This is the start of the stable review cycle for the 5.6.2 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 Fri, 03 Apr 2020 16:09:36 +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.6.2-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.6.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.6.2-rc1
Georg Müller <georgmueller(a)gmx.net>
platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: fix use-after-free in vt_in_use()
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: remove unnecessary console allocation checks
Jiri Slaby <jslaby(a)suse.cz>
vt: switch vt_dont_switch to bool
Jiri Slaby <jslaby(a)suse.cz>
vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
Jiri Slaby <jslaby(a)suse.cz>
vt: selection, introduce vc_is_sel
Lanqing Liu <liuhhome(a)gmail.com>
serial: sprd: Fix a dereference warning
Johannes Berg <johannes.berg(a)intel.com>
mac80211: fix authentication with iwlwifi/mvm
Daniel Borkmann <daniel(a)iogearbox.net>
bpf: update jmp32 test cases to fix range bound deduction
-------------
Diffstat:
Makefile | 4 +-
drivers/platform/x86/pmc_atom.c | 8 +++
drivers/tty/serial/sprd_serial.c | 3 +-
drivers/tty/vt/selection.c | 5 ++
drivers/tty/vt/vt.c | 30 +++++++++--
drivers/tty/vt/vt_ioctl.c | 75 +++++++++++++++-------------
include/linux/selection.h | 4 +-
include/linux/vt_kern.h | 2 +-
net/mac80211/tx.c | 3 +-
tools/testing/selftests/bpf/verifier/jmp32.c | 9 ++--
10 files changed, 94 insertions(+), 49 deletions(-)
We found that the !is_zero_page() in kvm_is_mmio_pfn() was submmited
in commit:85c8555ff0("KVM: check for !is_zero_pfn() in
kvm_is_mmio_pfn()"), but reverted in commit:bf4bea8e9a("kvm: fix
kvm_is_mmio_pfn() and rename to kvm_is_reserved_pfn()").
Maybe just adding !is_zero_page() to kvm_is_reserved_pfn() is too
rough. According to commit:a78986aae9("KVM: MMU: Do not treat
ZONE_DEVICE pages as being reserved"), special handling in some other
flows is also need by zero_page, if we would not treat zero_page as
being reserved.
And we check the code of v4.9.y v4.10.y v4.11.y v4.12.y, this bug
exists in v4.11.y and later, but not in v4.9.y v4.10.y or before.
After commit:e86c59b1b1("mm/ksm: improve deduplication of zero pages
with colouring"), ksm will use zero pages with colouring.
We use crash tools attaching to /proc/kcore to check the refcount of
zero_page, then create and destroy vm. The refcount stays at 1 on
v4.9.y, well it increases only after v4.11.y.
Fix commit:7df003c852("KVM: fix overflow of zero page refcount with
ksm running")
Cc: stable(a)vger.kernel.org
Signed-off-by: LinFeng <linfeng23(a)huawei.com>
Signed-off-by: Zhuang Yanying <ann.zhuangyanying(a)huawei.com>
---
Well, as fixing all functions reference to kvm_is_reserved_pfn() in
this patch, we found that only kvm_release_pfn_clean() and
kvm_get_pfn() don't need special handling.
So, we thought why not only check is_zero_page() in before get and put
page, and revert our last commit:7df003c852("KVM: fix overflow of zero
page refcount with ksm running").
Instead of adding !is_zero_page() in kvm_is_reserved_pfn(), new idea
is as follow:
>diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
>7f9ee2929cfe..f9a1f9cf188e 100644
>--- a/virt/kvm/kvm_main.c
>+++ b/virt/kvm/kvm_main.c
>@@ -1695,7 +1695,8 @@ EXPORT_SYMBOL_GPL(kvm_release_page_clean);
>
> void kvm_release_pfn_clean(kvm_pfn_t pfn) {
>- if (!is_error_noslot_pfn(pfn) && !kvm_is_reserved_pfn(pfn))
>+ if (!is_error_noslot_pfn(pfn) &&
>+ (!kvm_is_reserved_pfn(pfn) || is_zero_pfn(pfn)))
> put_page(pfn_to_page(pfn));
> }
> EXPORT_SYMBOL_GPL(kvm_release_pfn_clean);
>@@ -1734,7 +1735,7 @@ EXPORT_SYMBOL_GPL(kvm_set_pfn_accessed);
>
> void kvm_get_pfn(kvm_pfn_t pfn)
> {
>- if (!kvm_is_reserved_pfn(pfn))
>+ if (!kvm_is_reserved_pfn(pfn) || is_zero_pfn(pfn))
> get_page(pfn_to_page(pfn));
> }
> EXPORT_SYMBOL_GPL(kvm_get_pfn);
We are confused why ZONE_DEVICE not do this, but treating it as no
reserved. Is it racy if we only use the patch above, and revert our
last commit:7df003c852("KVM: fix overflow of zero page refcount with
ksm running").
---
arch/x86/kvm/mmu/mmu.c | 4 +++-
virt/kvm/kvm_main.c | 8 +++++---
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index 87e9ba27ada1..c82c0dfd3a67 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -3285,7 +3285,8 @@ static int kvm_mmu_hugepage_adjust(struct kvm_vcpu *vcpu, gfn_t gfn,
if (unlikely(max_level == PT_PAGE_TABLE_LEVEL))
return PT_PAGE_TABLE_LEVEL;
- if (is_error_noslot_pfn(pfn) || kvm_is_reserved_pfn(pfn))
+ if (is_error_noslot_pfn(pfn) || kvm_is_reserved_pfn(pfn) ||
+ is_zero_pfn(pfn))
return PT_PAGE_TABLE_LEVEL;
slot = gfn_to_memslot_dirty_bitmap(vcpu, gfn, true);
@@ -5914,6 +5915,7 @@ static bool kvm_mmu_zap_collapsible_spte(struct kvm *kvm,
* mapping if the indirect sp has level = 1.
*/
if (sp->role.direct && !kvm_is_reserved_pfn(pfn) &&
+ !is_zero_pfn(pfn) &&
(kvm_is_zone_device_pfn(pfn) ||
PageCompound(pfn_to_page(pfn)))) {
pte_list_remove(rmap_head, sptep);
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 70f03ce0e5c1..dff3b94e6270 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1800,7 +1800,7 @@ static struct page *kvm_pfn_to_page(kvm_pfn_t pfn)
if (is_error_noslot_pfn(pfn))
return KVM_ERR_PTR_BAD_PAGE;
- if (kvm_is_reserved_pfn(pfn)) {
+ if (kvm_is_reserved_pfn(pfn) && !is_zero_pfn(pfn)) {
WARN_ON(1);
return KVM_ERR_PTR_BAD_PAGE;
}
@@ -2007,14 +2007,16 @@ EXPORT_SYMBOL_GPL(kvm_release_pfn_dirty);
void kvm_set_pfn_dirty(kvm_pfn_t pfn)
{
- if (!kvm_is_reserved_pfn(pfn) && !kvm_is_zone_device_pfn(pfn))
+ if (!kvm_is_reserved_pfn(pfn) &&
+ !kvm_is_zone_device_pfn(pfn) && !is_zero_pfn(pfn))
SetPageDirty(pfn_to_page(pfn));
}
EXPORT_SYMBOL_GPL(kvm_set_pfn_dirty);
void kvm_set_pfn_accessed(kvm_pfn_t pfn)
{
- if (!kvm_is_reserved_pfn(pfn) && !kvm_is_zone_device_pfn(pfn))
+ if (!kvm_is_reserved_pfn(pfn) &&
+ !kvm_is_zone_device_pfn(pfn) && !is_zero_pfn(pfn))
mark_page_accessed(pfn_to_page(pfn));
}
EXPORT_SYMBOL_GPL(kvm_set_pfn_accessed);
--
2.19.1
This is an infrastructure change that makes way for fixing this issue.
Each patch was already posted previously so this is just a cleanup of
the original mailing list thread(s) which got out of control by now.
Everything started here:
https://lore.kernel.org/lkml/AM6PR03MB5170B06F3A2B75EFB98D071AE4E60@AM6PR03…
I added reviewed-by tags from the mailing list threads, except when
withdrawn.
It took a lot longer than expected to collect everything from the
mailinglist threads, since several commit messages have been infected
with typos, and they got fixed without a new patch version.
- Correct the point of no return.
- Add two new mutexes to replace cred_guard_mutex.
- Fix each use of cred_guard_mutex.
- Update documentation.
- Add a test case.
Bernd Edlinger (11):
exec: Fix a deadlock in strace
selftests/ptrace: add test cases for dead-locks
mm: docs: Fix a comment in process_vm_rw_core
kernel: doc: remove outdated comment cred.c
kernel/kcmp.c: Use new infrastructure to fix deadlocks in execve
proc: Use new infrastructure to fix deadlocks in execve
proc: io_accounting: Use new infrastructure to fix deadlocks in execve
perf: Use new infrastructure to fix deadlocks in execve
pidfd: Use new infrastructure to fix deadlocks in execve
exec: Fix dead-lock in de_thread with ptrace_attach
doc: Update documentation of ->exec_*_mutex
Eric W. Biederman (5):
exec: Only compute current once in flush_old_exec
exec: Factor unshare_sighand out of de_thread and call it separately
exec: Move cleanup of posix timers on exec out of de_thread
exec: Move exec_mmap right after de_thread in flush_old_exec
exec: Add exec_update_mutex to replace cred_guard_mutex
Documentation/security/credentials.rst | 29 +++++--
fs/exec.c | 122 ++++++++++++++++++++++--------
fs/proc/base.c | 23 +++---
include/linux/binfmts.h | 8 +-
include/linux/sched/signal.h | 17 ++++-
init/init_task.c | 3 +-
kernel/cred.c | 4 +-
kernel/events/core.c | 12 +--
kernel/fork.c | 7 +-
kernel/kcmp.c | 8 +-
kernel/pid.c | 4 +-
kernel/ptrace.c | 20 ++++-
kernel/seccomp.c | 15 ++--
mm/process_vm_access.c | 2 +-
tools/testing/selftests/ptrace/Makefile | 4 +-
tools/testing/selftests/ptrace/vmaccess.c | 86 +++++++++++++++++++++
16 files changed, 278 insertions(+), 86 deletions(-)
create mode 100644 tools/testing/selftests/ptrace/vmaccess.c
--
1.9.1
I'm announcing the release of the 5.6.2 kernel.
All users of the 5.6 kernel series must upgrade.
The updated 5.6.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.6.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
drivers/platform/x86/pmc_atom.c | 8 ++
drivers/tty/serial/sprd_serial.c | 3 -
drivers/tty/vt/selection.c | 5 +
drivers/tty/vt/vt.c | 30 +++++++++-
drivers/tty/vt/vt_ioctl.c | 75 ++++++++++++++-------------
include/linux/selection.h | 4 +
include/linux/vt_kern.h | 2
net/mac80211/tx.c | 3 -
tools/testing/selftests/bpf/verifier/jmp32.c | 9 ++-
10 files changed, 93 insertions(+), 48 deletions(-)
Daniel Borkmann (1):
bpf: update jmp32 test cases to fix range bound deduction
Eric Biggers (3):
vt: vt_ioctl: remove unnecessary console allocation checks
vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
vt: vt_ioctl: fix use-after-free in vt_in_use()
Georg Müller (1):
platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table
Greg Kroah-Hartman (1):
Linux 5.6.2
Jiri Slaby (3):
vt: selection, introduce vc_is_sel
vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
vt: switch vt_dont_switch to bool
Johannes Berg (1):
mac80211: fix authentication with iwlwifi/mvm
Lanqing Liu (1):
serial: sprd: Fix a dereference warning