On Wed, Jun 14, 2017 at 04:17:43PM +0100, David Howells wrote:
quoted hunk ↗ jump to hunk
int pid_ns_prepare_proc(struct pid_namespace *ns)
{
+ struct proc_fs_context *ctx;
+ struct fs_context *fc;
struct vfsmount *mnt;
+ int ret;
+
+ fc = vfs_new_fs_context(&proc_fs_type, NULL, 0, FS_CONTEXT_FOR_NEW);
+ if (IS_ERR(fc))
+ return PTR_ERR(fc);
+
+ ctx = container_of(fc, struct proc_fs_context, fc);
+ if (ctx->pid_ns != ns) {
+ put_pid_ns(ctx->pid_ns);
+ get_pid_ns(ns);
+ ctx->pid_ns = ns;
+ }
+
+ ret = vfs_get_tree(fc);
+ if (ret < 0) {
+ put_fs_context(fc);
+ return ret;
+ }
- mnt = kern_mount_data(&proc_fs_type, ns);
+ mnt = kern_mount_data_fc(fc);
+ put_fs_context(fc);
Same as with ipc; do you need to go through dynamic allocation,
container_of, patching it up, etc.?
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html