This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [anton@samba.org: [PATCH]: Bug in ppc32 ld.so]
- From: Geoff Keating <geoffk at geoffk dot org>
- To: anton at samba dot org
- Cc: libc-alpha at sources dot redhat dot com
- Date: Mon, 15 Jul 2002 15:34:52 -0700
- Subject: Re: [anton@samba.org: [PATCH]: Bug in ppc32 ld.so]
- References: <20020715205807.GB10964@krispykreme>
- Reply-to: Geoff Keating <geoffk at redhat dot com>
> Date: Mon, 15 Jul 2002 13:58:09 -0700
> From: Anton Blanchard <anton@samba.org>
> the kernel does not have to icache synchronise a zero filled page
> when handing it out to a process,
Yes, it does. To not do this violates process isolation. What if
there was sensitive information embedded in the code in the old page
(eg. encryption keys that have been compiled into a program)?
> - MODIFIED_CODE_NOQUEUE (reloc_addr);
> + MODIFIED_CODE (reloc_addr);
The existing code is correct. In fact, it's not necessary to use any
MODIFIED_CODE macro here, its use is an optimisation.
I can even claim that adding an isync will not provide any performance
benefit on any existing processor in any situation, because no
existing processor has enough instruction lookahead to get to the PLT
entry from before the invalidation. In addition, if such a processor
did exist, an isync would be so expensive (it would have to cost about
20 instructions at the minimum) that the rare cases in which it would
help would be hugely outweighed by the cases in which it was an
unnecessary expense.
--
- Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>