11.11.2015 15:40, Konstantin Khorenko пишет:
On 11/10/2015 05:56 PM, Andrey Ryabinin wrote:
On 11/10/2015 05:52 PM, Stanislav Kinsburskiy wrote:
goto err;
+ if (get_exec_env()->init_cred)
+ root_user_ns = get_exec_env()->init_cred->user_ns;
+ else
+ root_user_ns = &init_user_ns;
+
We have some helper for this, if I'm not mistaken.
Probably this one:
current_user_ns_initial()
current_user_ns_initial() check if current user_ns is initial for
current ve.
We need to check if file's user_ns is initial for current ve, so it
doesn't fit here.
Stas, agree? Ack?
Sorry for the delay.
I definitely experience some problems with IMAP, because received this
mails only an hour ago.
Basically yes, I have nothing against. And I was mistaken: we don't have
such a helper.
But I would like to note, that from my POW it worth to create a helper
similar to this:
+ struct user_namespace *ve_init_user_ns(void)
+ {
+ if (get_exec_env()->init_cred)
+ return get_exec_env()->init_cred->user_ns;
+ return &init_user_ns;
+}
And use it here and also in do_new_mount(), where we have the same chunk.
I expect, that we will have more places, where it could be useful.
if ((file->f_op != &fuse_dev_operations) ||
- (file->f_cred->user_ns != &init_user_ns))
+ (file->f_cred->user_ns != root_user_ns))
goto err_fput;
fc = kmalloc(sizeof(*fc), GFP_KERNEL);
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel