Messages in this thread | | | Date | Mon, 21 Nov 2022 20:31:38 +0000 | Subject | Re: [PATCH v4 3/5] net/tcp: Disable TCP-MD5 static key on tcp_md5sig_info destruction | From | Dmitry Safonov <> |
| |
On 11/19/22 03:18, Jakub Kicinski wrote: > On Tue, 15 Nov 2022 21:19:03 +0000 Dmitry Safonov wrote: >> + if (!rcu_dereference_protected(tp->md5sig_info, lockdep_sock_is_held(sk))) { >> + if (tcp_md5sig_info_add(sk, sk_gfp_mask(sk, GFP_ATOMIC))) >> + return -ENOMEM; >> + >> + if (!static_key_fast_inc_not_negative(&tcp_md5_needed.key.key)) { >> + struct tcp_md5sig_info *md5sig = tp->md5sig_info; > > I don't think sparse will be able to deduce that ->md5sig_info access > is safe here, so could you wrap it up as well?
Sure, that sounds logical to do.
> Maybe it wouldn't be > the worst move to provide a sk_rcu_dereference() or rcu_dereference_sk() > or some such wrapper. > > More importantly tho - was the merging part for this patches discussed? > They don't apply to net-next.
They apply over linux-next as there's a change [1] in linux-tip/locking/core on which the patches set based.
Could the way forward be through linux-tip tree, or that might create net conflicts?
I'll send v5 with the trivial change to rcu_dereference_protected() mentioned above.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=locking/core&id=d0c006402e7941558e5283ae434e2847c7999378
Thanks, Dmitry
| |