2011/1/8, Eric B Munson <[email protected]>:
> On Fri, 07 Jan 2011, jia zhang wrote:
>
>> [V2 PATCH] an alignment bug when both LD_PRELOAD and
>> HUGETLB_FORCE_ELFMAP are enabled
>>
>> If program header's p_vaddr is aligned with hpage size,
>> hugetlb_slice_end(vaddr)
>> returns vaddr-1, and thus such a error appears,
>>
>> INFO: Segment 2's aligned memsz is too small: 0x485d4 < 0xffffffff
>>
>> slice_end should point to the correct end address of next slice.
>>
>> Signed-off-by: Lans Zhang <[email protected]>
>
> On what architecture are you using FORCE_PRELOAD with segement remapping?
On x86_32.
>
> Have you tested that this does not break remapping in the supported method?
Yes. Actually libhugetlbfs works well with normal remapping method. I
just tried to use LD_PRELOAD+HUGETLB_FORCE_ELFMAP and see what happens
:) I just concern (unsinged long)(slice_end - vaddr) returns
-1(0xffffffff).
Thanks,
lz
>
> Eric
>> ---
>> elflink.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> --- a/elflink.c
>> +++ b/elflink.c
>> @@ -765,14 +765,14 @@
>> */
>> vaddr = hugetlb_next_slice_start(info->dlpi_phdr[i].p_vaddr);
>> gap = vaddr - info->dlpi_phdr[i].p_vaddr;
>> - slice_end = hugetlb_slice_end(vaddr);
>> + slice_end = hugetlb_slice_end(vaddr + 1);
>> /*
>> * we should stop remapping just before the slice
>> * containing the end of the memsz portion (taking away
>> * the gap of the memsz)
>> */
>> memsz = info->dlpi_phdr[i].p_memsz;
>> - if (memsz < gap) {
>> + if (memsz <= gap) {
>> INFO("Segment %d's unaligned memsz is too small: "
>> "%#0lx < %#0lx\n",
>> i, memsz, gap);
>>
>> ------------------------------------------------------------------------------
>> Gaining the trust of online customers is vital for the success of any
>> company
>> that requires sensitive data to be transmitted over the Web. Learn how
>> to
>> best implement a security strategy that keeps consumers' information
>> secure
>> and instills the confidence they need to proceed with transactions.
>> http://p.sf.net/sfu/oracle-sfdevnl
>> _______________________________________________
>> Libhugetlbfs-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel
>>
>
------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web. Learn how to
best implement a security strategy that keeps consumers' information secure
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Libhugetlbfs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel