From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, syzbot <syzkaller@googlegroups.com>,
"Dae R. Jeong" <threeearcat@gmail.com>,
Kuniyuki Iwashima <kuniyu@amazon.com>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 049/164] raw: Fix NULL deref in raw_get_next().
Date: Wed, 12 Apr 2023 10:32:51 +0200 [thread overview]
Message-ID: <20230412082838.930303345@linuxfoundation.org> (raw)
In-Reply-To: <20230412082836.695875037@linuxfoundation.org>
From: Kuniyuki Iwashima <kuniyu@amazon.com>
[ Upstream commit 0a78cf7264d29abeca098eae0b188a10aabc8a32 ]
Dae R. Jeong reported a NULL deref in raw_get_next() [0].
It seems that the repro was running these sequences in parallel so
that one thread was iterating on a socket that was being freed in
another netns.
unshare(0x40060200)
r0 = syz_open_procfs(0x0, &(0x7f0000002080)='net/raw\x00')
socket$inet_icmp_raw(0x2, 0x3, 0x1)
pread64(r0, &(0x7f0000000000)=""/10, 0xa, 0x10000000007f)
After commit 0daf07e52709 ("raw: convert raw sockets to RCU"), we
use RCU and hlist_nulls_for_each_entry() to iterate over SOCK_RAW
sockets. However, we should use spinlock for slow paths to avoid
the NULL deref.
Also, SOCK_RAW does not use SLAB_TYPESAFE_BY_RCU, and the slab object
is not reused during iteration in the grace period. In fact, the
lockless readers do not check the nulls marker with get_nulls_value().
So, SOCK_RAW should use hlist instead of hlist_nulls.
Instead of adding an unnecessary barrier by sk_nulls_for_each_rcu(),
let's convert hlist_nulls to hlist and use sk_for_each_rcu() for
fast paths and sk_for_each() and spinlock for /proc/net/raw.
[0]:
general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]
CPU: 2 PID: 20952 Comm: syz-executor.0 Not tainted 6.2.0-g048ec869bafd-dirty #7
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
RIP: 0010:read_pnet include/net/net_namespace.h:383 [inline]
RIP: 0010:sock_net include/net/sock.h:649 [inline]
RIP: 0010:raw_get_next net/ipv4/raw.c:974 [inline]
RIP: 0010:raw_get_idx net/ipv4/raw.c:986 [inline]
RIP: 0010:raw_seq_start+0x431/0x800 net/ipv4/raw.c:995
Code: ef e8 33 3d 94 f7 49 8b 6d 00 4c 89 ef e8 b7 65 5f f7 49 89 ed 49 83 c5 98 0f 84 9a 00 00 00 48 83 c5 c8 48 89 e8 48 c1 e8 03 <42> 80 3c 30 00 74 08 48 89 ef e8 00 3d 94 f7 4c 8b 7d 00 48 89 ef
RSP: 0018:ffffc9001154f9b0 EFLAGS: 00010206
RAX: 0000000000000005 RBX: 1ffff1100302c8fd RCX: 0000000000000000
RDX: 0000000000000028 RSI: ffffc9001154f988 RDI: ffffc9000f77a338
RBP: 0000000000000029 R08: ffffffff8a50ffb4 R09: fffffbfff24b6bd9
R10: fffffbfff24b6bd9 R11: 0000000000000000 R12: ffff88801db73b78
R13: fffffffffffffff9 R14: dffffc0000000000 R15: 0000000000000030
FS: 00007f843ae8e700(0000) GS:ffff888063700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055bb9614b35f CR3: 000000003c672000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
seq_read_iter+0x4c6/0x10f0 fs/seq_file.c:225
seq_read+0x224/0x320 fs/seq_file.c:162
pde_read fs/proc/inode.c:316 [inline]
proc_reg_read+0x23f/0x330 fs/proc/inode.c:328
vfs_read+0x31e/0xd30 fs/read_write.c:468
ksys_pread64 fs/read_write.c:665 [inline]
__do_sys_pread64 fs/read_write.c:675 [inline]
__se_sys_pread64 fs/read_write.c:672 [inline]
__x64_sys_pread64+0x1e9/0x280 fs/read_write.c:672
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x4e/0xa0 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x478d29
Code: f7 d8 64 89 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f843ae8dbe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000011
RAX: ffffffffffffffda RBX: 0000000000791408 RCX: 0000000000478d29
RDX: 000000000000000a RSI: 0000000020000000 RDI: 0000000000000003
RBP: 00000000f477909a R08: 0000000000000000 R09: 0000000000000000
R10: 000010000000007f R11: 0000000000000246 R12: 0000000000791740
R13: 0000000000791414 R14: 0000000000791408 R15: 00007ffc2eb48a50
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:read_pnet include/net/net_namespace.h:383 [inline]
RIP: 0010:sock_net include/net/sock.h:649 [inline]
RIP: 0010:raw_get_next net/ipv4/raw.c:974 [inline]
RIP: 0010:raw_get_idx net/ipv4/raw.c:986 [inline]
RIP: 0010:raw_seq_start+0x431/0x800 net/ipv4/raw.c:995
Code: ef e8 33 3d 94 f7 49 8b 6d 00 4c 89 ef e8 b7 65 5f f7 49 89 ed 49 83 c5 98 0f 84 9a 00 00 00 48 83 c5 c8 48 89 e8 48 c1 e8 03 <42> 80 3c 30 00 74 08 48 89 ef e8 00 3d 94 f7 4c 8b 7d 00 48 89 ef
RSP: 0018:ffffc9001154f9b0 EFLAGS: 00010206
RAX: 0000000000000005 RBX: 1ffff1100302c8fd RCX: 0000000000000000
RDX: 0000000000000028 RSI: ffffc9001154f988 RDI: ffffc9000f77a338
RBP: 0000000000000029 R08: ffffffff8a50ffb4 R09: fffffbfff24b6bd9
R10: fffffbfff24b6bd9 R11: 0000000000000000 R12: ffff88801db73b78
R13: fffffffffffffff9 R14: dffffc0000000000 R15: 0000000000000030
FS: 00007f843ae8e700(0000) GS:ffff888063700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f92ff166000 CR3: 000000003c672000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Fixes: 0daf07e52709 ("raw: convert raw sockets to RCU")
Reported-by: syzbot <syzkaller@googlegroups.com>
Reported-by: Dae R. Jeong <threeearcat@gmail.com>
Link: https://lore.kernel.org/netdev/ZCA2mGV_cmq7lIfV@dragonet/
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/net/raw.h | 4 ++--
net/ipv4/raw.c | 36 +++++++++++++++++++-----------------
net/ipv4/raw_diag.c | 10 ++++------
net/ipv6/raw.c | 10 ++++------
4 files changed, 29 insertions(+), 31 deletions(-)
diff --git a/include/net/raw.h b/include/net/raw.h
index 2c004c20ed996..3af5289fdead9 100644
--- a/include/net/raw.h
+++ b/include/net/raw.h
@@ -37,7 +37,7 @@ int raw_rcv(struct sock *, struct sk_buff *);
struct raw_hashinfo {
spinlock_t lock;
- struct hlist_nulls_head ht[RAW_HTABLE_SIZE] ____cacheline_aligned;
+ struct hlist_head ht[RAW_HTABLE_SIZE] ____cacheline_aligned;
};
static inline u32 raw_hashfunc(const struct net *net, u32 proto)
@@ -51,7 +51,7 @@ static inline void raw_hashinfo_init(struct raw_hashinfo *hashinfo)
spin_lock_init(&hashinfo->lock);
for (i = 0; i < RAW_HTABLE_SIZE; i++)
- INIT_HLIST_NULLS_HEAD(&hashinfo->ht[i], i);
+ INIT_HLIST_HEAD(&hashinfo->ht[i]);
}
#ifdef CONFIG_PROC_FS
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index 2a53a0bf29232..af03aa8a8e513 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -91,12 +91,12 @@ EXPORT_SYMBOL_GPL(raw_v4_hashinfo);
int raw_hash_sk(struct sock *sk)
{
struct raw_hashinfo *h = sk->sk_prot->h.raw_hash;
- struct hlist_nulls_head *hlist;
+ struct hlist_head *hlist;
hlist = &h->ht[raw_hashfunc(sock_net(sk), inet_sk(sk)->inet_num)];
spin_lock(&h->lock);
- __sk_nulls_add_node_rcu(sk, hlist);
+ sk_add_node_rcu(sk, hlist);
sock_set_flag(sk, SOCK_RCU_FREE);
spin_unlock(&h->lock);
sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
@@ -110,7 +110,7 @@ void raw_unhash_sk(struct sock *sk)
struct raw_hashinfo *h = sk->sk_prot->h.raw_hash;
spin_lock(&h->lock);
- if (__sk_nulls_del_node_init_rcu(sk))
+ if (sk_del_node_init_rcu(sk))
sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
spin_unlock(&h->lock);
}
@@ -163,16 +163,15 @@ static int icmp_filter(const struct sock *sk, const struct sk_buff *skb)
static int raw_v4_input(struct net *net, struct sk_buff *skb,
const struct iphdr *iph, int hash)
{
- struct hlist_nulls_head *hlist;
- struct hlist_nulls_node *hnode;
int sdif = inet_sdif(skb);
+ struct hlist_head *hlist;
int dif = inet_iif(skb);
int delivered = 0;
struct sock *sk;
hlist = &raw_v4_hashinfo.ht[hash];
rcu_read_lock();
- sk_nulls_for_each(sk, hnode, hlist) {
+ sk_for_each_rcu(sk, hlist) {
if (!raw_v4_match(net, sk, iph->protocol,
iph->saddr, iph->daddr, dif, sdif))
continue;
@@ -264,10 +263,9 @@ static void raw_err(struct sock *sk, struct sk_buff *skb, u32 info)
void raw_icmp_error(struct sk_buff *skb, int protocol, u32 info)
{
struct net *net = dev_net(skb->dev);
- struct hlist_nulls_head *hlist;
- struct hlist_nulls_node *hnode;
int dif = skb->dev->ifindex;
int sdif = inet_sdif(skb);
+ struct hlist_head *hlist;
const struct iphdr *iph;
struct sock *sk;
int hash;
@@ -276,7 +274,7 @@ void raw_icmp_error(struct sk_buff *skb, int protocol, u32 info)
hlist = &raw_v4_hashinfo.ht[hash];
rcu_read_lock();
- sk_nulls_for_each(sk, hnode, hlist) {
+ sk_for_each_rcu(sk, hlist) {
iph = (const struct iphdr *)skb->data;
if (!raw_v4_match(net, sk, iph->protocol,
iph->daddr, iph->saddr, dif, sdif))
@@ -948,14 +946,13 @@ static struct sock *raw_get_first(struct seq_file *seq, int bucket)
{
struct raw_hashinfo *h = pde_data(file_inode(seq->file));
struct raw_iter_state *state = raw_seq_private(seq);
- struct hlist_nulls_head *hlist;
- struct hlist_nulls_node *hnode;
+ struct hlist_head *hlist;
struct sock *sk;
for (state->bucket = bucket; state->bucket < RAW_HTABLE_SIZE;
++state->bucket) {
hlist = &h->ht[state->bucket];
- sk_nulls_for_each(sk, hnode, hlist) {
+ sk_for_each(sk, hlist) {
if (sock_net(sk) == seq_file_net(seq))
return sk;
}
@@ -968,7 +965,7 @@ static struct sock *raw_get_next(struct seq_file *seq, struct sock *sk)
struct raw_iter_state *state = raw_seq_private(seq);
do {
- sk = sk_nulls_next(sk);
+ sk = sk_next(sk);
} while (sk && sock_net(sk) != seq_file_net(seq));
if (!sk)
@@ -987,9 +984,12 @@ static struct sock *raw_get_idx(struct seq_file *seq, loff_t pos)
}
void *raw_seq_start(struct seq_file *seq, loff_t *pos)
- __acquires(RCU)
+ __acquires(&h->lock)
{
- rcu_read_lock();
+ struct raw_hashinfo *h = pde_data(file_inode(seq->file));
+
+ spin_lock(&h->lock);
+
return *pos ? raw_get_idx(seq, *pos - 1) : SEQ_START_TOKEN;
}
EXPORT_SYMBOL_GPL(raw_seq_start);
@@ -1008,9 +1008,11 @@ void *raw_seq_next(struct seq_file *seq, void *v, loff_t *pos)
EXPORT_SYMBOL_GPL(raw_seq_next);
void raw_seq_stop(struct seq_file *seq, void *v)
- __releases(RCU)
+ __releases(&h->lock)
{
- rcu_read_unlock();
+ struct raw_hashinfo *h = pde_data(file_inode(seq->file));
+
+ spin_unlock(&h->lock);
}
EXPORT_SYMBOL_GPL(raw_seq_stop);
diff --git a/net/ipv4/raw_diag.c b/net/ipv4/raw_diag.c
index 999321834b94a..da3591a66a169 100644
--- a/net/ipv4/raw_diag.c
+++ b/net/ipv4/raw_diag.c
@@ -57,8 +57,7 @@ static bool raw_lookup(struct net *net, struct sock *sk,
static struct sock *raw_sock_get(struct net *net, const struct inet_diag_req_v2 *r)
{
struct raw_hashinfo *hashinfo = raw_get_hashinfo(r);
- struct hlist_nulls_head *hlist;
- struct hlist_nulls_node *hnode;
+ struct hlist_head *hlist;
struct sock *sk;
int slot;
@@ -68,7 +67,7 @@ static struct sock *raw_sock_get(struct net *net, const struct inet_diag_req_v2
rcu_read_lock();
for (slot = 0; slot < RAW_HTABLE_SIZE; slot++) {
hlist = &hashinfo->ht[slot];
- sk_nulls_for_each(sk, hnode, hlist) {
+ sk_for_each_rcu(sk, hlist) {
if (raw_lookup(net, sk, r)) {
/*
* Grab it and keep until we fill
@@ -142,9 +141,8 @@ static void raw_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
struct raw_hashinfo *hashinfo = raw_get_hashinfo(r);
struct net *net = sock_net(skb->sk);
struct inet_diag_dump_data *cb_data;
- struct hlist_nulls_head *hlist;
- struct hlist_nulls_node *hnode;
int num, s_num, slot, s_slot;
+ struct hlist_head *hlist;
struct sock *sk = NULL;
struct nlattr *bc;
@@ -161,7 +159,7 @@ static void raw_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
num = 0;
hlist = &hashinfo->ht[slot];
- sk_nulls_for_each(sk, hnode, hlist) {
+ sk_for_each_rcu(sk, hlist) {
struct inet_sock *inet = inet_sk(sk);
if (!net_eq(sock_net(sk), net))
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 350fb81eda143..9ee1506e23ab1 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -141,10 +141,9 @@ EXPORT_SYMBOL(rawv6_mh_filter_unregister);
static bool ipv6_raw_deliver(struct sk_buff *skb, int nexthdr)
{
struct net *net = dev_net(skb->dev);
- struct hlist_nulls_head *hlist;
- struct hlist_nulls_node *hnode;
const struct in6_addr *saddr;
const struct in6_addr *daddr;
+ struct hlist_head *hlist;
struct sock *sk;
bool delivered = false;
__u8 hash;
@@ -155,7 +154,7 @@ static bool ipv6_raw_deliver(struct sk_buff *skb, int nexthdr)
hash = raw_hashfunc(net, nexthdr);
hlist = &raw_v6_hashinfo.ht[hash];
rcu_read_lock();
- sk_nulls_for_each(sk, hnode, hlist) {
+ sk_for_each_rcu(sk, hlist) {
int filtered;
if (!raw_v6_match(net, sk, nexthdr, daddr, saddr,
@@ -333,15 +332,14 @@ void raw6_icmp_error(struct sk_buff *skb, int nexthdr,
u8 type, u8 code, int inner_offset, __be32 info)
{
struct net *net = dev_net(skb->dev);
- struct hlist_nulls_head *hlist;
- struct hlist_nulls_node *hnode;
+ struct hlist_head *hlist;
struct sock *sk;
int hash;
hash = raw_hashfunc(net, nexthdr);
hlist = &raw_v6_hashinfo.ht[hash];
rcu_read_lock();
- sk_nulls_for_each(sk, hnode, hlist) {
+ sk_for_each_rcu(sk, hlist) {
/* Note: ipv6_hdr(skb) != skb->data */
const struct ipv6hdr *ip6h = (const struct ipv6hdr *)skb->data;
--
2.39.2
next prev parent reply other threads:[~2023-04-12 8:44 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-12 8:32 [PATCH 6.1 000/164] 6.1.24-rc1 review Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 001/164] dm cache: Add some documentation to dm-cache-background-tracker.h Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 002/164] dm integrity: Remove bi_sector thats only used by commented debug code Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 003/164] dm: change "unsigned" to "unsigned int" Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 004/164] dm: fix improper splitting for abnormal bios Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 005/164] KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 006/164] KVM: arm64: PMU: Distinguish between 64bit counter and 64bit overflow Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 007/164] KVM: arm64: PMU: Sanitise PMCR_EL0.LP on first vcpu run Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 008/164] KVM: arm64: PMU: Dont save PMCR_EL0.{C,P} for the vCPU Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 009/164] gpio: GPIO_REGMAP: select REGMAP instead of depending on it Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 010/164] Drivers: vmbus: Check for channel allocation before looking up relids Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 011/164] ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data() Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 012/164] pwm: Make .get_state() callback return an error code Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 013/164] pwm: hibvt: Explicitly set .polarity in .get_state() Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 014/164] pwm: cros-ec: " Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 015/164] pwm: iqs620a: " Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 016/164] pwm: sprd: " Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 017/164] pwm: meson: " Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 018/164] ASoC: codecs: lpass: fix the order or clks turn off during suspend Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 019/164] KVM: s390: pv: fix external interruption loop not always detected Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 020/164] wifi: mac80211: fix the size calculation of ieee80211_ie_len_eht_cap() Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 021/164] wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 022/164] net: qrtr: Fix a refcount bug in qrtr_recvmsg() Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 023/164] net: phylink: add phylink_expects_phy() method Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 024/164] net: stmmac: check if MAC needs to attach to a PHY Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 025/164] net: stmmac: remove redundant fixup to support fixed-link mode Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 026/164] l2tp: generate correct module alias strings Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 027/164] wifi: brcmfmac: Fix SDIO suspend/resume regression Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 028/164] NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 029/164] nfsd: call op_release, even when op_func returns an error Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 030/164] icmp: guard against too small mtu Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 031/164] ALSA: hda/hdmi: Preserve the previous PCM device upon re-enablement Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 032/164] net: dont let netpoll invoke NAPI if in xmit context Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 033/164] net: dsa: mv88e6xxx: Reset mv88e6393x force WD event bit Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 034/164] sctp: check send stream number after wait_for_sndbuf Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 035/164] net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 036/164] ipv6: Fix an uninit variable access bug in __ip6_make_skb() Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 037/164] platform/x86: think-lmi: Fix memory leak when showing current settings Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 038/164] platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 039/164] platform/x86: think-lmi: Clean up display of current_value on Thinkstation Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 040/164] gpio: davinci: Do not clear the bank intr enable bit in save_context Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 041/164] gpio: davinci: Add irq chip flag to skip set wake Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 042/164] net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 043/164] net: stmmac: fix up RX flow hash indirection table when setting channels Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 044/164] sunrpc: only free unix grouplist after RCU settles Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 045/164] NFSD: callback request does not use correct credential for AUTH_SYS Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 046/164] ice: fix wrong fallback logic for FDIR Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 047/164] ice: Reset FDIR counter in FDIR init stage Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 048/164] raw: use net_hash_mix() in hash function Greg Kroah-Hartman
2023-04-12 8:32 ` Greg Kroah-Hartman [this message]
2023-04-12 8:32 ` [PATCH 6.1 050/164] ping: Fix potentail NULL deref for /proc/net/icmp Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 051/164] ethtool: reset #lanes when lanes is omitted Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 052/164] netlink: annotate lockless accesses to nlk->max_recvmsg_len Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 053/164] gve: Secure enough bytes in the first TX desc for all TCP pkts Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 054/164] arm64: compat: Work around uninitialized variable warning Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 055/164] net: stmmac: check fwnode for phy device before scanning for phy Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 056/164] cxl/pci: Fix CDAT retrieval on big endian Greg Kroah-Hartman
2023-04-12 8:32 ` [PATCH 6.1 057/164] cxl/pci: Handle truncated CDAT header Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 058/164] cxl/pci: Handle truncated CDAT entries Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 059/164] cxl/pci: Handle excessive CDAT length Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 060/164] PCI/DOE: Silence WARN splat with CONFIG_DEBUG_OBJECTS=y Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 061/164] PCI/DOE: Fix memory leak " Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 062/164] usb: xhci: tegra: fix sleep in atomic call Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 063/164] xhci: Free the command allocated for setting LPM if we return early Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 064/164] xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 065/164] usb: cdnsp: Fixes error: uninitialized symbol len Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 066/164] usb: dwc3: pci: add support for the Intel Meteor Lake-S Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 067/164] USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 068/164] usb: typec: altmodes/displayport: Fix configure initial pin assignment Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 069/164] USB: serial: option: add Telit FE990 compositions Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 070/164] USB: serial: option: add Quectel RM500U-CN modem Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 071/164] drivers: iio: adc: ltc2497: fix LSB shift Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 072/164] iio: adis16480: select CONFIG_CRC32 Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 073/164] iio: adc: qcom-spmi-adc5: Fix the channel name Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 074/164] iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 075/164] iio: dac: cio-dac: Fix max DAC write value check for 12-bit Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 076/164] iio: buffer: correctly return bytes written in output buffers Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 077/164] iio: buffer: make sure O_NONBLOCK is respected Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 078/164] iio: light: cm32181: Unregister second I2C client if present Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 079/164] tty: serial: sh-sci: Fix transmit end interrupt handler Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 080/164] tty: serial: sh-sci: Fix Rx on RZ/G2L SCI Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 081/164] tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 082/164] nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread() Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 083/164] nilfs2: fix sysfs interface lifetime Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 084/164] dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 085/164] serial: 8250: Prevent starting up DMA Rx on THRI interrupt Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 086/164] ksmbd: do not call kvmalloc() with __GFP_NORETRY | __GFP_NO_WARN Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 087/164] ksmbd: fix slab-out-of-bounds in init_smb2_rsp_hdr Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 088/164] ALSA: hda/realtek: Add quirk for Clevo X370SNW Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 089/164] ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 090/164] x86/acpi/boot: Correct acpi_is_processor_usable() check Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 091/164] x86/ACPI/boot: Use FADT version to check support for online capable Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 092/164] KVM: x86: Clear "has_error_code", not "error_code", for RM exception injection Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 093/164] KVM: nVMX: Do not report error code when synthesizing VM-Exit from Real Mode Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 094/164] mm: kfence: fix PG_slab and memcg_data clearing Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 095/164] mm: kfence: fix handling discontiguous page Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 096/164] coresight: etm4x: Do not access TRCIDR1 for identification Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 097/164] coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 098/164] counter: 104-quad-8: Fix race condition between FLAG and CNTR reads Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 099/164] counter: 104-quad-8: Fix Synapse action reported for Index signals Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 100/164] blk-mq: directly poll requests Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 101/164] iio: adc: ad7791: fix IRQ flags Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 102/164] io_uring: fix return value when removing provided buffers Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 103/164] io_uring: fix memory leak " Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 104/164] scsi: qla2xxx: Fix memory leak in qla2x00_probe_one() Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 105/164] scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param() Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 106/164] nvme: fix discard support without oncs Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 107/164] cifs: sanitize paths in cifs_update_super_prepath Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 108/164] block: ublk: make sure that block size is set correctly Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 109/164] block: dont set GD_NEED_PART_SCAN if scan partition failed Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 110/164] perf/core: Fix the same task check in perf_event_set_output Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 111/164] ftrace: Mark get_lock_parent_ip() __always_inline Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 112/164] ftrace: Fix issue that direct->addr not restored in modify_ftrace_direct() Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 113/164] fs: drop peer group ids under namespace lock Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 114/164] can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 115/164] can: isotp: fix race between isotp_sendsmg() and isotp_release() Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 116/164] can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events Greg Kroah-Hartman
2023-04-12 8:33 ` [PATCH 6.1 117/164] can: isotp: isotp_recvmsg(): use sock_recv_cmsgs() to get SOCK_RXQ_OVFL infos Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 118/164] ACPI: video: Add auto_detect arg to __acpi_video_get_backlight_type() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 119/164] ACPI: video: Make acpi_backlight=video work independent from GPU driver Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 120/164] ACPI: video: Add acpi_backlight=video quirk for Apple iMac14,1 and iMac14,2 Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 121/164] ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530 Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 122/164] net: stmmac: Add queue reset into stmmac_xdp_open() function Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 123/164] tracing/synthetic: Fix races on freeing last_cmd Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 124/164] tracing/timerlat: Notify new max thread latency Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 125/164] tracing/osnoise: Fix notify new tracing_max_latency Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 126/164] tracing: Free error logs of tracing instances Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 127/164] ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 128/164] tracing/synthetic: Make lastcmd_mutex static Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 129/164] zsmalloc: document freeable stats Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 130/164] mm: vmalloc: avoid warn_alloc noise caused by fatal signal Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 131/164] wifi: mt76: ignore key disable commands Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 132/164] ublk: read any SQE values upfront Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 133/164] drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 134/164] drm/nouveau/disp: Support more modes by checking with lower bpc Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 135/164] drm/i915: Fix context runtime accounting Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 136/164] drm/i915: fix race condition UAF in i915_perf_add_config_ioctl Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 137/164] ring-buffer: Fix race while reader and writer are on the same page Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 138/164] mm/swap: fix swap_info_struct race between swapoff and get_swap_pages() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 139/164] mm/hugetlb: fix uffd wr-protection for CoW optimization path Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 140/164] maple_tree: fix get wrong data_end in mtree_lookup_walk() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 141/164] maple_tree: fix a potential concurrency bug in RCU mode Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 142/164] blk-throttle: Fix that bps of child could exceed bps limited in parent Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 143/164] drm/amd/display: Clear MST topology if it fails to resume Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 144/164] drm/amdgpu: for S0ix, skip SDMA 5.x+ suspend/resume Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 145/164] drm/amdgpu: skip psp suspend for IMU enabled ASICs mode2 reset Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 146/164] drm/display/dp_mst: Handle old/new payload states in drm_dp_remove_payload() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 147/164] drm/i915/dp_mst: Fix payload removal during output disabling Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 148/164] drm/bridge: lt9611: Fix PLL being unable to lock Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 149/164] drm/i915: Use _MMIO_PIPE() for SKL_BOTTOM_COLOR Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 150/164] drm/i915: Split icl_color_commit_noarm() from skl_color_commit_noarm() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 151/164] mm: take a page reference when removing device exclusive entries Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 152/164] maple_tree: remove GFP_ZERO from kmem_cache_alloc() and kmem_cache_alloc_bulk() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 153/164] maple_tree: fix potential rcu issue Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 154/164] maple_tree: reduce user error potential Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 155/164] maple_tree: fix handle of invalidated state in mas_wr_store_setup() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 156/164] maple_tree: fix mas_prev() and mas_find() state handling Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 157/164] maple_tree: be more cautious about dead nodes Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 158/164] maple_tree: refine ma_state init from mas_start() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 159/164] maple_tree: detect dead nodes in mas_start() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 160/164] maple_tree: fix freeing of nodes in rcu mode Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 161/164] maple_tree: remove extra smp_wmb() from mas_dead_leaves() Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 162/164] maple_tree: add smp_rmb() to dead node detection Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 163/164] maple_tree: add RCU lock checking to rcu callback functions Greg Kroah-Hartman
2023-04-12 8:34 ` [PATCH 6.1 164/164] mm: enable maple tree RCU mode by default Greg Kroah-Hartman
2023-04-12 12:52 ` [PATCH 6.1 000/164] 6.1.24-rc1 review Conor Dooley
2023-04-12 14:54 ` Markus Reichelt
2023-04-12 18:06 ` Florian Fainelli
2023-04-12 19:39 ` Shuah Khan
2023-04-12 21:38 ` Guenter Roeck
2023-04-13 2:03 ` Bagas Sanjaya
2023-04-13 2:17 ` Slade Watkins
2023-04-13 9:30 ` Naresh Kamboju
2023-04-13 12:16 ` Ron Economos
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=20230412082838.930303345@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=kuniyu@amazon.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=syzkaller@googlegroups.com \
--cc=threeearcat@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox