Commit 81e6fafb authored by Litao Jiao's avatar Litao Jiao
Browse files

net/smc: Fix ENODATA tests in smc_nl_get_fback_stats()

mainline inclusion
from mainline-v5.14-rc1
commit 1a1100d5
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I78IFM
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=1a1100d53f12451d50bc5ebbc941517760912ab8



--------------------------------

These functions return negative ENODATA but the minus sign was left out
in the tests.

Fixes: f0dd7bf5 ("net/smc: Add netlink support for SMC fallback statistics")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 30b53668
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -386,17 +386,17 @@ int smc_nl_get_fback_stats(struct sk_buff *skb, struct netlink_callback *cb)
			continue;
		if (!skip_serv) {
			rc_srv = smc_nl_get_fback_details(skb, cb, k, is_srv);
			if (rc_srv && rc_srv != ENODATA)
			if (rc_srv && rc_srv != -ENODATA)
				break;
		} else {
			skip_serv = 0;
		}
		rc_clnt = smc_nl_get_fback_details(skb, cb, k, !is_srv);
		if (rc_clnt && rc_clnt != ENODATA) {
		if (rc_clnt && rc_clnt != -ENODATA) {
			skip_serv = 1;
			break;
		}
		if (rc_clnt == ENODATA && rc_srv == ENODATA)
		if (rc_clnt == -ENODATA && rc_srv == -ENODATA)
			break;
	}
	mutex_unlock(&smc_stat_fback_rsn);