Messages in this thread Patch in this message | | | Date | Tue, 12 May 2020 14:36:57 -0000 | From | "tip-bot2 for Will Deacon" <> | Subject | [tip: locking/kcsan] net: tls: Avoid assigning 'const' pointer to non-const pointer |
| |
The following commit has been merged into the locking/kcsan branch of tip:
Commit-ID: 268c779f206f105c12fa82499fbbf960b256750f Gitweb: https://git.kernel.org/tip/268c779f206f105c12fa82499fbbf960b256750f Author: Will Deacon <will@kernel.org> AuthorDate: Mon, 11 May 2020 21:41:39 +01:00 Committer: Thomas Gleixner <tglx@linutronix.de> CommitterDate: Tue, 12 May 2020 11:04:12 +02:00
net: tls: Avoid assigning 'const' pointer to non-const pointer
tls_build_proto() uses WRITE_ONCE() to assign a 'const' pointer to a 'non-const' pointer. Cleanups to the implementation of WRITE_ONCE() mean that this will give rise to a compiler warning, just like a plain old assignment would do:
| net/tls/tls_main.c: In function ‘tls_build_proto’: | ./include/linux/compiler.h:229:30: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] | net/tls/tls_main.c:640:4: note: in expansion of macro ‘smp_store_release’ | 640 | smp_store_release(&saved_tcpv6_prot, prot); | | ^~~~~~~~~~~~~~~~~
Drop the const qualifier from the local 'prot' variable, as it isn't needed.
Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Boris Pismenny <borisp@mellanox.com> Cc: Aviad Yehezkel <aviadye@mellanox.com> Cc: John Fastabend <john.fastabend@gmail.com> Cc: Daniel Borkmann <daniel@iogearbox.net> Link: https://lkml.kernel.org/r/20200511204150.27858-8-will@kernel.org
--- net/tls/tls_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c index 156efce..b33e11c 100644 --- a/net/tls/tls_main.c +++ b/net/tls/tls_main.c @@ -629,7 +629,7 @@ struct tls_context *tls_ctx_create(struct sock *sk) static void tls_build_proto(struct sock *sk) { int ip_ver = sk->sk_family == AF_INET6 ? TLSV6 : TLSV4; - const struct proto *prot = READ_ONCE(sk->sk_prot); + struct proto *prot = READ_ONCE(sk->sk_prot); /* Build IPv6 TLS whenever the address of tcpv6 _prot changes */ if (ip_ver == TLSV6 &&
| |