Re: [PATCH] IPC namespace core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Woodhouse wrote:
> On Mon, 2006-10-02 at 16:01 +0000, Linux Kernel Mailing List wrote:
>> commit 25b21cb2f6d69b0475b134e0a3e8e269137270fa
>> tree cd9c3966408c0ca5903249437c35ff35961de544
>> parent c0b2fc316599d6cd875b6b8cafa67f03b9512b4d
>> author Kirill Korotaev <[email protected]> 1159780699 -0700
>> committer Linus Torvalds <[email protected]> 1159801042 -0700
>>
>> [PATCH] IPC namespace core
>>
>> This patch set allows to unshare IPCs and have a private set of IPC objects
>> (sem, shm, msg) inside namespace.  Basically, it is another building block of
>> containers functionality.
>>
>> This patch implements core IPC namespace changes:
>> - ipc_namespace structure
>> - new config option CONFIG_IPC_NS
>> - adds CLONE_NEWIPC flag
>> - unshare support
>>
>> [[email protected]: small fix for unshare of ipc namespace]
>> [[email protected]: build fix]
>> Signed-off-by: Pavel Emelianov <[email protected]>
>> Signed-off-by: Kirill Korotaev <[email protected]>
>> Signed-off-by: Cedric Le Goater <[email protected]>
>> Cc: "Eric W. Biederman" <[email protected]>
>> Signed-off-by: Andrew Morton <[email protected]>
>> Signed-off-by: Linus Torvalds <[email protected]>
> 
>> --- a/include/linux/ipc.h
>> +++ b/include/linux/ipc.h
>> @@ -2,6 +2,7 @@ #ifndef _LINUX_IPC_H
>>  #define _LINUX_IPC_H
>>  
>>  #include <linux/types.h>
>> +#include <linux/kref.h>
>>  
>>  #define IPC_PRIVATE ((__kernel_key_t) 0)  
>>  
> 
> You need to move the #include down the file by about 50 lines so it
> lands inside the existing #ifdef __KERNEL__.
> 
> All those signed-off-bys and _none_ of you managed to notice that
> <linux/kref.h> doesn't exist in the headers we export to userspace,
> despite the fact that just running 'make headers_check' would have
> shouted at you about it?
> 
> Bad hacker. No biscuit.

No biscuit ! That can not be ! patch bellow.

thanks for spotting this. 

C.

This patches fixes #ifdef __KERNEL__ .

Signed-off-by: Cedric Le Goater <[email protected]>
---
 include/linux/Kbuild    |    2 +-
 include/linux/ipc.h     |    3 ++-
 include/linux/utsname.h |   17 +++++++++++------
 3 files changed, 14 insertions(+), 8 deletions(-)

Index: 2.6.18-mm3/include/linux/ipc.h
===================================================================
--- 2.6.18-mm3.orig/include/linux/ipc.h
+++ 2.6.18-mm3/include/linux/ipc.h
@@ -2,7 +2,6 @@
 #define _LINUX_IPC_H
 
 #include <linux/types.h>
-#include <linux/kref.h>
 
 #define IPC_PRIVATE ((__kernel_key_t) 0)  
 
@@ -52,6 +51,8 @@ struct ipc_perm
 
 #ifdef __KERNEL__
 
+#include <linux/kref.h>
+
 #define IPCMNI 32768  /* <= MAX_INT limit for ipc arrays (including sysctl changes) */
 
 /* used by in-kernel data structures */
Index: 2.6.18-mm3/include/linux/utsname.h
===================================================================
--- 2.6.18-mm3.orig/include/linux/utsname.h
+++ 2.6.18-mm3/include/linux/utsname.h
@@ -1,11 +1,6 @@
 #ifndef _LINUX_UTSNAME_H
 #define _LINUX_UTSNAME_H
 
-#include <linux/sched.h>
-#include <linux/kref.h>
-#include <linux/nsproxy.h>
-#include <asm/atomic.h>
-
 #define __OLD_UTS_LEN 8
 
 struct oldold_utsname {
@@ -35,6 +30,13 @@ struct new_utsname {
 	char domainname[65];
 };
 
+#ifdef __KERNEL__
+
+#include <linux/sched.h>
+#include <linux/kref.h>
+#include <linux/nsproxy.h>
+#include <asm/atomic.h>
+
 struct uts_namespace {
 	struct kref kref;
 	struct new_utsname name;
@@ -86,4 +88,7 @@ static inline struct new_utsname *init_u
 }
 
 extern struct rw_semaphore uts_sem;
-#endif
+
+#endif /* __KERNEL__ */
+
+#endif /* _LINUX_UTSNAME_H */
Index: 2.6.18-mm3/include/linux/Kbuild
===================================================================
--- 2.6.18-mm3.orig/include/linux/Kbuild
+++ 2.6.18-mm3/include/linux/Kbuild
@@ -158,7 +158,6 @@ header-y += toshiba.h
 header-y += ultrasound.h
 header-y += un.h
 header-y += utime.h
-header-y += utsname.h
 header-y += video_decoder.h
 header-y += video_encoder.h
 header-y += videotext.h
@@ -336,6 +335,7 @@ unifdef-y += unistd.h
 unifdef-y += usb_ch9.h
 unifdef-y += usbdevice_fs.h
 unifdef-y += user.h
+unifdef-y += utsname.h
 unifdef-y += videodev2.h
 unifdef-y += videodev.h
 unifdef-y += wait.h

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux