From 293a4886f93f1d4f01ef2642b81c2509a5376ce5 Mon Sep 17 00:00:00 2001 From: John Johansen Date: Mon, 16 Jan 2017 00:42:40 -0800 Subject: [PATCH] apparmor: add get_dfa() fn The dfa is currently setup to be shared (has the basis of refcounting) but currently can't be because the count can't be increased. Signed-off-by: John Johansen --- security/apparmor/include/match.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/security/apparmor/include/match.h b/security/apparmor/include/match.h index a1c04fe..d751c8b 100644 --- a/security/apparmor/include/match.h +++ b/security/apparmor/include/match.h @@ -128,6 +128,21 @@ unsigned int aa_dfa_next(struct aa_dfa *dfa, unsigned int state, void aa_dfa_free_kref(struct kref *kref); /** + * aa_get_dfa - increment refcount on dfa @p + * @dfa: dfa (MAYBE NULL) + * + * Returns: pointer to @dfa if @dfa is NULL will return NULL + * Requires: @dfa must be held with valid refcount when called + */ +static inline struct aa_dfa *aa_get_dfa(struct aa_dfa *dfa) +{ + if (dfa) + kref_get(&(dfa->count)); + + return dfa; +} + +/** * aa_put_dfa - put a dfa refcount * @dfa: dfa to put refcount (MAYBE NULL) * -- 2.7.4