Skip to content

Commit 9d6345e

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 44c1f44 commit 9d6345e

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
@@ -232,12 +232,20 @@ bpf_iter_mptcp_subflow_new(struct bpf_iter_mptcp_subflow *it,
232232
struct mptcp_sock *msk)
233233
{
234234
struct bpf_iter_mptcp_subflow_kern *kit = (void *)it;
235+
struct sock *sk = (struct sock *)msk;
236+
237+
BUILD_BUG_ON(sizeof(struct bpf_iter_mptcp_subflow_kern) !=
238+
sizeof(struct bpf_iter_mptcp_subflow));
239+
BUILD_BUG_ON(__alignof__(struct bpf_iter_mptcp_subflow_kern) !=
240+
__alignof__(struct bpf_iter_mptcp_subflow));
235241

236242
kit->msk = msk;
237243
if (!msk)
238244
return -EINVAL;
239245

240-
msk_owned_by_me(msk);
246+
if (!sock_owned_by_user_nocheck(sk) &&
247+
!spin_is_locked(&sk->sk_lock.slock))
248+
return -EINVAL;
241249

242250
kit->pos = &msk->conn_list;
243251
return 0;

0 commit comments

Comments
 (0)