Re: Article Announcement - Sysenter Based System Call Mechanism in Linux 2.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/5/06, Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:
On Fri, 2006-08-04 at 13:00 -0400, Manu Garg wrote:
> I am writing this to announce an article on "sysenter" way of doing
> systems calls in newer linux kernels. Here is the link:
> http://manugarg.blogspot.com/2006/07/sysenter-based-system-call-mechanism.html
>
> Abstract:

Hi,

it's good to see articles like this written. I have one important thing
that really should be fixed in it though: You mention several times that
the address of the vdso page is 0xffffe400 and you even show an example
where userspace calls that address directly. THIS IS WRONG!!!

This address is not fixed, and not an ABI and in fact it is changing
already in 2.6.18. The actual ABI convention is that the kernel informs
userspace of the address via an AT_ elf parameter (AT_SYSINFO to be
exact), and applications should use the address they get from this, not
the hardcoded value!

Thanks for mentioning it and the information. I need some more help it
seems. What I see in gdb is:
call *%gs:0x10

I am not able to figure out how is that related to AT_SYSINFO elf
parameter. Can you help me understand that? You see, I am not so good
at ABI stuff.


Would you mind fixing your otherwise excellent document to reflect this,
the last thing we'd all want is people starting to use 0xffffe400 in
their applications, because they'll just break all the time...


I'll surely fix it as soon as I'll understand this part. Thanks for
your kind words about the document.

--
Manu Garg
http://www.manugarg.com
"Journey is the destination of the life."

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux