aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVegard Nossum <vegard.nossum@gmail.com>2008-09-09 06:43:12 +0200
committerVegard Nossum <vegard.nossum@gmail.com>2009-06-15 15:49:27 +0200
commit45e3ff82708c65c895d5c5882aff17ecf62a80b5 (patch)
tree31171009a60298b436b7e838497c16db4a2a2fc6
parentfe55f6d5c0cfec4a710ef6ff63f162b99d5f7842 (diff)
downloadmrst-s0i3-test-45e3ff82708c65c895d5c5882aff17ecf62a80b5.tar.gz
mrst-s0i3-test-45e3ff82708c65c895d5c5882aff17ecf62a80b5.tar.xz
mrst-s0i3-test-45e3ff82708c65c895d5c5882aff17ecf62a80b5.zip
net: annotate bitfields in struct inet_sock
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
-rw-r--r--include/net/inet_sock.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h
index de0ecc71cf0..cbcda0b0b96 100644
--- a/include/net/inet_sock.h
+++ b/include/net/inet_sock.h
@@ -17,6 +17,7 @@
#define _INET_SOCK_H
+#include <linux/kmemcheck.h>
#include <linux/string.h>
#include <linux/types.h>
#include <linux/jhash.h>
@@ -66,14 +67,16 @@ struct inet_request_sock {
__be32 loc_addr;
__be32 rmt_addr;
__be16 rmt_port;
- u16 snd_wscale : 4,
- rcv_wscale : 4,
+ kmemcheck_bitfield_begin(flags);
+ u16 snd_wscale : 4,
+ rcv_wscale : 4,
tstamp_ok : 1,
sack_ok : 1,
wscale_ok : 1,
ecn_ok : 1,
acked : 1,
no_srccheck: 1;
+ kmemcheck_bitfield_end(flags);
struct ip_options *opt;
};
@@ -198,9 +201,12 @@ static inline int inet_sk_ehashfn(const struct sock *sk)
static inline struct request_sock *inet_reqsk_alloc(struct request_sock_ops *ops)
{
struct request_sock *req = reqsk_alloc(ops);
+ struct inet_request_sock *ireq = inet_rsk(req);
- if (req != NULL)
- inet_rsk(req)->opt = NULL;
+ if (req != NULL) {
+ kmemcheck_annotate_bitfield(ireq, flags);
+ ireq->opt = NULL;
+ }
return req;
}