Message ID | 20201201084650.205087954@linuxfoundation.org |
---|---|
State | Superseded |
Headers | show |
Series | None | expand |
Hi, On 2020/12/1 16:53, Greg Kroah-Hartman wrote: > From: Jens Axboe <axboe@kernel.dk> > > [ Upstream commit 8d4c3e76e3be11a64df95ddee52e99092d42fc19 ] > > 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. https://www.spinics.net/lists/io-uring/msg05297.html This patch seems used for io-wq worker which is merged in v5.5-rc1, why we need this in linux-4.19.y ? Thanks, Yang > > Signed-off-by: Jens Axboe <axboe@kernel.dk> > Signed-off-by: Sasha Levin <sashal@kernel.org> > --- > fs/proc/self.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/fs/proc/self.c b/fs/proc/self.c > index cc6d4253399d1..7922edf70ce1a 100644 > --- a/fs/proc/self.c > +++ b/fs/proc/self.c > @@ -16,6 +16,13 @@ static const char *proc_self_get_link(struct dentry *dentry, > pid_t tgid = task_tgid_nr_ns(current, ns); > 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) > return ERR_PTR(-ENOENT); > /* max length of unsigned int in decimal + NULL term */
On 3/2/21 1:40 AM, Yang Yingliang wrote: > Hi, > > On 2020/12/1 16:53, Greg Kroah-Hartman wrote: >> From: Jens Axboe <axboe@kernel.dk> >> >> [ Upstream commit 8d4c3e76e3be11a64df95ddee52e99092d42fc19 ] >> >> 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. > > https://www.spinics.net/lists/io-uring/msg05297.html > > This patch seems used for io-wq worker which is merged in > > v5.5-rc1, why we need this in linux-4.19.y ? While that's true, it's also a sane safeguard in general. -- Jens Axboe
diff --git a/fs/proc/self.c b/fs/proc/self.c index cc6d4253399d1..7922edf70ce1a 100644 --- a/fs/proc/self.c +++ b/fs/proc/self.c @@ -16,6 +16,13 @@ static const char *proc_self_get_link(struct dentry *dentry, pid_t tgid = task_tgid_nr_ns(current, ns); 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) return ERR_PTR(-ENOENT); /* max length of unsigned int in decimal + NULL term */