lkml.org 
[lkml]   [2020]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch 08/10] x86/entry/32: Remove the 0/-1 distinction from exception entries
From
Date
On 2/25/20 1:36 PM, Thomas Gleixner wrote:
> Nothing cares about the -1 "mark as interrupt" in the errorcode anymore. Just
> use 0 for all excpetions which do not have an errorcode consistently.
>

I sincerely wish this were the case. But look at collect_syscall() in
lib/syscall.c.

It would be really quite nice to address this for real in some
low-overhead way. My suggestion would be to borrow a trick from 32-bit:
split regs->cs into ->cs and ->__csh, and stick CS_FROM_SYSCALL into
__csh for syscalls. This will only add any overhead at all to the int80
case. Then we could adjust syscall_get_nr() to look for CS_FROM_SYSCALL.

What do you think? An alternative would be to use the stack walking
machinery in collect_syscall(), since the mere existence of that
function is abomination and we may not care about performance.

--Andy

\
 
 \ /
  Last update: 2020-02-26 06:34    [W:0.173 / U:0.896 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site