proc: don't allow async path resolution of /proc/self components

If this is attempted by a kthread, then return -EOPNOTSUPP as we don't
currently support that. Once we can get task_pid_ptr() doing the right
thing, then this can go away again.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Jens Axboe 2020-11-13 16:47:52 -07:00
parent 88ec3211e4
commit 8d4c3e76e3

View File

@ -16,6 +16,13 @@ static const char *proc_self_get_link(struct dentry *dentry,
pid_t tgid = task_tgid_nr_ns(current, ns); pid_t tgid = task_tgid_nr_ns(current, ns);
char *name; char *name;
/*
* Not currently supported. Once we can inherit all of struct pid,
* we can allow this.
*/
if (current->flags & PF_KTHREAD)
return ERR_PTR(-EOPNOTSUPP);
if (!tgid) if (!tgid)
return ERR_PTR(-ENOENT); return ERR_PTR(-ENOENT);
/* max length of unsigned int in decimal + NULL term */ /* max length of unsigned int in decimal + NULL term */