From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>,
Florian Westphal <fw@strlen.de>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.18 168/181] netfilter: nf_tables: avoid chain re-validation if possible
Date: Thu, 15 Jan 2026 17:48:25 +0100 [thread overview]
Message-ID: <20260115164208.378899953@linuxfoundation.org> (raw)
In-Reply-To: <20260115164202.305475649@linuxfoundation.org>
6.18-stable review patch. If anyone has any objections, please let me know.
------------------
From: Florian Westphal <fw@strlen.de>
[ Upstream commit 8e1a1bc4f5a42747c08130b8242ebebd1210b32f ]
Hamza Mahfooz reports cpu soft lock-ups in
nft_chain_validate():
watchdog: BUG: soft lockup - CPU#1 stuck for 27s! [iptables-nft-re:37547]
[..]
RIP: 0010:nft_chain_validate+0xcb/0x110 [nf_tables]
[..]
nft_immediate_validate+0x36/0x50 [nf_tables]
nft_chain_validate+0xc9/0x110 [nf_tables]
nft_immediate_validate+0x36/0x50 [nf_tables]
nft_chain_validate+0xc9/0x110 [nf_tables]
nft_immediate_validate+0x36/0x50 [nf_tables]
nft_chain_validate+0xc9/0x110 [nf_tables]
nft_immediate_validate+0x36/0x50 [nf_tables]
nft_chain_validate+0xc9/0x110 [nf_tables]
nft_immediate_validate+0x36/0x50 [nf_tables]
nft_chain_validate+0xc9/0x110 [nf_tables]
nft_immediate_validate+0x36/0x50 [nf_tables]
nft_chain_validate+0xc9/0x110 [nf_tables]
nft_table_validate+0x6b/0xb0 [nf_tables]
nf_tables_validate+0x8b/0xa0 [nf_tables]
nf_tables_commit+0x1df/0x1eb0 [nf_tables]
[..]
Currently nf_tables will traverse the entire table (chain graph), starting
from the entry points (base chains), exploring all possible paths
(chain jumps). But there are cases where we could avoid revalidation.
Consider:
1 input -> j2 -> j3
2 input -> j2 -> j3
3 input -> j1 -> j2 -> j3
Then the second rule does not need to revalidate j2, and, by extension j3,
because this was already checked during validation of the first rule.
We need to validate it only for rule 3.
This is needed because chain loop detection also ensures we do not exceed
the jump stack: Just because we know that j2 is cycle free, its last jump
might now exceed the allowed stack size. We also need to update all
reachable chains with the new largest observed call depth.
Care has to be taken to revalidate even if the chain depth won't be an
issue: chain validation also ensures that expressions are not called from
invalid base chains. For example, the masquerade expression can only be
called from NAT postrouting base chains.
Therefore we also need to keep record of the base chain context (type,
hooknum) and revalidate if the chain becomes reachable from a different
hook location.
Reported-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
Closes: https://lore.kernel.org/netfilter-devel/20251118221735.GA5477@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net/
Tested-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/net/netfilter/nf_tables.h | 34 +++++++++++----
net/netfilter/nf_tables_api.c | 69 +++++++++++++++++++++++++++++--
2 files changed, 91 insertions(+), 12 deletions(-)
diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h
index fab7dc73f738c..0e266c2d0e7f0 100644
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -1091,6 +1091,29 @@ struct nft_rule_blob {
__attribute__((aligned(__alignof__(struct nft_rule_dp))));
};
+enum nft_chain_types {
+ NFT_CHAIN_T_DEFAULT = 0,
+ NFT_CHAIN_T_ROUTE,
+ NFT_CHAIN_T_NAT,
+ NFT_CHAIN_T_MAX
+};
+
+/**
+ * struct nft_chain_validate_state - validation state
+ *
+ * If a chain is encountered again during table validation it is
+ * possible to avoid revalidation provided the calling context is
+ * compatible. This structure stores relevant calling context of
+ * previous validations.
+ *
+ * @hook_mask: the hook numbers and locations the chain is linked to
+ * @depth: the deepest call chain level the chain is linked to
+ */
+struct nft_chain_validate_state {
+ u8 hook_mask[NFT_CHAIN_T_MAX];
+ u8 depth;
+};
+
/**
* struct nft_chain - nf_tables chain
*
@@ -1109,6 +1132,7 @@ struct nft_rule_blob {
* @udlen: user data length
* @udata: user data in the chain
* @blob_next: rule blob pointer to the next in the chain
+ * @vstate: validation state
*/
struct nft_chain {
struct nft_rule_blob __rcu *blob_gen_0;
@@ -1128,9 +1152,10 @@ struct nft_chain {
/* Only used during control plane commit phase: */
struct nft_rule_blob *blob_next;
+ struct nft_chain_validate_state vstate;
};
-int nft_chain_validate(const struct nft_ctx *ctx, const struct nft_chain *chain);
+int nft_chain_validate(const struct nft_ctx *ctx, struct nft_chain *chain);
int nft_setelem_validate(const struct nft_ctx *ctx, struct nft_set *set,
const struct nft_set_iter *iter,
struct nft_elem_priv *elem_priv);
@@ -1138,13 +1163,6 @@ int nft_set_catchall_validate(const struct nft_ctx *ctx, struct nft_set *set);
int nf_tables_bind_chain(const struct nft_ctx *ctx, struct nft_chain *chain);
void nf_tables_unbind_chain(const struct nft_ctx *ctx, struct nft_chain *chain);
-enum nft_chain_types {
- NFT_CHAIN_T_DEFAULT = 0,
- NFT_CHAIN_T_ROUTE,
- NFT_CHAIN_T_NAT,
- NFT_CHAIN_T_MAX
-};
-
/**
* struct nft_chain_type - nf_tables chain type info
*
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index a3669acd68a32..3cbf2573b9e90 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -123,6 +123,29 @@ static void nft_validate_state_update(struct nft_table *table, u8 new_validate_s
table->validate_state = new_validate_state;
}
+
+static bool nft_chain_vstate_valid(const struct nft_ctx *ctx,
+ const struct nft_chain *chain)
+{
+ const struct nft_base_chain *base_chain;
+ enum nft_chain_types type;
+ u8 hooknum;
+
+ if (WARN_ON_ONCE(!nft_is_base_chain(ctx->chain)))
+ return false;
+
+ base_chain = nft_base_chain(ctx->chain);
+ hooknum = base_chain->ops.hooknum;
+ type = base_chain->type->type;
+
+ /* chain is already validated for this call depth */
+ if (chain->vstate.depth >= ctx->level &&
+ chain->vstate.hook_mask[type] & BIT(hooknum))
+ return true;
+
+ return false;
+}
+
static void nf_tables_trans_destroy_work(struct work_struct *w);
static void nft_trans_gc_work(struct work_struct *work);
@@ -4079,6 +4102,29 @@ static void nf_tables_rule_release(const struct nft_ctx *ctx, struct nft_rule *r
nf_tables_rule_destroy(ctx, rule);
}
+static void nft_chain_vstate_update(const struct nft_ctx *ctx, struct nft_chain *chain)
+{
+ const struct nft_base_chain *base_chain;
+ enum nft_chain_types type;
+ u8 hooknum;
+
+ /* ctx->chain must hold the calling base chain. */
+ if (WARN_ON_ONCE(!nft_is_base_chain(ctx->chain))) {
+ memset(&chain->vstate, 0, sizeof(chain->vstate));
+ return;
+ }
+
+ base_chain = nft_base_chain(ctx->chain);
+ hooknum = base_chain->ops.hooknum;
+ type = base_chain->type->type;
+
+ BUILD_BUG_ON(BIT(NF_INET_NUMHOOKS) > U8_MAX);
+
+ chain->vstate.hook_mask[type] |= BIT(hooknum);
+ if (chain->vstate.depth < ctx->level)
+ chain->vstate.depth = ctx->level;
+}
+
/** nft_chain_validate - loop detection and hook validation
*
* @ctx: context containing call depth and base chain
@@ -4088,15 +4134,25 @@ static void nf_tables_rule_release(const struct nft_ctx *ctx, struct nft_rule *r
* and set lookups until either the jump limit is hit or all reachable
* chains have been validated.
*/
-int nft_chain_validate(const struct nft_ctx *ctx, const struct nft_chain *chain)
+int nft_chain_validate(const struct nft_ctx *ctx, struct nft_chain *chain)
{
struct nft_expr *expr, *last;
struct nft_rule *rule;
int err;
+ BUILD_BUG_ON(NFT_JUMP_STACK_SIZE > 255);
if (ctx->level == NFT_JUMP_STACK_SIZE)
return -EMLINK;
+ if (ctx->level > 0) {
+ /* jumps to base chains are not allowed. */
+ if (nft_is_base_chain(chain))
+ return -ELOOP;
+
+ if (nft_chain_vstate_valid(ctx, chain))
+ return 0;
+ }
+
list_for_each_entry(rule, &chain->rules, list) {
if (fatal_signal_pending(current))
return -EINTR;
@@ -4117,6 +4173,7 @@ int nft_chain_validate(const struct nft_ctx *ctx, const struct nft_chain *chain)
}
}
+ nft_chain_vstate_update(ctx, chain);
return 0;
}
EXPORT_SYMBOL_GPL(nft_chain_validate);
@@ -4128,7 +4185,7 @@ static int nft_table_validate(struct net *net, const struct nft_table *table)
.net = net,
.family = table->family,
};
- int err;
+ int err = 0;
list_for_each_entry(chain, &table->chains, list) {
if (!nft_is_base_chain(chain))
@@ -4137,12 +4194,16 @@ static int nft_table_validate(struct net *net, const struct nft_table *table)
ctx.chain = chain;
err = nft_chain_validate(&ctx, chain);
if (err < 0)
- return err;
+ goto err;
cond_resched();
}
- return 0;
+err:
+ list_for_each_entry(chain, &table->chains, list)
+ memset(&chain->vstate, 0, sizeof(chain->vstate));
+
+ return err;
}
int nft_setelem_validate(const struct nft_ctx *ctx, struct nft_set *set,
--
2.51.0
next prev parent reply other threads:[~2026-01-15 16:59 UTC|newest]
Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-15 16:45 [PATCH 6.18 000/181] 6.18.6-rc1 review Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 001/181] NFSD: Fix permission check for read access to executable-only files Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 002/181] nfsd: provide locking for v4_end_grace Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 003/181] nfsd: use correct loop termination in nfsd4_revoke_states() Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 004/181] nfsd: check that server is running in unlock_filesystem Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 005/181] NFSD: net ref data still needs to be freed even if net hasnt startup Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 006/181] NFSD: Remove NFSERR_EAGAIN Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 007/181] atm: Fix dma_free_coherent() size Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 008/181] net: 3com: 3c59x: fix possible null dereference in vortex_probe1() Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 009/181] net: do not write to msg_get_inq in callee Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 010/181] arm64: Fix cleared E0POE bit after cpu_suspend()/resume() Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 011/181] bnxt_en: Fix NULL pointer crash in bnxt_ptp_enable during error cleanup Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 012/181] btrfs: always detect conflicting inodes when logging inode refs Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 013/181] mei: me: add nova lake point S DID Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 014/181] rust_binder: remove spin_lock() in rust_shrink_free_page() Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 015/181] lib/crypto: aes: Fix missing MMU protection for AES S-box Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 016/181] counter: 104-quad-8: Fix incorrect return value in IRQ handler Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 017/181] counter: interrupt-cnt: Drop IRQF_NO_THREAD flag Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 018/181] tracing: Add recursion protection in kernel stack trace recording Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 019/181] riscv: boot: Always make Image from vmlinux, not vmlinux.unstripped Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 020/181] nouveau: dont attempt fwsec on sb on newer platforms Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 021/181] Revert "drm/atomic-helper: Re-order bridge chain pre-enable and post-disable" Greg Kroah-Hartman
2026-01-15 16:45 ` [PATCH 6.18 022/181] ALSA: ac97: fix a double free in snd_ac97_controller_register() Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 023/181] ALSA: hda/tas2781: properly initialize speaker_id for TAS2563 Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 024/181] arm64: dts: imx95: correct I3C2 pclk to IMX95_CLK_BUSWAKEUP Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 025/181] drm/amd/display: Apply e4479aecf658 to dml Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 026/181] drm/amdgpu: Fix query for VPE block_type and ip_count Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 027/181] drm/atomic-helper: Export and namespace some functions Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 028/181] drm/pl111: Fix error handling in pl111_amba_probe Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 029/181] drm/tidss: Fix enable/disable order Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 030/181] drm/radeon: Remove __counted_by from ClockInfoArray.clockInfo[] Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 031/181] gpio: rockchip: mark the GPIO controller as sleeping Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 032/181] io_uring/io-wq: fix incorrect io_wq_for_each_worker() termination logic Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 033/181] PCI: meson: Report that link is up while in ASPM L0s and L1 states Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 034/181] pinctrl: qcom: lpass-lpi: mark the GPIO controller as sleeping Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 035/181] PM: hibernate: Fix crash when freeing invalid crypto compressor Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 036/181] Revert "drm/mediatek: dsi: Fix DSI host and panel bridge pre-enable order" Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 037/181] wifi: avoid kernel-infoleak from struct iw_point Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 038/181] wifi: mac80211: restore non-chanctx injection behaviour Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 039/181] libceph: prevent potential out-of-bounds reads in handle_auth_done() Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 040/181] libceph: replace overzealous BUG_ON in osdmap_apply_incremental() Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 041/181] libceph: make free_choose_arg_map() resilient to partial allocation Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 042/181] libceph: return the handler error from mon_handle_auth_done() Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 043/181] libceph: reset sparse-read state in osd_fault() Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 044/181] libceph: make calc_target() set t->paused, not just clear it Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 045/181] ublk: reorder tag_set initialization before queue allocation Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 046/181] ALSA: hda: intel-dsp-config: Prefer legacy driver as fallback Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 047/181] csky: fix csky_cmpxchg_fixup not working Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 048/181] ARM: 9461/1: Disable HIGHPTE on PREEMPT_RT kernels Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 049/181] alpha: dont reference obsolete termio struct for TC* constants Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 050/181] dm-verity: disable recursive forward error correction Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 051/181] dm-snapshot: fix scheduling while atomic on real-time kernels Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 052/181] NFSv4: ensure the open stateid seqid doesnt go backwards Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 053/181] ASoC: rockchip: Fix Wvoid-pointer-to-enum-cast warning (again) Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 054/181] NFS: Fix up the automount fs_context to use the correct cred Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 055/181] ALSA: hda/realtek: Add support for ASUS UM3406GA Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 056/181] drm/amd/display: shrink struct members Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 057/181] smb/client: fix NT_STATUS_UNABLE_TO_FREE_VM value Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 058/181] smb/client: fix NT_STATUS_DEVICE_DOOR_OPEN value Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 059/181] smb/client: fix NT_STATUS_NO_DATA_DETECTED value Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 060/181] scsi: mpi3mr: Prevent duplicate SAS/SATA device entries in channel 1 Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 061/181] scsi: ipr: Enable/disable IRQD_NO_BALANCING during reset Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 062/181] scsi: ufs: core: Fix EH failure after W-LUN resume error Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 063/181] scsi: Revert "scsi: libsas: Fix exp-attached device scan after probe failure scanned in again after probe failed" Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 064/181] btrfs: fix qgroup_snapshot_quick_inherit() squota bug Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 065/181] btrfs: qgroup: update all parent qgroups when doing quick inherit Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 066/181] btrfs: fix NULL dereference on root when tracing inode eviction Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 067/181] btrfs: fix use-after-free warning in btrfs_get_or_create_delayed_node() Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 068/181] of: unittest: Fix memory leak in unittest_data_add() Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 069/181] arm64: dts: ti: k3-am642-phyboard-electra-peb-c-010: Fix icssg-prueth schema warning Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 070/181] arm64: dts: ti: k3-am642-phyboard-electra-x27-gpio1-spi1-uart3: Fix schema warnings Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 071/181] arm64: dts: ti: k3-am62-lp-sk-nand: Rename pinctrls to fix " Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 072/181] gpu: nova-core: select RUST_FW_LOADER_ABSTRACTIONS Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 073/181] gpio: it87: balance superio enter/exit calls in error path Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 074/181] HID: Intel-thc-hid: Intel-thc: fix dma_unmap_sg() nents value Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 075/181] HID: Intel-thc-hid: Intel-thc: Fix wrong register reading Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 076/181] netfs: Fix early read unlock of page with EOF in middle Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 077/181] pinctrl: mediatek: mt8189: restore previous register base name array order Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 078/181] crypto: qat - fix duplicate restarting msg during AER error Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 079/181] arm64: dts: imx8qm-mek: correct the light sensor interrupt type to low level Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 080/181] arm64: dts: add off-on-delay-us for usdhc2 regulator Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 081/181] ARM: dts: imx6q-ba16: fix RTC interrupt level Greg Kroah-Hartman
2026-01-15 16:46 ` [PATCH 6.18 082/181] arm64: dts: freescale: moduline-display: fix compatible Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 083/181] arm64: dts: freescale: tx8p-ml81: fix eqos nvmem-cells Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 084/181] arm64: dts: imx8mp: Fix LAN8740Ai PHY reference clock on DH electronics i.MX8M Plus DHCOM Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 085/181] arm64: dts: imx8qm-ss-dma: correct the dma channels of lpuart Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 086/181] arm64: dts: mba8mx: Fix Ethernet PHY IRQ support Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 087/181] netfilter: nft_set_pipapo: fix range overlap detection Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 088/181] netfilter: nft_synproxy: avoid possible data-race on update operation Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 089/181] gpiolib: remove unnecessary out of memory messages Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 090/181] gpiolib: rename GPIO chip printk macros Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 091/181] gpiolib: fix race condition for gdev->srcu Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 092/181] gpio: pca953x: handle short interrupt pulses on PCAL devices Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 093/181] netfilter: nf_tables: fix memory leak in nf_tables_newrule() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 094/181] netfilter: nf_conncount: update last_gc only when GC has been performed Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 095/181] net: marvell: prestera: fix NULL dereference on devlink_alloc() failure Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 096/181] bridge: fix C-VLAN preservation in 802.1ad vlan_tunnel egress Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 097/181] net: mscc: ocelot: Fix crash when adding interface under a lag Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 098/181] inet: ping: Fix icmp out counting Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 099/181] net: phy: mxl-86110: Add power management and soft reset support Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 100/181] net: sock: fix hardened usercopy panic in sock_recv_errqueue Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 101/181] netdev: preserve NETIF_F_ALL_FOR_ALL across TSO updates Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 102/181] net/mlx5: Lag, multipath, give priority for routes with smaller network prefix Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 103/181] net/mlx5e: Dont gate FEC histograms on ppcnt_statistical_group Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 104/181] net/mlx5e: Dont print error message due to invalid module Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 105/181] net/mlx5e: Dealloc forgotten PSP RX modify header Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 106/181] net/ena: fix missing lock when update devlink params Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 107/181] net: wwan: iosm: Fix memory leak in ipc_mux_deinit() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 108/181] bnxt_en: Fix potential data corruption with HW GRO/LRO Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 109/181] virtio_net: fix device mismatch in devm_kzalloc/devm_kfree Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 110/181] inet: frags: drop fraglist conntrack references Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 111/181] perf: Ensure swevent hrtimer is properly destroyed Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 112/181] drm/amd/pm: fix wrong pcie parameter on navi1x Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 113/181] drm/amd/pm: force send pcie parmater " Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 114/181] vsock: Make accept()ed sockets use custom setsockopt() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 115/181] btrfs: release path before initializing extent tree in btrfs_read_locked_inode() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 116/181] btrfs: only enforce free space tree if v1 cache is required for bs < ps cases Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 117/181] btrfs: fix NULL pointer dereference in do_abort_log_replay() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 118/181] net: airoha: Fix npu rx DMA definitions Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 119/181] riscv: cpufeature: Fix Zk bundled extension missing Zknh Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 120/181] riscv: pgtable: Cleanup useless VA_USER_XXX definitions Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 121/181] net: fix memory leak in skb_segment_list for GRO packets Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 122/181] PCI/VGA: Dont assume the only VGA device on a system is `boot_vga` Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 123/181] idpf: keep the netdev when a reset fails Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 124/181] idpf: convert vport state to bitmap Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 125/181] idpf: detach and close netdevs while handling a reset Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 126/181] idpf: fix memory leak in idpf_vport_rel() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 127/181] idpf: fix memory leak in idpf_vc_core_deinit() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 128/181] idpf: fix error handling in the init_task on load Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 129/181] idpf: fix memory leak of flow steer list on rmmod Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 130/181] idpf: fix issue with ethtool -n command display Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 131/181] idpf: Fix RSS LUT NULL pointer crash on early ethtool operations Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 132/181] idpf: Fix RSS LUT configuration on down interfaces Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 133/181] idpf: Fix RSS LUT NULL ptr issue after soft reset Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 134/181] idpf: Fix error handling in idpf_vport_open() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 135/181] idpf: cap maximum Rx buffer size Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 136/181] idpf: fix aux device unplugging when rdma is not supported by vport Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 137/181] Revert "dsa: mv88e6xxx: make serdes SGMII/Fiber tx amplitude configurable" Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 138/181] udp: call skb_orphan() before skb_attempt_defer_free() Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 139/181] net: sfp: return the number of written bytes for smbus single byte access Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 140/181] net/sched: act_api: avoid dereferencing ERR_PTR in tcf_idrinfo_destroy Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 141/181] selftests: drv-net: Bring back tool() to driver __init__s Greg Kroah-Hartman
2026-01-15 16:47 ` [PATCH 6.18 142/181] net: netdevsim: fix inconsistent carrier state after link/unlink Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 143/181] block: dont merge bios with different app_tags Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 144/181] trace: ftrace_dump_on_oops[] is not exported, make it static Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 145/181] sparc/PCI: Correct 64-bit non-pref -> pref BAR resources Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 146/181] HID: quirks: work around VID/PID conflict for appledisplay Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 147/181] net: airoha: Fix schedule while atomic in airoha_ppe_deinit() Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 148/181] wifi: mac80211_hwsim: fix typo in frequency notification Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 149/181] net/sched: sch_qfq: Fix NULL deref when deactivating inactive aggregate in qfq_reset Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 150/181] net: usb: pegasus: fix memory leak in update_eth_regs_async() Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 151/181] net: enetc: fix build warning when PAGE_SIZE is greater than 128K Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 152/181] arp: do not assume dev_hard_header() does not change skb->head Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 153/181] ublk: fix use-after-free in ublk_partition_scan_work Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 154/181] irqchip/gic-v5: Fix gicv5_its_map_event() ITTE read endianness Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 155/181] erofs: dont bother with s_stack_depth increasing for now Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 156/181] erofs: fix file-backed mounts no longer working on EROFS partitions Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 157/181] btrfs: truncate ordered extent when skipping writeback past i_size Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 158/181] btrfs: use variable for end offset in extent_writepage_io() Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 159/181] btrfs: fix beyond-EOF write handling Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 160/181] gpio: mpsse: ensure worker is torn down Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 161/181] gpio: mpsse: add quirk support Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 162/181] gpio: mpsse: fix reference leak in gpio_mpsse_probe() error paths Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 163/181] bpf, test_run: Subtract size of xdp_frame from allowed metadata size Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 164/181] bpf: Fix reference count leak in bpf_prog_test_run_xdp() Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 165/181] net: sfp: extend Potron XGSPON quirk to cover additional EEPROM variant Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 166/181] powercap: fix race condition in register_control_type() Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 167/181] powercap: fix sscanf() error return value handling Greg Kroah-Hartman
2026-01-15 16:48 ` Greg Kroah-Hartman [this message]
2026-01-15 16:48 ` [PATCH 6.18 169/181] ata: libata-core: Disable LPM on ST2000DM008-2FR102 Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 170/181] accel/amdxdna: Block running under a hypervisor Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 171/181] drm/amd/display: Fix DP no audio issue Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 172/181] spi: mt65xx: Use IRQF_ONESHOT with threaded IRQ Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 173/181] drm/amdkfd: Fix improper NULL termination of queue restore SMI event string Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 174/181] can: j1939: make j1939_session_activate() fail if device is no longer registered Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 175/181] block: validate pi_offset integrity limit Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 176/181] ALSA: usb-audio: Update for native DSD support quirks Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 177/181] ASoC: amd: yc: Add quirk for Honor MagicBook X16 2025 Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 178/181] ALSA: hda/realtek: enable woofer speakers on Medion NM14LNL Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 179/181] ASoC: fsl_sai: Add missing registers to cache default Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 180/181] scsi: sg: Fix occasional bogus elapsed time that exceeds timeout Greg Kroah-Hartman
2026-01-15 16:48 ` [PATCH 6.18 181/181] spi: cadence-quadspi: Prevent lost complete() call during indirect read Greg Kroah-Hartman
2026-01-15 17:56 ` [PATCH 6.18 000/181] 6.18.6-rc1 review Ronald Warsow
2026-01-15 19:15 ` Brett A C Sheffield
2026-01-15 20:00 ` Slade Watkins
2026-01-15 22:40 ` Shuah Khan
2026-01-15 23:32 ` Florian Fainelli
2026-01-16 4:23 ` Takeshi Ogasawara
2026-01-16 9:56 ` Ron Economos
2026-01-16 11:23 ` Jon Hunter
2026-01-16 12:28 ` Peter Schneider
2026-01-16 16:23 ` Mark Brown
2026-01-16 17:51 ` Hardik Garg
2026-01-16 21:55 ` Brett Mastbergen
2026-01-17 14:49 ` Miguel Ojeda
2026-01-19 9:01 ` Jeffrin Thalakkottoor
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=20260115164208.378899953@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=fw@strlen.de \
--cc=hamzamahfooz@linux.microsoft.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/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