From e2a781b4b8916ee5eff4c29ed5f08790b5ef28d1 Mon Sep 17 00:00:00 2001 From: Jozsef Kadlecsik Date: Thu, 19 Mar 2015 13:24:47 +0100 Subject: Make sure bit operations are not reordered Sergey Popovich pointed out that {set,clear}_bit() operations must be protected against instruction reordering. --- kernel/include/linux/netfilter/ipset/ip_set_compat.h.in | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'kernel/include/linux/netfilter') diff --git a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in index 66e830f..a0a7436 100644 --- a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in +++ b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in @@ -204,6 +204,11 @@ static inline int nla_put_net32(struct sk_buff *skb, int attrtype, __be32 value) list_entry((pos)->member.prev, typeof(*(pos)), member) #endif +#ifndef smp_mb__before_atomic +#define smp_mb__before_atomic() smp_mb() +#define smp_mb__after_atomic() smp_mb() +#endif + #ifndef __aligned_u64 #define __aligned_u64 __u64 #endif -- cgit v1.2.3