eal: fix access to huge page with high address
authorThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 2 Aug 2012 15:17:37 +0000 (17:17 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 25 Jul 2013 14:07:50 +0000 (16:07 +0200)
commit8885118f821eb0a41ae27f440530fc70827809a7
treee3ba2b93b843741e8e226ae17a854a8af69992bc
parenta366c813f74a50f125b8b2bd8f2448f2b89a3e2e
eal: fix access to huge page with high address

The returned value of lseek is a virtual address
which can be different from the offset.
Indeed, if the return address has a 64-bit canonical form,
the 16 higher bits are all 1 if bit 47 is 1.

So the check was wrong. It is better to test against an error value.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Damien Millescamps <damien.millescamps@6wind.com>
lib/librte_eal/linuxapp/eal/eal_memory.c