diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 16:09:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 16:09:51 -0400 |
commit | b3fec0fe35a4ff048484f1408385a27695d4273b (patch) | |
tree | 088c23f098421ea681d9976a83aad73d15be1027 /include/net/inet_sock.h | |
parent | e1f5b94fd0c93c3e27ede88b7ab652d086dc960f (diff) | |
parent | 722f2a6c87f34ee0fd0130a8cf45f81e0705594a (diff) |
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck
* 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits)
signal: fix __send_signal() false positive kmemcheck warning
fs: fix do_mount_root() false positive kmemcheck warning
fs: introduce __getname_gfp()
trace: annotate bitfields in struct ring_buffer_event
net: annotate struct sock bitfield
c2port: annotate bitfield for kmemcheck
net: annotate inet_timewait_sock bitfields
ieee1394/csr1212: fix false positive kmemcheck report
ieee1394: annotate bitfield
net: annotate bitfields in struct inet_sock
net: use kmemcheck bitfields API for skbuff
kmemcheck: introduce bitfield API
kmemcheck: add opcode self-testing at boot
x86: unify pte_hidden
x86: make _PAGE_HIDDEN conditional
kmemcheck: make kconfig accessible for other architectures
kmemcheck: enable in the x86 Kconfig
kmemcheck: add hooks for the page allocator
kmemcheck: add hooks for page- and sg-dma-mappings
kmemcheck: don't track page tables
...
Diffstat (limited to 'include/net/inet_sock.h')
-rw-r--r-- | include/net/inet_sock.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h index 20a6957af870..47004f35cc7e 100644 --- a/include/net/inet_sock.h +++ b/include/net/inet_sock.h | |||
@@ -17,6 +17,7 @@ | |||
17 | #define _INET_SOCK_H | 17 | #define _INET_SOCK_H |
18 | 18 | ||
19 | 19 | ||
20 | #include <linux/kmemcheck.h> | ||
20 | #include <linux/string.h> | 21 | #include <linux/string.h> |
21 | #include <linux/types.h> | 22 | #include <linux/types.h> |
22 | #include <linux/jhash.h> | 23 | #include <linux/jhash.h> |
@@ -66,14 +67,16 @@ struct inet_request_sock { | |||
66 | __be32 loc_addr; | 67 | __be32 loc_addr; |
67 | __be32 rmt_addr; | 68 | __be32 rmt_addr; |
68 | __be16 rmt_port; | 69 | __be16 rmt_port; |
69 | u16 snd_wscale : 4, | 70 | kmemcheck_bitfield_begin(flags); |
70 | rcv_wscale : 4, | 71 | u16 snd_wscale : 4, |
72 | rcv_wscale : 4, | ||
71 | tstamp_ok : 1, | 73 | tstamp_ok : 1, |
72 | sack_ok : 1, | 74 | sack_ok : 1, |
73 | wscale_ok : 1, | 75 | wscale_ok : 1, |
74 | ecn_ok : 1, | 76 | ecn_ok : 1, |
75 | acked : 1, | 77 | acked : 1, |
76 | no_srccheck: 1; | 78 | no_srccheck: 1; |
79 | kmemcheck_bitfield_end(flags); | ||
77 | struct ip_options *opt; | 80 | struct ip_options *opt; |
78 | }; | 81 | }; |
79 | 82 | ||
@@ -199,9 +202,12 @@ static inline int inet_sk_ehashfn(const struct sock *sk) | |||
199 | static inline struct request_sock *inet_reqsk_alloc(struct request_sock_ops *ops) | 202 | static inline struct request_sock *inet_reqsk_alloc(struct request_sock_ops *ops) |
200 | { | 203 | { |
201 | struct request_sock *req = reqsk_alloc(ops); | 204 | struct request_sock *req = reqsk_alloc(ops); |
205 | struct inet_request_sock *ireq = inet_rsk(req); | ||
202 | 206 | ||
203 | if (req != NULL) | 207 | if (req != NULL) { |
204 | inet_rsk(req)->opt = NULL; | 208 | kmemcheck_annotate_bitfield(ireq, flags); |
209 | ireq->opt = NULL; | ||
210 | } | ||
205 | 211 | ||
206 | return req; | 212 | return req; |
207 | } | 213 | } |