| From e7c6e405e171fb33990a12ecfd14e6500d9e5cf2 Mon Sep 17 00:00:00 2001 |
| From: Linus Torvalds <torvalds@linux-foundation.org> |
| Date: Tue, 27 Apr 2021 17:05:53 -0700 |
| Subject: Fix misc new gcc warnings |
| |
| From: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit e7c6e405e171fb33990a12ecfd14e6500d9e5cf2 upstream. |
| |
| It seems like Fedora 34 ends up enabling a few new gcc warnings, notably |
| "-Wstringop-overread" and "-Warray-parameter". |
| |
| Both of them cause what seem to be valid warnings in the kernel, where |
| we have array size mismatches in function arguments (that are no longer |
| just silently converted to a pointer to element, but actually checked). |
| |
| This fixes most of the trivial ones, by making the function declaration |
| match the function definition, and in the case of intel_pm.c, removing |
| the over-specified array size from the argument declaration. |
| |
| At least one 'stringop-overread' warning remains in the i915 driver, but |
| that one doesn't have the same obvious trivial fix, and may or may not |
| actually be indicative of a bug. |
| |
| [ It was a mistake to upgrade one of my machines to Fedora 34 while |
| being busy with the merge window, but if this is the extent of the |
| compiler upgrade problems, things are better than usual - Linus ] |
| |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Andrey Zhizhikin <andrey.z@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/gpu/drm/i915/intel_pm.c | 2 +- |
| drivers/media/usb/dvb-usb/dvb-usb.h | 2 +- |
| include/scsi/libfcoe.h | 2 +- |
| 3 files changed, 3 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/gpu/drm/i915/intel_pm.c |
| +++ b/drivers/gpu/drm/i915/intel_pm.c |
| @@ -2934,7 +2934,7 @@ int ilk_wm_max_level(const struct drm_i9 |
| |
| static void intel_print_wm_latency(struct drm_i915_private *dev_priv, |
| const char *name, |
| - const uint16_t wm[8]) |
| + const uint16_t wm[]) |
| { |
| int level, max_level = ilk_wm_max_level(dev_priv); |
| |
| --- a/drivers/media/usb/dvb-usb/dvb-usb.h |
| +++ b/drivers/media/usb/dvb-usb/dvb-usb.h |
| @@ -474,7 +474,7 @@ extern int __must_check |
| dvb_usb_generic_write(struct dvb_usb_device *, u8 *, u16); |
| |
| /* commonly used remote control parsing */ |
| -extern int dvb_usb_nec_rc_key_to_event(struct dvb_usb_device *, u8[], u32 *, int *); |
| +extern int dvb_usb_nec_rc_key_to_event(struct dvb_usb_device *, u8[5], u32 *, int *); |
| |
| /* commonly used firmware download types and function */ |
| struct hexline { |
| --- a/include/scsi/libfcoe.h |
| +++ b/include/scsi/libfcoe.h |
| @@ -261,7 +261,7 @@ int fcoe_ctlr_recv_flogi(struct fcoe_ctl |
| struct fc_frame *); |
| |
| /* libfcoe funcs */ |
| -u64 fcoe_wwn_from_mac(unsigned char mac[], unsigned int, unsigned int); |
| +u64 fcoe_wwn_from_mac(unsigned char mac[MAX_ADDR_LEN], unsigned int, unsigned int); |
| int fcoe_libfc_config(struct fc_lport *, struct fcoe_ctlr *, |
| const struct libfc_function_template *, int init_fcp); |
| u32 fcoe_fc_crc(struct fc_frame *fp); |