linux/lib/test_static_keys.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Kernel module for testing static keys.
 *
 * Copyright 2015 Akamai Technologies Inc. All Rights Reserved
 *
 * Authors:
 *      Jason Baron       <[email protected]>
 */

#include <linux/module.h>
#include <linux/jump_label.h>

/* old keys */
struct static_key old_true_key	=;
struct static_key old_false_key	=;

/* new api */
DEFINE_STATIC_KEY_TRUE(true_key);
DEFINE_STATIC_KEY_FALSE(false_key);

/* external */
extern struct static_key base_old_true_key;
extern struct static_key base_inv_old_true_key;
extern struct static_key base_old_false_key;
extern struct static_key base_inv_old_false_key;

/* new api */
extern struct static_key_true base_true_key;
extern struct static_key_true base_inv_true_key;
extern struct static_key_false base_false_key;
extern struct static_key_false base_inv_false_key;


struct test_key {};

#define test_key_func(key, branch)

static void invert_key(struct static_key *key)
{}

static void invert_keys(struct test_key *keys, int size)
{}

static int verify_keys(struct test_key *keys, int size, bool invert)
{}

test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()
test_key_func()

static int __init test_static_key_init(void)
{}

static void __exit test_static_key_exit(void)
{}

module_init(test_static_key_init);
module_exit(test_static_key_exit);

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();