net: annotate struct sock bitfield
2009/2/24 Ingo Molnar <mingo@elte.hu>:
> ok, this is the last warning i have from today's overnight -tip
> testruns - a 32-bit system warning in sock_init_data():
>
> [ 2.610389] NET: Registered protocol family 16
> [ 2.616138] initcall netlink_proto_init+0x0/0x170 returned 0 after 7812 usecs
> [ 2.620010] WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (
f642c184)
> [ 2.624002] 010000000200000000000000604990c000000000000000000000000000000000
> [ 2.634076] i i i i i i u u i i i i i i i i i i i i i i i i i i i i i i i i
> [ 2.641038] ^
> [ 2.643376]
> [ 2.644004] Pid: 1, comm: swapper Not tainted (2.6.29-rc6-tip-01751-g4d1c22c-dirty #885)
> [ 2.648003] EIP: 0060:[<
c07141a1>] EFLAGS:
00010282 CPU: 0
> [ 2.652008] EIP is at sock_init_data+0xa1/0x190
> [ 2.656003] EAX:
0001a800 EBX:
f6836c00 ECX:
00463000 EDX:
c0e46fe0
> [ 2.660003] ESI:
f642c180 EDI:
c0b83088 EBP:
f6863ed8 ESP:
c0c412ec
> [ 2.664003] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> [ 2.668003] CR0:
8005003b CR2:
f682c400 CR3:
00b91000 CR4:
000006f0
> [ 2.672003] DR0:
00000000 DR1:
00000000 DR2:
00000000 DR3:
00000000
> [ 2.676003] DR6:
ffff4ff0 DR7:
00000400
> [ 2.680002] [<
c07423e5>] __netlink_create+0x35/0xa0
> [ 2.684002] [<
c07443cc>] netlink_kernel_create+0x4c/0x140
> [ 2.688002] [<
c072755e>] rtnetlink_net_init+0x1e/0x40
> [ 2.696002] [<
c071b601>] register_pernet_operations+0x11/0x30
> [ 2.700002] [<
c071b72c>] register_pernet_subsys+0x1c/0x30
> [ 2.704002] [<
c0bf3c8c>] rtnetlink_init+0x4c/0x100
> [ 2.708002] [<
c0bf4669>] netlink_proto_init+0x159/0x170
> [ 2.712002] [<
c0101124>] do_one_initcall+0x24/0x150
> [ 2.716002] [<
c0bbf3c7>] do_initcalls+0x27/0x40
> [ 2.723201] [<
c0bbf3fc>] do_basic_setup+0x1c/0x20
> [ 2.728002] [<
c0bbfb8a>] kernel_init+0x5a/0xa0
> [ 2.732002] [<
c0103e47>] kernel_thread_helper+0x7/0x10
> [ 2.736002] [<
ffffffff>] 0xffffffff
We fix this false positive by annotating the bitfield in struct
sock.
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>