Bug 151452 - vdso: should make sysenter (and maybe sysexit) work with exec-shield
vdso: should make sysenter (and maybe sysexit) work with exec-shield
Status: CLOSED WORKSFORME
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
rawhide
i686 Linux
medium Severity low
: ---
: ---
Assigned To: Roland McGrath
Brian Brock
:
Depends On: 151450
Blocks:
  Show dependency treegraph
 
Reported: 2005-03-17 21:35 EST by Roland McGrath
Modified: 2007-11-30 17:11 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-04-06 04:17:46 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Roland McGrath 2005-03-17 21:35:53 EST
The sysenter variant of the vDSO cannot be used with exec-shield because of two
constraints in the sysexit instruction.  

First we should try using sysenter and not using sysexit, which may have a
performance improvement vs using int.

The first issue is conflicts with cs segment limits used by exec-shield.
sysexit cannot be used when cs segment limits are being used.  But, newer
processors have NX support and do not need to use segment limits.
We should conditionalize sysexit use on that.

The second issue is sysexit's constant return EIP value.
When using exec-shield, the correct value differs in each process.
It may be feasible to rewrite the MSR on context switches or something similar,
would have to compare the performance of this to the iret return path.
Comment 1 Roland McGrath 2005-03-17 22:25:39 EST
Hmm, looks like Ingo already added some cleverness to address the sysexit trouble.
And, sysenter use is disabled when NX is not available.

So, this is probably all good to go when bug #151450 is fixed.
Comment 2 Roland McGrath 2005-04-06 04:17:46 EDT
sysenter works fine when the generic vdso issues are fixed

Note You need to log in before you can comment on or make changes to this bug.