Messages in this thread | | | Date | Sat, 25 Jul 2015 20:36:05 +0200 | From | Denys Vlasenko <> | Subject | Re: [PATCH 2/3] x86/asm/entry/32: Remove most of SYSCALL32 code, part 1 |
| |
On 07/24/2015 07:50 PM, Andy Lutomirski wrote: > On Fri, Jul 24, 2015 at 6:47 AM, Denys Vlasenko <dvlasenk@redhat.com> 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.
| |