Re: [PATCH 0/5] sched refcount_t conversions

From: Andrea Parri
Date: Fri Jan 18 2019 - 10:07:01 EST


On Fri, Jan 18, 2019 at 02:27:25PM +0200, Elena Reshetova wrote:
> I would really love finally to merge these old patches
> (now rebased on top of linux-next/master as of last friday),
> since as far as I remember none has raised any more concerns
> on them.
>
> refcount_t has been now successfully used in kernel in many places,
> helped to detect bugs and mistakes in logic of refcounters.
>
> This series, for scheduler and task struct specifically,
> replaces atomic_t reference counters with the new refcount_t type
> and API (see include/linux/refcount.h).
> By doing this we prevent intentional or accidental
> underflows or overflows that can lead to use-after-free vulnerabilities.
>
> The patches are fully independent and can be cherry-picked separately.
> More information about each conversion in each patch separately.
>
> Elena Reshetova (5):
> sched: convert sighand_struct.count to refcount_t
> sched: convert signal_struct.sigcnt to refcount_t
> sched: convert numa_group.refcount to refcount_t
> sched/task_struct: convert task_struct.usage to refcount_t
> sched/task_struct: convert task_struct.stack_refcount to refcount_t

For the series, please feel free to add:

Reviewed-by: Andrea Parri <andrea.parri@xxxxxxxxxxxxxxxxxxxx>

(You may still want to update the references to the 'refcount-vs-atomic'
doc. in the commit messages.)

Andrea


>
> fs/exec.c | 4 ++--
> fs/proc/task_nommu.c | 2 +-
> include/linux/init_task.h | 1 +
> include/linux/sched.h | 5 +++--
> include/linux/sched/signal.h | 5 +++--
> include/linux/sched/task.h | 4 ++--
> include/linux/sched/task_stack.h | 2 +-
> init/init_task.c | 6 +++---
> kernel/fork.c | 24 ++++++++++++------------
> kernel/sched/fair.c | 12 ++++++------
> 10 files changed, 34 insertions(+), 31 deletions(-)
>
> --
> 2.7.4
>