• Chris Perl's avatar
    NFS: nfs_compare_mount_options always compare auth flavors. · 8c642d71
    Chris Perl authored
    [ Upstream commit 594d1644 ]
    
    This patch removes the check from nfs_compare_mount_options to see if a
    `sec' option was passed for the current mount before comparing auth
    flavors and instead just always compares auth flavors.
    
    Consider the following scenario:
    
    You have a server with the address 192.168.1.1 and two exports /export/a
    and /export/b.  The first export supports `sys' and `krb5' security, the
    second just `sys'.
    
    Assume you start with no mounts from the server.
    
    The following results in EIOs being returned as the kernel nfs client
    incorrectly thinks it can share the underlying `struct nfs_server's:
    
    $ mkdir /tmp/{a,b}
    $ sudo mount -t nfs -o vers=3,sec=krb5 192.168.1.1:/export/a /tmp/a
    $ sudo mount -t nfs -o vers=3          192.168.1.1:/export/b /tmp/b
    $ df >/dev/null
    df: ‘/tmp/b’: Input/output error
    Signed-off-by: default avatarChris Perl <cperl@janestreet.com>
    Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    8c642d71
super.c 75.8 KB