booster

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/14/2009 03:09 PM, Anand Avati wrote:
>>   It's not perfect - but at least any calls that fall through will still be
>> handled properly. For example, if an application calls fopen(), which is not
>> on the GlusterFS list of overridden system calls the last time I checked,
>> then at least the fopen() will be intercepted by FUSE rather than fail
>> altogether.
>>      
> I think the deal with hidden PLTs is that fopen() cannot be trapped by
> an alternate implementation of fopen() inside the LD_PRELOADed
> library. But the system call open performed inside the libc's fopen()
> (no matter how it was compiled) should get intercepted by the
> LD_PRELOAD library. Because I dont think the PLT optimizations would
> apply to system calls.
>    

It's the opposite of this. fopen() can be overridden, but open() called 
by fopen() cannot, because fopen() calls an internal linkage table to 
find open() - it does not look back up through dlsym() to find your 
override of open().

You could override fopen() - but this becomes complicated, because this 
means overriding all of STDIO. Bleh.

Cheers,
mark

-- 
Mark Mielke<mark at mielke.cc>



[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux