The rcu_string returned by rcu_string_strdup isn't technically under RCU yet, and it makes more sense not to treat it as such. Additionally, an rcu_string passed to rcu_string_free should already be rcu_dereferenced and therefore not in the __rcu address space.
Signed-off-by: Omar Sandoval <osan...@osandov.com> --- include/linux/rcustring.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/linux/rcustring.h b/include/linux/rcustring.h index 67277ab..28bd9bc 100644 --- a/include/linux/rcustring.h +++ b/include/linux/rcustring.h @@ -37,8 +37,7 @@ struct rcu_string { * @src: The string to copy * @flags: Flags for kmalloc */ -static inline struct rcu_string __rcu *rcu_string_strdup(const char *src, - gfp_t flags) +static inline struct rcu_string *rcu_string_strdup(const char *src, gfp_t flags) { struct rcu_string *ret; size_t len = strlen(src) + 1; @@ -54,7 +53,7 @@ static inline struct rcu_string __rcu *rcu_string_strdup(const char *src, * rcu_string_free() - free an RCU string * @str: The string */ -static inline void rcu_string_free(struct rcu_string __rcu *str) +static inline void rcu_string_free(struct rcu_string *str) { if (str) kfree_rcu(str, rcu); -- 2.1.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/