[LTP] [PATCH V4] getrlimit03: adjust a bit of code to compatiable with mips32
Hongzhi, Song
hongzhi.song@windriver.com
Tue Jul 16 11:07:58 CEST 2019
On 7/16/19 3:07 PM, Jan Stancek wrote:
>
> ----- Original Message -----
>> Error info:
>> getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
>> ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff
>>
>> According to kernel code: [arch/mips/include/uapi/asm/resource.h]
>> RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.
>>
>> /*
>> * SuS says limits have to be unsigned.
>> * Which makes a ton more sense anyway,
>> * but we keep the old value on MIPS32,
>> * for compatibility:
>> */
>> #ifndef __mips64
>> # define RLIM_INFINITY 0x7fffffffUL
>> #endif
>>
>> Adding conditional statement about mips to fix this.
>>
>> Signed-off-by: Jan Stancek <jstancek@redhat.com>
>> Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
>> ---
>> testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>> b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>> index e4d56c4..03bd821 100644
>> --- a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>> +++ b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>> @@ -26,6 +26,7 @@
>>
>> #include "tst_test.h"
>> #include "lapi/syscalls.h"
>> +#include "lapi/abisize.h"
>>
>> /**
>> * Linux provides an "old" getrlimit syscall handler that uses signed long,
>> @@ -61,7 +62,12 @@ struct rlimit_ulong {
>> unsigned long rlim_cur;
>> unsigned long rlim_max;
>> };
>> -const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
>> +
>> +#if defined(__mips) && defined(TST_ABI32)
> I see several tests already use __mips__, why did you go with __mips here?
> Anyway, I'm fine with the patch.
I just find kernel uses __mips, but I will change to __mips__ with patch-v5.
Thanks.
--Hongzhi
>
>> + const unsigned long RLIM_INFINITY_UL = 0x7fffffffUL;
>> +#else
>> + const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
>> +#endif
>>
>> static int getrlimit_ulong(int resource, struct rlimit_ulong *rlim)
>> {
>> --
>> 2.8.1
>>
>>
More information about the ltp
mailing list