diff options
Diffstat (limited to 'include/linux/net.h')
| -rw-r--r-- | include/linux/net.h | 15 | 
1 files changed, 4 insertions, 11 deletions
diff --git a/include/linux/net.h b/include/linux/net.h index 94734a6259a4..17d83393afcc 100644 --- a/include/linux/net.h +++ b/include/linux/net.h @@ -248,24 +248,17 @@ do {								\  bool __net_get_random_once(void *buf, int nbytes, bool *done,  			   struct static_key *done_key); -#ifdef HAVE_JUMP_LABEL -#define ___NET_RANDOM_STATIC_KEY_INIT ((struct static_key) \ -		{ .enabled = ATOMIC_INIT(0), .entries = (void *)1 }) -#else /* !HAVE_JUMP_LABEL */ -#define ___NET_RANDOM_STATIC_KEY_INIT STATIC_KEY_INIT_FALSE -#endif /* HAVE_JUMP_LABEL */ -  #define net_get_random_once(buf, nbytes)				\  	({								\  		bool ___ret = false;					\  		static bool ___done = false;				\ -		static struct static_key ___done_key =			\ -			___NET_RANDOM_STATIC_KEY_INIT;			\ -		if (!static_key_true(&___done_key))			\ +		static struct static_key ___once_key =			\ +			STATIC_KEY_INIT_TRUE;				\ +		if (static_key_true(&___once_key))			\  			___ret = __net_get_random_once(buf,		\  						       nbytes,		\  						       &___done,	\ -						       &___done_key);	\ +						       &___once_key);	\  		___ret;							\  	})  | 
