Re: [RFC][PATCH] bitfields API

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Vegard Nossum <vegard.nossum@...>
Cc: Alexey Dobriyan <adobriyan@...>, David Miller <davem@...>, Ingo Molnar <mingo@...>, Andrew Morton <akpm@...>, <linux-kernel@...>
Date: Thursday, August 28, 2008 - 3:02 pm

On Thu, 28 Aug 2008, Vegard Nossum wrote:

Why not do something like this (as suggested by Ingo, I think)? Yeah, the 
macro should go into kmemcheck.h but I don't have a tree handy...

		Pekka

Index: linux-2.6/include/linux/bitfield.h
===================================================================
--- /dev/null
+++ linux-2.6/include/linux/bitfield.h
@@ -0,0 +1,10 @@
+#ifndef __LINUX_BITFIELD_H
+#define __LINUX_BITFIELD_H
+
+#ifdef CONFIG_KMEMCHECK
+#define KMEMCHECK_BIT_FIELD(field) do { field = 0; } while (0)
+#else
+#define KMEMCHECK_BIT_FIELD(field) do { } while (0)
+#endif /* CONFIG_KMEMCHECK */
+
+#endif /* __LINUX_BITFIELD_H */

Index: linux-2.6/net/core/skbuff.c
===================================================================
--- linux-2.6.orig/net/core/skbuff.c
+++ linux-2.6/net/core/skbuff.c
@@ -55,6 +55,7 @@
 #include <linux/rtnetlink.h>
 #include <linux/init.h>
 #include <linux/scatterlist.h>
+#include <linux/bitfield.h>
 
 #include <net/protocol.h>
 #include <net/dst.h>
@@ -209,6 +210,11 @@ struct sk_buff *__alloc_skb(unsigned int
 	skb->data = data;
 	skb_reset_tail_pointer(skb);
 	skb->end = skb->tail + size;
+	KMEMCHECK_BIT_FIELD(skb->local_df);
+	KMEMCHECK_BIT_FIELD(skb->cloned);
+	KMEMCHECK_BIT_FIELD(skb->ip_summed);
+	KMEMCHECK_BIT_FIELD(skb->nohdr);
+	KMEMCHECK_BIT_FIELD(skb->nfctinfo);
 	/* make sure we initialize shinfo sequentially */
 	shinfo = skb_shinfo(skb);
 	atomic_set(&shinfo->dataref, 1);
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][PATCH] bitfields API, Vegard Nossum, (Thu Aug 28, 2:32 pm)
Re: [RFC][PATCH] bitfields API, Alexey Dobriyan, (Thu Aug 28, 2:40 pm)
Re: [RFC][PATCH] bitfields API, Vegard Nossum, (Thu Aug 28, 2:46 pm)
Re: [RFC][PATCH] bitfields API, Alexey Dobriyan, (Thu Aug 28, 3:05 pm)
Re: [RFC][PATCH] bitfields API, Vegard Nossum, (Thu Aug 28, 3:18 pm)
Re: [RFC][PATCH] bitfields API, Pekka Enberg, (Thu Aug 28, 3:07 pm)
Re: [RFC][PATCH] bitfields API, Pekka J Enberg, (Thu Aug 28, 3:02 pm)
Re: [RFC][PATCH] bitfields API, Vegard Nossum, (Thu Aug 28, 3:38 pm)
Re: [RFC][PATCH] bitfields API, Vegard Nossum, (Sat Aug 30, 4:28 am)
Re: [RFC][PATCH] bitfields API, Pekka Enberg, (Thu Aug 28, 2:40 pm)
Re: [RFC][PATCH] bitfields API, Adrian Bunk, (Thu Aug 28, 4:27 pm)
Re: [RFC][PATCH] bitfields API, Vegard Nossum, (Thu Aug 28, 4:59 pm)
Re: [RFC][PATCH] bitfields API, Pekka Enberg, (Thu Aug 28, 4:54 pm)