On 01/28, Oleg Nesterov wrote: > > On 01/25, Alexey Gladkov wrote: > > > > static int proc_init_fs_context(struct fs_context *fc) > > { > > struct proc_fs_context *ctx; > > + struct pid_namespace *pid_ns; > > > > ctx = kzalloc(sizeof(struct proc_fs_context), GFP_KERNEL); > > if (!ctx) > > return -ENOMEM; > > > > - ctx->pid_ns = get_pid_ns(task_active_pid_ns(current)); > > + pid_ns = get_pid_ns(task_active_pid_ns(current)); > > + > > + if (!pid_ns->proc_mnt) { > > + ctx->fs_info = kzalloc(sizeof(struct proc_fs_info), GFP_KERNEL); > > + if (!ctx->fs_info) { > > + kfree(ctx); > > + return -ENOMEM; > > + } > > + ctx->fs_info->pid_ns = pid_ns; > > + } else { > > + ctx->fs_info = proc_sb_info(pid_ns->proc_mnt->mnt_sb); > > + } > > + > > it seems that this code lacks put_pid_ns() if pid_ns->proc_mnt != NULL > or if kzalloc() fails? OK, this is fixed in 6/11. Oleg.