From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Yonghong Song <yonghong.song@linux.dev>,
Zac Ecob <zacecob@protonmail.com>,
Andrii Nakryiko <andrii@kernel.org>,
Alexei Starovoitov <ast@kernel.org>,
Sasha Levin <sashal@kernel.org>,
daniel@iogearbox.net, bpf@vger.kernel.org
Subject: [PATCH AUTOSEL 6.10 197/197] bpf: Fix a sdiv overflow issue
Date: Wed, 25 Sep 2024 07:53:36 -0400 [thread overview]
Message-ID: <20240925115823.1303019-197-sashal@kernel.org> (raw)
In-Reply-To: <20240925115823.1303019-1-sashal@kernel.org>
From: Yonghong Song <yonghong.song@linux.dev>
[ Upstream commit 7dd34d7b7dcf9309fc6224caf4dd5b35bedddcb7 ]
Zac Ecob reported a problem where a bpf program may cause kernel crash due
to the following error:
Oops: divide error: 0000 [#1] PREEMPT SMP KASAN PTI
The failure is due to the below signed divide:
LLONG_MIN/-1 where LLONG_MIN equals to -9,223,372,036,854,775,808.
LLONG_MIN/-1 is supposed to give a positive number 9,223,372,036,854,775,808,
but it is impossible since for 64-bit system, the maximum positive
number is 9,223,372,036,854,775,807. On x86_64, LLONG_MIN/-1 will
cause a kernel exception. On arm64, the result for LLONG_MIN/-1 is
LLONG_MIN.
Further investigation found all the following sdiv/smod cases may trigger
an exception when bpf program is running on x86_64 platform:
- LLONG_MIN/-1 for 64bit operation
- INT_MIN/-1 for 32bit operation
- LLONG_MIN%-1 for 64bit operation
- INT_MIN%-1 for 32bit operation
where -1 can be an immediate or in a register.
On arm64, there are no exceptions:
- LLONG_MIN/-1 = LLONG_MIN
- INT_MIN/-1 = INT_MIN
- LLONG_MIN%-1 = 0
- INT_MIN%-1 = 0
where -1 can be an immediate or in a register.
Insn patching is needed to handle the above cases and the patched codes
produced results aligned with above arm64 result. The below are pseudo
codes to handle sdiv/smod exceptions including both divisor -1 and divisor 0
and the divisor is stored in a register.
sdiv:
tmp = rX
tmp += 1 /* [-1, 0] -> [0, 1]
if tmp >(unsigned) 1 goto L2
if tmp == 0 goto L1
rY = 0
L1:
rY = -rY;
goto L3
L2:
rY /= rX
L3:
smod:
tmp = rX
tmp += 1 /* [-1, 0] -> [0, 1]
if tmp >(unsigned) 1 goto L1
if tmp == 1 (is64 ? goto L2 : goto L3)
rY = 0;
goto L2
L1:
rY %= rX
L2:
goto L4 // only when !is64
L3:
wY = wY // only when !is64
L4:
[1] https://lore.kernel.org/bpf/tPJLTEh7S_DxFEqAI2Ji5MBSoZVg7_G-Py2iaZpAaWtM961fFTWtsnlzwvTbzBzaUzwQAoNATXKUlt0LZOFgnDcIyKCswAnAGdUF3LBrhGQ=@protonmail.com/
Reported-by: Zac Ecob <zacecob@protonmail.com>
Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20240913150326.1187788-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
kernel/bpf/verifier.c | 93 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 89 insertions(+), 4 deletions(-)
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 2eff14da6bf16..c713ca32ab046 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -19927,13 +19927,46 @@ static int do_misc_fixups(struct bpf_verifier_env *env)
/* Convert BPF_CLASS(insn->code) == BPF_ALU64 to 32-bit ALU */
insn->code = BPF_ALU | BPF_OP(insn->code) | BPF_SRC(insn->code);
- /* Make divide-by-zero exceptions impossible. */
+ /* Make sdiv/smod divide-by-minus-one exceptions impossible. */
+ if ((insn->code == (BPF_ALU64 | BPF_MOD | BPF_K) ||
+ insn->code == (BPF_ALU64 | BPF_DIV | BPF_K) ||
+ insn->code == (BPF_ALU | BPF_MOD | BPF_K) ||
+ insn->code == (BPF_ALU | BPF_DIV | BPF_K)) &&
+ insn->off == 1 && insn->imm == -1) {
+ bool is64 = BPF_CLASS(insn->code) == BPF_ALU64;
+ bool isdiv = BPF_OP(insn->code) == BPF_DIV;
+ struct bpf_insn *patchlet;
+ struct bpf_insn chk_and_sdiv[] = {
+ BPF_RAW_INSN((is64 ? BPF_ALU64 : BPF_ALU) |
+ BPF_NEG | BPF_K, insn->dst_reg,
+ 0, 0, 0),
+ };
+ struct bpf_insn chk_and_smod[] = {
+ BPF_MOV32_IMM(insn->dst_reg, 0),
+ };
+
+ patchlet = isdiv ? chk_and_sdiv : chk_and_smod;
+ cnt = isdiv ? ARRAY_SIZE(chk_and_sdiv) : ARRAY_SIZE(chk_and_smod);
+
+ new_prog = bpf_patch_insn_data(env, i + delta, patchlet, cnt);
+ if (!new_prog)
+ return -ENOMEM;
+
+ delta += cnt - 1;
+ env->prog = prog = new_prog;
+ insn = new_prog->insnsi + i + delta;
+ goto next_insn;
+ }
+
+ /* Make divide-by-zero and divide-by-minus-one exceptions impossible. */
if (insn->code == (BPF_ALU64 | BPF_MOD | BPF_X) ||
insn->code == (BPF_ALU64 | BPF_DIV | BPF_X) ||
insn->code == (BPF_ALU | BPF_MOD | BPF_X) ||
insn->code == (BPF_ALU | BPF_DIV | BPF_X)) {
bool is64 = BPF_CLASS(insn->code) == BPF_ALU64;
bool isdiv = BPF_OP(insn->code) == BPF_DIV;
+ bool is_sdiv = isdiv && insn->off == 1;
+ bool is_smod = !isdiv && insn->off == 1;
struct bpf_insn *patchlet;
struct bpf_insn chk_and_div[] = {
/* [R,W]x div 0 -> 0 */
@@ -19953,10 +19986,62 @@ static int do_misc_fixups(struct bpf_verifier_env *env)
BPF_JMP_IMM(BPF_JA, 0, 0, 1),
BPF_MOV32_REG(insn->dst_reg, insn->dst_reg),
};
+ struct bpf_insn chk_and_sdiv[] = {
+ /* [R,W]x sdiv 0 -> 0
+ * LLONG_MIN sdiv -1 -> LLONG_MIN
+ * INT_MIN sdiv -1 -> INT_MIN
+ */
+ BPF_MOV64_REG(BPF_REG_AX, insn->src_reg),
+ BPF_RAW_INSN((is64 ? BPF_ALU64 : BPF_ALU) |
+ BPF_ADD | BPF_K, BPF_REG_AX,
+ 0, 0, 1),
+ BPF_RAW_INSN((is64 ? BPF_JMP : BPF_JMP32) |
+ BPF_JGT | BPF_K, BPF_REG_AX,
+ 0, 4, 1),
+ BPF_RAW_INSN((is64 ? BPF_JMP : BPF_JMP32) |
+ BPF_JEQ | BPF_K, BPF_REG_AX,
+ 0, 1, 0),
+ BPF_RAW_INSN((is64 ? BPF_ALU64 : BPF_ALU) |
+ BPF_MOV | BPF_K, insn->dst_reg,
+ 0, 0, 0),
+ /* BPF_NEG(LLONG_MIN) == -LLONG_MIN == LLONG_MIN */
+ BPF_RAW_INSN((is64 ? BPF_ALU64 : BPF_ALU) |
+ BPF_NEG | BPF_K, insn->dst_reg,
+ 0, 0, 0),
+ BPF_JMP_IMM(BPF_JA, 0, 0, 1),
+ *insn,
+ };
+ struct bpf_insn chk_and_smod[] = {
+ /* [R,W]x mod 0 -> [R,W]x */
+ /* [R,W]x mod -1 -> 0 */
+ BPF_MOV64_REG(BPF_REG_AX, insn->src_reg),
+ BPF_RAW_INSN((is64 ? BPF_ALU64 : BPF_ALU) |
+ BPF_ADD | BPF_K, BPF_REG_AX,
+ 0, 0, 1),
+ BPF_RAW_INSN((is64 ? BPF_JMP : BPF_JMP32) |
+ BPF_JGT | BPF_K, BPF_REG_AX,
+ 0, 3, 1),
+ BPF_RAW_INSN((is64 ? BPF_JMP : BPF_JMP32) |
+ BPF_JEQ | BPF_K, BPF_REG_AX,
+ 0, 3 + (is64 ? 0 : 1), 1),
+ BPF_MOV32_IMM(insn->dst_reg, 0),
+ BPF_JMP_IMM(BPF_JA, 0, 0, 1),
+ *insn,
+ BPF_JMP_IMM(BPF_JA, 0, 0, 1),
+ BPF_MOV32_REG(insn->dst_reg, insn->dst_reg),
+ };
- patchlet = isdiv ? chk_and_div : chk_and_mod;
- cnt = isdiv ? ARRAY_SIZE(chk_and_div) :
- ARRAY_SIZE(chk_and_mod) - (is64 ? 2 : 0);
+ if (is_sdiv) {
+ patchlet = chk_and_sdiv;
+ cnt = ARRAY_SIZE(chk_and_sdiv);
+ } else if (is_smod) {
+ patchlet = chk_and_smod;
+ cnt = ARRAY_SIZE(chk_and_smod) - (is64 ? 2 : 0);
+ } else {
+ patchlet = isdiv ? chk_and_div : chk_and_mod;
+ cnt = isdiv ? ARRAY_SIZE(chk_and_div) :
+ ARRAY_SIZE(chk_and_mod) - (is64 ? 2 : 0);
+ }
new_prog = bpf_patch_insn_data(env, i + delta, patchlet, cnt);
if (!new_prog)
--
2.43.0
prev parent reply other threads:[~2024-09-25 12:09 UTC|newest]
Thread overview: 199+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-25 11:50 [PATCH AUTOSEL 6.10 001/197] wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 002/197] wifi: rtw89: avoid to add interface to list twice when SER Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 003/197] wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 004/197] crypto: x86/sha256 - Add parentheses around macros' single arguments Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 005/197] crypto: octeontx - Fix authenc setkey Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 006/197] crypto: octeontx2 " Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 007/197] ice: Adjust over allocation of memory in ice_sched_add_root_node() and ice_sched_add_node() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 008/197] wifi: iwlwifi: mvm: Fix a race in scan abort flow Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 009/197] wifi: iwlwifi: mvm: drop wrong STA selection in TX Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 010/197] wifi: cfg80211: Set correct chandef when starting CAC Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 011/197] net/xen-netback: prevent UAF in xenvif_flush_hash() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 012/197] net: hisilicon: hip04: fix OF node leak in probe() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 013/197] net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 014/197] net: hisilicon: hns_mdio: fix OF node leak in probe() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 015/197] ACPI: PAD: fix crash in exit_round_robin() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 016/197] ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 017/197] ACPICA: Fix memory leak if acpi_ps_get_next_field() fails Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 018/197] fs/inode: Prevent dump_mapping() accessing invalid dentry.d_name.name Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 019/197] e1000e: avoid failing the system during pm_suspend Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 020/197] ACPI: resource: Skip IRQ override on Asus Vivobook Go E1404GAB Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 021/197] wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 022/197] net: sched: consistently use rcu_replace_pointer() in taprio_change() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 023/197] Bluetooth: btusb: Add Realtek RTL8852C support ID 0x0489:0xe122 Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 024/197] Bluetooth: btrtl: Set msft ext address filter quirk for RTL8852B Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 025/197] ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18 Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 026/197] ACPI: CPPC: Add support for setting EPP register in FFH Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 027/197] blk_iocost: fix more out of bound shifts Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 028/197] nvme-pci: qdepth 1 quirk Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 029/197] wifi: ath12k: fix array out-of-bound access in SoC stats Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 030/197] wifi: ath11k: " Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 031/197] wifi: rtw88: select WANT_DEV_COREDUMP Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 032/197] l2tp: don't use tunnel socket sk_user_data in ppp procfs output Sasha Levin
2024-09-25 14:12 ` James Chapman
2024-10-06 0:30 ` Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 033/197] ACPI: EC: Do not release locks during operation region accesses Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 034/197] ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 035/197] tipc: guard against string buffer overrun Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 036/197] net: mvpp2: Increase size of queue_name buffer Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 037/197] bnxt_en: Extend maximum length of version string by 1 byte Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 038/197] ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR) Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 039/197] wifi: rtw89: correct base HT rate mask for firmware Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 040/197] netfilter: nf_tables: don't initialize registers in nft_do_chain() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 041/197] ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 042/197] nvme-keyring: restrict match length for version '1' identifiers Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 043/197] nvme-tcp: sanitize TLS key handling Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 044/197] nvme-tcp: check for invalidated or revoked key Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 045/197] net: atlantic: Avoid warning about potential string truncation Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 046/197] crypto: simd - Do not call crypto_alloc_tfm during registration Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 047/197] netpoll: Ensure clean state on setup failures Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 048/197] tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 049/197] wifi: iwlwifi: mvm: use correct key iteration Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 050/197] wifi: iwlwifi: allow only CN mcc from WRDD Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 051/197] wifi: iwlwifi: mvm: avoid NULL pointer dereference Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 052/197] wifi: mac80211: fix RCU list iterations Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 053/197] ACPICA: iasl: handle empty connection_node Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 054/197] proc: add config & param to block forcing mem writes Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 055/197] drivers/perf: arm_spe: Use perf_allow_kernel() for permissions Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 056/197] can: netlink: avoid call to do_set_data_bittiming callback with stale can_priv::ctrlmode Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 057/197] netdev-genl: Set extack and fix error on napi-get Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 058/197] block: fix integer overflow in BLKSECDISCARD Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 059/197] arm64: trans_pgd: mark PTEs entries as valid to avoid dead kexec() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 060/197] net: phy: Check for read errors in SIOCGMIIREG Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 061/197] wifi: rtw89: avoid reading out of bounds when loading TX power FW elements Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 062/197] x86/bugs: Add missing NO_SSB flag Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 063/197] x86/bugs: Fix handling when SRSO mitigation is disabled Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 064/197] net: napi: Prevent overflow of napi_defer_hard_irqs Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 065/197] crypto: hisilicon - fix missed error branch Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 066/197] crypto: hisilicon/qm - reset device before enabling it Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 067/197] wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 068/197] wifi: mt76: mt7915: hold dev->mt76.mutex while disabling tx worker Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 069/197] net: tls: wait for async completion on last message Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 070/197] wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 071/197] netfs: Cancel dirty folios that have no storage destination Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 072/197] nfp: Use IRQF_NO_AUTOEN flag in request_irq() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 073/197] ALSA: usb-audio: Add input value sanity checks for standard types Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 074/197] x86/ioapic: Handle allocation failures gracefully Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 075/197] x86/apic: Remove logical destination mode for 64-bit Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 076/197] ALSA: usb-audio: Support multiple control interfaces Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 077/197] ALSA: usb-audio: Define macros for quirk table entries Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 078/197] ALSA: usb-audio: Replace complex quirk lines with macros Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 079/197] ALSA: usb-audio: Add quirk for RME Digiface USB Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 080/197] ALSA: usb-audio: Add mixer " Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 081/197] ALSA: usb-audio: Add logitech Audio profile quirk Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 082/197] ASoC: codecs: wsa883x: Handle reading version failure Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 083/197] ALSA: control: Take power_ref lock primarily Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 084/197] tools/x86/kcpuid: Protect against faulty "max subleaf" values Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 085/197] x86/pkeys: Add PKRU as a parameter in signal handling functions Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 086/197] x86/pkeys: Restore altstack access in sigreturn() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 087/197] x86/kexec: Add EFI config table identity mapping for kexec kernel Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 088/197] x86/mm/ident_map: Use gbpages only where full GB page should be mapped Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 089/197] ALSA: asihpi: Fix potential OOB array access Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 090/197] ALSA: hdsp: Break infinite MIDI input flush loop Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 091/197] tools/nolibc: powerpc: limit stack-protector workaround to GCC Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 092/197] selftests/nolibc: avoid passing NULL to printf("%s") Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 093/197] ASoC: soc-pcm: Indicate warning if dpcm_playback/capture were used for availability limition Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 094/197] x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 095/197] ASoC: Intel: boards: always check the result of acpi_dev_get_first_match_dev() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 096/197] rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 097/197] hwmon: (nct6775) add G15CF to ASUS WMI monitoring list Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 098/197] fbdev: efifb: Register sysfs groups through driver core Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 099/197] fbdev: pxafb: Fix possible use after free in pxafb_task() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 100/197] pmdomain: core: Don't hold the genpd-lock when calling dev_pm_domain_set() Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 101/197] coredump: Standartize and fix logging Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 102/197] rcuscale: Provide clear error when async specified without primitives Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 103/197] iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 104/197] iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 105/197] power: reset: brcmstb: Do not go into infinite loop if reset fails Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 106/197] iommu/arm-smmu-v3: Match Stall behaviour for S2 Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 107/197] iommu/vt-d: Always reserve a domain ID for identity setup Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 108/197] iommu/vt-d: Fix potential lockup if qi_submit_sync called with 0 count Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 109/197] iommu/vt-d: Unconditionally flush device TLB for pasid table updates Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 110/197] iommu/arm-smmu-v3: Do not use devm for the cd table allocations Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 111/197] cgroup: Disallow mounting v1 hierarchies without controller implementation Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 112/197] drm/stm: Avoid use-after-free issues with crtc and plane Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 113/197] drm/amd/display: Pass non-null to dcn20_validate_apply_pipe_split_flags Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 114/197] drm/amd/display: Check null pointers before using them Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 115/197] drm/amdgpu: disallow multiple BO_HANDLES chunks in one submit Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 116/197] drm/amdkfd: amdkfd_free_gtt_mem clear the correct pointer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 117/197] drm/amd/display: Add null check for head_pipe in dcn201_acquire_free_pipe_for_layer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 118/197] drm/amd/display: Add null check for head_pipe in dcn32_acquire_idle_pipe_for_head_pipe_in_layer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 119/197] drm/amd/display: Add NULL check for clk_mgr and clk_mgr->funcs in dcn30_init_hw Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 120/197] drm/amd/display: Add NULL check for clk_mgr in dcn32_init_hw Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 121/197] drm/xe/hdcp: Check GSC structure validity Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 122/197] drm/amd/display: Add null check for top_pipe_to_program in commit_planes_for_stream Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 123/197] drm/amd/display: Use gpuvm_min_page_size_kbytes for DML2 surfaces Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 124/197] ata: pata_serverworks: Do not use the term blacklist Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 125/197] ata: sata_sil: Rename sil_blacklist to sil_quirks Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 126/197] scsi: smartpqi: Add new controller PCI IDs Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 127/197] HID: Ignore battery for all ELAN I2C-HID devices Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 128/197] drm/amd/display: Handle null 'stream_status' in 'planes_changed_for_existing_stream' Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 129/197] drm/amd/display: Add NULL check for function pointer in dcn20_set_output_transfer_func Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 130/197] drm/amd/display: Add NULL check for function pointer in dcn32_set_output_transfer_func Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 131/197] drm/amd/display: Check null pointers before using dc->clk_mgr Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 132/197] drm/amd/display: Add null check for 'afb' in amdgpu_dm_plane_handle_cursor_update (v2) Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 133/197] drm/amd/display: fix double free issue during amdgpu module unload Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 134/197] drm/amdgpu: add list empty check to avoid null pointer issue Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 135/197] jfs: UBSAN: shift-out-of-bounds in dbFindBits Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 136/197] jfs: Fix uaf in dbFreeBits Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 137/197] jfs: check if leafidx greater than num leaves per dmap tree Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 138/197] scsi: smartpqi: correct stream detection Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 139/197] scsi: smartpqi: add new controller PCI IDs Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 140/197] drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 141/197] jfs: Fix uninit-value access of new_ea in ea_buffer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 142/197] drm/amdgpu: add raven1 gfxoff quirk Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 143/197] drm/amdgpu: enable gfxoff quirk on HP 705G4 Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 144/197] drm/amdkfd: Fix resource leak in criu restore queue Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 145/197] HID: multitouch: Add support for Thinkpad X12 Gen 2 Kbd Portfolio Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 146/197] platform/x86: touchscreen_dmi: add nanote-next quirk Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 147/197] platform/x86/amd: pmf: Add quirk for TUF Gaming A14 Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 148/197] drm/stm: ltdc: reset plane transparency after plane disable Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 149/197] drm/amd/display: Check null-initialized variables Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 150/197] drm/amd/display: Check phantom_stream before it is used Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 151/197] drm/amd/display: Check stream before comparing them Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 152/197] drm/amd/display: Check link_res->hpo_dp_link_enc before using it Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 153/197] drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 154/197] drm/amd/display: Fix index out of bounds in " Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 155/197] drm/amd/display: Fix index out of bounds in DCN30 color transformation Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 156/197] drm/amdgpu/gfx9: properly handle error ints on all pipes Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 157/197] drm/amd/display: Avoid overflow assignment in link_dp_cts Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 158/197] drm/amd/display: Initialize get_bytes_per_element's default to 1 Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 159/197] drm/printer: Allow NULL data in devcoredump printer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 160/197] perf,x86: avoid missing caller address in stack traces captured in uprobe Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 161/197] scsi: aacraid: Rearrange order of struct aac_srb_unit Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 162/197] scsi: lpfc: Validate hdwq pointers before dereferencing in reset/errata paths Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 163/197] scsi: lpfc: Fix unsolicited FLOGI kref imbalance when in direct attached topology Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 164/197] scsi: lpfc: Update PRLO handling " Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 165/197] drm/amdgpu: fix unchecked return value warning for amdgpu_gfx Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 166/197] drm/amdgpu: fix unchecked return value warning for amdgpu_atombios Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 167/197] perf: Fix event_function_call() locking Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 168/197] scsi: NCR5380: Initialize buffer for MSG IN and STATUS transfers Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 169/197] drm/radeon/r100: Handle unknown family in r100_cp_init_microcode() Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 170/197] drm/amdgpu: Block MMR_READ IOCTL in reset Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 171/197] drm/amdgpu/gfx9: use rlc safe mode for soft recovery Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 172/197] drm/amdgpu/gfx11: enter safe mode before touching CP_INT_CNTL Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 173/197] drm/xe: Use topology to determine page fault queue size Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 174/197] drm/amd/pm: ensure the fw_info is not null before using it Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 175/197] drm/amdkfd: Check int source id for utcl2 poison event Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 176/197] drm/xe: Drop warn on xe_guc_pc_gucrc_disable in guc pc fini Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 177/197] of/irq: Refer to actual buffer size in of_irq_parse_one() Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 178/197] powerpc/pseries: Use correct data types from pseries_hp_errorlog struct Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 179/197] ovl: fsync after metadata copy-up Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 180/197] drm/amdgpu/gfx11: use rlc safe mode for soft recovery Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 181/197] drm/amdgpu/gfx10: " Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 182/197] platform/x86: lenovo-ymc: Ignore the 0x0 state Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 183/197] tools/hv: Add memory allocation check in hv_fcopy_start Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 184/197] HID: i2c-hid: ensure various commands do not interfere with each other Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 185/197] ksmbd: add refcnt to ksmbd_conn struct Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 186/197] platform/mellanox: mlxbf-pmc: fix lockdep warning Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 187/197] platform/x86: x86-android-tablets: Adjust Xiaomi Pad 2 bottom bezel touch buttons LED Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 188/197] ext4: don't set SB_RDONLY after filesystem errors Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 189/197] bpf: Make the pointer returned by iter next method valid Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 190/197] iomap: fix iomap_dio_zero() for fs bs > system page size Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 191/197] ext4: ext4_search_dir should return a proper error Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 192/197] ext4: avoid use-after-free in ext4_ext_show_leaf() Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 193/197] ext4: fix i_data_sem unlock order in ext4_ind_migrate() Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 194/197] bpftool: Fix undefined behavior caused by shifting into the sign bit Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 195/197] iomap: handle a post-direct I/O invalidate race in iomap_write_delalloc_release Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 196/197] bpftool: Fix undefined behavior in qsort(NULL, 0, ...) Sasha Levin
2024-09-25 11:53 ` Sasha Levin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240925115823.1303019-197-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=yonghong.song@linux.dev \
--cc=zacecob@protonmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox