+ Florian
On Mon, May 18, 2026 at 04:25:40PM +0000, Richard Patel wrote: > 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. That wholly depends on how much churn glibc people are willing to put up with. Added Florian to answer some of that. > 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" :-) Yeah, its just something that fell between the cracks :/

