While debugging a networking issue, I hit a condition that triggered
an object to be freed into the wrong kmem cache, and thus triggered
the warning in cache_from_obj().

The arguments in the error message are in wrong order: the location
of the object's kmem cache is in cachep, not s.

Signed-off-by: Daniel Borkmann <dan...@iogearbox.net>
---
 mm/slab.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/slab.h b/mm/slab.h
index 8da63e4..819f27e 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -321,7 +321,7 @@ static inline struct kmem_cache *cache_from_obj(struct 
kmem_cache *s, void *x)
                return cachep;
 
        pr_err("%s: Wrong slab cache. %s but object is from %s\n",
-              __func__, cachep->name, s->name);
+              __func__, s->name, cachep->name);
        WARN_ON_ONCE(1);
        return s;
 }
-- 
1.9.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/

Reply via email to