Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rseq.c Create Date:2022-07-28 13:50:48
Last Modify:2022-05-20 08:09:32 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:rseq_need_restart

Proto:static int rseq_need_restart(struct task_struct *t, u32 cs_flags)

Type:int

Parameter:

TypeParameterName
struct task_struct *t
u32cs_flags
167  ret = Get a simple variable from user space(flags, & flags)
168  If ret Then Return ret
172  flags |= cs_flags
180  If Value for the false possibility is greater at compile time((flags & RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL) && (flags & RSEQ_CS_PREEMPT_MIGRATE_FLAGS) != RSEQ_CS_PREEMPT_MIGRATE_FLAGS) Then Return -EINVAL
189  Even if we don't have any preemption, we need preempt disable/enable* to be barriers, so that we don't have things like get_user/put_user* that can cause faults and scheduling migrate into our preempt-protected* region.()
190  event_mask = rseq_event_mask
191  rseq_event_mask = 0
192  preempt_enable()
194  Return Not Not (event_mask & ~flags)
Caller
NameDescribe
rseq_ip_fixup