[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <99FC4B6EFCEFD44486C35F4C281DC6732144BFBC@ORSMSX107.amr.corp.intel.com>
Date: Thu, 13 Sep 2018 00:04:49 +0000
From: "Schaufler, Casey" <casey.schaufler@...el.com>
To: Jiri Kosina <jikos@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Ingo Molnar" <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
"Josh Poimboeuf" <jpoimboe@...hat.com>,
Andrea Arcangeli <aarcange@...hat.com>,
"Woodhouse, David" <dwmw@...zon.co.uk>,
Andi Kleen <ak@...ux.intel.com>,
"Tim Chen" <tim.c.chen@...ux.intel.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>,
"Schaufler, Casey" <casey.schaufler@...el.com>
Subject: RE: [PATCH v6 1/3] x86/speculation: apply IBPB more strictly to
avoid cross-process data leak
> -----Original Message-----
> From: Jiri Kosina [mailto:jikos@...nel.org]
>
>
> @@ -325,10 +326,13 @@ static int __ptrace_may_access(struct task_struct
> *task, unsigned int mode)
> mm = task->mm;
> if (mm &&
> ((get_dumpable(mm) != SUID_DUMP_USER) &&
> - !ptrace_has_cap(mm->user_ns, mode)))
> + ((mode & PTRACE_MODE_NOACCESS_CHK) ||
> + !ptrace_has_cap(mm->user_ns, mode))))
> return -EPERM;
>
> - return security_ptrace_access_check(task, mode);
> + if (!(mode & PTRACE_MODE_NOACCESS_CHK))
> + return security_ptrace_access_check(task, mode);
> + return 0;
Because PTRACE_MODE_IBPB includes PTRACE_MODE_NOAUDIT you
shouldn't need this change. Do you have a good way to exercise this code
path? I'm having trouble getting to the check, and have yet to get a case
where PTRACE_MODE_NOACCESS_CHK is set.
> }
>
> bool ptrace_may_access(struct task_struct *task, unsigned int mode)
>
> --
> Jiri Kosina
> SUSE Labs
Powered by blists - more mailing lists