In article <20110208212244.gk22...@cs.hut.fi>, Antti Kantee <po...@cs.hut.fi> wrote: >On Tue Feb 08 2011 at 22:00:49 +0100, Joerg Sonnenberger wrote: >> On Tue, Feb 08, 2011 at 03:34:54PM -0500, Christos Zoulas wrote: >> > Still the problem remains, how do we stack the calls to insert the ssp >> > check at the top level, without resorting to rtld tricks? >> >> Let me try to summarize the situation to make sure I get it right: >> >> The fortification code wants to provide an inline function "read" that >> calls the real "read" after doing the argument checks. >> >> rumphijack wants to override the "read" symbol, apply some magic and >> call "_sys_read" for the real system call. > >No, it wants to override "whatever is the symbol applications are >resolved to". For -current this is "_sys_read" (on nb5 it's "read").
for both is read. _sys_read is just an alias to read so it can be used internally by libc and ssp. >And, on a tangent, it would really help if we had some mechanism for >"latest version of symbol exported by libc" (cf. mess with select, >pollts, kevent and socket). For working compat, I guess we'd need to >bump rumphijack major every time one of them changes, but I can't think >of a good mechanism for an application to automatically select the major >that needs to be used. That would be useful. christos