[PATCH][BZ #13601] Retry read in ld.so if the entire ELF header is not read in

Mike Frysinger vapier@gentoo.org
Sat Oct 20 02:31:00 GMT 2012


On Friday 19 October 2012 14:02:33 Rich Felker wrote:
> On Fri, Oct 19, 2012 at 08:14:44PM +0530, Siddhesh Poyarekar wrote:
> > We currently assume that the operation to read in the DSO in
> > open_verify always reads in the entire ELF header.  This assumption is
> > wrong since the read syscall is free to return smaller chunks of data
> > and we ought to continue reading if that happens.  Attached patch does
> > exactly that.  I have verified that there are no regressions resulting
> > from this patch on x86_64 F-16, but I don't have a way to verify that
> > the split read works.  OK to commit?
> 
> In reality, I don't think this ever happens. Reads on ordinary files
> do not "block" and are not subject to interruption by signals or any
> other conditions that could cause an early return. If you want to test
> it you could try having it read from a pipe instead, but the
> subsequent mmap will of course fail so all you could test is that the
> split reading works.

if you read the referenced bug, it came about because someone was seeing this 
fail with networked filesystems
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20121020/72212717/attachment.sig>


More information about the Libc-alpha mailing list