Thread (70 messages) flat view 70 messages, 7 authors, 2019-06-15

Re: [PATCH v7 03/14] x86/cet/ibt: Add IBT legacy code bitmap setup function

From: Yu-cheng Yu <hidden>
Date: 2019-06-10 19:46:19
Also in: linux-arch, linux-doc, linux-mm, lkml

On Mon, 2019-06-10 at 11:02 -0700, Dave Hansen wrote:
On 6/10/19 8:22 AM, Yu-cheng Yu wrote:
quoted
quoted
How does glibc know the linear address space size?  We don’t want LA64 to
break old binaries because the address calculation changed.
When an application starts, its highest stack address is determined.
It uses that as the maximum the bitmap needs to cover.
Huh, I didn't think we ran code from the stack. ;)

Especially given the way that we implemented the new 5-level-paging
address space, I don't think that expecting code to be below the stack
is a good universal expectation.
Yes, you make a good point.  However, allowing the application manage the bitmap
is the most efficient and flexible.  If the loader finds a legacy lib is beyond
the bitmap can cover, it can deal with the problem by moving the lib to a lower
address; or re-allocate the bitmap.  If the loader cannot allocate a big bitmap
to cover all 5-level address space (the bitmap will be large), it can put all
legacy lib's at lower address.  We cannot do these easily in the kernel.

Yu-cheng
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help