Skip to content

Commit 53c7e22

Browse files
Geliang Tangintel-lab-lkp
authored andcommitted
Squash to "bpf: Add mptcp_subflow bpf_iter"
Add "sizeof" and "alignof" checks. Address Martin's comments in v1: - bpf_iter_mptcp_subflow_new returns -EINVAL when msk socket lock isn't held. Signed-off-by: Geliang Tang <[email protected]>
1 parent 90fbb76 commit 53c7e22

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

net/mptcp/bpf.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,12 +237,20 @@ bpf_iter_mptcp_subflow_new(struct bpf_iter_mptcp_subflow *it,
237237
struct mptcp_sock *msk)
238238
{
239239
struct bpf_iter_mptcp_subflow_kern *kit = (void *)it;
240+
struct sock *sk = (struct sock *)msk;
241+
242+
BUILD_BUG_ON(sizeof(struct bpf_iter_mptcp_subflow_kern) >
243+
sizeof(struct bpf_iter_mptcp_subflow));
244+
BUILD_BUG_ON(__alignof__(struct bpf_iter_mptcp_subflow_kern) !=
245+
__alignof__(struct bpf_iter_mptcp_subflow));
240246

241247
kit->msk = msk;
242248
if (!msk)
243249
return -EINVAL;
244250

245-
msk_owned_by_me(msk);
251+
if (!sock_owned_by_user_nocheck(sk) &&
252+
!spin_is_locked(&sk->sk_lock.slock))
253+
return -EINVAL;
246254

247255
kit->pos = &msk->conn_list;
248256
return 0;

0 commit comments

Comments
 (0)