Example #1
0
static void jump_label_update(struct jump_label_key *key, int enable)
{
	struct jump_entry *entry = key->entries;

	/* if there are no users, entry can be NULL */
	if (entry)
		__jump_label_update(key, entry, enable);

#ifdef CONFIG_MODULES
	__jump_label_mod_update(key, enable);
#endif
}
static void jump_label_update(struct static_key *key, int enable)
{
	struct jump_entry *stop = __stop___jump_table;
	struct jump_entry *entry = jump_label_get_entries(key);

#ifdef CONFIG_MODULES
	struct module *mod = __module_address((unsigned long)key);

	__jump_label_mod_update(key, enable);

	if (mod)
		stop = mod->jump_entries + mod->num_jump_entries;
#endif
	
	if (entry)
		__jump_label_update(key, entry, stop, enable);
}
Example #3
0
static void jump_label_update(struct static_key *key)
{
	struct jump_entry *stop = __stop___jump_table;
	struct jump_entry *entry = static_key_entries(key);
#ifdef CONFIG_MODULES
	struct module *mod;

	__jump_label_mod_update(key);

	preempt_disable();
	mod = __module_address((unsigned long)key);
	if (mod)
		stop = mod->jump_entries + mod->num_jump_entries;
	preempt_enable();
#endif
	/* if there are no users, entry can be NULL */
	if (entry)
		__jump_label_update(key, entry, stop);
}