Re: [PATCH] x86, nospec: Fix uninitialized mask in array_index_mask_nospec()
From: Linus Torvalds
Date: Wed Feb 14 2018 - 16:04:18 EST
On Wed, Feb 14, 2018 at 12:50 PM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
> Break the false dependency on the uninitialized value of 'mask' in
> array_index_mask_nospec(). This potentially allows the CPU to rename the
> register, avoids reports from tools that can detect uninitialized inline
> asm arguments, and makes it explicit that this sequence wants the result
> of (0 - 0 - CARRY).
NAK.
This is stupid.
Any asm tools that think this is "uninitialized inline asm arguments"
are complete garbage. It's an output-only register. Fix the tool, or
ignore it as shit.
And that false dependency argument is pure garbage too. Making this an
input that has been initialized to zero doesn't just generate a
pointless zeroing operation, it also adds to register pressure.
So NAK NAK NAK. The arguments for this patch are pure and utter shite.
If somebody can actually show a performance reason (with NUMBERS!) for
it or some _real_ reason to do something this stupid, that's one
thing. But these arguments are just bad, and the patch is bad.
Linus