• Ido Schimmel's avatar
    ipmr: Copy option to correct variable · 73cb1193
    Ido Schimmel authored
    Cited commit mistakenly copied provided option to 'val' instead of to
    'mfc':
    
    ```
    -               if (copy_from_user(&mfc, optval, sizeof(mfc))) {
    +               if (copy_from_sockptr(&val, optval, sizeof(val))) {
    ```
    
    Fix this by copying the option to 'mfc'.
    
    selftest router_multicast.sh before:
    
    $ ./router_multicast.sh
    smcroutectl: Unknown or malformed IPC message 'a' from client.
    smcroutectl: failed removing multicast route, does not exist.
    TEST: mcast IPv4                                                    [FAIL]
            Multicast not received on first host
    TEST: mcast IPv6                                                    [ OK ]
    smcroutectl: Unknown or malformed IPC message 'a' from client.
    smcroutectl: failed removing multicast route, does not exist.
    TEST: RPF IPv4                                                      [FAIL]
            Multicast not received on first host
    TEST: RPF IPv6                                                      [ OK ]
    
    selftest router_multicast.sh after:
    
    $ ./router_multicast.sh
    TEST: mcast IPv4                                                    [ OK ]
    TEST: mcast IPv6                                                    [ OK ]
    TEST: RPF IPv4                                                      [ OK ]
    TEST: RPF IPv6                                                      [ OK ]
    
    Fixes: 01ccb5b4 ("net/ipv4: switch ip_mroute_setsockopt to sockptr_t")
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    73cb1193
ipmr.c 75.5 KB