Commit 45e3ff82 authored by Vegard Nossum's avatar Vegard Nossum

net: annotate bitfields in struct inet_sock

Signed-off-by: default avatarVegard Nossum <vegard.nossum@gmail.com>
parent fe55f6d5
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#define _INET_SOCK_H #define _INET_SOCK_H
#include <linux/kmemcheck.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/jhash.h> #include <linux/jhash.h>
...@@ -66,6 +67,7 @@ struct inet_request_sock { ...@@ -66,6 +67,7 @@ struct inet_request_sock {
__be32 loc_addr; __be32 loc_addr;
__be32 rmt_addr; __be32 rmt_addr;
__be16 rmt_port; __be16 rmt_port;
kmemcheck_bitfield_begin(flags);
u16 snd_wscale : 4, u16 snd_wscale : 4,
rcv_wscale : 4, rcv_wscale : 4,
tstamp_ok : 1, tstamp_ok : 1,
...@@ -74,6 +76,7 @@ struct inet_request_sock { ...@@ -74,6 +76,7 @@ struct inet_request_sock {
ecn_ok : 1, ecn_ok : 1,
acked : 1, acked : 1,
no_srccheck: 1; no_srccheck: 1;
kmemcheck_bitfield_end(flags);
struct ip_options *opt; struct ip_options *opt;
}; };
...@@ -198,9 +201,12 @@ static inline int inet_sk_ehashfn(const struct sock *sk) ...@@ -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) static inline struct request_sock *inet_reqsk_alloc(struct request_sock_ops *ops)
{ {
struct request_sock *req = reqsk_alloc(ops); struct request_sock *req = reqsk_alloc(ops);
struct inet_request_sock *ireq = inet_rsk(req);
if (req != NULL) if (req != NULL) {
inet_rsk(req)->opt = NULL; kmemcheck_annotate_bitfield(ireq, flags);
ireq->opt = NULL;
}
return req; return req;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment