On Mon, May 18, 2026 at 09:36:16AM +0200, Peter Zijlstra wrote:
> Anyway, the most contentious part was the whole backwards compat bitmap
> crap. When the dynamic linker composes a process of parts that support
> IBT and parts that do not, you get to deal with fallout.

Is it acceptable to do all-or-nothing IBT first? And then do a second
round of patches with legacy support?

Until then, ld.so could:
- start with IBT, disable it upon loading incompatible DSO
- allow users to manually lock IBT

I thought this weak form of IBT is better than nothing at all, if
there's a risk that legacy support derails things.

Btw, apparently OpenBSD enforces kernel+user IBT. I think the end goal
is a user_ibt=force command-line param that locks IBT for all processes
on startup.

> The IBT spec has this horrid bitmap thing to try and deal with this, and
> those early patches exposed that piece of shit to userspace. Then later
> patches (suggested by me) used the ARM64/BTI approach of using PROT_BTI.
> We'd use a (software) page-table bit, and upon #CP consult that to see
> if we should eat the trap or produce a warn/signal whatever.

Nice, I'm happy to revive/rebase/test any of this if there's interest.

> I think we were near something workable there when Rick got pulled from
> this and put onto something more 'important' and things just haven't
> moved ever since.
> 
> Anyway, glad to see someone has time to poke at this.

Happy to spend whatever time is needed to land IBT. I'm very glad the
first reaction wasn't "absolutely no way" :-)

Thank you,
-Richard

Reply via email to