* [PATCH] printk: remove unneeded dead-store assignment
@ 2020-11-06 3:40 Lukas Bulwahn
2020-11-06 3:49 ` Nathan Chancellor
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Lukas Bulwahn @ 2020-11-06 3:40 UTC (permalink / raw)
To: Petr Mladek, Sergey Senozhatsky, Steven Rostedt, John Ogness
Cc: Nathan Chancellor, Nick Desaulniers, linux-kernel,
clang-built-linux, kernel-janitors, linux-safety, Lukas Bulwahn
make clang-analyzer on x86_64 defconfig caught my attention with:
kernel/printk/printk_ringbuffer.c:885:3: warning:
Value stored to 'desc' is never read [clang-analyzer-deadcode.DeadStores]
desc = to_desc(desc_ring, head_id);
^
Commit b6cf8b3f3312 ("printk: add lockless ringbuffer") introduced
desc_reserve() with this unneeded dead-store assignment.
As discussed with John Ogness privately, this is probably just some minor
left-over from previous iterations of the ringbuffer implementation. So,
simply remove this unneeded dead assignment to make clang-analyzer happy.
As compilers will detect this unneeded assignment and optimize this anyway,
the resulting object code is identical before and after this change.
No functional change. No change to object code.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
---
applies cleanly on current master and next-20201105
John, please ack.
Petr, please pick this minor non-urgent clean-up patch.
kernel/printk/printk_ringbuffer.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/printk/printk_ringbuffer.c b/kernel/printk/printk_ringbuffer.c
index 6b1525685277..74e25a1704f2 100644
--- a/kernel/printk/printk_ringbuffer.c
+++ b/kernel/printk/printk_ringbuffer.c
@@ -882,8 +882,6 @@ static bool desc_reserve(struct printk_ringbuffer *rb, unsigned long *id_out)
head_id = atomic_long_read(&desc_ring->head_id); /* LMM(desc_reserve:A) */
do {
- desc = to_desc(desc_ring, head_id);
-
id = DESC_ID(head_id + 1);
id_prev_wrap = DESC_ID_PREV_WRAP(desc_ring, id);
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] printk: remove unneeded dead-store assignment
2020-11-06 3:40 [PATCH] printk: remove unneeded dead-store assignment Lukas Bulwahn
@ 2020-11-06 3:49 ` Nathan Chancellor
2020-11-06 5:12 ` Sergey Senozhatsky
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Nathan Chancellor @ 2020-11-06 3:49 UTC (permalink / raw)
To: Lukas Bulwahn
Cc: Petr Mladek, Sergey Senozhatsky, Steven Rostedt, John Ogness,
Nick Desaulniers, linux-kernel, clang-built-linux,
kernel-janitors, linux-safety
On Fri, Nov 06, 2020 at 04:40:05AM +0100, Lukas Bulwahn wrote:
> make clang-analyzer on x86_64 defconfig caught my attention with:
>
> kernel/printk/printk_ringbuffer.c:885:3: warning:
> Value stored to 'desc' is never read [clang-analyzer-deadcode.DeadStores]
> desc = to_desc(desc_ring, head_id);
> ^
>
> Commit b6cf8b3f3312 ("printk: add lockless ringbuffer") introduced
> desc_reserve() with this unneeded dead-store assignment.
>
> As discussed with John Ogness privately, this is probably just some minor
> left-over from previous iterations of the ringbuffer implementation. So,
> simply remove this unneeded dead assignment to make clang-analyzer happy.
>
> As compilers will detect this unneeded assignment and optimize this anyway,
> the resulting object code is identical before and after this change.
>
> No functional change. No change to object code.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
> ---
> applies cleanly on current master and next-20201105
>
> John, please ack.
> Petr, please pick this minor non-urgent clean-up patch.
>
> kernel/printk/printk_ringbuffer.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/kernel/printk/printk_ringbuffer.c b/kernel/printk/printk_ringbuffer.c
> index 6b1525685277..74e25a1704f2 100644
> --- a/kernel/printk/printk_ringbuffer.c
> +++ b/kernel/printk/printk_ringbuffer.c
> @@ -882,8 +882,6 @@ static bool desc_reserve(struct printk_ringbuffer *rb, unsigned long *id_out)
> head_id = atomic_long_read(&desc_ring->head_id); /* LMM(desc_reserve:A) */
>
> do {
> - desc = to_desc(desc_ring, head_id);
> -
> id = DESC_ID(head_id + 1);
> id_prev_wrap = DESC_ID_PREV_WRAP(desc_ring, id);
>
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] printk: remove unneeded dead-store assignment
2020-11-06 3:40 [PATCH] printk: remove unneeded dead-store assignment Lukas Bulwahn
2020-11-06 3:49 ` Nathan Chancellor
@ 2020-11-06 5:12 ` Sergey Senozhatsky
2020-11-06 8:18 ` John Ogness
2020-11-06 12:57 ` Petr Mladek
3 siblings, 0 replies; 5+ messages in thread
From: Sergey Senozhatsky @ 2020-11-06 5:12 UTC (permalink / raw)
To: Lukas Bulwahn
Cc: Petr Mladek, Sergey Senozhatsky, Steven Rostedt, John Ogness,
Nathan Chancellor, Nick Desaulniers, linux-kernel,
clang-built-linux, kernel-janitors, linux-safety
On (20/11/06 04:40), Lukas Bulwahn wrote:
> make clang-analyzer on x86_64 defconfig caught my attention with:
>
> kernel/printk/printk_ringbuffer.c:885:3: warning:
> Value stored to 'desc' is never read [clang-analyzer-deadcode.DeadStores]
> desc = to_desc(desc_ring, head_id);
> ^
>
> Commit b6cf8b3f3312 ("printk: add lockless ringbuffer") introduced
> desc_reserve() with this unneeded dead-store assignment.
>
> As discussed with John Ogness privately, this is probably just some minor
> left-over from previous iterations of the ringbuffer implementation. So,
> simply remove this unneeded dead assignment to make clang-analyzer happy.
>
> As compilers will detect this unneeded assignment and optimize this anyway,
> the resulting object code is identical before and after this change.
>
> No functional change. No change to object code.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
-ss
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] printk: remove unneeded dead-store assignment
2020-11-06 3:40 [PATCH] printk: remove unneeded dead-store assignment Lukas Bulwahn
2020-11-06 3:49 ` Nathan Chancellor
2020-11-06 5:12 ` Sergey Senozhatsky
@ 2020-11-06 8:18 ` John Ogness
2020-11-06 12:57 ` Petr Mladek
3 siblings, 0 replies; 5+ messages in thread
From: John Ogness @ 2020-11-06 8:18 UTC (permalink / raw)
To: Lukas Bulwahn, Petr Mladek, Sergey Senozhatsky, Steven Rostedt
Cc: Nathan Chancellor, Nick Desaulniers, linux-kernel,
clang-built-linux, kernel-janitors, linux-safety, Lukas Bulwahn
On 2020-11-06, Lukas Bulwahn <lukas.bulwahn@gmail.com> wrote:
> make clang-analyzer on x86_64 defconfig caught my attention with:
>
> kernel/printk/printk_ringbuffer.c:885:3: warning:
> Value stored to 'desc' is never read [clang-analyzer-deadcode.DeadStores]
> desc = to_desc(desc_ring, head_id);
> ^
>
> Commit b6cf8b3f3312 ("printk: add lockless ringbuffer") introduced
> desc_reserve() with this unneeded dead-store assignment.
>
> As discussed with John Ogness privately, this is probably just some minor
> left-over from previous iterations of the ringbuffer implementation. So,
> simply remove this unneeded dead assignment to make clang-analyzer happy.
>
> As compilers will detect this unneeded assignment and optimize this anyway,
> the resulting object code is identical before and after this change.
>
> No functional change. No change to object code.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Reviewed-by: John Ogness <john.ogness@linutronix.de>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] printk: remove unneeded dead-store assignment
2020-11-06 3:40 [PATCH] printk: remove unneeded dead-store assignment Lukas Bulwahn
` (2 preceding siblings ...)
2020-11-06 8:18 ` John Ogness
@ 2020-11-06 12:57 ` Petr Mladek
3 siblings, 0 replies; 5+ messages in thread
From: Petr Mladek @ 2020-11-06 12:57 UTC (permalink / raw)
To: Lukas Bulwahn
Cc: Sergey Senozhatsky, Steven Rostedt, John Ogness,
Nathan Chancellor, Nick Desaulniers, linux-kernel,
clang-built-linux, kernel-janitors, linux-safety
On Fri 2020-11-06 04:40:05, Lukas Bulwahn wrote:
> make clang-analyzer on x86_64 defconfig caught my attention with:
>
> kernel/printk/printk_ringbuffer.c:885:3: warning:
> Value stored to 'desc' is never read [clang-analyzer-deadcode.DeadStores]
> desc = to_desc(desc_ring, head_id);
> ^
>
> Commit b6cf8b3f3312 ("printk: add lockless ringbuffer") introduced
> desc_reserve() with this unneeded dead-store assignment.
>
> As discussed with John Ogness privately, this is probably just some minor
> left-over from previous iterations of the ringbuffer implementation. So,
> simply remove this unneeded dead assignment to make clang-analyzer happy.
>
> As compilers will detect this unneeded assignment and optimize this anyway,
> the resulting object code is identical before and after this change.
>
> No functional change. No change to object code.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
The patch is committed in printk/linux.git, branch for-5.10-trivial.
It might still go into 5.10 when there is another important fix.
Otherwise, it would need to wait for 5.11 merge window.
Best Regards,
Petr
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-11-06 12:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-06 3:40 [PATCH] printk: remove unneeded dead-store assignment Lukas Bulwahn
2020-11-06 3:49 ` Nathan Chancellor
2020-11-06 5:12 ` Sergey Senozhatsky
2020-11-06 8:18 ` John Ogness
2020-11-06 12:57 ` Petr Mladek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).