您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ tracehook_notify_resume函数代码示例

51自学网 2021-06-03 08:56:46
  C++
这篇教程C++ tracehook_notify_resume函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中tracehook_notify_resume函数的典型用法代码示例。如果您正苦于以下问题:C++ tracehook_notify_resume函数的具体用法?C++ tracehook_notify_resume怎么用?C++ tracehook_notify_resume使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了tracehook_notify_resume函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: do_work_pending

/* * This routine is called on return from interrupt if any of the * TIF_WORK_MASK flags are set in thread_info->flags.  It is * entered with interrupts disabled so we don't miss an event * that modified the thread_info flags.  If any flag is set, we * handle it and return, and the calling assembly code will * re-disable interrupts, reload the thread flags, and call back * if more flags need to be handled. * * We return whether we need to check the thread_info flags again * or not.  Note that we don't clear TIF_SINGLESTEP here, so it's * important that it be tested last, and then claim that we don't * need to recheck the flags. */int do_work_pending(struct pt_regs *regs, u32 thread_info_flags){	/* If we enter in kernel mode, do nothing and exit the caller loop. */	if (!user_mode(regs))		return 0;	if (thread_info_flags & _TIF_NEED_RESCHED) {		schedule();		return 1;	}#if CHIP_HAS_TILE_DMA() || CHIP_HAS_SN_PROC()	if (thread_info_flags & _TIF_ASYNC_TLB) {		do_async_page_fault(regs);		return 1;	}#endif	if (thread_info_flags & _TIF_SIGPENDING) {		do_signal(regs);		return 1;	}	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();		return 1;	}	if (thread_info_flags & _TIF_SINGLESTEP) {		single_step_once(regs);		return 0;	}	panic("work_pending: bad flags %#x/n", thread_info_flags);}
开发者ID:Korn1699,项目名称:linux,代码行数:47,


示例2: do_work_pending

asmlinkage intdo_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall){	do {		if (likely(thread_flags & _TIF_NEED_RESCHED)) {			schedule();		} else {			if (unlikely(!user_mode(regs)))				return 0;			local_irq_enable();			if (thread_flags & _TIF_SIGPENDING) {				int restart = do_signal(regs, syscall);				if (unlikely(restart)) {					/*					 * Restart without handlers.					 * Deal with it without leaving					 * the kernel space.					 */					return restart;				}				syscall = 0;			} else if (thread_flags & _TIF_UPROBE) {				uprobe_notify_resume(regs);			} else {				clear_thread_flag(TIF_NOTIFY_RESUME);				tracehook_notify_resume(regs);			}		}		local_irq_disable();		thread_flags = current_thread_info()->flags;	} while (thread_flags & _TIF_WORK_MASK);	return 0;}
开发者ID:ParrotSec,项目名称:linux-psec,代码行数:33,


示例3: do_notify_resume

asmlinkage void do_notify_resume(struct pt_regs *regs,				 unsigned int thread_flags){	/*	 * The assembly code enters us with IRQs off, but it hasn't	 * informed the tracing code of that for efficiency reasons.	 * Update the trace code with the current status.	 */	trace_hardirqs_off();	do {		if (thread_flags & _TIF_NEED_RESCHED) {			schedule();		} else {			local_irq_enable();			if (thread_flags & _TIF_SIGPENDING)				do_signal(regs);			if (thread_flags & _TIF_NOTIFY_RESUME) {				clear_thread_flag(TIF_NOTIFY_RESUME);				tracehook_notify_resume(regs);			}			if (thread_flags & _TIF_FOREIGN_FPSTATE)				fpsimd_restore_current_state();		}		local_irq_disable();		thread_flags = READ_ONCE(current_thread_info()->flags);	} while (thread_flags & _TIF_WORK_MASK);}
开发者ID:Artox,项目名称:linux,代码行数:31,


示例4: do_notify_resume

asmlinkage void do_notify_resume(struct pt_regs *regs, int in_syscall){	if (test_thread_flag(TIF_SIGPENDING))		do_signal(regs, in_syscall);	if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME))		tracehook_notify_resume(regs);}
开发者ID:0-T-0,项目名称:ps4-linux,代码行数:8,


示例5: do_notify_resume

void do_notify_resume(struct pt_regs *regs){	/*	 * ASM glue gaurantees that this is only called when returning to	 * user mode	 */	if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME))		tracehook_notify_resume(regs);}
开发者ID:CyberGrandChallenge,项目名称:linux-source-3.13.11-ckt32-cgc,代码行数:9,


示例6: do_notify_resume

void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, unsigned long thread_info_flags){	if (thread_info_flags & _TIF_SIGPENDING)		do_signal(regs, orig_i0);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:AdrianHuang,项目名称:linux-3.8.13,代码行数:9,


示例7: do_notify_resume

asmlinkage void do_notify_resume(struct pt_regs *regs, u32 thread_info_flags){	if (thread_info_flags & _TIF_SIGPENDING)		do_signal(regs);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:7L,项目名称:pi_plus,代码行数:10,


示例8: do_notify_resume

asmlinkage voiddo_notify_resume(struct pt_regs *regs, unsigned int thread_flags, int syscall){	if (thread_flags & _TIF_SIGPENDING)		do_signal(regs, syscall);	if (thread_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:12019,项目名称:mediatek,代码行数:11,


示例9: do_notify_resume

void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, unsigned long thread_info_flags){	if (thread_info_flags & _TIF_SIGPENDING)		do_signal(regs, orig_i0);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();	}}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:11,


示例10: do_notify_resume

asmlinkage void do_notify_resume(struct pt_regs *regs, unsigned int in_syscall,	unsigned int thread_flags){	local_irq_enable();	if (thread_flags & _TIF_SIGPENDING) {		do_signal(regs, in_syscall);	} else {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:linuxbest,项目名称:linux-milkymist,代码行数:12,


示例11: do_notify_resume

/* * notification of userspace execution resumption * - triggered by current->work.notify_resume */asmlinkage void do_notify_resume(struct pt_regs *regs, u32 thread_info_flags,				 int syscall){	/* deal with pending signal delivery */	if (thread_info_flags & (1 << TIF_SIGPENDING))		do_signal(regs, syscall);	if (thread_info_flags & (1 << TIF_NOTIFY_RESUME)) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:01org,项目名称:KVMGT-kernel,代码行数:16,


示例12: do_notify_resume

/* * notification of userspace execution resumption */asmlinkage void do_notify_resume(struct pt_regs *regs){	if (test_thread_flag(TIF_SIGPENDING) || test_thread_flag(TIF_RESTORE_SIGMASK))		do_signal(regs);	if (test_thread_flag(TIF_NOTIFY_RESUME)) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();	}}
开发者ID:Korn1699,项目名称:linux,代码行数:15,


示例13: do_notify_resume

asmlinkage void do_notify_resume(struct pt_regs *regs, unsigned int save_r0,				 unsigned long thread_info_flags){	/* deal with pending signal delivery */	if (thread_info_flags & _TIF_SIGPENDING)		do_signal(regs, save_r0);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:moddingg33k,项目名称:deprecated_android_kernel_synopsis,代码行数:12,


示例14: do_notify_resume

void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, unsigned long thread_info_flags){	user_exit();	if (thread_info_flags & _TIF_UPROBE)		uprobe_notify_resume(regs);	if (thread_info_flags & _TIF_SIGPENDING)		do_signal(regs, orig_i0);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}	user_enter();}
开发者ID:kishore1006,项目名称:linux,代码行数:13,


示例15: do_notify_resume

/* * notification of userspace execution resumption * - triggered by the _TIF_WORK_MASK flags */asmlinkage void do_notify_resume(struct pt_regs *regs,	unsigned long thread_info_flags){	/* Handle pending signal delivery */	if (thread_info_flags & _TIF_SIGPENDING) {		do_signal(regs);	}	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:8l,项目名称:riscv-linux,代码行数:17,


示例16: do_notify_resume

void do_notify_resume(int canrestart, struct pt_regs *regs,		      __u32 thread_info_flags){		if (thread_info_flags & _TIF_SIGPENDING)		do_signal(canrestart,regs);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();	}}
开发者ID:Blackburn29,项目名称:PsycoKernel,代码行数:14,


示例17: prepare_exit_to_usermode

/* Called with IRQs disabled. */__visible void prepare_exit_to_usermode(struct pt_regs *regs){    if (WARN_ON(!irqs_disabled()))        local_irq_disable();    /*     * In order to return to user mode, we need to have IRQs off with     * none of _TIF_SIGPENDING, _TIF_NOTIFY_RESUME, _TIF_USER_RETURN_NOTIFY,     * _TIF_UPROBE, or _TIF_NEED_RESCHED set.  Several of these flags     * can be set at any time on preemptable kernels if we have IRQs on,     * so we need to loop.  Disabling preemption wouldn't help: doing the     * work to clear some of the flags can sleep.     */    while (true) {        u32 cached_flags =            READ_ONCE(pt_regs_to_thread_info(regs)->flags);        if (!(cached_flags & (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME |                              _TIF_UPROBE | _TIF_NEED_RESCHED |                              _TIF_USER_RETURN_NOTIFY)))            break;        /* We have work to do. */        local_irq_enable();        if (cached_flags & _TIF_NEED_RESCHED)            schedule();        if (cached_flags & _TIF_UPROBE)            uprobe_notify_resume(regs);        /* deal with pending signal delivery */        if (cached_flags & _TIF_SIGPENDING)            do_signal(regs);        if (cached_flags & _TIF_NOTIFY_RESUME) {            clear_thread_flag(TIF_NOTIFY_RESUME);            tracehook_notify_resume(regs);        }        if (cached_flags & _TIF_USER_RETURN_NOTIFY)            fire_user_return_notifiers();        /* Disable IRQs and retry */        local_irq_disable();    }    user_enter();}
开发者ID:michas2,项目名称:l4re-snapshot,代码行数:50,


示例18: do_notify_resume

/* * notification of userspace execution resumption * - triggered by the TIF_WORK_MASK flags */asmlinkage void do_notify_resume(struct pt_regs *regs, void *unused,	__u32 thread_info_flags){	local_irq_enable();	preempt_check_resched();	/* deal with pending signal delivery */	if (thread_info_flags & _TIF_SIGPENDING)		do_signal(regs);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:stoku,项目名称:linux-3.6.11-ab,代码行数:19,


示例19: do_notify_resume

voiddo_notify_resume(struct pt_regs *regs, struct switch_stack *sw,		 unsigned long thread_info_flags,		 unsigned long r0, unsigned long r19){	if (thread_info_flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK))		do_signal(regs, sw, r0, r19);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();	}}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:15,


示例20: do_notify_resume

asmlinkage void do_notify_resume(struct pt_regs *regs,				 unsigned int thread_flags){	if (thread_flags & _TIF_SIGPENDING)		do_signal(regs);	if (thread_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}	if (thread_flags & _TIF_FOREIGN_FPSTATE)		fpsimd_restore_current_state();}
开发者ID:Eyeless95,项目名称:samsung_g531h_kernel,代码行数:15,


示例21: do_notify_resume

/* * notification of userspace execution resumption * - triggered by current->work.notify_resume */asmlinkage void do_notify_resume(struct pt_regs *regs, u32 thread_info_flags,				 int syscall){	/* deal with pending signal delivery */	if (thread_info_flags & ((1 << TIF_SIGPENDING) |				 (1 << TIF_RESTORE_SIGMASK)))		do_signal(regs, syscall);	if (thread_info_flags & (1 << TIF_NOTIFY_RESUME)) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();	}}
开发者ID:33d,项目名称:linux-2.6.21-hh20,代码行数:19,


示例22: do_notify_resume

/* * notification of userspace execution resumption * - triggered by current->work.notify_resume */void do_notify_resume(struct pt_regs *regs, __u32 thread_info_flags){	/* Pending single-step? */	if (thread_info_flags & _TIF_SINGLESTEP)		clear_thread_flag(TIF_SINGLESTEP);	/* deal with pending signal delivery */	if (thread_info_flags & _TIF_SIGPENDING)		do_signal(regs);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:12zz,项目名称:linux,代码行数:19,


示例23: do_notify_resume

/* * notification of userspace execution resumption * - triggered by the _TIF_WORK_MASK flags */asmlinkage void do_notify_resume(struct pt_regs *regs,	unsigned long thread_info_flags){	/* Handle pending signal delivery */	if (thread_info_flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK)) {		do_signal(regs);	}	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();	}}
开发者ID:rishinaidu,项目名称:riscv-linux,代码行数:19,


示例24: do_notify_resume

asmlinkage void do_notify_resume(struct pt_regs *regs, struct thread_info *ti){	int syscall = 0;	if ((sysreg_read(SR) & MODE_MASK) == MODE_SUPERVISOR)		syscall = 1;	if (ti->flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK))		do_signal(regs, &current->blocked, syscall);	if (ti->flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);	}}
开发者ID:Minia89,项目名称:DORIMANX_LG_STOCK_LP_KERNEL,代码行数:15,


示例25: do_notify_resume

/* * notification of userspace execution resumption * - triggered by the TIF_WORK_MASK flags */asmlinkage void do_notify_resume(struct pt_regs *regs, void *unused,	__u32 thread_info_flags){	local_irq_enable();	/* deal with pending signal delivery */	if (thread_info_flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK))		do_signal(regs);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();	}}
开发者ID:lishaman,项目名称:minispeaker,代码行数:20,


示例26: do_notify_resume

/* * notification of userspace execution resumption * - triggered by the TIF_WORK_MASK flags */asmlinkage void do_notify_resume(__u32 thread_info_flags){	/* pending single-step? */	if (thread_info_flags & _TIF_SINGLESTEP)		clear_thread_flag(TIF_SINGLESTEP);	/* deal with pending signal delivery */	if (thread_info_flags & _TIF_SIGPENDING)		do_signal();	/* deal with notification on about to resume userspace execution */	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(__frame);	}} /* end do_notify_resume() */
开发者ID:01org,项目名称:thunderbolt-software-kernel-tree,代码行数:21,


示例27: do_notify_resume

asmlinkage void do_notify_resume(struct pt_regs *regs, int in_syscall){	/*	 * We want the common case to go fast, which	 * is why we may in certain cases get here from	 * kernel mode. Just return without doing anything	 * if so.	 */	if (kernel_mode(regs))		return;	if (test_thread_flag(TIF_SIGPENDING))		do_signal(regs, in_syscall);	if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME))		tracehook_notify_resume(regs);}
开发者ID:AdrianHuang,项目名称:linux-3.8.13,代码行数:17,


示例28: exit_to_usermode_loop

static void exit_to_usermode_loop(struct pt_regs *regs, u32 cached_flags){	/*	 * In order to return to user mode, we need to have IRQs off with	 * none of EXIT_TO_USERMODE_LOOP_FLAGS set.  Several of these flags	 * can be set at any time on preemptible kernels if we have IRQs on,	 * so we need to loop.  Disabling preemption wouldn't help: doing the	 * work to clear some of the flags can sleep.	 */	while (true) {		/* We have work to do. */		local_irq_enable();		if (cached_flags & _TIF_NEED_RESCHED)			schedule();		if (cached_flags & _TIF_UPROBE)			uprobe_notify_resume(regs);		if (cached_flags & _TIF_PATCH_PENDING)			klp_update_patch_state(current);		/* deal with pending signal delivery */		if (cached_flags & _TIF_SIGPENDING)			do_signal(regs);		if (cached_flags & _TIF_NOTIFY_RESUME) {			clear_thread_flag(TIF_NOTIFY_RESUME);			tracehook_notify_resume(regs);			rseq_handle_notify_resume(NULL, regs);		}		if (cached_flags & _TIF_USER_RETURN_NOTIFY)			fire_user_return_notifiers();		/* Disable IRQs and retry */		local_irq_disable();		cached_flags = READ_ONCE(current_thread_info()->flags);		if (!(cached_flags & EXIT_TO_USERMODE_LOOP_FLAGS))			break;	}}
开发者ID:avagin,项目名称:linux,代码行数:44,


示例29: do_notify_resume

/* * notification of userspace execution resumption * - triggered by current->work.notify_resume */void do_notify_resume(struct pt_regs *regs, __u32 thread_info_flags){	/* Pending single-step? */	if (thread_info_flags & _TIF_SINGLESTEP)		clear_thread_flag(TIF_SINGLESTEP);	/* deal with pending signal delivery */	if (thread_info_flags & _TIF_SIGPENDING)		do_signal(regs);	if (thread_info_flags & _TIF_NOTIFY_RESUME) {		clear_thread_flag(TIF_NOTIFY_RESUME);		tracehook_notify_resume(regs);		if (current->replacement_session_keyring)			key_replace_session_keyring();	}	clear_thread_flag(TIF_IRET);}
开发者ID:Lord-Devices,项目名称:cm_kernel_samsung_hlte,代码行数:23,



注:本文中的tracehook_notify_resume函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ tracer函数代码示例
C++ tracef函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。