diff -urN wt1-260/arch/i386/kernel/entry.S wt1-261/arch/i386/kernel/entry.S --- wt1-260/arch/i386/kernel/entry.S Fri Aug 13 17:14:38 2004 +++ wt1-261/arch/i386/kernel/entry.S Fri Aug 13 17:20:37 2004 @@ -765,10 +765,25 @@ .long SYMBOL_NAME(sys_ni_syscall) /* sys_exit_group */ .long SYMBOL_NAME(sys_ni_syscall) /* sys_lookup_dcookie */ .long SYMBOL_NAME(sys_epoll_create) /* sys_epoll_create */ - .long SYMBOL_NAME(sys_epoll_ctl) /* sys_epoll_ctl 255 */ + .long SYMBOL_NAME(sys_epoll_ctl) /* 255 sys_epoll_ctl */ .long SYMBOL_NAME(sys_epoll_wait) /* sys_epoll_wait */ .long SYMBOL_NAME(sys_ni_syscall) /* sys_remap_file_pages */ .long SYMBOL_NAME(sys_ni_syscall) /* sys_set_tid_address */ + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) /* 260 */ + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) /* 265 */ + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) /* 270 */ + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_ni_syscall) + .long SYMBOL_NAME(sys_vserver) /* 273 sys_vserver */ .rept NR_syscalls-(.-sys_call_table)/4 .long SYMBOL_NAME(sys_ni_syscall) diff -urN wt1-260/fs/Makefile wt1-261/fs/Makefile --- wt1-260/fs/Makefile Fri Aug 13 17:14:38 2004 +++ wt1-261/fs/Makefile Fri Aug 13 17:20:37 2004 @@ -7,7 +7,7 @@ O_TARGET := fs.o -export-objs := filesystems.o open.o dcache.o buffer.o dquot.o exec.o +export-objs := filesystems.o open.o dcache.o buffer.o dquot.o exec.o quota.o mod-subdirs := nls obj-y := open.o read_write.o devices.o file_table.o buffer.o \ diff -urN wt1-260/fs/proc/array.c wt1-261/fs/proc/array.c --- wt1-260/fs/proc/array.c Fri Aug 13 17:14:38 2004 +++ wt1-261/fs/proc/array.c Fri Aug 13 17:20:37 2004 @@ -273,11 +273,15 @@ { return buffer + sprintf(buffer, "CapInh:\t%016x\n" "CapPrm:\t%016x\n" - "CapEff:\t%016x\n", + "CapEff:\t%016x\n" + "CapBset:\t%016x\n", cap_t(p->cap_inheritable), cap_t(p->cap_permitted), - cap_t(p->cap_effective)); + cap_t(p->cap_effective), + cap_t(p->cap_bset)); } + +extern rwlock_t ctx_ref_lock; #if defined(CONFIG_PAX_NOEXEC) || defined(CONFIG_PAX_ASLR) static inline char *task_pax(struct task_struct *p, char *buffer) diff -urN wt1-260/fs/xfs/linux-2.4/xfs_vnode.c wt1-261/fs/xfs/linux-2.4/xfs_vnode.c --- wt1-260/fs/xfs/linux-2.4/xfs_vnode.c Fri Aug 13 17:14:38 2004 +++ wt1-261/fs/xfs/linux-2.4/xfs_vnode.c Fri Aug 13 17:23:43 2004 @@ -219,9 +219,13 @@ inode->i_ctime = vap->va_ctime.tv_sec; inode->i_atime = vap->va_atime.tv_sec; if (vap->va_xflags & XFS_XFLAG_IMMUTABLE) - inode->i_flags |= S_IMMUTABLE; + inode->i_flags |= S_IMMUTABLE_FILE; else - inode->i_flags &= ~S_IMMUTABLE; + inode->i_flags &= ~S_IMMUTABLE_FILE; + if (vap->va_xflags & XFS_XFLAG_IUNLINK) + inode->i_flags |= S_IMMUTABLE_LINK; + else + inode->i_flags &= ~S_IMMUTABLE_LINK; if (vap->va_xflags & XFS_XFLAG_APPEND) inode->i_flags |= S_APPEND; else diff -urN wt1-260/kernel/signal.c wt1-261/kernel/signal.c --- wt1-260/kernel/signal.c Fri Aug 13 17:14:38 2004 +++ wt1-261/kernel/signal.c Fri Aug 13 17:20:37 2004 @@ -13,6 +13,7 @@ #include #include #include +#include #include #include diff -urN wt1-260/kernel/sys.c wt1-261/kernel/sys.c --- wt1-260/kernel/sys.c Fri Aug 13 17:14:38 2004 +++ wt1-261/kernel/sys.c Fri Aug 13 17:20:37 2004 @@ -6,14 +6,17 @@ #include #include +#include #include #include #include #include +#include #include #include #include #include +#include #include #include #include diff -urN wt1-260/kernel/sysctl.c wt1-261/kernel/sysctl.c --- wt1-260/kernel/sysctl.c Fri Aug 13 17:14:38 2004 +++ wt1-261/kernel/sysctl.c Fri Aug 13 17:20:37 2004 @@ -292,6 +292,9 @@ &exception_trace,sizeof(int),0644,NULL,&proc_dointvec}, #endif + {KERN_VSHELPER,"vshelper", + &vshelper_path,256,0644,NULL,&proc_dostring,&sysctl_string}, + #ifdef CONFIG_PAX_SOFTMODE {KERN_PAX,"pax",NULL,0,0500,pax_table}, #endif