#include <linux/jump_label.h>
#include <linux/memory.h>
#include <linux/uaccess.h>
#include <linux/module.h>
#include <linux/list.h>
#include <linux/jhash.h>
#include <linux/cpu.h>
#include <asm/kprobes.h>
#include <asm/alternative.h>
#include <asm/text-patching.h>
#include <asm/insn.h>
int arch_jump_entry_size(struct jump_entry *entry)
{ … }
struct jump_label_patch { … };
static struct jump_label_patch
__jump_label_patch(struct jump_entry *entry, enum jump_label_type type)
{ … }
static __always_inline void
__jump_label_transform(struct jump_entry *entry,
enum jump_label_type type,
int init)
{ … }
static void __ref jump_label_transform(struct jump_entry *entry,
enum jump_label_type type,
int init)
{ … }
void arch_jump_label_transform(struct jump_entry *entry,
enum jump_label_type type)
{ … }
bool arch_jump_label_transform_queue(struct jump_entry *entry,
enum jump_label_type type)
{ … }
void arch_jump_label_transform_apply(void)
{ … }