linux-yocto/include/kunit/skbuff.h
Dan Carpenter 673f503cfe kunit: skb: use "gfp" variable instead of hardcoding GFP_KERNEL
[ Upstream commit fd0a5afb54 ]

The intent here was clearly to use the gfp variable flags instead of
hardcoding GFP_KERNEL.  All the callers pass GFP_KERNEL as the gfp
flags so this doesn't affect runtime.

Fixes: b3231d353a ("kunit: add a convenience allocation wrapper for SKBs")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-12-05 14:02:13 +01:00

57 lines
1.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* KUnit resource management helpers for SKBs (skbuff).
*
* Copyright (C) 2023 Intel Corporation
*/
#ifndef _KUNIT_SKBUFF_H
#define _KUNIT_SKBUFF_H
#include <kunit/resource.h>
#include <linux/skbuff.h>
static void kunit_action_kfree_skb(void *p)
{
kfree_skb((struct sk_buff *)p);
}
/**
* kunit_zalloc_skb() - Allocate and initialize a resource managed skb.
* @test: The test case to which the skb belongs
* @len: size to allocate
*
* Allocate a new struct sk_buff with GFP_KERNEL, zero fill the give length
* and add it as a resource to the kunit test for automatic cleanup.
*
* Returns: newly allocated SKB, or %NULL on error
*/
static inline struct sk_buff *kunit_zalloc_skb(struct kunit *test, int len,
gfp_t gfp)
{
struct sk_buff *res = alloc_skb(len, gfp);
if (!res || skb_pad(res, len))
return NULL;
if (kunit_add_action_or_reset(test, kunit_action_kfree_skb, res))
return NULL;
return res;
}
/**
* kunit_kfree_skb() - Like kfree_skb except for allocations managed by KUnit.
* @test: The test case to which the resource belongs.
* @skb: The SKB to free.
*/
static inline void kunit_kfree_skb(struct kunit *test, struct sk_buff *skb)
{
if (!skb)
return;
kunit_release_action(test, kunit_action_kfree_skb, (void *)skb);
}
#endif /* _KUNIT_SKBUFF_H */