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

From: Gao feng
Date: Mon Jul 29 2013 - 05:53:07 EST


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@xxxxxxxxxx>
>> ---
>> 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.

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