From 917637a11f477d37eb853943d61b06785db2cd75 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 10 Jun 2019 16:29:16 +0200 Subject: [PATCH] 4.19-stable patches added patches: ethtool-check-the-return-value-of-get_regs_len.patch --- ...eck-the-return-value-of-get_regs_len.patch | 50 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 51 insertions(+) create mode 100644 queue-4.19/ethtool-check-the-return-value-of-get_regs_len.patch diff --git a/queue-4.19/ethtool-check-the-return-value-of-get_regs_len.patch b/queue-4.19/ethtool-check-the-return-value-of-get_regs_len.patch new file mode 100644 index 0000000000..a81becddda --- /dev/null +++ b/queue-4.19/ethtool-check-the-return-value-of-get_regs_len.patch @@ -0,0 +1,50 @@ +From f9fc54d313fab2834f44f516459cdc8ac91d797f Mon Sep 17 00:00:00 2001 +From: Yunsheng Lin +Date: Wed, 26 Dec 2018 19:51:46 +0800 +Subject: ethtool: check the return value of get_regs_len + +From: Yunsheng Lin + +commit f9fc54d313fab2834f44f516459cdc8ac91d797f upstream. + +The return type for get_regs_len in struct ethtool_ops is int, +the hns3 driver may return error when failing to get the regs +len by sending cmd to firmware. + +Signed-off-by: Yunsheng Lin +Signed-off-by: David S. Miller +Cc: Michal Kubecek +Signed-off-by: Greg Kroah-Hartman + +--- + net/core/ethtool.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +--- a/net/core/ethtool.c ++++ b/net/core/ethtool.c +@@ -880,8 +880,13 @@ static noinline_for_stack int ethtool_ge + if (rc >= 0) + info.n_priv_flags = rc; + } +- if (ops->get_regs_len) +- info.regdump_len = ops->get_regs_len(dev); ++ if (ops->get_regs_len) { ++ int ret = ops->get_regs_len(dev); ++ ++ if (ret > 0) ++ info.regdump_len = ret; ++ } ++ + if (ops->get_eeprom_len) + info.eedump_len = ops->get_eeprom_len(dev); + +@@ -1424,6 +1429,9 @@ static int ethtool_get_regs(struct net_d + return -EFAULT; + + reglen = ops->get_regs_len(dev); ++ if (reglen <= 0) ++ return reglen; ++ + if (regs.len > reglen) + regs.len = reglen; + diff --git a/queue-4.19/series b/queue-4.19/series index 355163788f..280e5c415a 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -50,3 +50,4 @@ drm-don-t-block-fb-changes-for-async-plane-updates.patch drm-i915-gvt-initialize-intel_gvt_gtt_entry-in-stack.patch tty-serial_core-add-install.patch ipv4-define-__ipv4_neigh_lookup_noref-when-config_inet-is-disabled.patch +ethtool-check-the-return-value-of-get_regs_len.patch -- 2.39.2