nospec: Allow getting/setting on non-current task
Adjust arch_prctl_get/set_spec_ctrl() to operate on tasks other than current. This is needed both for /proc/$pid/status queries and for seccomp (since thread-syncing can trigger seccomp in non-current threads). Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
a73ec77ee1
commit
7bbf1373e2
3 changed files with 26 additions and 17 deletions
|
|
@ -7,6 +7,8 @@
|
|||
#define _LINUX_NOSPEC_H
|
||||
#include <asm/barrier.h>
|
||||
|
||||
struct task_struct;
|
||||
|
||||
/**
|
||||
* array_index_mask_nospec() - generate a ~0 mask when index < size, 0 otherwise
|
||||
* @index: array element index
|
||||
|
|
@ -57,7 +59,8 @@ static inline unsigned long array_index_mask_nospec(unsigned long index,
|
|||
})
|
||||
|
||||
/* Speculation control prctl */
|
||||
int arch_prctl_spec_ctrl_get(unsigned long which);
|
||||
int arch_prctl_spec_ctrl_set(unsigned long which, unsigned long ctrl);
|
||||
int arch_prctl_spec_ctrl_get(struct task_struct *task, unsigned long which);
|
||||
int arch_prctl_spec_ctrl_set(struct task_struct *task, unsigned long which,
|
||||
unsigned long ctrl);
|
||||
|
||||
#endif /* _LINUX_NOSPEC_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue