[PATCH 2/9] syslog_ns: add syslog_ns into user_namespace

Gao feng gaofeng at cn.fujitsu.com
Mon Jul 29 09:54:26 UTC 2013


On 07/29/2013 05:46 PM, Gu Zheng wrote:
> Hi Rui,
> 
> On 07/29/2013 10:31 AM, Rui Xiang wrote:
> 
>> Add a syslog_ns pointer to user_namespace, and make
>> syslog_ns per user_namespace, not global.
>>
>> Since syslog_ns is assigned to user_ns, we can have
>> full capabilities in new user_ns to create a new syslog_ns.
>>
>> Signed-off-by: Rui Xiang <rui.xiang at huawei.com>
>> ---
>>  include/linux/syslog.h         | 5 +++++
>>  include/linux/user_namespace.h | 1 +
>>  2 files changed, 6 insertions(+)
>>
>> diff --git a/include/linux/syslog.h b/include/linux/syslog.h
>> index 425fafe..62ce47f 100644
>> --- a/include/linux/syslog.h
>> +++ b/include/linux/syslog.h
>> @@ -90,6 +90,11 @@ struct syslog_namespace {
>>  	size_t syslog_partial;
>>  
>>  	int dmesg_restrict;
>> +
>> +	/*
>> +	 * user namespace which owns this syslog ns.
>> +	 */
>> +	struct user_namespace *owner;
>>  };
>>  
>>  static inline struct syslog_namespace *get_syslog_ns(
>> diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
>> index b6b215f..ce2de5b 100644
>> --- a/include/linux/user_namespace.h
>> +++ b/include/linux/user_namespace.h
>> @@ -28,6 +28,7 @@ struct user_namespace {
>>  	unsigned int		proc_inum;
>>  	bool			may_mount_sysfs;
>>  	bool			may_mount_proc;
>> +	struct syslog_namespace *syslog_ns;
> 
> As we add a syslog_ns pointer to user_namespace to make
> syslog_ns per user_namespace and the caps check.
> But why also add a point to syslog_namespace in
> user_namespace? Am I missing something?:)
> 

yep,with this we can make sure all the other types of namespace such as mount, net, pid
can access syslog_ns through user namespace.



More information about the Containers mailing list