• Eric W. Biederman's avatar
    compat: sync compat_stats with statfs. · 1448c721
    Eric W. Biederman authored
    This was found by inspection while tracking a similar
    bug in compat_statfs64, that has been fixed in mainline
    since decemeber.
    
    - This fixes a bug where not all of the f_spare fields
      were cleared on mips and s390.
    - Add the f_flags field to struct compat_statfs
    - Copy f_flags to userspace in case someone cares.
    - Use __clear_user to copy the f_spare field to userspace
      to ensure that all of the elements of f_spare are cleared.
      On some architectures f_spare is has 5 ints and on some
      architectures f_spare only has 4 ints.  Which makes
      the previous technique of clearing each int individually
      broken.
    
    I don't expect anyone actually uses the old statfs system
    call anymore but if they do let them benefit from having
    the compat and the native version working the same.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    1448c721
compat.h 4.82 KB