Re: [PATCH 0/3] Convert nsproxy, groups, and creds to refcount_t

From: Kees Cook
Date: Sun Jun 14 2020 - 23:55:54 EST


On Mon, Jun 15, 2020 at 10:10:08AM +0800, Xiaoming Ni wrote:
> On 2020/6/13 2:34, Kees Cook wrote:
> > This series was never applied[1], and was recently pointed out as
> > missing[2]. If someone has a tree for this, please take it. Otherwise,
> > please Ack and I'll send it to Linus.
> >
> > Thanks!
> >
> > -Kees
> >
> > [1] https://lore.kernel.org/lkml/20190306110549.7628-1-elena.reshetova@xxxxxxxxx/
> > [2] https://lore.kernel.org/lkml/1591957695-118312-1-git-send-email-nixiaoming@xxxxxxxxxx/
> >
> > Elena Reshetova (3):
> > nsproxy: convert nsproxy.count to refcount_t
> > groups: convert group_info.usage to refcount_t
> > creds: convert cred.usage to refcount_t
> >
> > include/linux/cred.h | 15 +++++++-------
> > include/linux/nsproxy.h | 7 +++----
> > kernel/cred.c | 44 ++++++++++++++++++++---------------------
> > kernel/groups.c | 2 +-
> > kernel/nsproxy.c | 6 +++---
> > net/sunrpc/auth.c | 2 +-
> > 6 files changed, 38 insertions(+), 38 deletions(-)
> >
>
> Should mm->mm_users also be replaced by refcount_t?

I'll say "yes". :)
https://lore.kernel.org/lkml/1487671124-11188-1-git-send-email-elena.reshetova@xxxxxxxxx/

> In addition, is it better to change all variables that use
> atomic_dec_and_test to control the release process to refconut_t?

For the most part, yes. The following may find a lot of them:
scripts/coccinelle/api/atomic_as_refcounter.cocci

If you can go through that and double check for prior series from Elena,
we can get through all the rest of them.

Thanks for bringing this topic back up!

--
Kees Cook