All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hawkins Jiawei <yin31149@gmail.com>
To: syzbot+5f26f85569bd179c18ce@syzkaller.appspotmail.com
Cc: paskripkin@gmail.com, skhan@linuxfoundation.org,
	linux-kernel-mentees@lists.linuxfoundation.org,
	18801353760@163.com, Hawkins Jiawei <yin31149@gmail.com>,
	bpf@vger.kernel.org
Subject: [PATCH net v5 0/2] net: enhancements to sk_user_data field
Date: Fri,  5 Aug 2022 15:36:48 +0800	[thread overview]
Message-ID: <cover.1659676823.git.yin31149@gmail.com> (raw)
In-Reply-To: <00000000000026328205e08cdbeb@google.com>

This patchset fixes refcount bug by adding SK_USER_DATA_PSOCK flag bit in
sk_user_data field. The bug cause following info:

WARNING: CPU: 1 PID: 3605 at lib/refcount.c:19 refcount_warn_saturate+0xf4/0x1e0 lib/refcount.c:19
Modules linked in:
CPU: 1 PID: 3605 Comm: syz-executor208 Not tainted 5.18.0-syzkaller-03023-g7e062cda7d90 #0
 <TASK>
 __refcount_add_not_zero include/linux/refcount.h:163 [inline]
 __refcount_inc_not_zero include/linux/refcount.h:227 [inline]
 refcount_inc_not_zero include/linux/refcount.h:245 [inline]
 sk_psock_get+0x3bc/0x410 include/linux/skmsg.h:439
 tls_data_ready+0x6d/0x1b0 net/tls/tls_sw.c:2091
 tcp_data_ready+0x106/0x520 net/ipv4/tcp_input.c:4983
 tcp_data_queue+0x25f2/0x4c90 net/ipv4/tcp_input.c:5057
 tcp_rcv_state_process+0x1774/0x4e80 net/ipv4/tcp_input.c:6659
 tcp_v4_do_rcv+0x339/0x980 net/ipv4/tcp_ipv4.c:1682
 sk_backlog_rcv include/net/sock.h:1061 [inline]
 __release_sock+0x134/0x3b0 net/core/sock.c:2849
 release_sock+0x54/0x1b0 net/core/sock.c:3404
 inet_shutdown+0x1e0/0x430 net/ipv4/af_inet.c:909
 __sys_shutdown_sock net/socket.c:2331 [inline]
 __sys_shutdown_sock net/socket.c:2325 [inline]
 __sys_shutdown+0xf1/0x1b0 net/socket.c:2343
 __do_sys_shutdown net/socket.c:2351 [inline]
 __se_sys_shutdown net/socket.c:2349 [inline]
 __x64_sys_shutdown+0x50/0x70 net/socket.c:2349
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x46/0xb0
 </TASK>

To improve code maintainability, this patchset refactors sk_user_data
flags code to be more generic.

Hawkins Jiawei (2):
  net: fix refcount bug in sk_psock_get (2)
  net: refactor bpf_sk_reuseport_detach()

 include/linux/skmsg.h        |  3 +-
 include/net/sock.h           | 68 +++++++++++++++++++++++++-----------
 kernel/bpf/reuseport_array.c |  9 ++---
 net/core/skmsg.c             |  4 ++-
 4 files changed, 56 insertions(+), 28 deletions(-)

-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Hawkins Jiawei <yin31149@gmail.com>
To: syzbot+5f26f85569bd179c18ce@syzkaller.appspotmail.com
Cc: paskripkin@gmail.com, Hawkins Jiawei <yin31149@gmail.com>,
	bpf@vger.kernel.org,
	linux-kernel-mentees@lists.linuxfoundation.org
Subject: [PATCH net v5 0/2] net: enhancements to sk_user_data field
Date: Fri,  5 Aug 2022 15:36:48 +0800	[thread overview]
Message-ID: <cover.1659676823.git.yin31149@gmail.com> (raw)
In-Reply-To: <00000000000026328205e08cdbeb@google.com>

This patchset fixes refcount bug by adding SK_USER_DATA_PSOCK flag bit in
sk_user_data field. The bug cause following info:

WARNING: CPU: 1 PID: 3605 at lib/refcount.c:19 refcount_warn_saturate+0xf4/0x1e0 lib/refcount.c:19
Modules linked in:
CPU: 1 PID: 3605 Comm: syz-executor208 Not tainted 5.18.0-syzkaller-03023-g7e062cda7d90 #0
 <TASK>
 __refcount_add_not_zero include/linux/refcount.h:163 [inline]
 __refcount_inc_not_zero include/linux/refcount.h:227 [inline]
 refcount_inc_not_zero include/linux/refcount.h:245 [inline]
 sk_psock_get+0x3bc/0x410 include/linux/skmsg.h:439
 tls_data_ready+0x6d/0x1b0 net/tls/tls_sw.c:2091
 tcp_data_ready+0x106/0x520 net/ipv4/tcp_input.c:4983
 tcp_data_queue+0x25f2/0x4c90 net/ipv4/tcp_input.c:5057
 tcp_rcv_state_process+0x1774/0x4e80 net/ipv4/tcp_input.c:6659
 tcp_v4_do_rcv+0x339/0x980 net/ipv4/tcp_ipv4.c:1682
 sk_backlog_rcv include/net/sock.h:1061 [inline]
 __release_sock+0x134/0x3b0 net/core/sock.c:2849
 release_sock+0x54/0x1b0 net/core/sock.c:3404
 inet_shutdown+0x1e0/0x430 net/ipv4/af_inet.c:909
 __sys_shutdown_sock net/socket.c:2331 [inline]
 __sys_shutdown_sock net/socket.c:2325 [inline]
 __sys_shutdown+0xf1/0x1b0 net/socket.c:2343
 __do_sys_shutdown net/socket.c:2351 [inline]
 __se_sys_shutdown net/socket.c:2349 [inline]
 __x64_sys_shutdown+0x50/0x70 net/socket.c:2349
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x46/0xb0
 </TASK>

To improve code maintainability, this patchset refactors sk_user_data
flags code to be more generic.

Hawkins Jiawei (2):
  net: fix refcount bug in sk_psock_get (2)
  net: refactor bpf_sk_reuseport_detach()

 include/linux/skmsg.h        |  3 +-
 include/net/sock.h           | 68 +++++++++++++++++++++++++-----------
 kernel/bpf/reuseport_array.c |  9 ++---
 net/core/skmsg.c             |  4 ++-
 4 files changed, 56 insertions(+), 28 deletions(-)

-- 
2.25.1

_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

  parent reply	other threads:[~2022-08-05  7:37 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-03 15:34 [syzbot] WARNING: refcount bug in sk_psock_get (2) syzbot
2022-07-09  2:46 ` [PATCH] smc: fix " Hawkins Jiawei
2022-07-09  2:46   ` Hawkins Jiawei
2022-07-09  3:06   ` Jakub Kicinski
2022-07-09  3:06     ` Jakub Kicinski
2022-07-09  8:36     ` Hawkins Jiawei
2022-07-09  8:36       ` Hawkins Jiawei
2022-07-11  7:21   ` Wen Gu
2022-07-11  7:21     ` Wen Gu
2022-07-13  3:10     ` Hawkins Jiawei
2022-07-13  3:10       ` Hawkins Jiawei
2022-07-13  3:33       ` Jakub Kicinski
2022-07-13  3:33         ` Jakub Kicinski
2022-07-13  3:53         ` Hawkins Jiawei
2022-07-13  3:53           ` Hawkins Jiawei
2022-07-12  9:47   ` Dan Carpenter
2022-07-12  9:47     ` Dan Carpenter
2022-07-13  3:35     ` Hawkins Jiawei
2022-07-13  3:35       ` Hawkins Jiawei
2022-07-30  8:56 ` [PATCH v2] net/smc: " Hawkins Jiawei
2022-07-30  8:56   ` Hawkins Jiawei
2022-08-01  9:09   ` Jakub Sitnicki
2022-08-01  9:09     ` Jakub Sitnicki via Linux-kernel-mentees
2022-08-02 14:32     ` Hawkins Jiawei
2022-08-02 14:32       ` Hawkins Jiawei
2022-08-03  8:03 ` [PATCH v3] " Hawkins Jiawei
2022-08-03  8:03   ` Hawkins Jiawei
2022-08-03 11:27   ` Wen Gu
2022-08-03 11:27     ` Wen Gu
2022-08-03 12:07     ` Hawkins Jiawei
2022-08-03 12:07       ` Hawkins Jiawei
2022-08-03 12:41 ` [PATCH v4] net: " Hawkins Jiawei
2022-08-03 12:41   ` Hawkins Jiawei
2022-08-03 15:14   ` Jakub Kicinski
2022-08-03 15:14     ` Jakub Kicinski
2022-08-03 15:37     ` Martin KaFai Lau
2022-08-03 15:37       ` Martin KaFai Lau via Linux-kernel-mentees
2022-08-04  3:05       ` Hawkins Jiawei
2022-08-04  3:05         ` Hawkins Jiawei
2022-08-04 15:29         ` Jakub Kicinski
2022-08-04 15:29           ` Jakub Kicinski
2022-08-05  6:28           ` Hawkins Jiawei
2022-08-05  6:28             ` Hawkins Jiawei
2022-08-05  7:36 ` Hawkins Jiawei [this message]
2022-08-05  7:36   ` [PATCH net v5 0/2] net: enhancements to sk_user_data field Hawkins Jiawei
2022-08-05  7:48   ` [PATCH net v5 1/2] net: fix refcount bug in sk_psock_get (2) Hawkins Jiawei
2022-08-05  7:48     ` Hawkins Jiawei
2022-08-05  7:48   ` [PATCH net v5 2/2] net: refactor bpf_sk_reuseport_detach() Hawkins Jiawei
2022-08-05  7:48     ` Hawkins Jiawei
2022-08-15 18:24     ` Martin KaFai Lau via Linux-kernel-mentees
2022-08-15 18:24       ` Martin KaFai Lau
2022-08-05 10:29   ` [PATCH net v5 0/2] net: enhancements to sk_user_data field Jakub Sitnicki
2022-08-05 10:29     ` Jakub Sitnicki via Linux-kernel-mentees
2022-08-05 15:36     ` Hawkins Jiawei
2022-08-05 15:36       ` Hawkins Jiawei
2022-08-11  5:30   ` patchwork-bot+netdevbpf
2022-08-11  5:30     ` patchwork-bot+netdevbpf

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=cover.1659676823.git.yin31149@gmail.com \
    --to=yin31149@gmail.com \
    --cc=18801353760@163.com \
    --cc=bpf@vger.kernel.org \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=paskripkin@gmail.com \
    --cc=skhan@linuxfoundation.org \
    --cc=syzbot+5f26f85569bd179c18ce@syzkaller.appspotmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.