Re: [PATCH 2/3] x86/asm/entry/32: Remove most of SYSCALL32 code, part 1

From: Denys Vlasenko
Date: Sat Jul 25 2015 - 14:36:16 EST


On 07/24/2015 07:50 PM, Andy Lutomirski wrote:
> On Fri, Jul 24, 2015 at 6:47 AM, Denys Vlasenko <dvlasenk@xxxxxxxxxx> wrote:
>> SYSCALL32 code is nearly identical to SYSCALL32, except for initial
>> section. Merge them.
>>
>> The removal is split into two parts, to make review eaiser. This is part 1.
>>
>> auditsys_entry_common and auditsys_exit macros are indented one more tab without
>> any changes. This prevents diff from becoming unreadable.
>> They will be removed in part 2.
>
> I need to read these more closely, which is, at present, exceeding my
> ability to look at asm. (See the big NMI thread.) I'll look soon.

The "sysenter_fix_flags" thingy prevented the diff from being
a pure delete, so it is not as clear as I hoped.

What patch is doing is actually very simple. It "amputates"
entire SYSENTER code path after it finished creating partially
filled pt_regs, loaded arg6 and dealt with EFLAGS sanitization -
after this is done, the state is identical to the similar
state in SYSCALL code, so we can just use SYSCALL code from that moment
onward! :)


> Meanwhile, this code is incredibly fragile wrt syscall restart.
> (Syscall restart on compat is really weird.)

Weird in what way?

> Do we have a decent test for it?

I don't know of any such test.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/