[PATCH] net: kmemcheck annotation in struct socket

struct socket has a 16 bit hole that triggers kmemcheck warnings.

As suggested by Ingo, use kmemcheck annotations

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Eric Dumazet 2009-09-15 02:39:20 -07:00 committed by David S. Miller
parent 75c78500dd
commit 29a020d35f
2 changed files with 6 additions and 0 deletions

View File

@ -57,6 +57,7 @@ typedef enum {
#include <linux/random.h> #include <linux/random.h>
#include <linux/wait.h> #include <linux/wait.h>
#include <linux/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK */ #include <linux/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK */
#include <linux/kmemcheck.h>
struct poll_table_struct; struct poll_table_struct;
struct pipe_inode_info; struct pipe_inode_info;
@ -127,7 +128,11 @@ enum sock_shutdown_cmd {
*/ */
struct socket { struct socket {
socket_state state; socket_state state;
kmemcheck_bitfield_begin(type);
short type; short type;
kmemcheck_bitfield_end(type);
unsigned long flags; unsigned long flags;
/* /*
* Please keep fasync_list & wait fields in the same cache line * Please keep fasync_list & wait fields in the same cache line

View File

@ -489,6 +489,7 @@ static struct socket *sock_alloc(void)
sock = SOCKET_I(inode); sock = SOCKET_I(inode);
kmemcheck_annotate_bitfield(sock, type);
inode->i_mode = S_IFSOCK | S_IRWXUGO; inode->i_mode = S_IFSOCK | S_IRWXUGO;
inode->i_uid = current_fsuid(); inode->i_uid = current_fsuid();
inode->i_gid = current_fsgid(); inode->i_gid = current_fsgid();