Re: [PATCH] m68k: cmpxchg: Dereference matching size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 03, 2022 at 09:13:30AM +0100, Geert Uytterhoeven wrote:
Hi Kees,

On Wed, Feb 2, 2022 at 11:53 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
Similar to the recent arm64 fix[1], avoid overly wide casts in the cmpxchg
implementation. Avoid this warning under -Warray-bounds with GCC 11:

net/sched/cls_tcindex.c: In function 'tcindex_set_parms':
./arch/m68k/include/asm/cmpxchg.h:64:17: warning: array subscript 'volatile struct __xchg_dummy[0]' is partly outside array bounds of 'struct tcf_result[1]' [-Warray-bounds]
   64 |                 __asm__ __volatile__
      |                 ^~~~~~~
net/sched/cls_tcindex.c:338:27: note: while referencing 'cr'
  338 |         struct tcf_result cr = {};
      |                           ^~

No binary output differences are seen from this change.

[1] commit 3364c6ce23c6 ("arm64: atomics: lse: Dereference matching size")

Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>

Thanks for your patch!

Reviewed-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

Do you want me to queue this in the m68k for-v5.18 branch, or do
you want to take it yourself, together with commit a8712a32665f9b1a
("Makefile: Enable -Warray-bounds") in linux-next that triggers this?
In case of the latter:
Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

Given how -next is being ordered, it's probably best to go via my tree.
Thanks for the review!

-Kees


Please let me know. Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

-- 
Kees Cook



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux