When MMAP2 has PERF_RECORD_MISC_MMAP_BUILD_ID flag, it means the record
already has the build-id info. So it marks the DSO as hit, to skip if
the same DSO is not processed if it happens to miss the build-id later.
But it missed to copy the MMAP2 record itself so it'd fail to symbolize
samples for those regions.
For example, the following generates 249 MMAP2 events.
$ perf record --buildid-mmap -o- true | perf report --stat -i- | grep MMAP2
MMAP2 events: 249 (86.8%)
Adding perf inject should not change the number of events like this
$ perf record --buildid-mmap -o- true | perf inject -b | \
> perf report --stat -i- | grep MMAP2
MMAP2 events: 249 (86.5%)
But when --buildid-all is used, it eats most of the MMAP2 events.
$ perf record --buildid-mmap -o- true | perf inject -b --buildid-all | \
> perf report --stat -i- | grep MMAP2
MMAP2 events: 1 ( 2.5%)
With this patch, it shows the original number now.
$ perf record --buildid-mmap -o- true | perf inject -b --buildid-all | \
> perf report --stat -i- | grep MMAP2
MMAP2 events: 249 (86.5%)
Cc: stable(a)vger.kernel.org
Fixes: f7fc0d1c915a ("perf inject: Do not inject BUILD_ID record if MMAP2 has it")
Signed-off-by: Namhyung Kim <namhyung(a)kernel.org>
---
tools/perf/builtin-inject.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index f8182417b734..10bb1d494258 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -538,6 +538,7 @@ static int perf_event__repipe_buildid_mmap2(struct perf_tool *tool,
dso->hit = 1;
}
dso__put(dso);
+ perf_event__repipe(tool, event, sample, machine);
return 0;
}
--
2.39.2.637.g21b0678d19-goog
This is the start of the stable review cycle for the 5.15.96 release.
There are 36 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, 25 Feb 2023 13:04:16 +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.96-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.96-rc1
Vladimir Oltean <vladimir.oltean(a)nxp.com>
Revert "net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs"
Nathan Chancellor <nathan(a)kernel.org>
lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+
Nathan Chancellor <nathan(a)kernel.org>
lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION
Nathan Chancellor <nathan(a)kernel.org>
scripts/pahole-flags.sh: Use pahole-version.sh
Nathan Chancellor <nathan(a)kernel.org>
kbuild: Add CONFIG_PAHOLE_VERSION
Kees Cook <keescook(a)chromium.org>
ext4: Fix function prototype mismatch for ext4_feat_ktype
Paul Moore <paul(a)paul-moore.com>
audit: update the mailing list in MAINTAINERS
Lukas Wunner <lukas(a)wunner.de>
wifi: mwifiex: Add missing compatible string for SD8787
Zhang Wensheng <zhangwensheng5(a)huawei.com>
nbd: fix possible overflow on 'first_minor' in nbd_dev_add()
Alessandro Astone <ales.astone(a)gmail.com>
binder: Gracefully handle BINDER_TYPE_FDA objects with num_fds=0
Alessandro Astone <ales.astone(a)gmail.com>
binder: Address corner cases in deferred copy and fixup
Arnd Bergmann <arnd(a)arndb.de>
binder: fix pointer cast warning
Todd Kjos <tkjos(a)google.com>
binder: defer copies of pre-patched txn data
Todd Kjos <tkjos(a)google.com>
binder: read pre-translated fds from sender buffer
Dave Hansen <dave.hansen(a)linux.intel.com>
uaccess: Add speculation barrier to copy_from_user()
Zheng Wang <zyytlz.wz(a)163.com>
drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
Michael Ellerman <mpe(a)ellerman.id.au>
powerpc/64s/radix: Fix RWX mapping with relocated kernel
Michael Ellerman <mpe(a)ellerman.id.au>
powerpc/64s/radix: Fix crash with unaligned relocated kernel
Michael Ellerman <mpe(a)ellerman.id.au>
powerpc/vmlinux.lds: Add an explicit symbol for the SRWX boundary
Michael Ellerman <mpe(a)ellerman.id.au>
powerpc/vmlinux.lds: Ensure STRICT_ALIGN_SIZE is at least page aligned
Christophe Leroy <christophe.leroy(a)csgroup.eu>
powerpc: use generic version of arch_is_kernel_initmem_freed()
Sean Anderson <sean.anderson(a)seco.com>
powerpc: dts: t208x: Disable 10G on MAC1 and MAC2
Marc Kleine-Budde <mkl(a)pengutronix.de>
can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len
Jim Mattson <jmattson(a)google.com>
KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS
Sean Christopherson <seanjc(a)google.com>
KVM: SVM: Skip WRMSR fastpath on VM-Exit if next RIP isn't valid
Sean Christopherson <seanjc(a)google.com>
KVM: x86: Fail emulation during EMULTYPE_SKIP on any exception
Jason A. Donenfeld <Jason(a)zx2c4.com>
random: always mix cycle counter in add_latent_entropy()
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: syscon_node_to_regmap() returns error pointers
Sean Anderson <sean.anderson(a)seco.com>
powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: Fix a clk entry by adding relevant flags
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: Add option to override gate clks
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: Remove redundant spinlocks
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: Switch from direct readl/writel based IO to regmap based IO
Ankit Nautiyal <ankit.k.nautiyal(a)intel.com>
drm/edid: Fix minimum bpc supported with DSC1.2 for HDMI sink
Bitterblue Smith <rtl8821cerfe2(a)gmail.com>
wifi: rtl8xxxu: gen2: Turn on the rate control
Lucas Stach <l.stach(a)pengutronix.de>
drm/etnaviv: don't truncate physical page address
-------------
Diffstat:
MAINTAINERS | 3 +-
Makefile | 4 +-
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi | 44 +++
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi | 44 +++
arch/powerpc/boot/dts/fsl/t2081si-post.dtsi | 20 +-
arch/powerpc/include/asm/sections.h | 14 +-
arch/powerpc/kernel/vmlinux.lds.S | 14 +-
arch/powerpc/mm/book3s32/mmu.c | 2 +-
arch/powerpc/mm/book3s64/radix_pgtable.c | 28 +-
arch/x86/kvm/svm/svm.c | 10 +-
arch/x86/kvm/vmx/nested.c | 11 +
arch/x86/kvm/vmx/vmx.c | 6 +-
arch/x86/kvm/x86.c | 4 +-
drivers/android/binder.c | 343 +++++++++++++++++++--
drivers/block/nbd.c | 23 +-
drivers/clk/x86/Kconfig | 5 +-
drivers/clk/x86/clk-cgu-pll.c | 23 +-
drivers/clk/x86/clk-cgu.c | 106 ++-----
drivers/clk/x86/clk-cgu.h | 46 +--
drivers/clk/x86/clk-lgm.c | 18 +-
drivers/gpu/drm/drm_edid.c | 3 +-
drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 4 +-
drivers/gpu/drm/i915/gvt/gtt.c | 17 +-
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 33 +-
drivers/net/wireless/marvell/mwifiex/sdio.c | 1 +
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 8 +-
fs/ext4/sysfs.c | 7 +-
include/linux/nospec.h | 4 +
include/linux/random.h | 6 +-
init/Kconfig | 4 +
kernel/bpf/core.c | 2 -
lib/Kconfig.debug | 4 +-
lib/usercopy.c | 7 +
net/sched/sch_taprio.c | 8 +-
scripts/pahole-flags.sh | 2 +-
scripts/pahole-version.sh | 13 +
36 files changed, 660 insertions(+), 231 deletions(-)
This is the start of the stable review cycle for the 5.4.233 release.
There are 18 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, 25 Feb 2023 13:04:16 +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.233-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.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.233-rc1
Vladimir Oltean <vladimir.oltean(a)nxp.com>
Revert "net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs"
Kees Cook <keescook(a)chromium.org>
ext4: Fix function prototype mismatch for ext4_feat_ktype
Lukas Wunner <lukas(a)wunner.de>
wifi: mwifiex: Add missing compatible string for SD8787
Dave Hansen <dave.hansen(a)linux.intel.com>
uaccess: Add speculation barrier to copy_from_user()
Pavel Skripkin <paskripkin(a)gmail.com>
mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh
Zheng Wang <zyytlz.wz(a)163.com>
drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
Thomas Gleixner <tglx(a)linutronix.de>
alarmtimer: Prevent starvation by small intervals and SIG_IGN
Sean Anderson <sean.anderson(a)seco.com>
powerpc: dts: t208x: Disable 10G on MAC1 and MAC2
Marc Kleine-Budde <mkl(a)pengutronix.de>
can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len
Jim Mattson <jmattson(a)google.com>
KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS
Sean Christopherson <seanjc(a)google.com>
KVM: x86: Fail emulation during EMULTYPE_SKIP on any exception
Jason A. Donenfeld <Jason(a)zx2c4.com>
random: always mix cycle counter in add_latent_entropy()
Sean Anderson <sean.anderson(a)seco.com>
powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G
Bitterblue Smith <rtl8821cerfe2(a)gmail.com>
wifi: rtl8xxxu: gen2: Turn on the rate control
Lucas Stach <l.stach(a)pengutronix.de>
drm/etnaviv: don't truncate physical page address
Marek Szyprowski <m.szyprowski(a)samsung.com>
drm: etnaviv: fix common struct sg_table related issues
Marek Szyprowski <m.szyprowski(a)samsung.com>
scatterlist: add generic wrappers for iterating over sgtable objects
Marek Szyprowski <m.szyprowski(a)samsung.com>
dma-mapping: add generic helpers for mapping sgtable objects
-------------
Diffstat:
Makefile | 4 +-
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi | 44 +++++++++++
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi | 44 +++++++++++
arch/powerpc/boot/dts/fsl/t2081si-post.dtsi | 20 ++++-
arch/x86/kvm/vmx/nested.c | 11 +++
arch/x86/kvm/vmx/vmx.c | 6 +-
arch/x86/kvm/x86.c | 4 +-
drivers/gpu/drm/etnaviv/etnaviv_gem.c | 12 ++-
drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 19 ++---
drivers/gpu/drm/i915/gvt/gtt.c | 17 ++++-
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 33 +++++---
drivers/net/wireless/marvell/mwifiex/sdio.c | 1 +
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 8 +-
fs/ext4/sysfs.c | 7 +-
include/linux/dma-mapping.h | 80 +++++++++++++++++++
include/linux/nospec.h | 4 +
include/linux/random.h | 6 +-
include/linux/scatterlist.h | 50 +++++++++++-
kernel/bpf/core.c | 2 -
kernel/time/alarmtimer.c | 33 +++++++-
lib/usercopy.c | 7 ++
net/mac80211/ieee80211_i.h | 24 +++++-
net/mac80211/mesh.h | 22 +-----
net/mac80211/mesh_pathtbl.c | 89 ++++++++--------------
net/sched/sch_taprio.c | 8 +-
25 files changed, 410 insertions(+), 145 deletions(-)
This is the start of the stable review cycle for the 5.10.170 release.
There are 25 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, 25 Feb 2023 13:04:16 +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.10.170-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.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.10.170-rc1
Vladimir Oltean <vladimir.oltean(a)nxp.com>
Revert "net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs"
Kees Cook <keescook(a)chromium.org>
ext4: Fix function prototype mismatch for ext4_feat_ktype
Paul Moore <paul(a)paul-moore.com>
audit: update the mailing list in MAINTAINERS
Lukas Wunner <lukas(a)wunner.de>
wifi: mwifiex: Add missing compatible string for SD8787
Zhang Wensheng <zhangwensheng5(a)huawei.com>
nbd: fix possible overflow on 'first_minor' in nbd_dev_add()
Yu Kuai <yukuai3(a)huawei.com>
nbd: fix possible overflow for 'first_minor' in nbd_dev_add()
Yu Kuai <yukuai3(a)huawei.com>
nbd: fix max value for 'first_minor'
Wen Yang <wenyang.linux(a)foxmail.com>
Revert "Revert "block: nbd: add sanity check for first_minor""
Dave Hansen <dave.hansen(a)linux.intel.com>
uaccess: Add speculation barrier to copy_from_user()
Pavel Skripkin <paskripkin(a)gmail.com>
mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh
Zheng Wang <zyytlz.wz(a)163.com>
drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
Sean Anderson <sean.anderson(a)seco.com>
powerpc: dts: t208x: Disable 10G on MAC1 and MAC2
Marc Kleine-Budde <mkl(a)pengutronix.de>
can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len
Jim Mattson <jmattson(a)google.com>
KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS
Sean Christopherson <seanjc(a)google.com>
KVM: SVM: Skip WRMSR fastpath on VM-Exit if next RIP isn't valid
Sean Christopherson <seanjc(a)google.com>
KVM: x86: Fail emulation during EMULTYPE_SKIP on any exception
Jason A. Donenfeld <Jason(a)zx2c4.com>
random: always mix cycle counter in add_latent_entropy()
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: syscon_node_to_regmap() returns error pointers
Sean Anderson <sean.anderson(a)seco.com>
powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: Fix a clk entry by adding relevant flags
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: Add option to override gate clks
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: Remove redundant spinlocks
Rahul Tanwar <rtanwar(a)maxlinear.com>
clk: mxl: Switch from direct readl/writel based IO to regmap based IO
Bitterblue Smith <rtl8821cerfe2(a)gmail.com>
wifi: rtl8xxxu: gen2: Turn on the rate control
Lucas Stach <l.stach(a)pengutronix.de>
drm/etnaviv: don't truncate physical page address
-------------
Diffstat:
MAINTAINERS | 2 +-
Makefile | 4 +-
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi | 44 +++++++++
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi | 44 +++++++++
arch/powerpc/boot/dts/fsl/t2081si-post.dtsi | 20 +++-
arch/x86/kvm/svm/svm.c | 10 +-
arch/x86/kvm/vmx/nested.c | 11 +++
arch/x86/kvm/vmx/vmx.c | 6 +-
arch/x86/kvm/x86.c | 4 +-
drivers/block/nbd.c | 13 ++-
drivers/clk/x86/Kconfig | 5 +-
drivers/clk/x86/clk-cgu-pll.c | 23 ++---
drivers/clk/x86/clk-cgu.c | 106 ++++++---------------
drivers/clk/x86/clk-cgu.h | 46 ++++-----
drivers/clk/x86/clk-lgm.c | 18 ++--
drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 4 +-
drivers/gpu/drm/i915/gvt/gtt.c | 17 +++-
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 33 +++++--
drivers/net/wireless/marvell/mwifiex/sdio.c | 1 +
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 8 +-
fs/ext4/sysfs.c | 7 +-
include/linux/nospec.h | 4 +
include/linux/random.h | 6 +-
kernel/bpf/core.c | 2 -
lib/usercopy.c | 7 ++
net/mac80211/ieee80211_i.h | 24 ++++-
net/mac80211/mesh.h | 22 +----
net/mac80211/mesh_pathtbl.c | 89 ++++++-----------
net/sched/sch_taprio.c | 8 +-
29 files changed, 339 insertions(+), 249 deletions(-)
This is the start of the stable review cycle for the 6.2.1 release.
There are 11 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, 25 Feb 2023 13:04:16 +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/v6.x/stable-review/patch-6.2.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-6.2.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 6.2.1-rc1
Eric Biggers <ebiggers(a)google.com>
randstruct: disable Clang 15 support
Kees Cook <keescook(a)chromium.org>
ext4: Fix function prototype mismatch for ext4_feat_ktype
Hans de Goede <hdegoede(a)redhat.com>
platform/x86: nvidia-wmi-ec-backlight: Add force module parameter
Shyam Sundar S K <Shyam-sundar.S-k(a)amd.com>
platform/x86/amd/pmf: Add depends on CONFIG_POWER_SUPPLY
Paul Moore <paul(a)paul-moore.com>
audit: update the mailing list in MAINTAINERS
Lukas Wunner <lukas(a)wunner.de>
wifi: mwifiex: Add missing compatible string for SD8787
Benjamin Tissoires <benjamin.tissoires(a)redhat.com>
HID: mcp-2221: prevent UAF in delayed work
Peter Zijlstra <peterz(a)infradead.org>
x86/static_call: Add support for Jcc tail-calls
Peter Zijlstra <peterz(a)infradead.org>
x86/alternatives: Teach text_poke_bp() to patch Jcc.d32 instructions
Peter Zijlstra <peterz(a)infradead.org>
x86/alternatives: Introduce int3_emulate_jcc()
Dave Hansen <dave.hansen(a)linux.intel.com>
uaccess: Add speculation barrier to copy_from_user()
-------------
Diffstat:
MAINTAINERS | 2 +-
Makefile | 4 +-
arch/x86/include/asm/text-patching.h | 31 +++++++++++++
arch/x86/kernel/alternative.c | 62 +++++++++++++++++++-------
arch/x86/kernel/kprobes/core.c | 38 ++++------------
arch/x86/kernel/static_call.c | 50 +++++++++++++++++++--
drivers/hid/hid-mcp2221.c | 3 ++
drivers/net/wireless/marvell/mwifiex/sdio.c | 1 +
drivers/platform/x86/amd/pmf/Kconfig | 1 +
drivers/platform/x86/nvidia-wmi-ec-backlight.c | 6 ++-
fs/ext4/sysfs.c | 7 ++-
include/linux/nospec.h | 4 ++
kernel/bpf/core.c | 2 -
lib/usercopy.c | 7 +++
security/Kconfig.hardening | 3 ++
15 files changed, 166 insertions(+), 55 deletions(-)
This is the start of the stable review cycle for the 4.19.274 release.
There are 11 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, 25 Feb 2023 13:04:16 +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/v4.x/stable-review/patch-4.19.274-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.19.274-rc1
Kees Cook <keescook(a)chromium.org>
ext4: Fix function prototype mismatch for ext4_feat_ktype
Lukas Wunner <lukas(a)wunner.de>
wifi: mwifiex: Add missing compatible string for SD8787
Dave Hansen <dave.hansen(a)linux.intel.com>
uaccess: Add speculation barrier to copy_from_user()
Pavel Skripkin <paskripkin(a)gmail.com>
mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh
Zheng Wang <zyytlz.wz(a)163.com>
drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
Thomas Gleixner <tglx(a)linutronix.de>
alarmtimer: Prevent starvation by small intervals and SIG_IGN
Sean Anderson <sean.anderson(a)seco.com>
powerpc: dts: t208x: Disable 10G on MAC1 and MAC2
Marc Kleine-Budde <mkl(a)pengutronix.de>
can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len
Jason A. Donenfeld <Jason(a)zx2c4.com>
random: always mix cycle counter in add_latent_entropy()
Sean Anderson <sean.anderson(a)seco.com>
powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G
Bitterblue Smith <rtl8821cerfe2(a)gmail.com>
wifi: rtl8xxxu: gen2: Turn on the rate control
-------------
Diffstat:
Makefile | 4 +-
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi | 44 +++++++++++
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi | 44 +++++++++++
arch/powerpc/boot/dts/fsl/t2081si-post.dtsi | 20 ++++-
drivers/gpu/drm/i915/gvt/gtt.c | 17 ++++-
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 33 +++++---
drivers/net/wireless/marvell/mwifiex/sdio.c | 1 +
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 8 +-
fs/ext4/sysfs.c | 7 +-
include/linux/nospec.h | 4 +
include/linux/random.h | 6 +-
kernel/bpf/core.c | 2 -
kernel/time/alarmtimer.c | 33 +++++++-
lib/usercopy.c | 7 ++
net/mac80211/ieee80211_i.h | 24 +++++-
net/mac80211/mesh.h | 22 +-----
net/mac80211/mesh_pathtbl.c | 89 ++++++++--------------
17 files changed, 251 insertions(+), 114 deletions(-)
For regulators with 'off-on-delay-us' the regulator framework currently
uses ktime_get() to determine how long the regulator has been off
before re-enabling it (after a delay if needed). A problem with using
ktime_get() is that it doesn't account for the time the system is
suspended. As a result a regulator with a longer 'off-on-delay' (e.g.
500ms) that was switched off during suspend might still incurr in a
delay on resume before it is re-enabled, even though the regulator
might have been off for hours. ktime_get_boottime() accounts for
suspend time, use it instead of ktime_get().
Fixes: a8ce7bd89689 ("regulator: core: Fix off_on_delay handling")
Cc: stable(a)vger.kernel.org # 5.13+
Signed-off-by: Matthias Kaehlcke <mka(a)chromium.org>
Reviewed-by: Stephen Boyd <swboyd(a)chromium.org>
---
The issue already existed before the commit in the 'Fixes' tag, but
it's probably not worth backporting this to older kernels that
use jiffies instead of ktime.
Changes in v2:
- added 'Fixes' and Cc: stable tags
- added 'Reviewed-by' tag from Stephen
drivers/regulator/core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index ae69e493913d..4fcd36055b02 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1584,7 +1584,7 @@ static int set_machine_constraints(struct regulator_dev *rdev)
}
if (rdev->desc->off_on_delay)
- rdev->last_off = ktime_get();
+ rdev->last_off = ktime_get_boottime();
/* If the constraints say the regulator should be on at this point
* and we have control then make sure it is enabled.
@@ -2673,7 +2673,7 @@ static int _regulator_do_enable(struct regulator_dev *rdev)
* this regulator was disabled.
*/
ktime_t end = ktime_add_us(rdev->last_off, rdev->desc->off_on_delay);
- s64 remaining = ktime_us_delta(end, ktime_get());
+ s64 remaining = ktime_us_delta(end, ktime_get_boottime());
if (remaining > 0)
_regulator_delay_helper(remaining);
@@ -2912,7 +2912,7 @@ static int _regulator_do_disable(struct regulator_dev *rdev)
}
if (rdev->desc->off_on_delay)
- rdev->last_off = ktime_get();
+ rdev->last_off = ktime_get_boottime();
trace_regulator_disable_complete(rdev_get_name(rdev));
--
2.39.2.722.g9855ee24e9-goog
Hi!
Can we please pick up the essential parts of this series for 5.15? I am
particularly interested in the last patch to enable BTF + DWARF5, but
the cleanup patches before are a very reasonable choice for stable@ as
well as they simplify the pahole version calculation and allow future
BTF/pahole related patches to apply cleanly as well.
Cheers,
Matthias
Cc: <stable(a)vger.kernel.org> # v5.15+
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Cc: Nathan Chancellor <nathan(a)kernel.org>
Cc: Andrii Nakryiko <andrii(a)kernel.org>
Signed-off-by: Matthias Maennich <maennich(a)google.com>
Nathan Chancellor (4):
kbuild: Add CONFIG_PAHOLE_VERSION
scripts/pahole-flags.sh: Use pahole-version.sh
lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION
lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+
MAINTAINERS | 1 +
init/Kconfig | 4 ++++
lib/Kconfig.debug | 4 ++--
scripts/pahole-flags.sh | 2 +-
scripts/pahole-version.sh | 13 +++++++++++++
5 files changed, 21 insertions(+), 3 deletions(-)
create mode 100755 scripts/pahole-version.sh
--
2.39.2.637.g21b0678d19-goog
From: Nathan Chancellor <nathan(a)kernel.org>
[ Upstream commit 42d9b379e3e1790eafb87c799c9edfd0b37a37c7 ]
Commit 98cd6f521f10 ("Kconfig: allow explicit opt in to DWARF v5")
prevented CONFIG_DEBUG_INFO_DWARF5 from being selected when
CONFIG_DEBUG_INFO_BTF is enabled because pahole had issues with clang's
DWARF5 info. This was resolved by [1], which is in pahole v1.21.
Allow DEBUG_INFO_DWARF5 to be selected with DEBUG_INFO_BTF when using
pahole v1.21 or newer.
[1]: https://git.kernel.org/pub/scm/devel/pahole/pahole.git/commit/?id=7d8e829f6…
Change-Id: I9cc90f12abcc8a809bb263e31ec16766d9384e40
Signed-off-by: Nathan Chancellor <nathan(a)kernel.org>
Signed-off-by: Daniel Borkmann <daniel(a)iogearbox.net>
Acked-by: Andrii Nakryiko <andrii(a)kernel.org>
Link: https://lore.kernel.org/bpf/20220201205624.652313-6-nathan@kernel.org
Signed-off-by: Matthias Maennich <maennich(a)google.com>
---
lib/Kconfig.debug | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 944fd2ae756b..dbbd243c865f 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -302,7 +302,7 @@ config DEBUG_INFO_DWARF4
config DEBUG_INFO_DWARF5
bool "Generate DWARF Version 5 debuginfo"
depends on !CC_IS_CLANG || AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502 && AS_HAS_NON_CONST_LEB128)
- depends on !DEBUG_INFO_BTF
+ depends on !DEBUG_INFO_BTF || PAHOLE_VERSION >= 121
help
Generate DWARF v5 debug info. Requires binutils 2.35.2, gcc 5.0+ (gcc
5.0+ accepts the -gdwarf-5 flag but only had partial support for some
--
2.39.2.637.g21b0678d19-goog
From: Nathan Chancellor <nathan(a)kernel.org>
[ Upstream commit 613fe169237785a4bb1d06397b52606b2967da53 ]
There are a few different places where pahole's version is turned into a
three digit form with the exact same command. Move this command into
scripts/pahole-version.sh to reduce the amount of duplication across the
tree.
Create CONFIG_PAHOLE_VERSION so the version code can be used in Kconfig
to enable and disable configuration options based on the pahole version,
which is already done in a couple of places.
Change-Id: Id18c1808832cead0d32f6992a52eb35b0ec269bb
Signed-off-by: Nathan Chancellor <nathan(a)kernel.org>
Signed-off-by: Daniel Borkmann <daniel(a)iogearbox.net>
Acked-by: Andrii Nakryiko <andrii(a)kernel.org>
Link: https://lore.kernel.org/bpf/20220201205624.652313-3-nathan@kernel.org
Signed-off-by: Matthias Maennich <maennich(a)google.com>
---
MAINTAINERS | 1 +
init/Kconfig | 4 ++++
scripts/pahole-version.sh | 13 +++++++++++++
3 files changed, 18 insertions(+)
create mode 100755 scripts/pahole-version.sh
diff --git a/MAINTAINERS b/MAINTAINERS
index 4f50a453e18a..826e2ba7b09a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3407,6 +3407,7 @@ F: net/sched/act_bpf.c
F: net/sched/cls_bpf.c
F: samples/bpf/
F: scripts/bpf_doc.py
+F: scripts/pahole-version.sh
F: tools/bpf/
F: tools/lib/bpf/
F: tools/testing/selftests/bpf/
diff --git a/init/Kconfig b/init/Kconfig
index a4144393717b..dafc3ba6fa7a 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -91,6 +91,10 @@ config CC_HAS_ASM_INLINE
config CC_HAS_NO_PROFILE_FN_ATTR
def_bool $(success,echo '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
+config PAHOLE_VERSION
+ int
+ default $(shell,$(srctree)/scripts/pahole-version.sh $(PAHOLE))
+
config CONSTRUCTORS
bool
diff --git a/scripts/pahole-version.sh b/scripts/pahole-version.sh
new file mode 100755
index 000000000000..f8a32ab93ad1
--- /dev/null
+++ b/scripts/pahole-version.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+#
+# Usage: $ ./pahole-version.sh pahole
+#
+# Prints pahole's version in a 3-digit form, such as 119 for v1.19.
+
+if [ ! -x "$(command -v "$@")" ]; then
+ echo 0
+ exit 1
+fi
+
+"$@" --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/'
--
2.39.2.637.g21b0678d19-goog
The null-ptr-deref problem fixed in the following patch is hit on older
branches.
The patch failed to be initially backported into stable branches older
than 5.15 due to the fix-spell-comment commit ab4040df6efb ("mac80211: fix
some spelling mistakes"). Now it can be cleanly applied to the 5.4/5.10
stable branches.
I'm not sure if the comment-fix patch should be backported in these cases,
too (to prevent similar potential future backport fails). Probably not.
So I just adapted the backport patch in-place.
Keep 6.1 in-sync with Build ID fixes.
I've build tested this on {x86_64, arm64, riscv, powerpc, s390, sh}.
Changes for v2:
- include 1/7 2348e6bf4421 ("riscv: remove special treatment for the link order of head.o")
- include 2/7 994b7ac1697b ("arm64: remove special treatment for the link order of head.o")
- rebase 7/7 c1c551bebf92 ("sh: define RUNTIME_DISCARD_EXIT") from upstream
Previous threads:
[1] https://lore.kernel.org/all/cover.1674876902.git.tom.saeger@oracle.com/
[2] https://lore.kernel.org/all/3df32572ec7016e783d37e185f88495831671f5d.167114…
[3] https://lore.kernel.org/all/cover.1670358255.git.tom.saeger@oracle.com/
Signed-off-by: Tom Saeger <tom.saeger(a)oracle.com>
---
Jisheng Zhang (1):
riscv: remove special treatment for the link order of head.o
Masahiro Yamada (3):
arm64: remove special treatment for the link order of head.o
arch: fix broken BuildID for arm64 and riscv
s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
Michael Ellerman (2):
powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
Tom Saeger (1):
sh: define RUNTIME_DISCARD_EXIT
arch/powerpc/kernel/vmlinux.lds.S | 6 +++++-
arch/s390/kernel/vmlinux.lds.S | 2 ++
arch/sh/kernel/vmlinux.lds.S | 1 +
include/asm-generic/vmlinux.lds.h | 5 +++++
scripts/head-object-list.txt | 2 --
5 files changed, 13 insertions(+), 3 deletions(-)
---
base-commit: d60c95efffe84428e3611431bf688f50bfc13f4e
change-id: 20230210-tsaeger-upstream-linux-6-1-y-06c93fbe5bc8
Best regards,
--
Tom Saeger <tom.saeger(a)oracle.com>
From: Zhang Wensheng <zhangwensheng5(a)huawei.com>
commit 858f1bf65d3d9c00b5e2d8ca87dc79ed88267c98 upstream.
When 'index' is a big numbers, it may become negative which forced
to 'int'. then 'index << part_shift' might overflow to a positive
value that is not greater than '0xfffff', then sysfs might complains
about duplicate creation. Because of this, move the 'index' judgment
to the front will fix it and be better.
Fixes: b0d9111a2d53 ("nbd: use an idr to keep track of nbd devices")
Fixes: 940c264984fd ("nbd: fix possible overflow for 'first_minor' in nbd_dev_add()")
Signed-off-by: Zhang Wensheng <zhangwensheng5(a)huawei.com>
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Reviewed-by: Josef Bacik <josef(a)toxicpanda.com>
Link: https://lore.kernel.org/r/20220521073749.3146892-6-yukuai3@huawei.com
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
Cc: stable(a)vger.kernel.org # v5.10+
Signed-off-by: Wen Yang <wenyang.linux(a)foxmail.com>
---
drivers/block/nbd.c | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 1ddae8f768d5..dbcd903ba128 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -1771,17 +1771,7 @@ static int nbd_dev_add(int index)
refcount_set(&nbd->refs, 1);
INIT_LIST_HEAD(&nbd->list);
disk->major = NBD_MAJOR;
-
- /* Too big first_minor can cause duplicate creation of
- * sysfs files/links, since index << part_shift might overflow, or
- * MKDEV() expect that the max bits of first_minor is 20.
- */
disk->first_minor = index << part_shift;
- if (disk->first_minor < index || disk->first_minor > MINORMASK) {
- err = -EINVAL;
- goto out_free_idr;
- }
-
disk->fops = &nbd_fops;
disk->private_data = nbd;
sprintf(disk->disk_name, "nbd%d", index);
@@ -1875,8 +1865,19 @@ static int nbd_genl_connect(struct sk_buff *skb, struct genl_info *info)
if (!netlink_capable(skb, CAP_SYS_ADMIN))
return -EPERM;
- if (info->attrs[NBD_ATTR_INDEX])
+ if (info->attrs[NBD_ATTR_INDEX]) {
index = nla_get_u32(info->attrs[NBD_ATTR_INDEX]);
+
+ /*
+ * Too big first_minor can cause duplicate creation of
+ * sysfs files/links, since index << part_shift might overflow, or
+ * MKDEV() expect that the max bits of first_minor is 20.
+ */
+ if (index < 0 || index > MINORMASK >> part_shift) {
+ printk(KERN_ERR "nbd: illegal input index %d\n", index);
+ return -EINVAL;
+ }
+ }
if (!info->attrs[NBD_ATTR_SOCKETS]) {
printk(KERN_ERR "nbd: must specify at least one socket\n");
return -EINVAL;
--
2.37.2
From: Yu Kuai <yukuai3(a)huawei.com>
commit e4c4871a73944353ea23e319de27ef73ce546623 upstream.
commit b1a811633f73 ("block: nbd: add sanity check for first_minor")
checks that 'first_minor' should not be greater than 0xff, which is
wrong. Whitout the commit, the details that when user pass 0x100000,
it ends up create sysfs dir "/sys/block/43:0" are as follows:
nbd_dev_add
disk->first_minor = index << part_shift
-> default part_shift is 5, first_minor is 0x2000000
device_add_disk
ddev->devt = MKDEV(disk->major, disk->first_minor)
-> (0x2b << 20) | (0x2000000) = 0x2b00000
device_add
device_create_sys_dev_entry
format_dev_t
sprintf(buffer, "%u:%u", MAJOR(dev), MINOR(dev));
-> got 43:0
sysfs_create_link -> /sys/block/43:0
By the way, with the wrong fix, when part_shift is the default value,
only 8 ndb devices can be created since 8 << 5 is greater than 0xff.
Since the max bits for 'first_minor' should be the same as what
MKDEV() does, which is 20. Change the upper bound of 'first_minor'
from 0xff to 0xfffff.
Fixes: b1a811633f73 ("block: nbd: add sanity check for first_minor")
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Reviewed-by: Josef Bacik <josef(a)toxicpanda.com>
Link: https://lore.kernel.org/r/20211102015237.2309763-2-yebin10@huawei.com
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
Cc: stable(a)vger.kernel.org # v5.10+
Signed-off-by: Wen Yang <wenyang.linux(a)foxmail.com>
---
drivers/block/nbd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index bf8148ebd858..bd05eaf04143 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -1773,11 +1773,11 @@ static int nbd_dev_add(int index)
disk->major = NBD_MAJOR;
/* Too big first_minor can cause duplicate creation of
- * sysfs files/links, since first_minor will be truncated to
- * byte in __device_add_disk().
+ * sysfs files/links, since MKDEV() expect that the max bits of
+ * first_minor is 20.
*/
disk->first_minor = index << part_shift;
- if (disk->first_minor > 0xff) {
+ if (disk->first_minor > MINORMASK) {
err = -EINVAL;
goto out_free_idr;
}
--
2.37.2
[Public]
Hi,
We had noticed some WCN6855 hardware we have BT wasn't working in the LTS kernel. The IDs for the variants we have were introduced in 6.2.
Can you please add this to 6.1.y?
ca2a99447e17 ("Bluetooth: btusb: Add more device IDs for WCN6855")
Thanks,
Hi Greg and Sasha,
Please consider applying the following commits to 6.2 (they apply
cleanly with some fuzz for me):
db7adcfd1cec ("x86/alternatives: Introduce int3_emulate_jcc()")
ac0ee0a9560c ("x86/alternatives: Teach text_poke_bp() to patch Jcc.d32 instructions")
923510c88d2b ("x86/static_call: Add support for Jcc tail-calls")
I have attached backports to 6.1.
Without these changes, kernels built with any version of clang using -Os
or clang 17.0.0 (tip of tree) at any kernel-supported optimization level
do not boot. This has been tested by people affected by this problem,
see https://github.com/ClangBuiltLinux/linux/issues/1774 for more info.
If there are any problems, please let me know.
Cheers,
Nathan
From: Nathan Chancellor <nathan(a)kernel.org>
Now that CONFIG_PAHOLE_VERSION exists, use it in the definition of
CONFIG_PAHOLE_HAS_SPLIT_BTF and CONFIG_PAHOLE_HAS_BTF_TAG to reduce the
amount of duplication across the tree.
Signed-off-by: Nathan Chancellor <nathan(a)kernel.org>
Signed-off-by: Daniel Borkmann <daniel(a)iogearbox.net>
Acked-by: Andrii Nakryiko <andrii(a)kernel.org>
Link: https://lore.kernel.org/bpf/20220201205624.652313-5-nathan@kernel.org
Signed-off-by: Matthias Maennich <maennich(a)google.com>
---
lib/Kconfig.debug | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index f71db0cc3bf1..0743c9567d7e 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -328,7 +328,15 @@ config DEBUG_INFO_BTF
DWARF type info into equivalent deduplicated BTF type info.
config PAHOLE_HAS_SPLIT_BTF
- def_bool $(success, test `$(PAHOLE) --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/'` -ge "119")
+ def_bool PAHOLE_VERSION >= 119
+
+config PAHOLE_HAS_BTF_TAG
+ def_bool PAHOLE_VERSION >= 123
+ depends on CC_IS_CLANG
+ help
+ Decide whether pahole emits btf_tag attributes (btf_type_tag and
+ btf_decl_tag) or not. Currently only clang compiler implements
+ these attributes, so make the config depend on CC_IS_CLANG.
config DEBUG_INFO_BTF_MODULES
def_bool y
--
2.39.2.637.g21b0678d19-goog
From: Jim Mattson <jmattson(a)google.com>
commit 2e7eab81425ad6c875f2ed47c0ce01e78afc38a5 upstream.
According to Intel's document on Indirect Branch Restricted
Speculation, "Enabling IBRS does not prevent software from controlling
the predicted targets of indirect branches of unrelated software
executed later at the same predictor mode (for example, between two
different user applications, or two different virtual machines). Such
isolation can be ensured through use of the Indirect Branch Predictor
Barrier (IBPB) command." This applies to both basic and enhanced IBRS.
Since L1 and L2 VMs share hardware predictor modes (guest-user and
guest-kernel), hardware IBRS is not sufficient to virtualize
IBRS. (The way that basic IBRS is implemented on pre-eIBRS parts,
hardware IBRS is actually sufficient in practice, even though it isn't
sufficient architecturally.)
For virtual CPUs that support IBRS, add an indirect branch prediction
barrier on emulated VM-exit, to ensure that the predicted targets of
indirect branches executed in L1 cannot be controlled by software that
was executed in L2.
Since we typically don't intercept guest writes to IA32_SPEC_CTRL,
perform the IBPB at emulated VM-exit regardless of the current
IA32_SPEC_CTRL.IBRS value, even though the IBPB could technically be
deferred until L1 sets IA32_SPEC_CTRL.IBRS, if IA32_SPEC_CTRL.IBRS is
clear at emulated VM-exit.
This is CVE-2022-2196.
Fixes: 5c911beff20a ("KVM: nVMX: Skip IBPB when switching between vmcs01 and vmcs02")
Cc: Sean Christopherson <seanjc(a)google.com>
Signed-off-by: Jim Mattson <jmattson(a)google.com>
Reviewed-by: Sean Christopherson <seanjc(a)google.com>
Link: https://lore.kernel.org/r/20221019213620.1953281-3-jmattson@google.com
Signed-off-by: Sean Christopherson <seanjc(a)google.com>
Signed-off-by: Ovidiu Panait <ovidiu.panait(a)eng.windriver.com>
---
arch/x86/kvm/vmx/nested.c | 11 +++++++++++
arch/x86/kvm/vmx/vmx.c | 6 ++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
index cdebeceedbd0..f3c136548af6 100644
--- a/arch/x86/kvm/vmx/nested.c
+++ b/arch/x86/kvm/vmx/nested.c
@@ -4617,6 +4617,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *vcpu, u32 vm_exit_reason,
vmx_switch_vmcs(vcpu, &vmx->vmcs01);
+ /*
+ * If IBRS is advertised to the vCPU, KVM must flush the indirect
+ * branch predictors when transitioning from L2 to L1, as L1 expects
+ * hardware (KVM in this case) to provide separate predictor modes.
+ * Bare metal isolates VMX root (host) from VMX non-root (guest), but
+ * doesn't isolate different VMCSs, i.e. in this case, doesn't provide
+ * separate modes for L2 vs L1.
+ */
+ if (guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL))
+ indirect_branch_prediction_barrier();
+
/* Update any VMCS fields that might have changed while L2 ran */
vmcs_write32(VM_EXIT_MSR_LOAD_COUNT, vmx->msr_autoload.host.nr);
vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, vmx->msr_autoload.guest.nr);
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 0718658268fe..c849173b60c2 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -1332,8 +1332,10 @@ void vmx_vcpu_load_vmcs(struct kvm_vcpu *vcpu, int cpu,
/*
* No indirect branch prediction barrier needed when switching
- * the active VMCS within a guest, e.g. on nested VM-Enter.
- * The L1 VMM can protect itself with retpolines, IBPB or IBRS.
+ * the active VMCS within a vCPU, unless IBRS is advertised to
+ * the vCPU. To minimize the number of IBPBs executed, KVM
+ * performs IBPB on nested VM-Exit (a single nested transition
+ * may switch the active VMCS multiple times).
*/
if (!buddy || WARN_ON_ONCE(buddy->vmcs != prev))
indirect_branch_prediction_barrier();
--
2.39.1
From: Zheng Wang <zyytlz.wz(a)163.com>
commit 4a61648af68f5ba4884f0e3b494ee1cabc4b6620 upstream.
If intel_gvt_dma_map_guest_page failed, it will call
ppgtt_invalidate_spt, which will finally free the spt.
But the caller function ppgtt_populate_spt_by_guest_entry
does not notice that, it will free spt again in its error
path.
Fix this by canceling the mapping of DMA address and freeing sub_spt.
Besides, leave the handle of spt destroy to caller function instead
of callee function when error occurs.
Fixes: b901b252b6cf ("drm/i915/gvt: Add 2M huge gtt support")
Signed-off-by: Zheng Wang <zyytlz.wz(a)163.com>
Reviewed-by: Zhenyu Wang <zhenyuw(a)linux.intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw(a)linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20221229165641.1192455-1-zyytl…
Signed-off-by: Ovidiu Panait <ovidiu.panait(a)eng.windriver.com>
---
Backport of CVE-2022-3707 fix.
drivers/gpu/drm/i915/gvt/gtt.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm/i915/gvt/gtt.c
index e5c2fdfc20e3..7ea7abef6143 100644
--- a/drivers/gpu/drm/i915/gvt/gtt.c
+++ b/drivers/gpu/drm/i915/gvt/gtt.c
@@ -1195,10 +1195,8 @@ static int split_2MB_gtt_entry(struct intel_vgpu *vgpu,
for_each_shadow_entry(sub_spt, &sub_se, sub_index) {
ret = intel_gvt_hypervisor_dma_map_guest_page(vgpu,
start_gfn + sub_index, PAGE_SIZE, &dma_addr);
- if (ret) {
- ppgtt_invalidate_spt(spt);
- return ret;
- }
+ if (ret)
+ goto err;
sub_se.val64 = se->val64;
/* Copy the PAT field from PDE. */
@@ -1217,6 +1215,17 @@ static int split_2MB_gtt_entry(struct intel_vgpu *vgpu,
ops->set_pfn(se, sub_spt->shadow_page.mfn);
ppgtt_set_shadow_entry(spt, se, index);
return 0;
+err:
+ /* Cancel the existing addess mappings of DMA addr. */
+ for_each_present_shadow_entry(sub_spt, &sub_se, sub_index) {
+ gvt_vdbg_mm("invalidate 4K entry\n");
+ ppgtt_invalidate_pte(sub_spt, &sub_se);
+ }
+ /* Release the new allocated spt. */
+ trace_spt_change(sub_spt->vgpu->id, "release", sub_spt,
+ sub_spt->guest_page.gfn, sub_spt->shadow_page.type);
+ ppgtt_free_spt(sub_spt);
+ return ret;
}
static int split_64KB_gtt_entry(struct intel_vgpu *vgpu,
--
2.39.1
The patch below does not apply to the 4.14-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:
d125d1349abe ("alarmtimer: Prevent starvation by small intervals and SIG_IGN")
41b3b8dffc1f ("alarmtimer: Rename gettime() callback to get_ktime()")
5f936e19cc0e ("alarmtimer: Prevent overflow for relative nanosleep")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From d125d1349abeb46945dc5e98f7824bf688266f13 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx(a)linutronix.de>
Date: Thu, 9 Feb 2023 23:25:49 +0100
Subject: [PATCH] alarmtimer: Prevent starvation by small intervals and SIG_IGN
syzbot reported a RCU stall which is caused by setting up an alarmtimer
with a very small interval and ignoring the signal. The reproducer arms the
alarm timer with a relative expiry of 8ns and an interval of 9ns. Not a
problem per se, but that's an issue when the signal is ignored because then
the timer is immediately rearmed because there is no way to delay that
rearming to the signal delivery path. See posix_timer_fn() and commit
58229a189942 ("posix-timers: Prevent softirq starvation by small intervals
and SIG_IGN") for details.
The reproducer does not set SIG_IGN explicitely, but it sets up the timers
signal with SIGCONT. That has the same effect as explicitely setting
SIG_IGN for a signal as SIGCONT is ignored if there is no handler set and
the task is not ptraced.
The log clearly shows that:
[pid 5102] --- SIGCONT {si_signo=SIGCONT, si_code=SI_TIMER, si_timerid=0, si_overrun=316014, si_int=0, si_ptr=NULL} ---
It works because the tasks are traced and therefore the signal is queued so
the tracer can see it, which delays the restart of the timer to the signal
delivery path. But then the tracer is killed:
[pid 5087] kill(-5102, SIGKILL <unfinished ...>
...
./strace-static-x86_64: Process 5107 detached
and after it's gone the stall can be observed:
syzkaller login: [ 79.439102][ C0] hrtimer: interrupt took 68471 ns
[ 184.460538][ C1] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
...
[ 184.658237][ C1] rcu: Stack dump where RCU GP kthread last ran:
[ 184.664574][ C1] Sending NMI from CPU 1 to CPUs 0:
[ 184.669821][ C0] NMI backtrace for cpu 0
[ 184.669831][ C0] CPU: 0 PID: 5108 Comm: syz-executor192 Not tainted 6.2.0-rc6-next-20230203-syzkaller #0
...
[ 184.670036][ C0] Call Trace:
[ 184.670041][ C0] <IRQ>
[ 184.670045][ C0] alarmtimer_fired+0x327/0x670
posix_timer_fn() prevents that by checking whether the interval for
timers which have the signal ignored is smaller than a jiffie and
artifically delay it by shifting the next expiry out by a jiffie. That's
accurate vs. the overrun accounting, but slightly inaccurate
vs. timer_gettimer(2).
The comment in that function says what needs to be done and there was a fix
available for the regular userspace induced SIG_IGN mechanism, but that did
not work due to the implicit ignore for SIGCONT and similar signals. This
needs to be worked on, but for now the only available workaround is to do
exactly what posix_timer_fn() does:
Increase the interval of self-rearming timers, which have their signal
ignored, to at least a jiffie.
Interestingly this has been fixed before via commit ff86bf0c65f1
("alarmtimer: Rate limit periodic intervals") already, but that fix got
lost in a later rework.
Reported-by: syzbot+b9564ba6e8e00694511b(a)syzkaller.appspotmail.com
Fixes: f2c45807d399 ("alarmtimer: Switch over to generic set/get/rearm routine")
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Acked-by: John Stultz <jstultz(a)google.com>
Cc: stable(a)vger.kernel.org
Link: https://lore.kernel.org/r/87k00q1no2.ffs@tglx
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
index 5897828b9d7e..7e5dff602585 100644
--- a/kernel/time/alarmtimer.c
+++ b/kernel/time/alarmtimer.c
@@ -470,11 +470,35 @@ u64 alarm_forward(struct alarm *alarm, ktime_t now, ktime_t interval)
}
EXPORT_SYMBOL_GPL(alarm_forward);
-u64 alarm_forward_now(struct alarm *alarm, ktime_t interval)
+static u64 __alarm_forward_now(struct alarm *alarm, ktime_t interval, bool throttle)
{
struct alarm_base *base = &alarm_bases[alarm->type];
+ ktime_t now = base->get_ktime();
+
+ if (IS_ENABLED(CONFIG_HIGH_RES_TIMERS) && throttle) {
+ /*
+ * Same issue as with posix_timer_fn(). Timers which are
+ * periodic but the signal is ignored can starve the system
+ * with a very small interval. The real fix which was
+ * promised in the context of posix_timer_fn() never
+ * materialized, but someone should really work on it.
+ *
+ * To prevent DOS fake @now to be 1 jiffie out which keeps
+ * the overrun accounting correct but creates an
+ * inconsistency vs. timer_gettime(2).
+ */
+ ktime_t kj = NSEC_PER_SEC / HZ;
+
+ if (interval < kj)
+ now = ktime_add(now, kj);
+ }
+
+ return alarm_forward(alarm, now, interval);
+}
- return alarm_forward(alarm, base->get_ktime(), interval);
+u64 alarm_forward_now(struct alarm *alarm, ktime_t interval)
+{
+ return __alarm_forward_now(alarm, interval, false);
}
EXPORT_SYMBOL_GPL(alarm_forward_now);
@@ -551,9 +575,10 @@ static enum alarmtimer_restart alarm_handle_timer(struct alarm *alarm,
if (posix_timer_event(ptr, si_private) && ptr->it_interval) {
/*
* Handle ignored signals and rearm the timer. This will go
- * away once we handle ignored signals proper.
+ * away once we handle ignored signals proper. Ensure that
+ * small intervals cannot starve the system.
*/
- ptr->it_overrun += alarm_forward_now(alarm, ptr->it_interval);
+ ptr->it_overrun += __alarm_forward_now(alarm, ptr->it_interval, true);
++ptr->it_requeue_pending;
ptr->it_active = 1;
result = ALARMTIMER_RESTART;
Hi Andrew,
Thank you for revising this patch!
> From: "andrew.yang" <andrew.yang(a)mediatek.com>
>
> damon_get_folio() would always increase folio _refcount and
> folio_isolate_lru() would increase folio _refcount if the folio's lru
> flag is set.
>
> If an unevictable folio isolated successfully, there will be two more
> _refcount. The one from folio_isolate_lru() will be decreased in
> folio_puback_lru(), but the other one from damon_get_folio() will be
> left behind. This causes a pin page.
>
> Whatever the case, the _refcount from damon_get_folio() should be
> decreased.
>
> Signed-off-by: andrew.yang <andrew.yang(a)mediatek.com>
> Fixes: 57223ac29584 ("mm/damon/paddr: support the pageout scheme")
> Cc: <stable(a)vger.kernel.org> # 5.16.x
Reviewed-by: SeongJae Park <sj(a)kernel.org>
This may not cleanly applicable on 6.1.y and 6.2.y. I would post backports
once this is merged in the mainline, unless others do earlier than me.
Thanks,
SJ
> ---
> v3:
> add fixes tag and cc stable
> v2:
> according to David's suggestion
> 1. revise subject
> according to SeongJae's suggestions
> 1. rebase to mm-unstable tree
> 2. remove braces for th single statements
> ---
> mm/damon/paddr.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
> index 607bb69e526c..6c655d9b5639 100644
> --- a/mm/damon/paddr.c
> +++ b/mm/damon/paddr.c
> @@ -250,12 +250,11 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s)
> folio_put(folio);
> continue;
> }
> - if (folio_test_unevictable(folio)) {
> + if (folio_test_unevictable(folio))
> folio_putback_lru(folio);
> - } else {
> + else
> list_add(&folio->lru, &folio_list);
> - folio_put(folio);
> - }
> + folio_put(folio);
> }
> applied = reclaim_pages(&folio_list);
> cond_resched();
> --
> 2.18.0
>
>
During page migration, the copy_highpage function is used to copy the
page data to the target page. If the source page is a userspace page
with MTE tags, the KASAN tag of the target page must have the match-all
tag in order to avoid tag check faults during subsequent accesses to the
page by the kernel. However, the target page may have been allocated in
a number of ways, some of which will use the KASAN allocator and will
therefore end up setting the KASAN tag to a non-match-all tag. Therefore,
update the target page's KASAN tag to match the source page.
We ended up unintentionally fixing this issue as a result of a bad
merge conflict resolution between commit e059853d14ca ("arm64: mte:
Fix/clarify the PG_mte_tagged semantics") and commit 20794545c146 ("arm64:
kasan: Revert "arm64: mte: reset the page tag in page->flags""), which
preserved a tag reset for PG_mte_tagged pages which was considered to be
unnecessary at the time. Because SW tags KASAN uses separate tag storage,
update the code to only reset the tags when HW tags KASAN is enabled.
Signed-off-by: Peter Collingbourne <pcc(a)google.com>
Link: https://linux-review.googlesource.com/id/If303d8a709438d3ff5af5fd8570650583…
Reported-by: "Kuan-Ying Lee (李冠穎)" <Kuan-Ying.Lee(a)mediatek.com>
Cc: <stable(a)vger.kernel.org> # 6.1
Fixes: 20794545c146 ("arm64: kasan: Revert "arm64: mte: reset the page tag in page->flags"")
---
v2:
- added Fixes tag
For the stable branch, e059853d14ca needs to be cherry-picked and the following
merge conflict resolution is needed:
- page_kasan_tag_reset(to);
+ if (kasan_hw_tags_enabled())
+ page_kasan_tag_reset(to);
- /* It's a new page, shouldn't have been tagged yet */
- WARN_ON_ONCE(!try_page_mte_tagging(to));
arch/arm64/mm/copypage.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/mm/copypage.c b/arch/arm64/mm/copypage.c
index 8dd5a8fe64b4..4aadcfb01754 100644
--- a/arch/arm64/mm/copypage.c
+++ b/arch/arm64/mm/copypage.c
@@ -22,7 +22,8 @@ void copy_highpage(struct page *to, struct page *from)
copy_page(kto, kfrom);
if (system_supports_mte() && page_mte_tagged(from)) {
- page_kasan_tag_reset(to);
+ if (kasan_hw_tags_enabled())
+ page_kasan_tag_reset(to);
/* It's a new page, shouldn't have been tagged yet */
WARN_ON_ONCE(!try_page_mte_tagging(to));
mte_copy_page_tags(kto, kfrom);
--
2.39.1.581.gbfd45094c4-goog
The following crash was seen on a 1k-block ext4 filesystem when the user
passed a fmr_physical of value zero for the high key:
kernel BUG at fs/ext4/ext4.h:3354!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 422 Comm: syz-executor339 Not tainted 5.15.74-syzkaller-00001-g4ec71a9ec769 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
RIP: 0010:ext4_get_group_info fs/ext4/ext4.h:3354 [inline]
RIP: 0010:ext4_mb_load_buddy_gfp+0xe9d/0xeb0 fs/ext4/mballoc.c:1498
Code: 99 ed c1 ff e9 47 f4 ff ff e8 5f a0 7f ff 48 c7 c7 c0 c3 a9 86 48 89 de 4c 89 ea e8 ad 8e 92 00 e9 a1 f2 ff ff e8 43 a0 7f ff <0f> 0b e8 3c a0 7f ff 0f 0b e8 35 a0 7f ff 0f 0b 0f 1f 00 55 48 89
RSP: 0018:ffffc9000044f320 EFLAGS: 00010293
RAX: ffffffff81f1f14d RBX: 0000000000000001 RCX: ffff888106194f00
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001
RBP: ffffc9000044f3b0 R08: ffffffff81f1e3a4 R09: ffffc9000044f440
R10: fffff52000089e8f R11: 1ffff92000089e88 R12: ffff888100a553c8
R13: dffffc0000000000 R14: 0000000000000001 R15: ffff888105f9a000
FS: 000055555675b300(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055c4f7cde3e8 CR3: 000000011c064000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
ext4_mb_load_buddy fs/ext4/mballoc.c:1620 [inline]
ext4_mballoc_query_range+0xb8/0x7b0 fs/ext4/mballoc.c:6560
ext4_getfsmap_datadev+0x1c8a/0x28c0 fs/ext4/fsmap.c:537
ext4_getfsmap+0xcff/0x1040 fs/ext4/fsmap.c:708
ext4_ioc_getfsmap fs/ext4/ioctl.c:660 [inline]
__ext4_ioctl fs/ext4/ioctl.c:862 [inline]
ext4_ioctl+0x3020/0x50e0 fs/ext4/ioctl.c:1276
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:874 [inline]
__se_sys_ioctl+0x115/0x190 fs/ioctl.c:860
__x64_sys_ioctl+0x7b/0x90 fs/ioctl.c:860
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7f8d2372e3e9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 14 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffcae7c2578 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000000f4240 RCX: 00007f8d2372e3e9
RDX: 0000000020000200 RSI: 00000000c0c0583b RDI: 0000000000000004
RBP: 0000000000000000 R08: 000000000000000d R09: 000000000000000d
R10: 00000000000003f1 R11: 0000000000000246 R12: 00007f8d236ed5c0
R13: 00007ffcae7c25a0 R14: 00007ffcae7c258c R15: 00007ffcae7c2590
The crash is due to insufficient key validation.
When high_key->fmr_physical is zero for a 1k-block ext4 filesystem we
encounter an underflow in the second call to
ext4_get_group_no_and_offset():
blocknr = blocknr - le32_to_cpu(es->s_first_data_block);
blocknr comes with value zero (high_key->fmr_physical is zero) and
the first_data_block is one, thus blocknr becomes -1. Since blocknr is
of type ext4_fsblk_t (unsigned long long) the value is all ones. Due to
the high values for blocknr and offset we hit the BUG_ON in
ext4_get_group_info() as the groupnr exceeds EXT4_SB(sb)->s_groups_count).
Fix it by returning early when keys[1].fmr_physical is less than or equal
to the first data block, as there's no data to return. This replicates the
behavior of returning zero, like in keys[0].fmr_physical >= eofs. In both
cases -EINVAL could be returned but for some reason the author decided to
just ignore out of bounds requests.
One may notice that the check introduced addresses just the
ext4_getfsmap_datadev() handler. This is intentional, because for the
ext4_getfsmap_logdev() handler, the value of the high key passed by the
user is ignored and instead the code uses:
memset(&info->gfi_high, 0xFF, sizeof(info->gfi_high));
Cc: stable(a)vger.kernel.org
Fixes: 0c9ec4beecac ("ext4: support GETFSMAP ioctls")
Link: https://syzkaller.appspot.com/bug?id=79d5768e9bfe362911ac1a5057a36fc6b5c300…
Reported-by: syzbot+6be2b977c89f79b6b153(a)syzkaller.appspotmail.com
Signed-off-by: Tudor Ambarus <tudor.ambarus(a)linaro.org>
---
fs/ext4/fsmap.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/ext4/fsmap.c b/fs/ext4/fsmap.c
index 4493ef0c715e..b5289378a761 100644
--- a/fs/ext4/fsmap.c
+++ b/fs/ext4/fsmap.c
@@ -479,6 +479,8 @@ static int ext4_getfsmap_datadev(struct super_block *sb,
int error = 0;
bofs = le32_to_cpu(sbi->s_es->s_first_data_block);
+ if (keys[1].fmr_physical <= bofs)
+ return 0;
eofs = ext4_blocks_count(sbi->s_es);
if (keys[0].fmr_physical >= eofs)
return 0;
--
2.39.2.637.g21b0678d19-goog
From: Matthias Maennich <maennich(a)google.com>
Can we please pick this series up for 5.15? I am particularly interested
in the last patch to enable BTF + DWARF5, but the cleanup patches before
are a very reasonable choice for stable@ as well as they simplify the
pahole version calculation and allow future BTF/pahole related patches
to apply cleanly as well. I intentionally kept the config
PAHOLE_HAS_BTF_TAG and hence its patch complete, even though there is no
user for it.
Cheers,
Matthias
Cc: <stable(a)vger.kernel.org> # v5.15+
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Cc: Nathan Chancellor <nathan(a)kernel.org>
Cc: Andrii Nakryiko <andrii(a)kernel.org>
Signed-off-by: Matthias Maennich <maennich(a)google.com>
Nathan Chancellor (5):
MAINTAINERS: Add scripts/pahole-flags.sh to BPF section
kbuild: Add CONFIG_PAHOLE_VERSION
scripts/pahole-flags.sh: Use pahole-version.sh
lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION
lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+
MAINTAINERS | 2 ++
init/Kconfig | 4 ++++
lib/Kconfig.debug | 12 ++++++++++--
scripts/pahole-flags.sh | 2 +-
scripts/pahole-version.sh | 13 +++++++++++++
5 files changed, 30 insertions(+), 3 deletions(-)
create mode 100755 scripts/pahole-version.sh
--
2.39.2.637.g21b0678d19-goog
From: Nathan Chancellor <nathan(a)kernel.org>
Commit 98cd6f521f10 ("Kconfig: allow explicit opt in to DWARF v5")
prevented CONFIG_DEBUG_INFO_DWARF5 from being selected when
CONFIG_DEBUG_INFO_BTF is enabled because pahole had issues with clang's
DWARF5 info. This was resolved by [1], which is in pahole v1.21.
Allow DEBUG_INFO_DWARF5 to be selected with DEBUG_INFO_BTF when using
pahole v1.21 or newer.
[1]: https://git.kernel.org/pub/scm/devel/pahole/pahole.git/commit/?id=7d8e829f6…
Signed-off-by: Nathan Chancellor <nathan(a)kernel.org>
Signed-off-by: Daniel Borkmann <daniel(a)iogearbox.net>
Acked-by: Andrii Nakryiko <andrii(a)kernel.org>
Link: https://lore.kernel.org/bpf/20220201205624.652313-6-nathan@kernel.org
Signed-off-by: Matthias Maennich <maennich(a)google.com>
---
lib/Kconfig.debug | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 0743c9567d7e..dd86de130cdf 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -302,7 +302,7 @@ config DEBUG_INFO_DWARF4
config DEBUG_INFO_DWARF5
bool "Generate DWARF Version 5 debuginfo"
depends on !CC_IS_CLANG || AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502 && AS_HAS_NON_CONST_LEB128)
- depends on !DEBUG_INFO_BTF
+ depends on !DEBUG_INFO_BTF || PAHOLE_VERSION >= 121
help
Generate DWARF v5 debug info. Requires binutils 2.35.2, gcc 5.0+ (gcc
5.0+ accepts the -gdwarf-5 flag but only had partial support for some
--
2.39.2.637.g21b0678d19-goog
From: Nathan Chancellor <nathan(a)kernel.org>
There are a few different places where pahole's version is turned into a
three digit form with the exact same command. Move this command into
scripts/pahole-version.sh to reduce the amount of duplication across the
tree.
Create CONFIG_PAHOLE_VERSION so the version code can be used in Kconfig
to enable and disable configuration options based on the pahole version,
which is already done in a couple of places.
Signed-off-by: Nathan Chancellor <nathan(a)kernel.org>
Signed-off-by: Daniel Borkmann <daniel(a)iogearbox.net>
Acked-by: Andrii Nakryiko <andrii(a)kernel.org>
Link: https://lore.kernel.org/bpf/20220201205624.652313-3-nathan@kernel.org
Signed-off-by: Matthias Maennich <maennich(a)google.com>
---
MAINTAINERS | 1 +
init/Kconfig | 4 ++++
scripts/pahole-version.sh | 13 +++++++++++++
3 files changed, 18 insertions(+)
create mode 100755 scripts/pahole-version.sh
diff --git a/MAINTAINERS b/MAINTAINERS
index 176485e625a0..ee8a1b5c28a6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3408,6 +3408,7 @@ F: net/sched/cls_bpf.c
F: samples/bpf/
F: scripts/bpf_doc.py
F: scripts/pahole-flags.sh
+F: scripts/pahole-version.sh
F: tools/bpf/
F: tools/lib/bpf/
F: tools/testing/selftests/bpf/
diff --git a/init/Kconfig b/init/Kconfig
index a4144393717b..dafc3ba6fa7a 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -91,6 +91,10 @@ config CC_HAS_ASM_INLINE
config CC_HAS_NO_PROFILE_FN_ATTR
def_bool $(success,echo '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
+config PAHOLE_VERSION
+ int
+ default $(shell,$(srctree)/scripts/pahole-version.sh $(PAHOLE))
+
config CONSTRUCTORS
bool
diff --git a/scripts/pahole-version.sh b/scripts/pahole-version.sh
new file mode 100755
index 000000000000..f8a32ab93ad1
--- /dev/null
+++ b/scripts/pahole-version.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+#
+# Usage: $ ./pahole-version.sh pahole
+#
+# Prints pahole's version in a 3-digit form, such as 119 for v1.19.
+
+if [ ! -x "$(command -v "$@")" ]; then
+ echo 0
+ exit 1
+fi
+
+"$@" --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/'
--
2.39.2.637.g21b0678d19-goog
Dzień dobry,
chciałbym poinformować Państwa o możliwości pozyskania nowych zleceń ze strony www.
Widzimy zainteresowanie potencjalnych Klientów Państwa firmą, dlatego chętnie pomożemy Państwu dotrzeć z ofertą do większego grona odbiorców poprzez efektywne metody pozycjonowania strony w Google.
Czy mógłbym liczyć na kontakt zwrotny?
Pozdrawiam serdecznie,
Wiktor Nurek
This is the start of the stable review cycle for the 5.10.169 release.
There are 57 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 Wed, 22 Feb 2023 13:35:35 +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.10.169-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.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.10.169-rc1
Russell King (Oracle) <rmk+kernel(a)armlinux.org.uk>
nvmem: core: fix return value
Dan Carpenter <error27(a)gmail.com>
net: sched: sch: Fix off by one in htb_activate_prios()
Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
ASoC: SOF: Intel: hda-dai: fix possible stream_tag leak
Thomas Gleixner <tglx(a)linutronix.de>
alarmtimer: Prevent starvation by small intervals and SIG_IGN
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
kvm: initialize all of the kvm_debugregs structure before sending it to userspace
Pedro Tammela <pctammela(a)mojatatu.com>
net/sched: tcindex: search key must be 16 bits
Natalia Petrova <n.petrova(a)fintech.ru>
i40e: Add checking for null for nlmsg_find_attr()
Pedro Tammela <pctammela(a)mojatatu.com>
net/sched: act_ctinfo: use percpu stats
Baowen Zheng <baowen.zheng(a)corigine.com>
flow_offload: fill flags to action structure
Matt Roper <matthew.d.roper(a)intel.com>
drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list
Raviteja Goud Talla <ravitejax.goud.talla(a)intel.com>
drm/i915/gen11: Moving WAs to icl_gt_workarounds_init()
Ryusuke Konishi <konishi.ryusuke(a)gmail.com>
nilfs2: fix underflow in second superblock position calculations
Guillaume Nault <gnault(a)redhat.com>
ipv6: Fix tcp socket connection with DSCP.
Guillaume Nault <gnault(a)redhat.com>
ipv6: Fix datagram socket connection with DSCP.
Jason Xing <kernelxing(a)tencent.com>
ixgbe: add double of VLAN header when computing the max MTU
Jakub Kicinski <kuba(a)kernel.org>
net: mpls: fix stale pointer if allocation fails during device rename
Cristian Ciocaltea <cristian.ciocaltea(a)collabora.com>
net: stmmac: Restrict warning on disabling DMA store and fwd mode
Michael Chan <michael.chan(a)broadcom.com>
bnxt_en: Fix mqprio and XDP ring checking logic
Johannes Zink <j.zink(a)pengutronix.de>
net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence
Hangyu Hua <hbh25y(a)gmail.com>
net: openvswitch: fix possible memory leak in ovs_meter_cmd_set()
Miko Larsson <mikoxyzzz(a)gmail.com>
net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path
Kuniyuki Iwashima <kuniyu(a)amazon.com>
dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions.
Pedro Tammela <pctammela(a)mojatatu.com>
net/sched: tcindex: update imperfect hash filters respecting rcu
Pietro Borrello <borrello(a)diag.uniroma1.it>
sctp: sctp_sock_filter(): avoid list_entry() on possibly empty list
Rafał Miłecki <rafal(a)milecki.pl>
net: bgmac: fix BCM5358 support by setting correct flags
Jason Xing <kernelxing(a)tencent.com>
i40e: add double of VLAN header when computing the max MTU
Jason Xing <kernelxing(a)tencent.com>
ixgbe: allow to increase MTU to 3K with XDP enabled
Andrew Morton <akpm(a)linux-foundation.org>
revert "squashfs: harden sanity check in squashfs_read_xattr_id_table"
Felix Riemann <felix.riemann(a)sma.de>
net: Fix unwanted sign extension in netdev_stats_to_stats64()
Aaron Thompson <dev(a)aaront.org>
Revert "mm: Always release pages to the buddy allocator in memblock_free_late()."
Mike Kravetz <mike.kravetz(a)oracle.com>
hugetlb: check for undefined shift on 32 bit architectures
Munehisa Kamata <kamatam(a)amazon.com>
sched/psi: Fix use-after-free in ep_remove_wait_queue()
Kailang Yang <kailang(a)realtek.com>
ALSA: hda/realtek - fixed wrong gpio assigned
Bo Liu <bo.liu(a)senarytech.com>
ALSA: hda/conexant: add a new hda codec SN6180
Yang Yingliang <yangyingliang(a)huawei.com>
mmc: mmc_spi: fix error handling in mmc_spi_probe()
Yang Yingliang <yangyingliang(a)huawei.com>
mmc: sdio: fix possible resource leaks in some error paths
Paul Cercueil <paul(a)crapouillou.net>
mmc: jz4740: Work around bug on JZ4760(B)
Florian Westphal <fw(a)strlen.de>
netfilter: nft_tproxy: restrict to prerouting hook
Amir Goldstein <amir73il(a)gmail.com>
ovl: remove privs in ovl_fallocate()
Amir Goldstein <amir73il(a)gmail.com>
ovl: remove privs in ovl_copyfile()
Sumanth Korikkar <sumanthk(a)linux.ibm.com>
s390/signal: fix endless loop in do_signal
Seth Jenkins <sethjenkins(a)google.com>
aio: fix mremap after fork null-deref
Russell King (Oracle) <rmk+kernel(a)armlinux.org.uk>
nvmem: core: fix registration vs use race
Russell King (Oracle) <rmk+kernel(a)armlinux.org.uk>
nvmem: core: fix cleanup after dev_set_name()
Russell King (Oracle) <rmk+kernel(a)armlinux.org.uk>
nvmem: core: remove nvmem_config wp_gpio
Gaosheng Cui <cuigaosheng1(a)huawei.com>
nvmem: core: add error handling for dev_set_name
Hans de Goede <hdegoede(a)redhat.com>
platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match
Amit Engel <Amit.Engel(a)dell.com>
nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association
Vasily Gorbik <gor(a)linux.ibm.com>
s390/decompressor: specify __decompress() buf len to avoid overflow
Kees Cook <keescook(a)chromium.org>
net: sched: sch: Bounds check priority
Andrey Konovalov <andrey.konovalov(a)linaro.org>
net: stmmac: do not stop RX_CLK in Rx LPI state for qcs404 SoC
Hyunwoo Kim <v4bel(a)theori.io>
net/rose: Fix to not accept on connected socket
Shunsuke Mie <mie(a)igel.co.jp>
tools/virtio: fix the vringh test for virtio ring changes
Arnd Bergmann <arnd(a)arndb.de>
ASoC: cs42l56: fix DT probe
Cezary Rojewski <cezary.rojewski(a)intel.com>
ALSA: hda: Do not unset preset when cleaning up codec
Eduard Zingerman <eddyz87(a)gmail.com>
selftests/bpf: Verify copy_register_state() preserves parent/live fields
Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
ASoC: Intel: sof_rt5682: always set dpcm_capture for amplifiers
-------------
Diffstat:
Makefile | 4 +-
arch/s390/boot/compressed/decompressor.c | 2 +-
arch/s390/kernel/signal.c | 2 +-
arch/x86/kvm/x86.c | 3 +-
drivers/gpu/drm/i915/gt/intel_workarounds.c | 32 ++++++++--------
drivers/mmc/core/sdio_bus.c | 17 +++++++--
drivers/mmc/core/sdio_cis.c | 12 ------
drivers/mmc/host/jz4740_mmc.c | 10 +++++
drivers/mmc/host/mmc_spi.c | 8 ++--
drivers/net/ethernet/broadcom/bgmac-bcma.c | 6 +--
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 +++-
drivers/net/ethernet/intel/i40e/i40e_main.c | 4 +-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 28 ++++++++------
.../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 2 +
drivers/net/ethernet/stmicro/stmmac/dwmac5.c | 3 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 +-
.../net/ethernet/stmicro/stmmac/stmmac_platform.c | 2 +-
drivers/net/usb/kalmia.c | 8 ++--
drivers/nvme/target/fc.c | 4 +-
drivers/nvmem/core.c | 43 +++++++++++-----------
drivers/platform/x86/touchscreen_dmi.c | 9 +++++
fs/aio.c | 4 ++
fs/nilfs2/ioctl.c | 7 ++++
fs/nilfs2/super.c | 9 +++++
fs/nilfs2/the_nilfs.c | 8 +++-
fs/overlayfs/file.c | 28 ++++++++++++--
fs/squashfs/xattr_id.c | 2 +-
include/linux/hugetlb.h | 5 ++-
include/linux/nvmem-provider.h | 2 -
include/linux/stmmac.h | 1 +
include/net/sock.h | 13 +++++++
kernel/sched/psi.c | 7 ++--
kernel/time/alarmtimer.c | 33 +++++++++++++++--
mm/memblock.c | 8 +---
net/core/dev.c | 2 +-
net/dccp/ipv6.c | 7 +---
net/ipv6/datagram.c | 2 +-
net/ipv6/tcp_ipv6.c | 11 ++----
net/mpls/af_mpls.c | 4 ++
net/netfilter/nft_tproxy.c | 8 ++++
net/openvswitch/meter.c | 4 +-
net/rose/af_rose.c | 8 ++++
net/sched/act_bpf.c | 2 +-
net/sched/act_connmark.c | 2 +-
net/sched/act_ctinfo.c | 6 +--
net/sched/act_gate.c | 2 +-
net/sched/act_ife.c | 2 +-
net/sched/act_ipt.c | 2 +-
net/sched/act_mpls.c | 2 +-
net/sched/act_nat.c | 2 +-
net/sched/act_pedit.c | 2 +-
net/sched/act_police.c | 2 +-
net/sched/act_sample.c | 2 +-
net/sched/act_simple.c | 2 +-
net/sched/act_skbedit.c | 2 +-
net/sched/act_skbmod.c | 2 +-
net/sched/cls_tcindex.c | 34 +++++++++++++++--
net/sched/sch_htb.c | 5 ++-
net/sctp/diag.c | 4 +-
sound/pci/hda/hda_bind.c | 2 +
sound/pci/hda/hda_codec.c | 1 -
sound/pci/hda/patch_conexant.c | 1 +
sound/pci/hda/patch_realtek.c | 2 +-
sound/soc/codecs/cs42l56.c | 6 ---
sound/soc/intel/boards/sof_rt5682.c | 3 ++
sound/soc/sof/intel/hda-dai.c | 8 ++--
.../selftests/bpf/verifier/search_pruning.c | 36 ++++++++++++++++++
tools/virtio/linux/bug.h | 8 ++--
tools/virtio/linux/build_bug.h | 7 ++++
tools/virtio/linux/cpumask.h | 7 ++++
tools/virtio/linux/gfp.h | 7 ++++
tools/virtio/linux/kernel.h | 1 +
tools/virtio/linux/kmsan.h | 12 ++++++
tools/virtio/linux/scatterlist.h | 1 +
tools/virtio/linux/topology.h | 7 ++++
76 files changed, 404 insertions(+), 165 deletions(-)
Hi Andrew,
On Tue, 21 Feb 2023 17:03:13 +0800 Andrew Yang <andrew.yang(a)mediatek.com> wrote:
> From: "andrew.yang" <andrew.yang(a)mediatek.com>
>
> damon_get_page() would always increase page _refcount and
> isolate_lru_page() would increase page _refcount if the page's lru
> flag is set.
>
> If a unevictable page isolated successfully, there will be two more
> _refcount. The one from isolate_lru_page() will be decreased in
> putback_lru_page(), but the other one from damon_get_page() will be
> left behind. This causes a pin page.
>
> Whatever the case, the _refcount from damon_get_page() should be
> decreased.
Thank you for finding this issue! I think the David suggested subject[1] is
better, though.
I think we could add below Fixes: and Cc: tags?
Fixes: 57223ac29584 ("mm/damon/paddr: support the pageout scheme")
Cc: <stable(a)vger.kernel.org> # 5.16.x
>
> Signed-off-by: andrew.yang <andrew.yang(a)mediatek.com>
> ---
> mm/damon/paddr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
> index e1a4315c4be6..56d8abd08fb1 100644
> --- a/mm/damon/paddr.c
> +++ b/mm/damon/paddr.c
> @@ -223,8 +223,8 @@ static unsigned long damon_pa_pageout(struct damon_region *r)
> putback_lru_page(page);
> } else {
> list_add(&page->lru, &page_list);
> - put_page(page);
> }
> + put_page(page);
Seems your patch is not based on mm-unstable tree[2]. Could you please rebase
on it?
Also, let's remove the braces for the single statements[3].
[1] https://lore.kernel.org/damon/1b3e8e88-ed5c-7302-553f-4ddb3400d466@redhat.c…
[2] https://docs.kernel.org/next/mm/damon/maintainer-profile.html#scm-trees
[3] https://docs.kernel.org/process/coding-style.html?highlight=coding+style#pl…
Thanks,
SJ
> }
> applied = reclaim_pages(&page_list);
> cond_resched();
> --
> 2.18.0