[PATCH] Fix compile for CONFIG_SYSVIPC=n or CONFIG_SYSCTL=n

From: Stephen Rothwell
Date: Sun Feb 19 2006 - 23:31:31 EST


The compat syscalls are added to sys_ni.c since they are not defined
if the above CONFIG options are off. Also, nfs would not build with
CONFIG_SYSCTL off.

Noticed by Arthur Othieno.

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---

include/linux/nfs_fs.h | 2 +-
kernel/sys_ni.c | 2 ++
2 files changed, 3 insertions(+), 1 deletions(-)

On Sun, 19 Feb 2006 22:52:31 +1100 Paul Mackerras <paulus@xxxxxxxxx> wrote:
>
> Arthur Othieno writes:
>
> > --- a/arch/powerpc/kernel/sys_ppc32.c
> > +++ b/arch/powerpc/kernel/sys_ppc32.c
> > @@ -440,7 +440,13 @@ long compat_sys_ipc(u32 call, u32 first,
> >
> > return -ENOSYS;
> > }
> > -#endif
> > +#else
> > +long compat_sys_ipc(u32 call, u32 first, u32 second, u32 third, compat_uptr_t ptr,
> > + u32 fifth)
> > +{
> > + return -ENOSYS;
> > +}
> > +#endif /* CONFIG_SYSVIPC */
>
> Can't we just add a couple of cond_syscall lines to kernel/sys_ni.c
> instead?

Linus, can we have this applied for 2.6.16. It presumably affects sparc64
(at least for CONFIG_SYSVIPC) as well as powerpc. The NFS fix would
affect all architectures, I think?

This has been compile tested with the CONFIG options on and off for powerpc.

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

c1a27bc400a1412c7c758775bb695e8b98d1c0c3
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index 547d649..b4dc6e2 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -398,7 +398,7 @@ extern struct inode_operations nfs_symli
extern int nfs_register_sysctl(void);
extern void nfs_unregister_sysctl(void);
#else
-#define nfs_register_sysctl() do { } while(0)
+#define nfs_register_sysctl() 0
#define nfs_unregister_sysctl() do { } while(0)
#endif

diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c
index 17313b9..1067090 100644
--- a/kernel/sys_ni.c
+++ b/kernel/sys_ni.c
@@ -104,6 +104,8 @@ cond_syscall(sys_setreuid16);
cond_syscall(sys_setuid16);
cond_syscall(sys_vm86old);
cond_syscall(sys_vm86);
+cond_syscall(compat_sys_ipc);
+cond_syscall(compat_sys_sysctl);

/* arch-specific weak syscall entries */
cond_syscall(sys_pciconfig_read);
--
1.2.1

Attachment: pgp00000.pgp
Description: PGP signature