Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
#include <linux/mm_types.h>
#include <linux/gfp.h>
#include <linux/sync_core.h>
+#include <linux/maple_tree.h>
/*
* Routines for handling mm_structs
*/
static inline void mmget(struct mm_struct *mm)
{
+ mt_set_in_rcu(&mm->mm_mt);
atomic_inc(&mm->mm_users);
}
static inline bool mmget_not_zero(struct mm_struct *mm)
{
+ mt_set_in_rcu(&mm->mm_mt);
return atomic_inc_not_zero(&mm->mm_users);
}
}
if (mm->binfmt)
module_put(mm->binfmt->module);
+ mt_clear_in_rcu(&mm->mm_mt);
mmdrop(mm);
}