-
Guest51
hello
-
gitomat
[illumos-gate] 16096 want proc_get_lwpstatus(3PROC) -- Robert Mustacchi <rm⊙fo>
-
gitomat
[illumos-gate] 16107 asy VERIFY too strong in face of polledio -- Patrick Mooney <pmooney⊙pc>
-
alanc
Happy new CPU bug!
vusec.net/projects/slam (though it only affects Intel & ARM CPUs that haven't shipped to the public yet, but some AMD ones that have)
-
richlowe
my complete slacking on ARM paging pays off again!
-
danmcd
Storing information in pointers... sheesh, Macintosh System 1 did that, for crying out loud!
-
alanc
heh, I remember the 24-bit -> 32-bit pointer change in the old Mac Systems back when I had a Mac II
-
alanc
of course, we do that on recent SPARC systems for pointer checking with ADI, but that's more like ARM's Memory Tagging than ARM's Top-Byte Ignore
-
richlowe
(I haven't looked at memory tagging either!)
-
richlowe
I looked at pointer auth tho
-
richlowe
didn't do anything, but I looked
-
richlowe
danmcd: I mean, that's why OI force an /etc/system tweak to leave some bits free for javascript runtimes etc.
-
richlowe
TBI is basically doing that, but without having to mask them off constantly
-
richlowe
(at the expense of what alan's link talks about, re: address canonicity.)
-
richlowe
(to be clear, the /etc/system tweak is so we don't put runtimes at an address that _requires a bit they use for type tagging_)
-
danmcd
@alanc gets it. :) And thank you richlowe for the clarification.
-
richlowe
and I remember the mac brouhaha, but thankfully only second hand
-
richlowe
and I was impressed with amd64 making the VA hole checked and very cautious
-
richlowe
so it's impossible to try to steal those bits, and get screwed the same way
-
alanc
right, we have to do that with javascript runtimes as well, many of which assume only 48 bits of pointers matter, and won't be happy with 53-bit address busses
-
alanc
though we do it via linker flags instead of /etc/system
-
richlowe
actual flags, or something like map.above4G etc?
-
alanc
(well, linker flags to load a special mapfile)
-
richlowe
that makes more sense
-
alanc
-
alanc
-
richlowe
maybe shipping that in /usr/lib/ld would make sense?
-
richlowe
-
alanc
we don't want to encourage it, but I suppose it's too late to pretend no one should ever need it
-
richlowe
my logic was "It's probably better to ship one, that does it properly, then keep adding them to solaris-userland and also not helping 3rd parties"
-
richlowe
than*
-
alanc
yeah
-
richlowe
but it's not like I did that for us :)
-
alanc
what about that line did you want to ask?
-
alanc
it sets the p_vaddr in the Program Header to the start of the range that overlaps with the bits set in the pointers
-
alanc
Program Header[5]: spidermonkey_reserve
-
alanc
p_vaddr: 0x800000000000 p_flags: 0
-
alanc
p_paddr: 0 p_type: [ PT_SUNW_RESERVE ]
-
alanc
p_filesz: 0 p_memsz: 0xffff7fffffff0000
-
alanc
p_offset: 0 p_align: 0x100000
-
richlowe
alanc: sorry, the line-link was an accent. I meant `mapfile.js`
-
richlowe
accident, even
-
alanc
gnome-shell uses libmozjs to run javascript code - that's what gnome-shell extensions are written in
-
richlowe
ah, so it's a mapfile for javascript
-
alanc
so same javascript engine as firefox, same problem with addresses
-
richlowe
named so as to piss off editor syntax selection
-
alanc
ah, yes, hehe
-
alanc
not a new syntax for mapfiles, just following the convention of mapfile.<whats-it-for>
-
alanc
though I guess /usr/lib/ld just uses map.<whats-it-for> as a naming convention instead