Re: [GIT pull] x86/pti for 5.3-rc1

From: Thomas Gleixner
Date: Mon Jul 08 2019 - 15:49:01 EST


On Mon, 8 Jul 2019, Linus Torvalds wrote:

> On Mon, Jul 8, 2019 at 2:22 AM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> >
> > @@ -643,9 +644,11 @@ static unsigned long ptrace_get_debugreg(struct task_struct *tsk, int n)
> > {
> > struct thread_struct *thread = &tsk->thread;
> > unsigned long val = 0;
> > + int index = n;
> >
> > if (n < HBP_NUM) {
> > - struct perf_event *bp = thread->ptrace_bps[n];
> > + index = array_index_nospec(index, HBP_NUM);
> > + struct perf_event *bp = thread->ptrace_bps[index];
>
> This causes a new warning:
>
> warning: ISO C90 forbids mixed declarations and code
>
> and I'm fixing it up in the merge as follows:

Ooops. No idea how that slipped through. Sorry!

> @@@ -633,9 -644,11 +634,10 @@@ static unsigned long ptrace_get_debugre
> {
> struct thread_struct *thread = &tsk->thread;
> unsigned long val = 0;
> - int index = n;
>
> if (n < HBP_NUM) {
> - struct perf_event *bp = thread->ptrace_bps[n];
> - index = array_index_nospec(index, HBP_NUM);
> ++ int index = array_index_nospec(n, HBP_NUM);
> + struct perf_event *bp = thread->ptrace_bps[index];
>
> if (bp)
> val = bp->hw.info.address;
>
> Holler if I did something stupid.

Obviously correct.

Thanks for fixing it up.

tglx