Message ID | 7158b73b9a8d045a25692b33bee8497d3bd627b7.1596451857.git.mkubecek@suse.cz |
---|---|
State | New |
Headers | show |
Series | [ethtool,1/7] rename maybe_unused macro to __maybe_unused | expand |
diff --git a/ethtool.c b/ethtool.c index 0f312bdae2bb..c4ad186cd390 100644 --- a/ethtool.c +++ b/ethtool.c @@ -1632,7 +1632,9 @@ get_stringset(struct cmd_context *ctx, enum ethtool_stringset set_id, sset_info.hdr.reserved = 0; sset_info.hdr.sset_mask = 1ULL << set_id; if (send_ioctl(ctx, &sset_info) == 0) { - len = sset_info.hdr.sset_mask ? sset_info.hdr.data[0] : 0; + const u32 *sset_lengths = sset_info.hdr.data; + + len = sset_info.hdr.sset_mask ? sset_lengths[0] : 0; } else if (errno == EOPNOTSUPP && drvinfo_offset != 0) { /* Fallback for old kernel versions */ drvinfo.cmd = ETHTOOL_GDRVINFO;
Starting with gcc10, gcc issues a warning about accessing elements of zero leghth arrays. This is usually fixed by using C99 variable length arrays but struct ethtool_sset_info is part of kernel UAPI so use an auxiliary pointer instead. Signed-off-by: Michal Kubecek <mkubecek@suse.cz> --- ethtool.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)