cregit-Linux how code gets into the kernel

Release 4.14 include/linux/user-return-notifier.h

Directory: include/linux
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_USER_RETURN_NOTIFIER_H

#define _LINUX_USER_RETURN_NOTIFIER_H

#ifdef CONFIG_USER_RETURN_NOTIFIER

#include <linux/list.h>
#include <linux/sched.h>


struct user_return_notifier {
	
void (*on_user_return)(struct user_return_notifier *urn);
	
struct hlist_node link;
};


void user_return_notifier_register(struct user_return_notifier *urn);
void user_return_notifier_unregister(struct user_return_notifier *urn);


static inline void propagate_user_return_notify(struct task_struct *prev, struct task_struct *next) { if (test_tsk_thread_flag(prev, TIF_USER_RETURN_NOTIFY)) { clear_tsk_thread_flag(prev, TIF_USER_RETURN_NOTIFY); set_tsk_thread_flag(next, TIF_USER_RETURN_NOTIFY); } }

Contributors

PersonTokensPropCommitsCommitProp
Avi Kivity42100.00%1100.00%
Total42100.00%1100.00%

void fire_user_return_notifiers(void);
static inline void clear_user_return_notifier(struct task_struct *p) { clear_tsk_thread_flag(p, TIF_USER_RETURN_NOTIFY); }

Contributors

PersonTokensPropCommitsCommitProp
Avi Kivity19100.00%1100.00%
Total19100.00%1100.00%

#else struct user_return_notifier {};
static inline void propagate_user_return_notify(struct task_struct *prev, struct task_struct *next) { }

Contributors

PersonTokensPropCommitsCommitProp
Avi Kivity16100.00%1100.00%
Total16100.00%1100.00%


static inline void fire_user_return_notifiers(void) {}

Contributors

PersonTokensPropCommitsCommitProp
Avi Kivity8100.00%1100.00%
Total8100.00%1100.00%


static inline void clear_user_return_notifier(struct task_struct *p) {}

Contributors

PersonTokensPropCommitsCommitProp
Avi Kivity11100.00%1100.00%
Total11100.00%1100.00%

#endif #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Avi Kivity16699.40%266.67%
Greg Kroah-Hartman10.60%133.33%
Total167100.00%3100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.