Message ID | 20201106034005.18822-1-lukas.bulwahn@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | printk: remove unneeded dead-store assignment | expand |
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 > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#151): https://lists.elisa.tech/g/linux-safety/message/151 Mute This Topic: https://lists.elisa.tech/mt/78067395/4688437 Group Owner: linux-safety+owner@lists.elisa.tech Unsubscribe: https://lists.elisa.tech/g/linux-safety/unsub [patchwork-linux-safety@patchwork.kernel.org] -=-=-=-=-=-=-=-=-=-=-=-
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 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#152): https://lists.elisa.tech/g/linux-safety/message/152 Mute This Topic: https://lists.elisa.tech/mt/78067395/4688437 Group Owner: linux-safety+owner@lists.elisa.tech Unsubscribe: https://lists.elisa.tech/g/linux-safety/unsub [patchwork-linux-safety@patchwork.kernel.org] -=-=-=-=-=-=-=-=-=-=-=-
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> -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#153): https://lists.elisa.tech/g/linux-safety/message/153 Mute This Topic: https://lists.elisa.tech/mt/78067395/4688437 Group Owner: linux-safety+owner@lists.elisa.tech Unsubscribe: https://lists.elisa.tech/g/linux-safety/unsub [patchwork-linux-safety@patchwork.kernel.org] -=-=-=-=-=-=-=-=-=-=-=-
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 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#156): https://lists.elisa.tech/g/linux-safety/message/156 Mute This Topic: https://lists.elisa.tech/mt/78067395/4688437 Group Owner: linux-safety+owner@lists.elisa.tech Unsubscribe: https://lists.elisa.tech/g/linux-safety/unsub [patchwork-linux-safety@patchwork.kernel.org] -=-=-=-=-=-=-=-=-=-=-=-
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);
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(-)