From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 109/162] neighbour: switch to standard rcu, instead of rcu_bh
Date: Mon, 9 Oct 2023 15:01:30 +0200 [thread overview]
Message-ID: <20231009130125.936303131@linuxfoundation.org> (raw)
In-Reply-To: <20231009130122.946357448@linuxfoundation.org>
6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <edumazet@google.com>
[ Upstream commit 09eed1192cec1755967f2af8394207acdde579a1 ]
rcu_bh is no longer a win, especially for objects freed
with standard call_rcu().
Switch neighbour code to no longer disable BH when not necessary.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: 5baa0433a15e ("neighbour: fix data-races around n->output")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/net/arp.h | 8 ++---
include/net/ndisc.h | 12 ++++----
include/net/neighbour.h | 6 ++--
include/net/nexthop.h | 6 ++--
net/core/filter.c | 16 ++++++----
net/core/neighbour.c | 64 ++++++++++++++++++++--------------------
net/ipv4/fib_semantics.c | 4 +--
net/ipv4/ip_output.c | 6 ++--
net/ipv4/nexthop.c | 8 ++---
net/ipv4/route.c | 4 +--
net/ipv6/addrconf.c | 14 ++++-----
net/ipv6/ip6_output.c | 10 +++----
net/ipv6/route.c | 12 ++++----
13 files changed, 87 insertions(+), 83 deletions(-)
diff --git a/include/net/arp.h b/include/net/arp.h
index d7ef4ec71dfeb..e8747e0713c79 100644
--- a/include/net/arp.h
+++ b/include/net/arp.h
@@ -38,11 +38,11 @@ static inline struct neighbour *__ipv4_neigh_lookup(struct net_device *dev, u32
{
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __ipv4_neigh_lookup_noref(dev, key);
if (n && !refcount_inc_not_zero(&n->refcnt))
n = NULL;
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return n;
}
@@ -51,10 +51,10 @@ static inline void __ipv4_confirm_neigh(struct net_device *dev, u32 key)
{
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __ipv4_neigh_lookup_noref(dev, key);
neigh_confirm(n);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
}
void arp_init(void);
diff --git a/include/net/ndisc.h b/include/net/ndisc.h
index da7eec8669ec4..325a6fb65c896 100644
--- a/include/net/ndisc.h
+++ b/include/net/ndisc.h
@@ -395,11 +395,11 @@ static inline struct neighbour *__ipv6_neigh_lookup(struct net_device *dev, cons
{
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __ipv6_neigh_lookup_noref(dev, pkey);
if (n && !refcount_inc_not_zero(&n->refcnt))
n = NULL;
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return n;
}
@@ -409,10 +409,10 @@ static inline void __ipv6_confirm_neigh(struct net_device *dev,
{
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __ipv6_neigh_lookup_noref(dev, pkey);
neigh_confirm(n);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
}
static inline void __ipv6_confirm_neigh_stub(struct net_device *dev,
@@ -420,10 +420,10 @@ static inline void __ipv6_confirm_neigh_stub(struct net_device *dev,
{
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __ipv6_neigh_lookup_noref_stub(dev, pkey);
neigh_confirm(n);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
}
/* uses ipv6_stub and is meant for use outside of IPv6 core */
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index cd30aac9ec835..f6a8ecc6b1fa7 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -299,14 +299,14 @@ static inline struct neighbour *___neigh_lookup_noref(
const void *pkey,
struct net_device *dev)
{
- struct neigh_hash_table *nht = rcu_dereference_bh(tbl->nht);
+ struct neigh_hash_table *nht = rcu_dereference(tbl->nht);
struct neighbour *n;
u32 hash_val;
hash_val = hash(pkey, dev, nht->hash_rnd) >> (32 - nht->hash_shift);
- for (n = rcu_dereference_bh(nht->hash_buckets[hash_val]);
+ for (n = rcu_dereference(nht->hash_buckets[hash_val]);
n != NULL;
- n = rcu_dereference_bh(n->next)) {
+ n = rcu_dereference(n->next)) {
if (n->dev == dev && key_eq(n, pkey))
return n;
}
diff --git a/include/net/nexthop.h b/include/net/nexthop.h
index 28085b995ddcf..9fa291a046211 100644
--- a/include/net/nexthop.h
+++ b/include/net/nexthop.h
@@ -498,7 +498,7 @@ static inline struct fib6_nh *nexthop_fib6_nh(struct nexthop *nh)
}
/* Variant of nexthop_fib6_nh().
- * Caller should either hold rcu_read_lock_bh(), or RTNL.
+ * Caller should either hold rcu_read_lock(), or RTNL.
*/
static inline struct fib6_nh *nexthop_fib6_nh_bh(struct nexthop *nh)
{
@@ -507,13 +507,13 @@ static inline struct fib6_nh *nexthop_fib6_nh_bh(struct nexthop *nh)
if (nh->is_group) {
struct nh_group *nh_grp;
- nh_grp = rcu_dereference_bh_rtnl(nh->nh_grp);
+ nh_grp = rcu_dereference_rtnl(nh->nh_grp);
nh = nexthop_mpath_select(nh_grp, 0);
if (!nh)
return NULL;
}
- nhi = rcu_dereference_bh_rtnl(nh->nh_info);
+ nhi = rcu_dereference_rtnl(nh->nh_info);
if (nhi->family == AF_INET6)
return &nhi->fib6_nh;
diff --git a/net/core/filter.c b/net/core/filter.c
index d32c6bd4d579a..adc327f4af1e9 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -2197,7 +2197,7 @@ static int bpf_out_neigh_v6(struct net *net, struct sk_buff *skb,
return -ENOMEM;
}
- rcu_read_lock_bh();
+ rcu_read_lock();
if (!nh) {
dst = skb_dst(skb);
nexthop = rt6_nexthop(container_of(dst, struct rt6_info, dst),
@@ -2210,10 +2210,12 @@ static int bpf_out_neigh_v6(struct net *net, struct sk_buff *skb,
int ret;
sock_confirm_neigh(skb, neigh);
+ local_bh_disable();
dev_xmit_recursion_inc();
ret = neigh_output(neigh, skb, false);
dev_xmit_recursion_dec();
- rcu_read_unlock_bh();
+ local_bh_enable();
+ rcu_read_unlock();
return ret;
}
rcu_read_unlock_bh();
@@ -2295,7 +2297,7 @@ static int bpf_out_neigh_v4(struct net *net, struct sk_buff *skb,
return -ENOMEM;
}
- rcu_read_lock_bh();
+ rcu_read_lock();
if (!nh) {
struct dst_entry *dst = skb_dst(skb);
struct rtable *rt = container_of(dst, struct rtable, dst);
@@ -2307,7 +2309,7 @@ static int bpf_out_neigh_v4(struct net *net, struct sk_buff *skb,
} else if (nh->nh_family == AF_INET) {
neigh = ip_neigh_gw4(dev, nh->ipv4_nh);
} else {
- rcu_read_unlock_bh();
+ rcu_read_unlock();
goto out_drop;
}
@@ -2315,13 +2317,15 @@ static int bpf_out_neigh_v4(struct net *net, struct sk_buff *skb,
int ret;
sock_confirm_neigh(skb, neigh);
+ local_bh_disable();
dev_xmit_recursion_inc();
ret = neigh_output(neigh, skb, is_v6gw);
dev_xmit_recursion_dec();
- rcu_read_unlock_bh();
+ local_bh_enable();
+ rcu_read_unlock();
return ret;
}
- rcu_read_unlock_bh();
+ rcu_read_unlock();
out_drop:
kfree_skb(skb);
return -ENETDOWN;
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 51393079487ae..bafd72e5f5886 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -614,7 +614,7 @@ struct neighbour *neigh_lookup(struct neigh_table *tbl, const void *pkey,
NEIGH_CACHE_STAT_INC(tbl, lookups);
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __neigh_lookup_noref(tbl, pkey, dev);
if (n) {
if (!refcount_inc_not_zero(&n->refcnt))
@@ -622,7 +622,7 @@ struct neighbour *neigh_lookup(struct neigh_table *tbl, const void *pkey,
NEIGH_CACHE_STAT_INC(tbl, hits);
}
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return n;
}
EXPORT_SYMBOL(neigh_lookup);
@@ -2176,11 +2176,11 @@ static int neightbl_fill_info(struct sk_buff *skb, struct neigh_table *tbl,
.ndtc_proxy_qlen = tbl->proxy_queue.qlen,
};
- rcu_read_lock_bh();
- nht = rcu_dereference_bh(tbl->nht);
+ rcu_read_lock();
+ nht = rcu_dereference(tbl->nht);
ndc.ndtc_hash_rnd = nht->hash_rnd[0];
ndc.ndtc_hash_mask = ((1 << nht->hash_shift) - 1);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
if (nla_put(skb, NDTA_CONFIG, sizeof(ndc), &ndc))
goto nla_put_failure;
@@ -2695,15 +2695,15 @@ static int neigh_dump_table(struct neigh_table *tbl, struct sk_buff *skb,
if (filter->dev_idx || filter->master_idx)
flags |= NLM_F_DUMP_FILTERED;
- rcu_read_lock_bh();
- nht = rcu_dereference_bh(tbl->nht);
+ rcu_read_lock();
+ nht = rcu_dereference(tbl->nht);
for (h = s_h; h < (1 << nht->hash_shift); h++) {
if (h > s_h)
s_idx = 0;
- for (n = rcu_dereference_bh(nht->hash_buckets[h]), idx = 0;
+ for (n = rcu_dereference(nht->hash_buckets[h]), idx = 0;
n != NULL;
- n = rcu_dereference_bh(n->next)) {
+ n = rcu_dereference(n->next)) {
if (idx < s_idx || !net_eq(dev_net(n->dev), net))
goto next;
if (neigh_ifindex_filtered(n->dev, filter->dev_idx) ||
@@ -2722,7 +2722,7 @@ static int neigh_dump_table(struct neigh_table *tbl, struct sk_buff *skb,
}
rc = skb->len;
out:
- rcu_read_unlock_bh();
+ rcu_read_unlock();
cb->args[1] = h;
cb->args[2] = idx;
return rc;
@@ -3067,20 +3067,20 @@ void neigh_for_each(struct neigh_table *tbl, void (*cb)(struct neighbour *, void
int chain;
struct neigh_hash_table *nht;
- rcu_read_lock_bh();
- nht = rcu_dereference_bh(tbl->nht);
+ rcu_read_lock();
+ nht = rcu_dereference(tbl->nht);
- read_lock(&tbl->lock); /* avoid resizes */
+ read_lock_bh(&tbl->lock); /* avoid resizes */
for (chain = 0; chain < (1 << nht->hash_shift); chain++) {
struct neighbour *n;
- for (n = rcu_dereference_bh(nht->hash_buckets[chain]);
+ for (n = rcu_dereference(nht->hash_buckets[chain]);
n != NULL;
- n = rcu_dereference_bh(n->next))
+ n = rcu_dereference(n->next))
cb(n, cookie);
}
- read_unlock(&tbl->lock);
- rcu_read_unlock_bh();
+ read_unlock_bh(&tbl->lock);
+ rcu_read_unlock();
}
EXPORT_SYMBOL(neigh_for_each);
@@ -3130,7 +3130,7 @@ int neigh_xmit(int index, struct net_device *dev,
tbl = neigh_tables[index];
if (!tbl)
goto out;
- rcu_read_lock_bh();
+ rcu_read_lock();
if (index == NEIGH_ARP_TABLE) {
u32 key = *((u32 *)addr);
@@ -3142,11 +3142,11 @@ int neigh_xmit(int index, struct net_device *dev,
neigh = __neigh_create(tbl, addr, dev, false);
err = PTR_ERR(neigh);
if (IS_ERR(neigh)) {
- rcu_read_unlock_bh();
+ rcu_read_unlock();
goto out_kfree_skb;
}
err = neigh->output(neigh, skb);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
}
else if (index == NEIGH_LINK_TABLE) {
err = dev_hard_header(skb, dev, ntohs(skb->protocol),
@@ -3175,7 +3175,7 @@ static struct neighbour *neigh_get_first(struct seq_file *seq)
state->flags &= ~NEIGH_SEQ_IS_PNEIGH;
for (bucket = 0; bucket < (1 << nht->hash_shift); bucket++) {
- n = rcu_dereference_bh(nht->hash_buckets[bucket]);
+ n = rcu_dereference(nht->hash_buckets[bucket]);
while (n) {
if (!net_eq(dev_net(n->dev), net))
@@ -3193,7 +3193,7 @@ static struct neighbour *neigh_get_first(struct seq_file *seq)
if (READ_ONCE(n->nud_state) & ~NUD_NOARP)
break;
next:
- n = rcu_dereference_bh(n->next);
+ n = rcu_dereference(n->next);
}
if (n)
@@ -3217,7 +3217,7 @@ static struct neighbour *neigh_get_next(struct seq_file *seq,
if (v)
return n;
}
- n = rcu_dereference_bh(n->next);
+ n = rcu_dereference(n->next);
while (1) {
while (n) {
@@ -3235,7 +3235,7 @@ static struct neighbour *neigh_get_next(struct seq_file *seq,
if (READ_ONCE(n->nud_state) & ~NUD_NOARP)
break;
next:
- n = rcu_dereference_bh(n->next);
+ n = rcu_dereference(n->next);
}
if (n)
@@ -3244,7 +3244,7 @@ static struct neighbour *neigh_get_next(struct seq_file *seq,
if (++state->bucket >= (1 << nht->hash_shift))
break;
- n = rcu_dereference_bh(nht->hash_buckets[state->bucket]);
+ n = rcu_dereference(nht->hash_buckets[state->bucket]);
}
if (n && pos)
@@ -3346,7 +3346,7 @@ static void *neigh_get_idx_any(struct seq_file *seq, loff_t *pos)
void *neigh_seq_start(struct seq_file *seq, loff_t *pos, struct neigh_table *tbl, unsigned int neigh_seq_flags)
__acquires(tbl->lock)
- __acquires(rcu_bh)
+ __acquires(rcu)
{
struct neigh_seq_state *state = seq->private;
@@ -3354,9 +3354,9 @@ void *neigh_seq_start(struct seq_file *seq, loff_t *pos, struct neigh_table *tbl
state->bucket = 0;
state->flags = (neigh_seq_flags & ~NEIGH_SEQ_IS_PNEIGH);
- rcu_read_lock_bh();
- state->nht = rcu_dereference_bh(tbl->nht);
- read_lock(&tbl->lock);
+ rcu_read_lock();
+ state->nht = rcu_dereference(tbl->nht);
+ read_lock_bh(&tbl->lock);
return *pos ? neigh_get_idx_any(seq, pos) : SEQ_START_TOKEN;
}
@@ -3391,13 +3391,13 @@ EXPORT_SYMBOL(neigh_seq_next);
void neigh_seq_stop(struct seq_file *seq, void *v)
__releases(tbl->lock)
- __releases(rcu_bh)
+ __releases(rcu)
{
struct neigh_seq_state *state = seq->private;
struct neigh_table *tbl = state->tbl;
- read_unlock(&tbl->lock);
- rcu_read_unlock_bh();
+ read_unlock_bh(&tbl->lock);
+ rcu_read_unlock();
}
EXPORT_SYMBOL(neigh_seq_stop);
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index 158ad3c2662f5..eafa4a0335157 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -2194,7 +2194,7 @@ static bool fib_good_nh(const struct fib_nh *nh)
if (nh->fib_nh_scope == RT_SCOPE_LINK) {
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
if (likely(nh->fib_nh_gw_family == AF_INET))
n = __ipv4_neigh_lookup_noref(nh->fib_nh_dev,
@@ -2207,7 +2207,7 @@ static bool fib_good_nh(const struct fib_nh *nh)
if (n)
state = READ_ONCE(n->nud_state);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
}
return !!(state & NUD_VALID);
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 66908ce2dd116..493c679ea54f3 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -218,7 +218,7 @@ static int ip_finish_output2(struct net *net, struct sock *sk, struct sk_buff *s
return res;
}
- rcu_read_lock_bh();
+ rcu_read_lock();
neigh = ip_neigh_for_gw(rt, skb, &is_v6gw);
if (!IS_ERR(neigh)) {
int res;
@@ -226,10 +226,10 @@ static int ip_finish_output2(struct net *net, struct sock *sk, struct sk_buff *s
sock_confirm_neigh(skb, neigh);
/* if crossing protocols, can not use the cached header */
res = neigh_output(neigh, skb, is_v6gw);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return res;
}
- rcu_read_unlock_bh();
+ rcu_read_unlock();
net_dbg_ratelimited("%s: No header cache and no neighbour!\n",
__func__);
diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c
index d699a41c9d955..be5498f5dd319 100644
--- a/net/ipv4/nexthop.c
+++ b/net/ipv4/nexthop.c
@@ -1124,13 +1124,13 @@ static bool ipv6_good_nh(const struct fib6_nh *nh)
int state = NUD_REACHABLE;
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __ipv6_neigh_lookup_noref_stub(nh->fib_nh_dev, &nh->fib_nh_gw6);
if (n)
state = READ_ONCE(n->nud_state);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return !!(state & NUD_VALID);
}
@@ -1140,14 +1140,14 @@ static bool ipv4_good_nh(const struct fib_nh *nh)
int state = NUD_REACHABLE;
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __ipv4_neigh_lookup_noref(nh->fib_nh_dev,
(__force u32)nh->fib_nh_gw4);
if (n)
state = READ_ONCE(n->nud_state);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return !!(state & NUD_VALID);
}
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 8d838b0046900..608bd9f8dbc86 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -408,7 +408,7 @@ static struct neighbour *ipv4_neigh_lookup(const struct dst_entry *dst,
struct net_device *dev = dst->dev;
struct neighbour *n;
- rcu_read_lock_bh();
+ rcu_read_lock();
if (likely(rt->rt_gw_family == AF_INET)) {
n = ip_neigh_gw4(dev, rt->rt_gw4);
@@ -424,7 +424,7 @@ static struct neighbour *ipv4_neigh_lookup(const struct dst_entry *dst,
if (!IS_ERR(n) && !refcount_inc_not_zero(&n->refcnt))
n = NULL;
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return n;
}
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 96f4351b55a6f..c63ccd39fc552 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -1035,7 +1035,7 @@ static int ipv6_add_addr_hash(struct net_device *dev, struct inet6_ifaddr *ifa)
unsigned int hash = inet6_addr_hash(net, &ifa->addr);
int err = 0;
- spin_lock(&net->ipv6.addrconf_hash_lock);
+ spin_lock_bh(&net->ipv6.addrconf_hash_lock);
/* Ignore adding duplicate addresses on an interface */
if (ipv6_chk_same_addr(net, &ifa->addr, dev, hash)) {
@@ -1045,7 +1045,7 @@ static int ipv6_add_addr_hash(struct net_device *dev, struct inet6_ifaddr *ifa)
hlist_add_head_rcu(&ifa->addr_lst, &net->ipv6.inet6_addr_lst[hash]);
}
- spin_unlock(&net->ipv6.addrconf_hash_lock);
+ spin_unlock_bh(&net->ipv6.addrconf_hash_lock);
return err;
}
@@ -1140,15 +1140,15 @@ ipv6_add_addr(struct inet6_dev *idev, struct ifa6_config *cfg,
/* For caller */
refcount_set(&ifa->refcnt, 1);
- rcu_read_lock_bh();
+ rcu_read_lock();
err = ipv6_add_addr_hash(idev->dev, ifa);
if (err < 0) {
- rcu_read_unlock_bh();
+ rcu_read_unlock();
goto out;
}
- write_lock(&idev->lock);
+ write_lock_bh(&idev->lock);
/* Add to inet6_dev unicast addr list. */
ipv6_link_dev_addr(idev, ifa);
@@ -1159,9 +1159,9 @@ ipv6_add_addr(struct inet6_dev *idev, struct ifa6_config *cfg,
}
in6_ifa_hold(ifa);
- write_unlock(&idev->lock);
+ write_unlock_bh(&idev->lock);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
inet6addr_notifier_call_chain(NETDEV_UP, ifa);
out:
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 5bf15a530fe73..ce2c5e728745f 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -116,7 +116,7 @@ static int ip6_finish_output2(struct net *net, struct sock *sk, struct sk_buff *
return res;
}
- rcu_read_lock_bh();
+ rcu_read_lock();
nexthop = rt6_nexthop((struct rt6_info *)dst, daddr);
neigh = __ipv6_neigh_lookup_noref(dev, nexthop);
@@ -124,7 +124,7 @@ static int ip6_finish_output2(struct net *net, struct sock *sk, struct sk_buff *
if (unlikely(!neigh))
neigh = __neigh_create(&nd_tbl, nexthop, dev, false);
if (IS_ERR(neigh)) {
- rcu_read_unlock_bh();
+ rcu_read_unlock();
IP6_INC_STATS(net, idev, IPSTATS_MIB_OUTNOROUTES);
kfree_skb_reason(skb, SKB_DROP_REASON_NEIGH_CREATEFAIL);
return -EINVAL;
@@ -132,7 +132,7 @@ static int ip6_finish_output2(struct net *net, struct sock *sk, struct sk_buff *
}
sock_confirm_neigh(skb, neigh);
ret = neigh_output(neigh, skb, false);
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return ret;
}
@@ -1150,11 +1150,11 @@ static int ip6_dst_lookup_tail(struct net *net, const struct sock *sk,
* dst entry of the nexthop router
*/
rt = (struct rt6_info *) *dst;
- rcu_read_lock_bh();
+ rcu_read_lock();
n = __ipv6_neigh_lookup_noref(rt->dst.dev,
rt6_nexthop(rt, &fl6->daddr));
err = n && !(READ_ONCE(n->nud_state) & NUD_VALID) ? -EINVAL : 0;
- rcu_read_unlock_bh();
+ rcu_read_unlock();
if (err) {
struct inet6_ifaddr *ifp;
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 4f103e7c4ea25..0a9f854bfa50c 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -636,7 +636,7 @@ static void rt6_probe(struct fib6_nh *fib6_nh)
nh_gw = &fib6_nh->fib_nh_gw6;
dev = fib6_nh->fib_nh_dev;
- rcu_read_lock_bh();
+ rcu_read_lock();
last_probe = READ_ONCE(fib6_nh->last_probe);
idev = __in6_dev_get(dev);
neigh = __ipv6_neigh_lookup_noref(dev, nh_gw);
@@ -644,7 +644,7 @@ static void rt6_probe(struct fib6_nh *fib6_nh)
if (READ_ONCE(neigh->nud_state) & NUD_VALID)
goto out;
- write_lock(&neigh->lock);
+ write_lock_bh(&neigh->lock);
if (!(neigh->nud_state & NUD_VALID) &&
time_after(jiffies,
neigh->updated + idev->cnf.rtr_probe_interval)) {
@@ -652,7 +652,7 @@ static void rt6_probe(struct fib6_nh *fib6_nh)
if (work)
__neigh_set_probe_once(neigh);
}
- write_unlock(&neigh->lock);
+ write_unlock_bh(&neigh->lock);
} else if (time_after(jiffies, last_probe +
idev->cnf.rtr_probe_interval)) {
work = kmalloc(sizeof(*work), GFP_ATOMIC);
@@ -670,7 +670,7 @@ static void rt6_probe(struct fib6_nh *fib6_nh)
}
out:
- rcu_read_unlock_bh();
+ rcu_read_unlock();
}
#else
static inline void rt6_probe(struct fib6_nh *fib6_nh)
@@ -686,7 +686,7 @@ static enum rt6_nud_state rt6_check_neigh(const struct fib6_nh *fib6_nh)
enum rt6_nud_state ret = RT6_NUD_FAIL_HARD;
struct neighbour *neigh;
- rcu_read_lock_bh();
+ rcu_read_lock();
neigh = __ipv6_neigh_lookup_noref(fib6_nh->fib_nh_dev,
&fib6_nh->fib_nh_gw6);
if (neigh) {
@@ -704,7 +704,7 @@ static enum rt6_nud_state rt6_check_neigh(const struct fib6_nh *fib6_nh)
ret = IS_ENABLED(CONFIG_IPV6_ROUTER_PREF) ?
RT6_NUD_SUCCEED : RT6_NUD_FAIL_DO_RR;
}
- rcu_read_unlock_bh();
+ rcu_read_unlock();
return ret;
}
--
2.40.1
next prev parent reply other threads:[~2023-10-09 13:22 UTC|newest]
Thread overview: 184+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-09 12:59 [PATCH 6.1 000/162] 6.1.57-rc1 review Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 001/162] spi: zynqmp-gqspi: Convert to platform remove callback returning void Greg Kroah-Hartman
2023-10-09 15:49 ` Uwe Kleine-König
2023-10-09 18:06 ` Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 002/162] spi: zynqmp-gqspi: fix clock imbalance on probe failure Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 003/162] ALSA: hda/tas2781: Add tas2781 HDA driver Greg Kroah-Hartman
2023-10-09 13:20 ` Takashi Iwai
2023-10-09 12:59 ` [PATCH 6.1 004/162] ALSA: hda/realtek: Add quirk for HP Victus 16-d1xxx to enable mute LED Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 005/162] ALSA: hda/realtek: Add quirk for mute LEDs on HP ENVY x360 15-eu0xxx Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 006/162] ALSA: hda/realtek - ALC287 I2S speaker platform support Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 007/162] ALSA: hda/realtek - ALC287 Realtek " Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 008/162] ASoC: soc-utils: Export snd_soc_dai_is_dummy() symbol Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 009/162] ASoC: tegra: Fix redundant PLLA and PLLA_OUT0 updates Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 010/162] mptcp: rename timer related helper to less confusing names Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 011/162] mptcp: fix dangling connection hang-up Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 012/162] mptcp: annotate lockless accesses to sk->sk_err Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 013/162] mptcp: move __mptcp_error_report in protocol.c Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 014/162] mptcp: process pending subflow error on close Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 015/162] ata,scsi: do not issue START STOP UNIT on resume Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 016/162] scsi: sd: Differentiate system and runtime start/stop management Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 017/162] scsi: sd: Do not issue commands to suspended disks on shutdown Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.1 018/162] scsi: core: Improve type safety of scsi_rescan_device() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 019/162] scsi: Do not attempt to rescan suspended devices Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 020/162] ata: libata-scsi: Fix delayed scsi_rescan_device() execution Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 021/162] NFS: Cleanup unused rpc_clnt variable Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 022/162] NFS: rename nfs_client_kset to nfs_kset Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 023/162] NFSv4: Fix a state manager thread deadlock regression Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 024/162] mm/memory: add vm_normal_folio() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 025/162] mm/mempolicy: convert queue_pages_pmd() to queue_folios_pmd() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 026/162] mm/mempolicy: convert queue_pages_pte_range() to queue_folios_pte_range() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 027/162] mm/mempolicy: convert migrate_page_add() to migrate_folio_add() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 028/162] mm: mempolicy: keep VMA walk if both MPOL_MF_STRICT and MPOL_MF_MOVE are specified Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 029/162] mm/page_alloc: always remove pages from temporary list Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 030/162] mm/page_alloc: leave IRQs enabled for per-cpu page allocations Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 031/162] mm: page_alloc: fix CMA and HIGHATOMIC landing on the wrong buddy list Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 032/162] ring-buffer: remove obsolete comment for free_buffer_page() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 033/162] ring-buffer: Fix bytes info in per_cpu buffer stats Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 034/162] btrfs: use struct qstr instead of name and namelen pairs Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 035/162] btrfs: setup qstr from dentrys using fscrypt helper Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 036/162] btrfs: use struct fscrypt_str instead of struct qstr Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 037/162] Revert "NFSv4: Retry LOCK on OLD_STATEID during delegation return" Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 038/162] arm64: Avoid repeated AA64MMFR1_EL1 register read on pagefault path Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 039/162] net: add sysctl accept_ra_min_rtr_lft Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 040/162] net: change accept_ra_min_rtr_lft to affect all RA lifetimes Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 041/162] net: release reference to inet6_dev pointer Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 042/162] arm64: cpufeature: Fix CLRBHB and BC detection Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 043/162] drm/amd/display: Adjust the MST resume flow Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 044/162] iommu/arm-smmu-v3: Set TTL invalidation hint better Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 045/162] iommu/arm-smmu-v3: Avoid constructing invalid range commands Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 046/162] rbd: move rbd_dev_refresh() definition Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 047/162] rbd: decouple header read-in from updating rbd_dev->header Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 048/162] rbd: decouple parent info read-in from updating rbd_dev Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 049/162] rbd: take header_rwsem in rbd_dev_refresh() only when updating Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 050/162] block: fix use-after-free of q->q_usage_counter Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 051/162] hwmon: (nzxt-smart2) Add device id Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 052/162] hwmon: (nzxt-smart2) add another USB ID Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 053/162] i40e: fix the wrong PTP frequency calculation Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 054/162] scsi: zfcp: Fix a double put in zfcp_port_enqueue() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 055/162] iommu/vt-d: Avoid memory allocation in iommu_suspend() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 056/162] vringh: dont use vringh_kiov_advance() in vringh_iov_xfer() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 057/162] net: ethernet: mediatek: disable irq before schedule napi Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 058/162] mptcp: userspace pm allow creating id 0 subflow Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 059/162] qed/red_ll2: Fix undefined behavior bug in struct qed_ll2_info Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 060/162] Bluetooth: hci_codec: Fix leaking content of local_codecs Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 061/162] Bluetooth: hci_sync: Fix handling of HCI_QUIRK_STRICT_DUPLICATE_FILTER Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 062/162] wifi: mwifiex: Fix tlv_buf_left calculation Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 063/162] md/raid5: release batch_last before waiting for another stripe_head Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 064/162] PCI: qcom: Fix IPQ8074 enumeration Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 065/162] net: replace calls to sock->ops->connect() with kernel_connect() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 066/162] btrfs: reject unknown mount options early Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 067/162] net: prevent rewrite of msg_name in sock_sendmsg() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 068/162] drm/amd: Fix detection of _PR3 on the PCIe root port Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 069/162] drm/amd: Fix logic error in sienna_cichlid_update_pcie_parameters() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 070/162] arm64: Add Cortex-A520 CPU part definition Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 071/162] arm64: errata: Add Cortex-A520 speculative unprivileged load workaround Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 072/162] HID: sony: Fix a potential memory leak in sony_probe() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 073/162] ubi: Refuse attaching if mtds erasesize is 0 Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 074/162] erofs: fix memory leak of LZMA global compressed deduplication Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 075/162] wifi: iwlwifi: dbg_ini: fix structure packing Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 076/162] wifi: iwlwifi: mvm: Fix a memory corruption issue Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 077/162] wifi: cfg80211: hold wiphy lock in auto-disconnect Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.1 078/162] wifi: cfg80211: move wowlan disable under locks Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 079/162] wifi: cfg80211: add a work abstraction with special semantics Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 080/162] wifi: cfg80211: fix cqm_config access race Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 081/162] wifi: cfg80211: add missing kernel-doc for cqm_rssi_work Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 082/162] wifi: mwifiex: Fix oob check condition in mwifiex_process_rx_packet Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 083/162] leds: Drop BUG_ON check for LED_COLOR_ID_MULTI Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 084/162] bpf: Fix tr dereferencing Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 085/162] regulator: mt6358: Drop *_SSHUB regulators Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 086/162] regulator: mt6358: Use linear voltage helpers for single range regulators Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 087/162] regulator: mt6358: split ops for buck and linear range LDO regulators Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 088/162] Bluetooth: Delete unused hci_req_prepare_suspend() declaration Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 089/162] Bluetooth: ISO: Fix handling of listen for unicast Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 090/162] drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 091/162] wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 092/162] perf/x86/amd/core: Fix overflow reset on hotplug Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 093/162] regmap: rbtree: Fix wrong register marked as in-cache when creating new node Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 094/162] wifi: mac80211: fix potential key use-after-free Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 095/162] perf/x86/amd: Do not WARN() on every IRQ Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 096/162] iommu/mediatek: Fix share pgtable for iova over 4GB Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 097/162] regulator/core: regulator_register: set device->class earlier Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 098/162] ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 099/162] scsi: target: core: Fix deadlock due to recursive locking Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 100/162] ima: rework CONFIG_IMA dependency block Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 101/162] NFSv4: Fix a nfs4_state_manager() race Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 102/162] bpf: tcp_read_skb needs to pop skb regardless of seq Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 103/162] bpf, sockmap: Do not inc copied_seq when PEEK flag set Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 104/162] bpf, sockmap: Reject sk_msg egress redirects to non-TCP sockets Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 105/162] modpost: add missing else to the "of" check Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 106/162] net: fix possible store tearing in neigh_periodic_work() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 107/162] bpf: Add BPF_FIB_LOOKUP_SKIP_NEIGH for bpf_fib_lookup Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 108/162] neighbour: annotate lockless accesses to n->nud_state Greg Kroah-Hartman
2023-10-09 13:01 ` Greg Kroah-Hartman [this message]
2023-10-09 13:01 ` [PATCH 6.1 110/162] neighbour: fix data-races around n->output Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 111/162] ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 112/162] ptp: ocp: Fix error handling in ptp_ocp_device_init Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 113/162] net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 114/162] ipv6: tcp: add a missing nf_reset_ct() in 3WHS handling Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 115/162] net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 116/162] net: nfc: llcp: Add lock when modifying device list Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 117/162] net: ethernet: ti: am65-cpsw: Fix error code in am65_cpsw_nuss_init_tx_chns() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 118/162] ibmveth: Remove condition to recompute TCP header checksum Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 119/162] netfilter: handle the connecting collision properly in nf_conntrack_proto_sctp Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 120/162] selftests: netfilter: Test nf_tables audit logging Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 121/162] selftests: netfilter: Extend nft_audit.sh Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 122/162] netfilter: nf_tables: Deduplicate nft_register_obj audit logs Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 123/162] netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 124/162] ipv4: Set offload_failed flag in fibmatch results Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 125/162] net: stmmac: dwmac-stm32: fix resume on STM32 MCU Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 126/162] tipc: fix a potential deadlock on &tx->lock Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 127/162] tcp: fix quick-ack counting to count actual ACKs of new data Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 128/162] tcp: fix delayed ACKs for MSS boundary condition Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 129/162] sctp: update transport state when processing a dupcook packet Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 130/162] sctp: update hb timer immediately after users change hb_interval Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 131/162] netlink: split up copies in the ack construction Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 132/162] netlink: Fix potential skb memleak in netlink_ack Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 133/162] netlink: annotate data-races around sk->sk_err Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 134/162] HID: sony: remove duplicate NULL check before calling usb_free_urb() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 135/162] HID: intel-ish-hid: ipc: Disable and reenable ACPI GPE bit Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 136/162] intel_idle: add Emerald Rapids Xeon support Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 137/162] smb: use kernel_connect() and kernel_bind() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.1 138/162] parisc: Fix crash with nr_cpus=1 option Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 139/162] dm zoned: free dmz->ddev array in dmz_put_zoned_devices Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 140/162] RDMA/core: Require admin capabilities to set system parameters Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 141/162] of: dynamic: Fix potential memory leak in of_changeset_action() Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 142/162] IB/mlx4: Fix the size of a buffer in add_port_entries() Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 143/162] gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config() Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 144/162] gpio: pxa: disable pinctrl calls for MMP_GPIO Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 145/162] RDMA/cma: Initialize ib_sa_multicast structure to 0 when join Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 146/162] RDMA/cma: Fix truncation compilation warning in make_cma_ports Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 147/162] RDMA/uverbs: Fix typo of sizeof argument Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 148/162] RDMA/srp: Do not call scsi_done() from srp_abort() Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 149/162] RDMA/siw: Fix connection failure handling Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 150/162] RDMA/mlx5: Fix mutex unlocking on error flow for steering anchor creation Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 151/162] RDMA/mlx5: Fix NULL string error Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 152/162] ALSA: hda/realtek: Fix spelling mistake "powe" -> "power" Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 153/162] ALSA: hda/realtek - Fixed two speaker platform Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 154/162] x86/sev: Use the GHCB protocol when available for SNP CPUID requests Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 155/162] ksmbd: fix race condition between session lookup and expire Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 156/162] ksmbd: fix uaf in smb20_oplock_break_ack Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 157/162] parisc: Restore __ldcw_align for PA-RISC 2.0 processors Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 158/162] ipv6: remove nexthop_fib6_nh_bh() Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 159/162] vrf: Fix lockdep splat in output path Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 160/162] btrfs: fix an error handling path in btrfs_rename() Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 161/162] btrfs: fix fscrypt name leak after failure to join log transaction Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.1 162/162] netlink: remove the flex array from struct nlmsghdr Greg Kroah-Hartman
2023-10-09 18:44 ` [PATCH 6.1 000/162] 6.1.57-rc1 review SeongJae Park
2023-10-09 20:43 ` Naresh Kamboju
2023-10-10 16:51 ` Matthieu Baerts
2023-10-10 17:24 ` Eric Dumazet
2023-10-10 18:59 ` Greg Kroah-Hartman
2023-10-09 22:49 ` Shuah Khan
2023-10-09 23:23 ` Florian Fainelli
2023-10-10 5:53 ` Bagas Sanjaya
2023-10-10 8:10 ` Wang Yugui
2023-10-10 11:28 ` Greg Kroah-Hartman
2023-10-10 11:42 ` Wang Yugui
2023-10-10 18:42 ` Greg Kroah-Hartman
2023-10-10 9:51 ` unneeded btrfs changes -- " Pavel Machek
2023-10-10 16:15 ` Greg Kroah-Hartman
2023-10-10 9:59 ` Jon Hunter
2023-10-10 13:21 ` Takeshi Ogasawara
2023-10-10 18:19 ` Guenter Roeck
2023-10-11 9:40 ` Pavel Machek
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=20231009130125.936303131@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=edumazet@google.com \
--cc=kuba@kernel.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