From 1448c721e4fa2faf742029a0403b4b787fccb7fa Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Mon, 17 Oct 2011 13:40:02 -0700 Subject: 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 Signed-off-by: Christoph Hellwig --- arch/parisc/include/asm/compat.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'arch/parisc') diff --git a/arch/parisc/include/asm/compat.h b/arch/parisc/include/asm/compat.h index efa0b60c63fe..760f331d4fa3 100644 --- a/arch/parisc/include/asm/compat.h +++ b/arch/parisc/include/asm/compat.h @@ -105,7 +105,8 @@ struct compat_statfs { __kernel_fsid_t f_fsid; s32 f_namelen; s32 f_frsize; - s32 f_spare[5]; + s32 f_flags; + s32 f_spare[4]; }; struct compat_sigcontext { -- cgit v1.2.1 From a87df54ea3c82369b4b1cb94886449a6bc2e16a2 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Mon, 1 Aug 2011 13:12:26 -0400 Subject: parisc: Add export.h to files needing EXPORT_SYMBOL/THIS_MODULE These guys were getting it implicitly via module.h before, when module.h was everywhere. Signed-off-by: Paul Gortmaker --- arch/parisc/kernel/drivers.c | 1 + arch/parisc/kernel/pci-dma.c | 1 + arch/parisc/kernel/setup.c | 1 + arch/parisc/lib/iomap.c | 1 + 4 files changed, 4 insertions(+) (limited to 'arch/parisc') diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c index 994bcd980909..5709c5e59be8 100644 --- a/arch/parisc/kernel/drivers.c +++ b/arch/parisc/kernel/drivers.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/parisc/kernel/pci-dma.c b/arch/parisc/kernel/pci-dma.c index d047edea2504..d87d1c476d85 100644 --- a/arch/parisc/kernel/pci-dma.c +++ b/arch/parisc/kernel/pci-dma.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include /* for DMA_CHUNK_SIZE */ diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c index cb71f3dac995..a3328c2616b0 100644 --- a/arch/parisc/kernel/setup.c +++ b/arch/parisc/kernel/setup.c @@ -35,6 +35,7 @@ #include #undef PCI_DEBUG #include +#include #include #include diff --git a/arch/parisc/lib/iomap.c b/arch/parisc/lib/iomap.c index 5069e8b2ca71..8f470c93b16d 100644 --- a/arch/parisc/lib/iomap.c +++ b/arch/parisc/lib/iomap.c @@ -5,6 +5,7 @@ #include #include +#include #include /* -- cgit v1.2.1