compat: sync compat_stats with statfs.
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:Eric W. Biederman <ebiederm@xmission.com> Signed-off-by:
Christoph Hellwig <hch@lst.de>
Showing
- arch/mips/include/asm/compat.h 2 additions, 1 deletionarch/mips/include/asm/compat.h
- arch/parisc/include/asm/compat.h 2 additions, 1 deletionarch/parisc/include/asm/compat.h
- arch/powerpc/include/asm/compat.h 2 additions, 1 deletionarch/powerpc/include/asm/compat.h
- arch/s390/include/asm/compat.h 2 additions, 1 deletionarch/s390/include/asm/compat.h
- arch/sparc/include/asm/compat.h 2 additions, 1 deletionarch/sparc/include/asm/compat.h
- arch/x86/include/asm/compat.h 2 additions, 1 deletionarch/x86/include/asm/compat.h
- fs/compat.c 2 additions, 5 deletionsfs/compat.c
Loading
Please register or sign in to comment