• V
    net: annotate struct sock bitfield · a98b65a3
    Vegard Nossum 提交于
    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: NIngo Molnar <mingo@elte.hu>
    Signed-off-by: NVegard Nossum <vegard.nossum@gmail.com>
    a98b65a3
sock.h 42.3 KB