2021-05-16 07:31:57

by Khaled Romdhani

[permalink] [raw]
Subject: [PATCH-next] sched: Fix Dereference after null check

The group_cfs_rq derefrence the 'se' variable that could
be passed as NULL pointer. Fix this by adding a check
against the sched entity 'se' before the derefrence.

Addresses-Coverity: ("Dereference after null check")
Signed-off-by: Khaled ROMDHANI <[email protected]>
---
kernel/sched/fair.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 161b92aa1c79..9be6cdba351d 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -7080,7 +7080,8 @@ static struct task_struct *pick_task_fair(struct rq *rq)
}

se = pick_next_entity(cfs_rq, curr);
- cfs_rq = group_cfs_rq(se);
+ if (se)
+ cfs_rq = group_cfs_rq(se);
} while (cfs_rq);

return task_of(se);
--
2.17.1



2021-05-16 09:26:36

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH-next] sched: Fix Dereference after null check

On Sat, May 15, 2021 at 06:11:17PM +0100, Khaled ROMDHANI wrote:
> The group_cfs_rq derefrence the 'se' variable that could
> be passed as NULL pointer. Fix this by adding a check
> against the sched entity 'se' before the derefrence.
>
> Addresses-Coverity: ("Dereference after null check")
> Signed-off-by: Khaled ROMDHANI <[email protected]>

Please, burn that piece of garbage known as Coverity and go do something
useful.