The __kmalloc_track_caller symbol is not exported if SLUB/SLOB are
enabled instead of SLAB, which breaks the build on such configs when
CONFIG_XFRM_USER_COMPAT=m.

ERROR: "__kmalloc_track_caller" [net/xfrm/xfrm_compat.ko] undefined!

Other users of this symbol are 'bool' options, but changing this to
bool would require XFRM_USER to be built in as well, which doesn't
seem worth it. Go back to kmalloc().

Fixes: 96392ee5a13b9 ("xfrm/compat: Translate 32-bit user_policy from sockptr")
Cc: Dmitry Safonov <[email protected]>
Cc: Maciej Żenczykowski <[email protected]>
Cc: Steffen Klassert <[email protected]>
Signed-off-by: Alistair Delva <[email protected]>
---
 net/xfrm/xfrm_compat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/xfrm/xfrm_compat.c b/net/xfrm/xfrm_compat.c
index e28f0c9ecd6a..c1dee0696dfb 100644
--- a/net/xfrm/xfrm_compat.c
+++ b/net/xfrm/xfrm_compat.c
@@ -585,7 +585,7 @@ static int xfrm_user_policy_compat(u8 **pdata32, int optlen)
        if (optlen < sizeof(*p))
                return -EINVAL;
 
-       data64 = kmalloc_track_caller(optlen + 4, GFP_USER | __GFP_NOWARN);
+       data64 = kmalloc(optlen + 4, GFP_USER | __GFP_NOWARN);
        if (!data64)
                return -ENOMEM;
 
-- 
2.29.1.341.ge80a0c044ae-goog

Reply via email to