From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Florian Westphal <fw@strlen.de>,
Pablo Neira Ayuso <pablo@netfilter.org>
Subject: [PATCH 5.15 111/124] netfilter: conntrack: convert to refcount_t api
Date: Tue, 26 Apr 2022 10:21:52 +0200 [thread overview]
Message-ID: <20220426081750.449092793@linuxfoundation.org> (raw)
In-Reply-To: <20220426081747.286685339@linuxfoundation.org>
From: Florian Westphal <fw@strlen.de>
commit 719774377622bc4025d2a74f551b5dc2158c6c30 upstream.
Convert nf_conn reference counting from atomic_t to refcount_t based api.
refcount_t api provides more runtime sanity checks and will warn on
certain constructs, e.g. refcount_inc() on a zero reference count, which
usually indicates use-after-free.
For this reason template allocation is changed to init the refcount to
1, the subsequenct add operations are removed.
Likewise, init_conntrack() is changed to set the initial refcount to 1
instead refcount_inc().
This is safe because the new entry is not (yet) visible to other cpus.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
include/linux/netfilter/nf_conntrack_common.h | 8 ++++----
net/netfilter/nf_conntrack_core.c | 26 +++++++++++++-------------
net/netfilter/nf_conntrack_expect.c | 4 ++--
net/netfilter/nf_conntrack_netlink.c | 6 +++---
net/netfilter/nf_conntrack_standalone.c | 4 ++--
net/netfilter/nf_flow_table_core.c | 2 +-
net/netfilter/nf_synproxy_core.c | 1 -
net/netfilter/nft_ct.c | 4 +---
net/netfilter/xt_CT.c | 3 +--
net/openvswitch/conntrack.c | 1 -
net/sched/act_ct.c | 1 -
11 files changed, 27 insertions(+), 33 deletions(-)
--- a/include/linux/netfilter/nf_conntrack_common.h
+++ b/include/linux/netfilter/nf_conntrack_common.h
@@ -2,7 +2,7 @@
#ifndef _NF_CONNTRACK_COMMON_H
#define _NF_CONNTRACK_COMMON_H
-#include <linux/atomic.h>
+#include <linux/refcount.h>
#include <uapi/linux/netfilter/nf_conntrack_common.h>
struct ip_conntrack_stat {
@@ -25,19 +25,19 @@ struct ip_conntrack_stat {
#define NFCT_PTRMASK ~(NFCT_INFOMASK)
struct nf_conntrack {
- atomic_t use;
+ refcount_t use;
};
void nf_conntrack_destroy(struct nf_conntrack *nfct);
static inline void nf_conntrack_put(struct nf_conntrack *nfct)
{
- if (nfct && atomic_dec_and_test(&nfct->use))
+ if (nfct && refcount_dec_and_test(&nfct->use))
nf_conntrack_destroy(nfct);
}
static inline void nf_conntrack_get(struct nf_conntrack *nfct)
{
if (nfct)
- atomic_inc(&nfct->use);
+ refcount_inc(&nfct->use);
}
#endif /* _NF_CONNTRACK_COMMON_H */
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -598,7 +598,7 @@ struct nf_conn *nf_ct_tmpl_alloc(struct
tmpl->status = IPS_TEMPLATE;
write_pnet(&tmpl->ct_net, net);
nf_ct_zone_add(tmpl, zone);
- atomic_set(&tmpl->ct_general.use, 0);
+ refcount_set(&tmpl->ct_general.use, 1);
return tmpl;
}
@@ -631,7 +631,7 @@ destroy_conntrack(struct nf_conntrack *n
struct nf_conn *ct = (struct nf_conn *)nfct;
pr_debug("destroy_conntrack(%p)\n", ct);
- WARN_ON(atomic_read(&nfct->use) != 0);
+ WARN_ON(refcount_read(&nfct->use) != 0);
if (unlikely(nf_ct_is_template(ct))) {
nf_ct_tmpl_free(ct);
@@ -755,7 +755,7 @@ nf_ct_match(const struct nf_conn *ct1, c
/* caller must hold rcu readlock and none of the nf_conntrack_locks */
static void nf_ct_gc_expired(struct nf_conn *ct)
{
- if (!atomic_inc_not_zero(&ct->ct_general.use))
+ if (!refcount_inc_not_zero(&ct->ct_general.use))
return;
if (nf_ct_should_gc(ct))
@@ -823,7 +823,7 @@ __nf_conntrack_find_get(struct net *net,
* in, try to obtain a reference and re-check tuple
*/
ct = nf_ct_tuplehash_to_ctrack(h);
- if (likely(atomic_inc_not_zero(&ct->ct_general.use))) {
+ if (likely(refcount_inc_not_zero(&ct->ct_general.use))) {
if (likely(nf_ct_key_equal(h, tuple, zone, net)))
goto found;
@@ -920,7 +920,7 @@ nf_conntrack_hash_check_insert(struct nf
smp_wmb();
/* The caller holds a reference to this object */
- atomic_set(&ct->ct_general.use, 2);
+ refcount_set(&ct->ct_general.use, 2);
__nf_conntrack_hash_insert(ct, hash, reply_hash);
nf_conntrack_double_unlock(hash, reply_hash);
NF_CT_STAT_INC(net, insert);
@@ -971,7 +971,7 @@ static void __nf_conntrack_insert_prepar
{
struct nf_conn_tstamp *tstamp;
- atomic_inc(&ct->ct_general.use);
+ refcount_inc(&ct->ct_general.use);
ct->status |= IPS_CONFIRMED;
/* set conntrack timestamp, if enabled. */
@@ -1364,7 +1364,7 @@ static unsigned int early_drop_list(stru
nf_ct_is_dying(tmp))
continue;
- if (!atomic_inc_not_zero(&tmp->ct_general.use))
+ if (!refcount_inc_not_zero(&tmp->ct_general.use))
continue;
/* kill only if still in same netns -- might have moved due to
@@ -1513,7 +1513,7 @@ static void gc_worker(struct work_struct
continue;
/* need to take reference to avoid possible races */
- if (!atomic_inc_not_zero(&tmp->ct_general.use))
+ if (!refcount_inc_not_zero(&tmp->ct_general.use))
continue;
if (gc_worker_skip_ct(tmp)) {
@@ -1622,7 +1622,7 @@ __nf_conntrack_alloc(struct net *net,
/* Because we use RCU lookups, we set ct_general.use to zero before
* this is inserted in any list.
*/
- atomic_set(&ct->ct_general.use, 0);
+ refcount_set(&ct->ct_general.use, 0);
return ct;
out:
atomic_dec(&cnet->count);
@@ -1647,7 +1647,7 @@ void nf_conntrack_free(struct nf_conn *c
/* A freed object has refcnt == 0, that's
* the golden rule for SLAB_TYPESAFE_BY_RCU
*/
- WARN_ON(atomic_read(&ct->ct_general.use) != 0);
+ WARN_ON(refcount_read(&ct->ct_general.use) != 0);
nf_ct_ext_destroy(ct);
kmem_cache_free(nf_conntrack_cachep, ct);
@@ -1739,8 +1739,8 @@ init_conntrack(struct net *net, struct n
if (!exp)
__nf_ct_try_assign_helper(ct, tmpl, GFP_ATOMIC);
- /* Now it is inserted into the unconfirmed list, bump refcount */
- nf_conntrack_get(&ct->ct_general);
+ /* Now it is inserted into the unconfirmed list, set refcount to 1. */
+ refcount_set(&ct->ct_general.use, 1);
nf_ct_add_to_unconfirmed_list(ct);
local_bh_enable();
@@ -2352,7 +2352,7 @@ get_next_corpse(int (*iter)(struct nf_co
return NULL;
found:
- atomic_inc(&ct->ct_general.use);
+ refcount_inc(&ct->ct_general.use);
spin_unlock(lockp);
local_bh_enable();
return ct;
--- a/net/netfilter/nf_conntrack_expect.c
+++ b/net/netfilter/nf_conntrack_expect.c
@@ -203,12 +203,12 @@ nf_ct_find_expectation(struct net *net,
* about to invoke ->destroy(), or nf_ct_delete() via timeout
* or early_drop().
*
- * The atomic_inc_not_zero() check tells: If that fails, we
+ * The refcount_inc_not_zero() check tells: If that fails, we
* know that the ct is being destroyed. If it succeeds, we
* can be sure the ct cannot disappear underneath.
*/
if (unlikely(nf_ct_is_dying(exp->master) ||
- !atomic_inc_not_zero(&exp->master->ct_general.use)))
+ !refcount_inc_not_zero(&exp->master->ct_general.use)))
return NULL;
if (exp->flags & NF_CT_EXPECT_PERMANENT) {
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -508,7 +508,7 @@ nla_put_failure:
static int ctnetlink_dump_use(struct sk_buff *skb, const struct nf_conn *ct)
{
- if (nla_put_be32(skb, CTA_USE, htonl(atomic_read(&ct->ct_general.use))))
+ if (nla_put_be32(skb, CTA_USE, htonl(refcount_read(&ct->ct_general.use))))
goto nla_put_failure;
return 0;
@@ -1200,7 +1200,7 @@ restart:
ct = nf_ct_tuplehash_to_ctrack(h);
if (nf_ct_is_expired(ct)) {
if (i < ARRAY_SIZE(nf_ct_evict) &&
- atomic_inc_not_zero(&ct->ct_general.use))
+ refcount_inc_not_zero(&ct->ct_general.use))
nf_ct_evict[i++] = ct;
continue;
}
@@ -1748,7 +1748,7 @@ restart:
NFNL_MSG_TYPE(cb->nlh->nlmsg_type),
ct, dying ? true : false, 0);
if (res < 0) {
- if (!atomic_inc_not_zero(&ct->ct_general.use))
+ if (!refcount_inc_not_zero(&ct->ct_general.use))
continue;
cb->args[0] = cpu;
cb->args[1] = (unsigned long)ct;
--- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c
@@ -303,7 +303,7 @@ static int ct_seq_show(struct seq_file *
int ret = 0;
WARN_ON(!ct);
- if (unlikely(!atomic_inc_not_zero(&ct->ct_general.use)))
+ if (unlikely(!refcount_inc_not_zero(&ct->ct_general.use)))
return 0;
if (nf_ct_should_gc(ct)) {
@@ -370,7 +370,7 @@ static int ct_seq_show(struct seq_file *
ct_show_zone(s, ct, NF_CT_DEFAULT_ZONE_DIR);
ct_show_delta_time(s, ct);
- seq_printf(s, "use=%u\n", atomic_read(&ct->ct_general.use));
+ seq_printf(s, "use=%u\n", refcount_read(&ct->ct_general.use));
if (seq_has_overflowed(s))
goto release;
--- a/net/netfilter/nf_flow_table_core.c
+++ b/net/netfilter/nf_flow_table_core.c
@@ -48,7 +48,7 @@ struct flow_offload *flow_offload_alloc(
struct flow_offload *flow;
if (unlikely(nf_ct_is_dying(ct) ||
- !atomic_inc_not_zero(&ct->ct_general.use)))
+ !refcount_inc_not_zero(&ct->ct_general.use)))
return NULL;
flow = kzalloc(sizeof(*flow), GFP_ATOMIC);
--- a/net/netfilter/nf_synproxy_core.c
+++ b/net/netfilter/nf_synproxy_core.c
@@ -349,7 +349,6 @@ static int __net_init synproxy_net_init(
goto err2;
__set_bit(IPS_CONFIRMED_BIT, &ct->status);
- nf_conntrack_get(&ct->ct_general);
snet->tmpl = ct;
snet->stats = alloc_percpu(struct synproxy_stats);
--- a/net/netfilter/nft_ct.c
+++ b/net/netfilter/nft_ct.c
@@ -259,7 +259,7 @@ static void nft_ct_set_zone_eval(const s
ct = this_cpu_read(nft_ct_pcpu_template);
- if (likely(atomic_read(&ct->ct_general.use) == 1)) {
+ if (likely(refcount_read(&ct->ct_general.use) == 1)) {
nf_ct_zone_add(ct, &zone);
} else {
/* previous skb got queued to userspace */
@@ -270,7 +270,6 @@ static void nft_ct_set_zone_eval(const s
}
}
- atomic_inc(&ct->ct_general.use);
nf_ct_set(skb, ct, IP_CT_NEW);
}
#endif
@@ -375,7 +374,6 @@ static bool nft_ct_tmpl_alloc_pcpu(void)
return false;
}
- atomic_set(&tmp->ct_general.use, 1);
per_cpu(nft_ct_pcpu_template, cpu) = tmp;
}
--- a/net/netfilter/xt_CT.c
+++ b/net/netfilter/xt_CT.c
@@ -24,7 +24,7 @@ static inline int xt_ct_target(struct sk
return XT_CONTINUE;
if (ct) {
- atomic_inc(&ct->ct_general.use);
+ refcount_inc(&ct->ct_general.use);
nf_ct_set(skb, ct, IP_CT_NEW);
} else {
nf_ct_set(skb, ct, IP_CT_UNTRACKED);
@@ -201,7 +201,6 @@ static int xt_ct_tg_check(const struct x
goto err4;
}
__set_bit(IPS_CONFIRMED_BIT, &ct->status);
- nf_conntrack_get(&ct->ct_general);
out:
info->ct = ct;
return 0;
--- a/net/openvswitch/conntrack.c
+++ b/net/openvswitch/conntrack.c
@@ -1722,7 +1722,6 @@ int ovs_ct_copy_action(struct net *net,
goto err_free_ct;
__set_bit(IPS_CONFIRMED_BIT, &ct_info.ct->status);
- nf_conntrack_get(&ct_info.ct->ct_general);
return 0;
err_free_ct:
__ovs_ct_free_action(&ct_info);
--- a/net/sched/act_ct.c
+++ b/net/sched/act_ct.c
@@ -1232,7 +1232,6 @@ static int tcf_ct_fill_params(struct net
return -ENOMEM;
}
__set_bit(IPS_CONFIRMED_BIT, &tmpl->status);
- nf_conntrack_get(&tmpl->ct_general);
p->tmpl = tmpl;
return 0;
next prev parent reply other threads:[~2022-04-26 8:54 UTC|newest]
Thread overview: 138+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-26 8:20 [PATCH 5.15 000/124] 5.15.36-rc1 review Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 001/124] fs: remove __sync_filesystem Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 002/124] block: remove __sync_blockdev Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 003/124] block: simplify the block device syncing code Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 004/124] vfs: make sync_filesystem return errors from ->sync_fs Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 005/124] xfs: return errors in xfs_fs_sync_fs Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 006/124] dma-mapping: remove bogus test for pfn_valid from dma_map_resource Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 007/124] arm64/mm: drop HAVE_ARCH_PFN_VALID Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 008/124] etherdevice: Adjust ether_addr* prototypes to silence -Wstringop-overead Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 009/124] mm: page_alloc: fix building error on -Werror=array-compare Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 010/124] perf tools: Fix segfault accessing sample_id xyarray Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 011/124] mm, kfence: support kmem_dump_obj() for KFENCE objects Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 012/124] gfs2: assign rgrp glock before compute_bitstructs Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 013/124] scsi: ufs: core: scsi_get_lba() error fix Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 014/124] net/sched: cls_u32: fix netns refcount changes in u32_change() Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 015/124] ALSA: usb-audio: Clear MIDI port active flag after draining Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 016/124] ALSA: hda/realtek: Add quirk for Clevo NP70PNP Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 017/124] ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 018/124] ASoC: topology: Correct error handling in soc_tplg_dapm_widget_create() Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 019/124] ASoC: rk817: Use devm_clk_get() in rk817_platform_probe Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 020/124] ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 021/124] ASoC: codecs: wcd934x: do not switch off SIDO Buck when codec is in use Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 022/124] dmaengine: idxd: fix device cleanup on disable Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 023/124] dmaengine: imx-sdma: Fix error checking in sdma_event_remap Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 024/124] dmaengine: mediatek:Fix PM usage reference leak of mtk_uart_apdma_alloc_chan_resources Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 025/124] dmaengine: dw-edma: Fix unaligned 64bit access Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 026/124] spi: spi-mtk-nor: initialize spi controller after resume Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 027/124] esp: limit skb_page_frag_refill use to a single page Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 028/124] spi: cadence-quadspi: fix incorrect supports_op() return value Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 029/124] igc: Fix infinite loop in release_swfw_sync Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 030/124] igc: Fix BUG: scheduling while atomic Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 031/124] igc: Fix suspending when PTM is active Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 032/124] ALSA: hda/hdmi: fix warning about PCM count when used with SOF Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 033/124] rxrpc: Restore removed timer deletion Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 034/124] net/smc: Fix sock leak when release after smc_shutdown() Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 035/124] net/packet: fix packet_sock xmit return value checking Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 036/124] ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit() Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 037/124] ip6_gre: Fix skb_under_panic " Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 038/124] net: restore alpha order to Ethernet devices in config Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 039/124] net/sched: cls_u32: fix possible leak in u32_init_knode() Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 040/124] l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 041/124] ipv6: make ip6_rt_gc_expire an atomic_t Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 042/124] can: isotp: stop timeout monitoring when no first frame was sent Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 043/124] net: dsa: hellcreek: Calculate checksums in tagger Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 044/124] net: mscc: ocelot: fix broken IP multicast flooding Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 045/124] netlink: reset network and mac headers in netlink_dump() Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 046/124] drm/i915/display/psr: Unset enable_psr2_sel_fetch if other checks in intel_psr2_config_valid() fails Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 047/124] net: stmmac: Use readl_poll_timeout_atomic() in atomic state Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 048/124] dmaengine: idxd: add RO check for wq max_batch_size write Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 049/124] dmaengine: idxd: add RO check for wq max_transfer_size write Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 050/124] dmaengine: idxd: skip clearing device context when device is read-only Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 051/124] selftests: mlxsw: vxlan_flooding: Prevent flooding of unwanted packets Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 052/124] arm64: mm: fix p?d_leaf() Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 053/124] ARM: vexpress/spc: Avoid negative array index when !SMP Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 054/124] reset: renesas: Check return value of reset_control_deassert() Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 055/124] reset: tegra-bpmp: Restore Handle errors in BPMP response Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 056/124] platform/x86: samsung-laptop: Fix an unsigned comparison which can never be negative Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 057/124] ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant Greg Kroah-Hartman
2022-04-26 8:20 ` [PATCH 5.15 058/124] drm/msm/disp: check the return value of kzalloc() Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 059/124] arm64: dts: imx: Fix imx8*-var-som touchscreen property sizes Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 060/124] vxlan: fix error return code in vxlan_fdb_append Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 061/124] cifs: Check the IOCB_DIRECT flag, not O_DIRECT Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 062/124] net: atlantic: Avoid out-of-bounds indexing Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 063/124] mt76: Fix undefined behavior due to shift overflowing the constant Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 064/124] brcmfmac: sdio: " Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 065/124] dpaa_eth: Fix missing of_node_put in dpaa_get_ts_info() Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 066/124] drm/msm/mdp5: check the return of kzalloc() Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 067/124] net: macb: Restart tx only if queue pointer is lagging Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 068/124] scsi: iscsi: Release endpoint ID when its freed Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 069/124] scsi: iscsi: Merge suspend fields Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 070/124] scsi: iscsi: Fix NOP handling during conn recovery Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 071/124] scsi: qedi: Fix failed disconnect handling Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 072/124] stat: fix inconsistency between struct stat and struct compat_stat Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 073/124] VFS: filename_create(): fix incorrect intent Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 074/124] nvme: add a quirk to disable namespace identifiers Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 075/124] nvme-pci: disable namespace identifiers for the MAXIO MAP1002/1202 Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 076/124] nvme-pci: disable namespace identifiers for Qemu controllers Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 077/124] EDAC/synopsys: Read the error count from the correct register Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 078/124] mm/memory-failure.c: skip huge_zero_page in memory_failure() Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 079/124] memcg: sync flush only if periodic flush is delayed Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 080/124] mm, hugetlb: allow for "high" userspace addresses Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 081/124] oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 082/124] mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove() Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 083/124] ata: pata_marvell: Check the bmdma_addr beforing reading Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 084/124] dma: at_xdmac: fix a missing check on list iterator Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 085/124] dmaengine: imx-sdma: fix init of uart scripts Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 086/124] net: atlantic: invert deep par in pm functions, preventing null derefs Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 087/124] Input: omap4-keypad - fix pm_runtime_get_sync() error checking Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 088/124] scsi: sr: Do not leak information in ioctl Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 089/124] sched/pelt: Fix attach_entity_load_avg() corner case Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 090/124] perf/core: Fix perf_mmap fail when CONFIG_PERF_USE_VMALLOC enabled Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 091/124] drm/panel/raspberrypi-touchscreen: Avoid NULL deref if not initialised Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 092/124] drm/panel/raspberrypi-touchscreen: Initialise the bridge in prepare Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 093/124] KVM: PPC: Fix TCE handling for VFIO Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 094/124] drm/vc4: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usage Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 095/124] powerpc/perf: Fix power9 event alternatives Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 096/124] powerpc/perf: Fix power10 " Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 097/124] perf script: Always allow field data_src for auxtrace Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 098/124] perf report: Set PERF_SAMPLE_DATA_SRC bit for Arm SPE event Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 099/124] xtensa: patch_text: Fixup last cpu should be master Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 100/124] xtensa: fix a7 clobbering in coprocessor context load/store Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 101/124] openvswitch: fix OOB access in reserve_sfa_size() Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 102/124] gpio: Request interrupts after IRQ is initialized Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 103/124] ASoC: soc-dapm: fix two incorrect uses of list iterator Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 104/124] e1000e: Fix possible overflow in LTR decoding Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 105/124] ARC: entry: fix syscall_trace_exit argument Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 106/124] arm_pmu: Validate single/group leader events Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 107/124] KVM: x86/pmu: Update AMD PMC sample period to fix guest NMI-watchdog Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 108/124] KVM: x86: Pend KVM_REQ_APICV_UPDATE during vCPU creation to fix a race Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 109/124] KVM: nVMX: Defer APICv updates while L2 is active until L1 is active Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 110/124] KVM: SVM: Flush when freeing encrypted pages even on SME_COHERENT CPUs Greg Kroah-Hartman
2022-04-26 8:21 ` Greg Kroah-Hartman [this message]
2022-04-26 8:21 ` [PATCH 5.15 112/124] netfilter: conntrack: avoid useless indirection during conntrack destruction Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 113/124] ext4: fix fallocate to use file_modified to update permissions consistently Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 114/124] ext4: fix symlink file size not match to file content Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 115/124] ext4: fix use-after-free in ext4_search_dir Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 116/124] ext4: limit length to bitmap_maxbytes - blocksize in punch_hole Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 117/124] ext4, doc: fix incorrect h_reserved size Greg Kroah-Hartman
2022-04-26 8:21 ` [PATCH 5.15 118/124] ext4: fix overhead calculation to account for the reserved gdt blocks Greg Kroah-Hartman
2022-04-26 8:22 ` [PATCH 5.15 119/124] ext4: force overhead calculation if the s_overhead_cluster makes no sense Greg Kroah-Hartman
2022-04-26 8:22 ` [PATCH 5.15 120/124] netfilter: nft_ct: fix use after free when attaching zone template Greg Kroah-Hartman
2022-04-26 8:22 ` [PATCH 5.15 121/124] jbd2: fix a potential race while discarding reserved buffers after an abort Greg Kroah-Hartman
2022-04-26 8:22 ` [PATCH 5.15 122/124] spi: atmel-quadspi: Fix the buswidth adjustment between spi-mem and controller Greg Kroah-Hartman
2022-04-26 8:22 ` [PATCH 5.15 123/124] block/compat_ioctl: fix range check in BLKGETSIZE Greg Kroah-Hartman
2022-04-26 8:22 ` [PATCH 5.15 124/124] arm64: dts: qcom: add IPA qcom,qmp property Greg Kroah-Hartman
2022-04-26 16:20 ` [PATCH 5.15 000/124] 5.15.36-rc1 review Jon Hunter
2022-04-26 17:30 ` Florian Fainelli
2022-04-26 17:37 ` john.p.donnelly
2022-04-26 17:52 ` Greg Kroah-Hartman
2022-04-26 17:24 ` John Donnelly
2022-04-26 18:38 ` Greg Kroah-Hartman
2022-04-26 18:55 ` John Donnelly
2022-04-26 18:39 ` Naresh Kamboju
2022-04-26 20:13 ` Guenter Roeck
2022-04-26 20:14 ` Shuah Khan
2022-04-27 1:54 ` Slade Watkins
2022-04-27 7:04 ` Ron Economos
2022-04-27 11:11 ` Sudip Mukherjee
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=20220426081750.449092793@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=fw@strlen.de \
--cc=linux-kernel@vger.kernel.org \
--cc=pablo@netfilter.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