Re: [PATCH] x86/arch_prctl/64: restore accidentally removed put_cpu in ARCH_SET_GS

From: Andy Lutomirski
Date: Thu May 12 2016 - 11:12:16 EST


On Tue, May 10, 2016 at 1:56 PM, Mateusz Guzik <mguzik@xxxxxxxxxx> wrote:
> This fixes 731e33e39a5b95ad770 "Remove FSBASE/GSBASE < 4G optimization"
>
> Signed-off-by: Mateusz Guzik <mguzik@xxxxxxxxxx>
> ---
> arch/x86/kernel/process_64.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
> index 4285f6a..6b16c36 100644
> --- a/arch/x86/kernel/process_64.c
> +++ b/arch/x86/kernel/process_64.c
> @@ -541,6 +541,7 @@ long do_arch_prctl(struct task_struct *task, int code, unsigned long addr)
> load_gs_index(0);
> ret = wrmsrl_safe(MSR_KERNEL_GS_BASE, addr);
> }
> + put_cpu();
> break;
> case ARCH_SET_FS:
> /* Not strictly needed for fs, but do it for symmetry
> --
> 1.8.3.1
>

Ingo, can you apply this before the merge window opens?

I just noticed that you weren't cc'd, so I'll repeat my ack:

Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>

And I'll ask, since IIRC you wrote it: would it make sense to augment
lockdep_sys_exit to see if preemption got left disabled?

Thanks,
Andy