• Patrick McHardy's avatar
    macvlan: Fix memleak on device removal/crash on module removal · 73120964
    Patrick McHardy authored
    As noticed by Ben Greear, macvlan crashes the kernel when unloading the
    module. The reason is that it tries to clean up the macvlan_port pointer
    on the macvlan device itself instead of the underlying device. A non-NULL
    pointer is taken as indication that the macvlan_handle_frame_hook is
    valid, when receiving the next packet on the underlying device it tries
    to call the NULL hook and crashes.
    
    Clean up the macvlan_port on the correct device to fix this.
    
    Signed-off-by; Patrick McHardy <kaber@trash.net>
    Tested-by: default avatarBen Greear <greearb@candelatech.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    73120964
macvlan.c 12.9 KB