mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
ptrace: Remove unused ptrace_may_access_sched() and MODE_IBRS
The IBPB control code in x86 removed the usage. Remove the functionality which was introduced for this. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: David Woodhouse <dwmw@amazon.co.uk> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Casey Schaufler <casey.schaufler@intel.com> Cc: Asit Mallick <asit.k.mallick@intel.com> Cc: Arjan van de Ven <arjan@linux.intel.com> Cc: Jon Masters <jcm@redhat.com> Cc: Waiman Long <longman9394@gmail.com> Cc: Greg KH <gregkh@linuxfoundation.org> Cc: Dave Stewart <david.c.stewart@intel.com> Cc: Kees Cook <keescook@chromium.org> Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/20181125185005.559149393@linutronix.de
This commit is contained in:
parent
4c71a2b6fd
commit
46f7ecb1e7
@ -64,15 +64,12 @@ extern void exit_ptrace(struct task_struct *tracer, struct list_head *dead);
|
|||||||
#define PTRACE_MODE_NOAUDIT 0x04
|
#define PTRACE_MODE_NOAUDIT 0x04
|
||||||
#define PTRACE_MODE_FSCREDS 0x08
|
#define PTRACE_MODE_FSCREDS 0x08
|
||||||
#define PTRACE_MODE_REALCREDS 0x10
|
#define PTRACE_MODE_REALCREDS 0x10
|
||||||
#define PTRACE_MODE_SCHED 0x20
|
|
||||||
#define PTRACE_MODE_IBPB 0x40
|
|
||||||
|
|
||||||
/* shorthands for READ/ATTACH and FSCREDS/REALCREDS combinations */
|
/* shorthands for READ/ATTACH and FSCREDS/REALCREDS combinations */
|
||||||
#define PTRACE_MODE_READ_FSCREDS (PTRACE_MODE_READ | PTRACE_MODE_FSCREDS)
|
#define PTRACE_MODE_READ_FSCREDS (PTRACE_MODE_READ | PTRACE_MODE_FSCREDS)
|
||||||
#define PTRACE_MODE_READ_REALCREDS (PTRACE_MODE_READ | PTRACE_MODE_REALCREDS)
|
#define PTRACE_MODE_READ_REALCREDS (PTRACE_MODE_READ | PTRACE_MODE_REALCREDS)
|
||||||
#define PTRACE_MODE_ATTACH_FSCREDS (PTRACE_MODE_ATTACH | PTRACE_MODE_FSCREDS)
|
#define PTRACE_MODE_ATTACH_FSCREDS (PTRACE_MODE_ATTACH | PTRACE_MODE_FSCREDS)
|
||||||
#define PTRACE_MODE_ATTACH_REALCREDS (PTRACE_MODE_ATTACH | PTRACE_MODE_REALCREDS)
|
#define PTRACE_MODE_ATTACH_REALCREDS (PTRACE_MODE_ATTACH | PTRACE_MODE_REALCREDS)
|
||||||
#define PTRACE_MODE_SPEC_IBPB (PTRACE_MODE_ATTACH_REALCREDS | PTRACE_MODE_IBPB)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ptrace_may_access - check whether the caller is permitted to access
|
* ptrace_may_access - check whether the caller is permitted to access
|
||||||
@ -90,20 +87,6 @@ extern void exit_ptrace(struct task_struct *tracer, struct list_head *dead);
|
|||||||
*/
|
*/
|
||||||
extern bool ptrace_may_access(struct task_struct *task, unsigned int mode);
|
extern bool ptrace_may_access(struct task_struct *task, unsigned int mode);
|
||||||
|
|
||||||
/**
|
|
||||||
* ptrace_may_access - check whether the caller is permitted to access
|
|
||||||
* a target task.
|
|
||||||
* @task: target task
|
|
||||||
* @mode: selects type of access and caller credentials
|
|
||||||
*
|
|
||||||
* Returns true on success, false on denial.
|
|
||||||
*
|
|
||||||
* Similar to ptrace_may_access(). Only to be called from context switch
|
|
||||||
* code. Does not call into audit and the regular LSM hooks due to locking
|
|
||||||
* constraints.
|
|
||||||
*/
|
|
||||||
extern bool ptrace_may_access_sched(struct task_struct *task, unsigned int mode);
|
|
||||||
|
|
||||||
static inline int ptrace_reparented(struct task_struct *child)
|
static inline int ptrace_reparented(struct task_struct *child)
|
||||||
{
|
{
|
||||||
return !same_thread_group(child->real_parent, child->parent);
|
return !same_thread_group(child->real_parent, child->parent);
|
||||||
|
@ -261,9 +261,6 @@ static int ptrace_check_attach(struct task_struct *child, bool ignore_state)
|
|||||||
|
|
||||||
static int ptrace_has_cap(struct user_namespace *ns, unsigned int mode)
|
static int ptrace_has_cap(struct user_namespace *ns, unsigned int mode)
|
||||||
{
|
{
|
||||||
if (mode & PTRACE_MODE_SCHED)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (mode & PTRACE_MODE_NOAUDIT)
|
if (mode & PTRACE_MODE_NOAUDIT)
|
||||||
return has_ns_capability_noaudit(current, ns, CAP_SYS_PTRACE);
|
return has_ns_capability_noaudit(current, ns, CAP_SYS_PTRACE);
|
||||||
else
|
else
|
||||||
@ -331,16 +328,9 @@ ok:
|
|||||||
!ptrace_has_cap(mm->user_ns, mode)))
|
!ptrace_has_cap(mm->user_ns, mode)))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
||||||
if (mode & PTRACE_MODE_SCHED)
|
|
||||||
return 0;
|
|
||||||
return security_ptrace_access_check(task, mode);
|
return security_ptrace_access_check(task, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ptrace_may_access_sched(struct task_struct *task, unsigned int mode)
|
|
||||||
{
|
|
||||||
return __ptrace_may_access(task, mode | PTRACE_MODE_SCHED);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ptrace_may_access(struct task_struct *task, unsigned int mode)
|
bool ptrace_may_access(struct task_struct *task, unsigned int mode)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
Loading…
Reference in New Issue
Block a user