• Pravin B Shelar's avatar
    openvswitch: Initialize unmasked key and uid len · ca539345
    Pravin B Shelar authored
    Flow alloc needs to initialize unmasked key pointer. Otherwise
    it can crash kernel trying to free random unmasked-key pointer.
    
    general protection fault: 0000 [#1] SMP
    3.19.0-rc6-net-next+ #457
    Hardware name: Supermicro X7DWU/X7DWU, BIOS  1.1 04/30/2008
    RIP: 0010:[<ffffffff8111df0e>] [<ffffffff8111df0e>] kfree+0xac/0x196
    Call Trace:
     [<ffffffffa060bd87>] flow_free+0x21/0x59 [openvswitch]
     [<ffffffffa060bde0>] ovs_flow_free+0x21/0x23 [openvswitch]
     [<ffffffffa0605b4a>] ovs_packet_cmd_execute+0x2f3/0x35f [openvswitch]
     [<ffffffffa0605995>] ? ovs_packet_cmd_execute+0x13e/0x35f [openvswitch]
     [<ffffffff811fe6fb>] ? nla_parse+0x4f/0xec
     [<ffffffff8139a2fc>] genl_family_rcv_msg+0x26d/0x2c9
     [<ffffffff8107620f>] ? __lock_acquire+0x90e/0x9aa
     [<ffffffff8139a3be>] genl_rcv_msg+0x66/0x89
     [<ffffffff8139a358>] ? genl_family_rcv_msg+0x2c9/0x2c9
     [<ffffffff81399591>] netlink_rcv_skb+0x3e/0x95
     [<ffffffff81399898>] ? genl_rcv+0x18/0x37
     [<ffffffff813998a7>] genl_rcv+0x27/0x37
     [<ffffffff81399033>] netlink_unicast+0x103/0x191
     [<ffffffff81399382>] netlink_sendmsg+0x2c1/0x310
     [<ffffffff811007ad>] ? might_fault+0x50/0xa0
     [<ffffffff8135c773>] do_sock_sendmsg+0x5f/0x7a
     [<ffffffff8135c799>] sock_sendmsg+0xb/0xd
     [<ffffffff8135cacf>] ___sys_sendmsg+0x1a3/0x218
     [<ffffffff8113e54b>] ? get_close_on_exec+0x86/0x86
     [<ffffffff8115a9d0>] ? fsnotify+0x32c/0x348
     [<ffffffff8115a720>] ? fsnotify+0x7c/0x348
     [<ffffffff8113e5f5>] ? __fget+0xaa/0xbf
     [<ffffffff8113e54b>] ? get_close_on_exec+0x86/0x86
     [<ffffffff8135cccd>] __sys_sendmsg+0x3d/0x5e
     [<ffffffff8135cd02>] SyS_sendmsg+0x14/0x16
     [<ffffffff81411852>] system_call_fastpath+0x12/0x17
    
    Fixes: 74ed7ab9("openvswitch: Add support for unique flow IDs.")
    CC: Joe Stringer <joestringer@nicira.com>
    Reported-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
    Acked-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ca539345
flow_table.c 18.6 KB