Skip to content
  • Andi Kleen's avatar
    Remove BKL from remote_llseek v2 · 9465efc9
    Andi Kleen authored
    
    
    - Replace remote_llseek with generic_file_llseek_unlocked (to force compilation
    failures in all users)
    - Change all users to either use generic_file_llseek_unlocked directly or
    take the BKL around. I changed the file systems who don't use the BKL
    for anything (CIFS, GFS) to call it directly. NCPFS and SMBFS and NFS
    take the BKL, but explicitely in their own source now.
    
    I moved them all over in a single patch to avoid unbisectable sections.
    
    Open problem: 32bit kernels can corrupt fpos because its modification
    is not atomic, but they can do that anyways because there's other paths who
    modify it without BKL.
    
    Do we need a special lock for the pos/f_version = 0 checks?
    
    Trond says the NFS BKL is likely not needed, but keep it for now
    until his full audit.
    
    v2: Use generic_file_llseek_unlocked instead of remote_llseek_unlocked
        and factor duplicated code (suggested by hch)
    
    Cc: Trond.Myklebust@netapp.com
    Cc: swhiteho@redhat.com
    Cc: sfrench@samba.org
    Cc: vandrove@vc.cvut.cz
    
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
    9465efc9