Re: [PATCH 3/5] kernel/sched: improve the BUILD_BUG_ON() in get_task_comm()

From: Yafang Shao
Date: Thu Sep 30 2021 - 08:44:22 EST


On Thu, Sep 30, 2021 at 2:12 AM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
> On Wed, Sep 29, 2021 at 11:50:34AM +0000, Yafang Shao wrote:
> > What we really want to guarantee is that the buf size can't be less than
> > TASK_COMM_LEN. While the size be greater than TASK_COMM_LEN is
> > acceptable.
>
> This makes sense when task_struct::comm is a pointer. (But I think it's
> not a good idea to do that.)
>

OK, I won't make this change.

> >
> > Signed-off-by: Yafang Shao <laoar.shao@xxxxxxxxx>
> > ---
> > include/linux/sched.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/include/linux/sched.h b/include/linux/sched.h
> > index b387b5943db4..959eaef248fc 100644
> > --- a/include/linux/sched.h
> > +++ b/include/linux/sched.h
> > @@ -1931,7 +1931,7 @@ static inline void set_task_comm(struct task_struct *tsk, const char *from)
> >
> > extern char *__get_task_comm(char *to, size_t len, struct task_struct *tsk);
> > #define get_task_comm(buf, tsk) ({ \
> > - BUILD_BUG_ON(sizeof(buf) != TASK_COMM_LEN); \
> > + BUILD_BUG_ON(sizeof(buf) < TASK_COMM_LEN); \
> > __get_task_comm(buf, sizeof(buf), tsk); \
> > })
> >
> > --
> > 2.17.1
> >
>
> --
> Kees Cook



--
Thanks
Yafang