!9 netlink fix error message suppression

From: @sherlock2010
Reviewed-by: @wangxp006
Signed-off-by: @wangxp006
This commit is contained in:
openeuler-ci-bot 2020-09-25 15:57:19 +08:00 committed by Gitee
commit f7a3cb750e
2 changed files with 51 additions and 1 deletions

View File

@ -0,0 +1,42 @@
From a4d9db29f8326d68762dbc0f78ad6f1aa4f29887 Mon Sep 17 00:00:00 2001
From: Michal Kubecek <mkubecek@suse.cz>
Date: Wed, 10 Jun 2020 13:47:34 +0200
Subject: [PATCH] netlink: fix error message suppression
Rewrite of nlsock_process_reply() used a bool variable to store the value
of nlctx->suppress_nlerr before passing to nlsock_process_ack(). This
causes the value of 2 (suppress all error/warning messages) to be converted
to 1 (suppress only -EOPNOTSUPP). As a result, -ENOENT returned by failed
genetlink family lookup when running on kernel without ethtool netlink
support is not ignored and misleading "netlink error: No such file or
directory" message is issued even if the ioctl fallback works as expected.
Fixes: 76bdf9372824 ("netlink: use pretty printing for ethtool netlink messages")
Reported-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
---
netlink/nlsock.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/netlink/nlsock.c b/netlink/nlsock.c
index 2c760b7..c3f09b6 100644
--- a/netlink/nlsock.c
+++ b/netlink/nlsock.c
@@ -255,12 +255,12 @@ int nlsock_process_reply(struct nl_socket *nlsk, mnl_cb_t reply_cb, void *data)
nlhdr = (struct nlmsghdr *)buff;
if (nlhdr->nlmsg_type == NLMSG_ERROR) {
- bool silent = nlsk->nlctx->suppress_nlerr;
+ unsigned int suppress = nlsk->nlctx->suppress_nlerr;
bool pretty;
pretty = debug_on(nlsk->nlctx->ctx->debug,
DEBUG_NL_PRETTY_MSG);
- return nlsock_process_ack(nlhdr, len, silent, pretty);
+ return nlsock_process_ack(nlhdr, len, suppress, pretty);
}
msgbuff->nlhdr = nlhdr;
--
1.8.3.1

View File

@ -1,12 +1,14 @@
Name: ethtool
Epoch: 2
Version: 5.7
Release: 1
Release: 2
Summary: Settings tool for Ethernet NICs
License: GPLv2
URL: https://www.kernel.org/pub/software/network/ethtool
Source0: https://www.kernel.org/pub/software/network/%{name}/%{name}-%{version}.tar.xz
Patch0: 0001-netlink-fix-error-message-suppression.patch
BuildRequires: gcc
BuildRequires: libmnl-devel
Conflicts: filesystem < 3
@ -53,6 +55,12 @@ make check
%{_mandir}/man8/%{name}.8*
%changelog
* Fri Sep 25 2020 zhouyihang <zhouyihang3@huawei.com> - 2:5.7-2
- Type:bugfix
- Id:NA
- SUG:NA
- DESC:netlink fix error message suppression
* Wed Jul 29 2020 liulong <liulong20@huawei.com> - 2:5.7-1
- Type:requirement
- Id:NA