#define pr_fmt(fmt) …
#include <linux/mman.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include <kunit/test.h>
#if BITS_PER_LONG == 64 || (!(defined(CONFIG_ARM) && !defined(MMU)) && \
!defined(CONFIG_M68K) && \
!defined(CONFIG_MICROBLAZE) && \
!defined(CONFIG_NIOS2) && \
!defined(CONFIG_PPC32) && \
!defined(CONFIG_SUPERH))
#define TEST_U64
#endif
struct usercopy_test_priv { … };
static bool is_zeroed(void *from, size_t size)
{ … }
static void usercopy_test_check_nonzero_user(struct kunit *test)
{ … }
static void usercopy_test_copy_struct_from_user(struct kunit *test)
{ … }
static void usercopy_test_valid(struct kunit *test)
{ … }
static void usercopy_test_invalid(struct kunit *test)
{ … }
static int usercopy_test_init(struct kunit *test)
{ … }
static struct kunit_case usercopy_test_cases[] = …;
static struct kunit_suite usercopy_test_suite = …;
kunit_test_suites(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;