Message ID | 20220520194659.2356903-1-kuba@kernel.org (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] can: kvaser_usb: silence a GCC 12 -Warray-bounds warning | expand |
On 20.05.2022 12:46:59, Jakub Kicinski wrote: > This driver does a lot of casting of smaller buffers to > struct kvaser_cmd_ext, GCC 12 does not like that: > > drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c:489:65: warning: array subscript ‘struct kvaser_cmd_ext[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Warray-bounds] > drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c:489:23: note: in expansion of macro ‘le16_to_cpu’ > 489 | ret = le16_to_cpu(((struct kvaser_cmd_ext *)cmd)->len); > | ^~~~~~~~~~~ > > Temporarily silence this warning (move it to W=1 builds). > > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > --- > Hi Marc, are you planning another -next PR? Can we take this > directly? Thanks, applied and I'll send a -next PR soonish. Marc
On 23.05.2022 14:14:25, Marc Kleine-Budde wrote: > On 20.05.2022 12:46:59, Jakub Kicinski wrote: > > This driver does a lot of casting of smaller buffers to > > struct kvaser_cmd_ext, GCC 12 does not like that: > > > > drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c:489:65: warning: array subscript ‘struct kvaser_cmd_ext[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Warray-bounds] > > drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c:489:23: note: in expansion of macro ‘le16_to_cpu’ > > 489 | ret = le16_to_cpu(((struct kvaser_cmd_ext *)cmd)->len); > > | ^~~~~~~~~~~ > > > > Temporarily silence this warning (move it to W=1 builds). > > > > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > > --- > > Hi Marc, are you planning another -next PR? Can we take this > > directly? > > Thanks, applied and I'll send a -next PR soonish. Available here: https://lore.kernel.org/all/20220523201045.1708855-1-mkl@pengutronix.de/ Marc
diff --git a/drivers/net/can/usb/kvaser_usb/Makefile b/drivers/net/can/usb/kvaser_usb/Makefile index cf260044f0b9..b20d951a0790 100644 --- a/drivers/net/can/usb/kvaser_usb/Makefile +++ b/drivers/net/can/usb/kvaser_usb/Makefile @@ -1,3 +1,8 @@ # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CAN_KVASER_USB) += kvaser_usb.o kvaser_usb-y = kvaser_usb_core.o kvaser_usb_leaf.o kvaser_usb_hydra.o + +# FIXME: temporarily silence -Warray-bounds on non W=1+ builds +ifndef KBUILD_EXTRA_WARN +CFLAGS_kvaser_usb_hydra.o += -Wno-array-bounds +endif
This driver does a lot of casting of smaller buffers to struct kvaser_cmd_ext, GCC 12 does not like that: drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c:489:65: warning: array subscript ‘struct kvaser_cmd_ext[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Warray-bounds] drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c:489:23: note: in expansion of macro ‘le16_to_cpu’ 489 | ret = le16_to_cpu(((struct kvaser_cmd_ext *)cmd)->len); | ^~~~~~~~~~~ Temporarily silence this warning (move it to W=1 builds). Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- Hi Marc, are you planning another -next PR? Can we take this directly? CC: wg@grandegger.com CC: mkl@pengutronix.de CC: linux-can@vger.kernel.org --- drivers/net/can/usb/kvaser_usb/Makefile | 5 +++++ 1 file changed, 5 insertions(+)