From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Pablo Neira Ayuso <pablo@netfilter.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 015/128] netfilter: nf_tables: use timestamp to check for set element timeout
Date: Tue, 2 Jul 2024 19:03:36 +0200 [thread overview]
Message-ID: <20240702170226.810451995@linuxfoundation.org> (raw)
In-Reply-To: <20240702170226.231899085@linuxfoundation.org>
6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Pablo Neira Ayuso <pablo@netfilter.org>
commit 7395dfacfff65e9938ac0889dafa1ab01e987d15 upstream
Add a timestamp field at the beginning of the transaction, store it
in the nftables per-netns area.
Update set backend .insert, .deactivate and sync gc path to use the
timestamp, this avoids that an element expires while control plane
transaction is still unfinished.
.lookup and .update, which are used from packet path, still use the
current time to check if the element has expired. And .get path and dump
also since this runs lockless under rcu read size lock. Then, there is
async gc which also needs to check the current time since it runs
asynchronously from a workqueue.
Fixes: c3e1b005ed1c ("netfilter: nf_tables: add set element timeout support")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/net/netfilter/nf_tables.h | 16 ++++++++++++++--
net/netfilter/nf_tables_api.c | 4 +++-
net/netfilter/nft_set_hash.c | 8 +++++++-
net/netfilter/nft_set_pipapo.c | 18 +++++++++++-------
net/netfilter/nft_set_rbtree.c | 6 ++++--
5 files changed, 39 insertions(+), 13 deletions(-)
diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h
index 2fa344cb66f60..964cf7578bd50 100644
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -784,10 +784,16 @@ static inline struct nft_set_elem_expr *nft_set_ext_expr(const struct nft_set_ex
return nft_set_ext(ext, NFT_SET_EXT_EXPRESSIONS);
}
-static inline bool nft_set_elem_expired(const struct nft_set_ext *ext)
+static inline bool __nft_set_elem_expired(const struct nft_set_ext *ext,
+ u64 tstamp)
{
return nft_set_ext_exists(ext, NFT_SET_EXT_EXPIRATION) &&
- time_is_before_eq_jiffies64(*nft_set_ext_expiration(ext));
+ time_after_eq64(tstamp, *nft_set_ext_expiration(ext));
+}
+
+static inline bool nft_set_elem_expired(const struct nft_set_ext *ext)
+{
+ return __nft_set_elem_expired(ext, get_jiffies_64());
}
static inline struct nft_set_ext *nft_set_elem_ext(const struct nft_set *set,
@@ -1711,6 +1717,7 @@ struct nftables_pernet {
struct list_head notify_list;
struct mutex commit_mutex;
u64 table_handle;
+ u64 tstamp;
unsigned int base_seq;
u8 validate_state;
unsigned int gc_seq;
@@ -1723,6 +1730,11 @@ static inline struct nftables_pernet *nft_pernet(const struct net *net)
return net_generic(net, nf_tables_net_id);
}
+static inline u64 nft_net_tstamp(const struct net *net)
+{
+ return nft_pernet(net)->tstamp;
+}
+
#define __NFT_REDUCE_READONLY 1UL
#define NFT_REDUCE_READONLY (void *)__NFT_REDUCE_READONLY
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 1c4b7a8ec2cc6..e838a6617b0aa 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -9377,6 +9377,7 @@ struct nft_trans_gc *nft_trans_gc_catchall_async(struct nft_trans_gc *gc,
struct nft_trans_gc *nft_trans_gc_catchall_sync(struct nft_trans_gc *gc)
{
struct nft_set_elem_catchall *catchall, *next;
+ u64 tstamp = nft_net_tstamp(gc->net);
const struct nft_set *set = gc->set;
struct nft_set_elem elem;
struct nft_set_ext *ext;
@@ -9386,7 +9387,7 @@ struct nft_trans_gc *nft_trans_gc_catchall_sync(struct nft_trans_gc *gc)
list_for_each_entry_safe(catchall, next, &set->catchall_list, list) {
ext = nft_set_elem_ext(set, catchall->elem);
- if (!nft_set_elem_expired(ext))
+ if (!__nft_set_elem_expired(ext, tstamp))
continue;
gc = nft_trans_gc_queue_sync(gc, GFP_KERNEL);
@@ -10138,6 +10139,7 @@ static bool nf_tables_valid_genid(struct net *net, u32 genid)
bool genid_ok;
mutex_lock(&nft_net->commit_mutex);
+ nft_net->tstamp = get_jiffies_64();
genid_ok = genid == 0 || nft_net->base_seq == genid;
if (!genid_ok)
diff --git a/net/netfilter/nft_set_hash.c b/net/netfilter/nft_set_hash.c
index 2013de934cef0..1fd3b413350dc 100644
--- a/net/netfilter/nft_set_hash.c
+++ b/net/netfilter/nft_set_hash.c
@@ -35,6 +35,7 @@ struct nft_rhash_cmp_arg {
const struct nft_set *set;
const u32 *key;
u8 genmask;
+ u64 tstamp;
};
static inline u32 nft_rhash_key(const void *data, u32 len, u32 seed)
@@ -61,7 +62,7 @@ static inline int nft_rhash_cmp(struct rhashtable_compare_arg *arg,
return 1;
if (nft_set_elem_is_dead(&he->ext))
return 1;
- if (nft_set_elem_expired(&he->ext))
+ if (__nft_set_elem_expired(&he->ext, x->tstamp))
return 1;
if (!nft_set_elem_active(&he->ext, x->genmask))
return 1;
@@ -86,6 +87,7 @@ bool nft_rhash_lookup(const struct net *net, const struct nft_set *set,
.genmask = nft_genmask_cur(net),
.set = set,
.key = key,
+ .tstamp = get_jiffies_64(),
};
he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params);
@@ -104,6 +106,7 @@ static void *nft_rhash_get(const struct net *net, const struct nft_set *set,
.genmask = nft_genmask_cur(net),
.set = set,
.key = elem->key.val.data,
+ .tstamp = get_jiffies_64(),
};
he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params);
@@ -127,6 +130,7 @@ static bool nft_rhash_update(struct nft_set *set, const u32 *key,
.genmask = NFT_GENMASK_ANY,
.set = set,
.key = key,
+ .tstamp = get_jiffies_64(),
};
he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params);
@@ -170,6 +174,7 @@ static int nft_rhash_insert(const struct net *net, const struct nft_set *set,
.genmask = nft_genmask_next(net),
.set = set,
.key = elem->key.val.data,
+ .tstamp = nft_net_tstamp(net),
};
struct nft_rhash_elem *prev;
@@ -212,6 +217,7 @@ static void *nft_rhash_deactivate(const struct net *net,
.genmask = nft_genmask_next(net),
.set = set,
.key = elem->key.val.data,
+ .tstamp = nft_net_tstamp(net),
};
rcu_read_lock();
diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c
index 2299ced939c47..a56ed216c2233 100644
--- a/net/netfilter/nft_set_pipapo.c
+++ b/net/netfilter/nft_set_pipapo.c
@@ -504,6 +504,7 @@ bool nft_pipapo_lookup(const struct net *net, const struct nft_set *set,
* @set: nftables API set representation
* @data: Key data to be matched against existing elements
* @genmask: If set, check that element is active in given genmask
+ * @tstamp: timestamp to check for expired elements
*
* This is essentially the same as the lookup function, except that it matches
* key data against the uncommitted copy and doesn't use preallocated maps for
@@ -513,7 +514,8 @@ bool nft_pipapo_lookup(const struct net *net, const struct nft_set *set,
*/
static struct nft_pipapo_elem *pipapo_get(const struct net *net,
const struct nft_set *set,
- const u8 *data, u8 genmask)
+ const u8 *data, u8 genmask,
+ u64 tstamp)
{
struct nft_pipapo_elem *ret = ERR_PTR(-ENOENT);
struct nft_pipapo *priv = nft_set_priv(set);
@@ -566,7 +568,7 @@ static struct nft_pipapo_elem *pipapo_get(const struct net *net,
goto out;
if (last) {
- if (nft_set_elem_expired(&f->mt[b].e->ext))
+ if (__nft_set_elem_expired(&f->mt[b].e->ext, tstamp))
goto next_match;
if ((genmask &&
!nft_set_elem_active(&f->mt[b].e->ext, genmask)))
@@ -603,7 +605,7 @@ static void *nft_pipapo_get(const struct net *net, const struct nft_set *set,
const struct nft_set_elem *elem, unsigned int flags)
{
return pipapo_get(net, set, (const u8 *)elem->key.val.data,
- nft_genmask_cur(net));
+ nft_genmask_cur(net), get_jiffies_64());
}
/**
@@ -1197,6 +1199,7 @@ static int nft_pipapo_insert(const struct net *net, const struct nft_set *set,
struct nft_pipapo *priv = nft_set_priv(set);
struct nft_pipapo_match *m = priv->clone;
u8 genmask = nft_genmask_next(net);
+ u64 tstamp = nft_net_tstamp(net);
struct nft_pipapo_field *f;
const u8 *start_p, *end_p;
int i, bsize_max, err = 0;
@@ -1206,7 +1209,7 @@ static int nft_pipapo_insert(const struct net *net, const struct nft_set *set,
else
end = start;
- dup = pipapo_get(net, set, start, genmask);
+ dup = pipapo_get(net, set, start, genmask, tstamp);
if (!IS_ERR(dup)) {
/* Check if we already have the same exact entry */
const struct nft_data *dup_key, *dup_end;
@@ -1228,7 +1231,7 @@ static int nft_pipapo_insert(const struct net *net, const struct nft_set *set,
if (PTR_ERR(dup) == -ENOENT) {
/* Look for partially overlapping entries */
- dup = pipapo_get(net, set, end, nft_genmask_next(net));
+ dup = pipapo_get(net, set, end, nft_genmask_next(net), tstamp);
}
if (PTR_ERR(dup) != -ENOENT) {
@@ -1581,6 +1584,7 @@ static void pipapo_gc(const struct nft_set *_set, struct nft_pipapo_match *m)
struct nft_set *set = (struct nft_set *) _set;
struct nft_pipapo *priv = nft_set_priv(set);
struct net *net = read_pnet(&set->net);
+ u64 tstamp = nft_net_tstamp(net);
int rules_f0, first_rule = 0;
struct nft_pipapo_elem *e;
struct nft_trans_gc *gc;
@@ -1615,7 +1619,7 @@ static void pipapo_gc(const struct nft_set *_set, struct nft_pipapo_match *m)
/* synchronous gc never fails, there is no need to set on
* NFT_SET_ELEM_DEAD_BIT.
*/
- if (nft_set_elem_expired(&e->ext)) {
+ if (__nft_set_elem_expired(&e->ext, tstamp)) {
priv->dirty = true;
gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC);
@@ -1786,7 +1790,7 @@ static void *pipapo_deactivate(const struct net *net, const struct nft_set *set,
{
struct nft_pipapo_elem *e;
- e = pipapo_get(net, set, data, nft_genmask_next(net));
+ e = pipapo_get(net, set, data, nft_genmask_next(net), nft_net_tstamp(net));
if (IS_ERR(e))
return NULL;
diff --git a/net/netfilter/nft_set_rbtree.c b/net/netfilter/nft_set_rbtree.c
index 5bf5572e945cc..021d9e76129a5 100644
--- a/net/netfilter/nft_set_rbtree.c
+++ b/net/netfilter/nft_set_rbtree.c
@@ -314,6 +314,7 @@ static int __nft_rbtree_insert(const struct net *net, const struct nft_set *set,
struct nft_rbtree *priv = nft_set_priv(set);
u8 cur_genmask = nft_genmask_cur(net);
u8 genmask = nft_genmask_next(net);
+ u64 tstamp = nft_net_tstamp(net);
int d;
/* Descend the tree to search for an existing element greater than the
@@ -361,7 +362,7 @@ static int __nft_rbtree_insert(const struct net *net, const struct nft_set *set,
/* perform garbage collection to avoid bogus overlap reports
* but skip new elements in this transaction.
*/
- if (nft_set_elem_expired(&rbe->ext) &&
+ if (__nft_set_elem_expired(&rbe->ext, tstamp) &&
nft_set_elem_active(&rbe->ext, cur_genmask)) {
const struct nft_rbtree_elem *removed_end;
@@ -548,6 +549,7 @@ static void *nft_rbtree_deactivate(const struct net *net,
const struct rb_node *parent = priv->root.rb_node;
struct nft_rbtree_elem *rbe, *this = elem->priv;
u8 genmask = nft_genmask_next(net);
+ u64 tstamp = nft_net_tstamp(net);
int d;
while (parent != NULL) {
@@ -568,7 +570,7 @@ static void *nft_rbtree_deactivate(const struct net *net,
nft_rbtree_interval_end(this)) {
parent = parent->rb_right;
continue;
- } else if (nft_set_elem_expired(&rbe->ext)) {
+ } else if (__nft_set_elem_expired(&rbe->ext, tstamp)) {
break;
} else if (!nft_set_elem_active(&rbe->ext, genmask)) {
parent = parent->rb_left;
--
2.43.0
next prev parent reply other threads:[~2024-07-02 17:27 UTC|newest]
Thread overview: 145+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-02 17:03 [PATCH 6.1 000/128] 6.1.97-rc1 review Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 001/128] usb: typec: ucsi: Never send a lone connector change ack Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 002/128] usb: typec: ucsi: Ack also failed Get Error commands Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 003/128] x86/mm/numa: Use NUMA_NO_NODE when calling memblock_set_node() Greg Kroah-Hartman
2024-07-03 6:41 ` Mike Rapoport
2024-07-02 17:03 ` [PATCH 6.1 004/128] ACPI: x86: utils: Add Picasso to the list for forcing StorageD3Enable Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 005/128] ACPI: x86: Force StorageD3Enable on more products Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 006/128] Input: ili210x - fix ili251x_read_touch_data() return value Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 007/128] pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 008/128] pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 009/128] pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 010/128] pinctrl: rockchip: use dedicated pinctrl type for RK3328 Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 011/128] pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 012/128] MIPS: pci: lantiq: restore reset gpio polarity Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 013/128] dt-bindings: i2c: Drop unneeded quotes Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 014/128] dt-bindings: i2c: atmel,at91sam: correct path to i2c-controller schema Greg Kroah-Hartman
2024-07-02 17:03 ` Greg Kroah-Hartman [this message]
2024-07-02 17:03 ` [PATCH 6.1 016/128] ASoC: rockchip: i2s-tdm: Fix trcm mode by setting clock on right mclk Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 017/128] s390/pci: Add missing virt_to_phys() for directed DIBV Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 018/128] ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe() Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 019/128] ASoC: fsl-asoc-card: set priv->pdev before using it Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 020/128] net: dsa: microchip: fix initial port flush problem Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 021/128] mlxsw: spectrum_buffers: Fix memory corruptions on Spectrum-4 systems Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 022/128] bpf: Fix overrunning reservations in ringbuf Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 023/128] ibmvnic: Free any outstanding tx skbs during scrq reset Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 024/128] net: phy: micrel: add Microchip KSZ 9477 to the device table Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 025/128] net: dsa: microchip: use collision based back pressure mode Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 026/128] xdp: Remove WARN() from __xdp_reg_mem_model() Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 027/128] Fix race for duplicate reqsk on identical SYN Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 028/128] net: dsa: microchip: fix wrong register write when masking interrupt Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 029/128] sparc: fix old compat_sys_select() Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 030/128] sparc: fix compat recv/recvfrom syscalls Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 031/128] parisc: use correct " Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 032/128] powerpc: restore some missing spu syscalls Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 033/128] tcp: fix tcp_rcv_fastopen_synack() to enter TCP_CA_Loss for failed TFO Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 034/128] netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 035/128] tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset() Greg Kroah-Hartman
2024-07-02 18:36 ` Yunseong Kim
2024-07-02 17:03 ` [PATCH 6.1 036/128] bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro() Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 037/128] drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep Greg Kroah-Hartman
2024-07-02 17:03 ` [PATCH 6.1 038/128] vduse: validate block features only with block devices Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 039/128] vduse: Temporarily fail if control queue feature requested Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 040/128] x86/fpu: Fix AMD X86_BUG_FXSAVE_LEAK fixup Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 041/128] mtd: partitions: redboot: Added conversion of operands to a larger type Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 042/128] wifi: ieee80211: check for NULL in ieee80211_mle_size_ok() Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 043/128] bpf: Add a check for struct bpf_fib_lookup size Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 044/128] bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 045/128] RDMA/restrack: Fix potential invalid address access Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 046/128] net/iucv: Avoid explicit cpumask var allocation on stack Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 047/128] net/dpaa2: " Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 048/128] crypto: ecdh - explicitly zeroize private_key Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 049/128] ALSA: emux: improve patch ioctl data validation Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 050/128] media: dvbdev: Initialize sbuf Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 051/128] soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 052/128] drm/radeon/radeon_display: Decrease the size of allocated memory Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 053/128] nvme: fixup comment for nvme RDMA Provider Type Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 054/128] drm/panel: simple: Add missing display timing flags for KOE TX26D202VM0BWA Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 055/128] gpio: davinci: Validate the obtained number of IRQs Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 056/128] drm/amd/amdgpu: Fix style errors in amdgpu_drv.c & amdgpu_device.c Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 057/128] drm/amdgpu: Fix pci state save during mode-1 reset Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 058/128] riscv: stacktrace: convert arch_stack_walk() to noinstr Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 059/128] gpiolib: cdev: Disallow reconfiguration without direction (uAPI v1) Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 060/128] randomize_kstack: Remove non-functional per-arch entropy filtering Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 061/128] ima: Fix use-after-free on a dentrys dname.name Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 062/128] x86: stop playing stack games in profile_pc() Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 063/128] parisc: use generic sys_fanotify_mark implementation Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 064/128] Revert "MIPS: pci: lantiq: restore reset gpio polarity" Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 065/128] pinctrl: qcom: spmi-gpio: drop broken pm8008 support Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 066/128] ocfs2: fix DIO failure due to insufficient transaction credits Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 067/128] nfs: drop the incorrect assertion in nfs_swap_rw() Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 068/128] mmc: sdhci-brcmstb: check R1_STATUS for erase/trim/discard Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 069/128] mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 070/128] mmc: sdhci: Do not invert write-protect twice Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 071/128] mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro() Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 072/128] iio: xilinx-ams: Dont include ams_ctrl_channels in scan_mask Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 073/128] counter: ti-eqep: enable clock at probe Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 074/128] i2c: testunit: dont erase registers after STOP Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 075/128] i2c: testunit: discard write requests while old command is running Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 076/128] iio: adc: ad7266: Fix variable checking bug Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 077/128] iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 078/128] iio: chemical: bme680: Fix pressure value output Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 079/128] iio: chemical: bme680: Fix calibration data variable Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 080/128] iio: chemical: bme680: Fix overflows in compensate() functions Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 081/128] iio: chemical: bme680: Fix sensor data read operation Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 082/128] net: usb: ax88179_178a: improve link status logs Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 083/128] usb: gadget: printer: SS+ support Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 084/128] usb: gadget: printer: fix races against disable Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 085/128] usb: musb: da8xx: fix a resource leak in probe() Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 086/128] usb: atm: cxacru: fix endpoint checking in cxacru_bind() Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 087/128] usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 088/128] usb: gadget: aspeed_udc: fix device address configuration Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 089/128] usb: ucsi: stm32: fix command completion handling Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 090/128] serial: 8250_omap: Implementation of Errata i2310 Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 091/128] serial: imx: set receiver level before starting uart Greg Kroah-Hartman
2024-07-03 7:37 ` Stefan Eichenberger
2024-07-04 9:29 ` Greg Kroah-Hartman
2024-07-04 7:18 ` Francesco Dolcini
2024-07-04 7:43 ` Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 092/128] ALSA: hda/realtek: fix mute/micmute LEDs dont work for EliteBook 645/665 G11 Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 093/128] tty: mcf: MCF54418 has 10 UARTS Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 094/128] net: can: j1939: Initialize unused data in j1939_send_one() Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 095/128] net: can: j1939: recover socket queue on CAN bus error during BAM transmission Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 096/128] net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 097/128] cpufreq: intel_pstate: Use HWP to initialize ITMT if CPPC is missing Greg Kroah-Hartman
2024-07-02 17:04 ` [PATCH 6.1 098/128] cpu/hotplug: Fix dynstate assignment in __cpuhp_setup_state_cpuslocked() Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 099/128] irqchip/loongson-liointc: Set different ISRs for different cores Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 100/128] kbuild: Install dtb files as 0644 in Makefile.dtbinst Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 101/128] sh: rework sync_file_range ABI Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 102/128] btrfs: zoned: fix initial free space detection Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 103/128] csky, hexagon: fix broken sys_sync_file_range Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 104/128] hexagon: fix fadvise64_64 calling conventions Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 105/128] drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 106/128] drm/amdgpu: avoid using null object of framebuffer Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 107/128] drm/i915/gt: Fix potential UAF by revoke of fence registers Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 108/128] drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 109/128] drm/amdgpu/atomfirmware: fix parsing of vram_info Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 110/128] batman-adv: Dont accept TT entries for out-of-spec VIDs Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 111/128] can: mcp251xfd: fix infinite loop when xmit fails Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 112/128] ata: ahci: Clean up sysfs file on error Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 113/128] ata: libata-core: Fix double free " Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 114/128] ftruncate: pass a signed offset Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 115/128] syscalls: fix compat_sys_io_pgetevents_time64 usage Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 116/128] syscalls: fix sys_fanotify_mark prototype Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 117/128] pwm: stm32: Refuse too small period requests Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 118/128] Revert "cpufreq: amd-pstate: Fix the inconsistency in max frequency units" Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 119/128] mm/page_alloc: Separate THP PCP into movable and non-movable categories Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 120/128] gfs2: Fix slab-use-after-free in gfs2_qd_dealloc Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 121/128] efi: memmap: Move manipulation routines into x86 arch tree Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 122/128] efi: xen: Set EFI_PARAVIRT for Xen dom0 boot on all architectures Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 123/128] efi/x86: Free EFI memory map only when installing a new one Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 124/128] arm64: dts: rockchip: Fix SD NAND and eMMC init on rk3308-rock-pi-s Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 125/128] arm64: dts: rockchip: Rename LED related pinctrl nodes " Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 126/128] ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 127/128] arm64: dts: rockchip: fix PMIC interrupt pin on ROCK Pi E Greg Kroah-Hartman
2024-07-02 17:05 ` [PATCH 6.1 128/128] arm64: dts: rockchip: Add sound-dai-cells for RK3368 Greg Kroah-Hartman
2024-07-02 19:18 ` [PATCH 6.1 000/128] 6.1.97-rc1 review SeongJae Park
2024-07-02 22:00 ` Mark Brown
2024-07-02 23:44 ` Shuah Khan
2024-07-03 2:01 ` Peter Schneider
2024-07-03 8:13 ` Jon Hunter
2024-07-03 16:48 ` Pavel Machek
2024-07-03 17:29 ` Kelsey Steele
2024-07-03 18:22 ` Naresh Kamboju
2024-07-03 21:19 ` Ron Economos
2024-07-04 14:58 ` Florian Fainelli
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=20240702170226.810451995@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=pablo@netfilter.org \
--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