[dpdk-stable] [PATCH 18.11] kni: fix ethtool build error on kernel 5.9

Kevin Traynor ktraynor at redhat.com
Mon Nov 23 15:49:48 CET 2020


read_barrier_depends() is removed from kernel 5.9 as per Linux
commit 93fab07c2293 ("locking/barriers: Remove definitions for [smp_]read_barrier_depends()")

It is used by ethtool and produces an error when building on kernel 5.9:

/kernel/linux/kni/ethtool/igb/igb_main.c: In function ‘igb_clean_tx_irq’:
/dpdk-stable/kernel/linux/kni/ethtool/igb/igb_main.c:7067:3:
error: implicit declaration of function ‘read_barrier_depends’
[-Werror=implicit-function-declaration]
 7067 |   read_barrier_depends();
      |   ^~~~~~~~~~~~~~~~~~~~

Fix by replacing with rmb() as is done for < 2.6 kernels.

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
---
 kernel/linux/kni/ethtool/igb/kcompat.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/kernel/linux/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h
index 459fda3dad..e89033818a 100644
--- a/kernel/linux/kni/ethtool/igb/kcompat.h
+++ b/kernel/linux/kni/ethtool/igb/kcompat.h
@@ -3974,3 +3974,7 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
 #endif
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+#define read_barrier_depends() rmb()
+#endif
+
 #endif /* _KCOMPAT_H_ */
-- 
2.26.2



More information about the stable mailing list