public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH V4] getrlimit03: adjust a bit of code to compatiable with mips32
@ 2019-07-15 10:03 Hongzhi.Song
  2019-07-15 10:03 ` Hongzhi.Song
  0 siblings, 1 reply; 4+ messages in thread
From: Hongzhi.Song @ 2019-07-15 10:03 UTC (permalink / raw)
  To: ltp

V4:
	Use better macro to filter mips32

V3:
	The V2 break other arch. fix it.

V2: 
	modify commit log

Hongzhi.Song (1):
  getrlimit03: adjust a bit of code to compatiable with mips32

 testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

-- 
2.8.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [LTP] [PATCH V4] getrlimit03: adjust a bit of code to compatiable with mips32
  2019-07-15 10:03 [LTP] [PATCH V4] getrlimit03: adjust a bit of code to compatiable with mips32 Hongzhi.Song
@ 2019-07-15 10:03 ` Hongzhi.Song
  2019-07-16  7:07   ` Jan Stancek
  0 siblings, 1 reply; 4+ messages in thread
From: Hongzhi.Song @ 2019-07-15 10:03 UTC (permalink / raw)
  To: ltp

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)
+	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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [LTP] [PATCH V4] getrlimit03: adjust a bit of code to compatiable with mips32
  2019-07-15 10:03 ` Hongzhi.Song
@ 2019-07-16  7:07   ` Jan Stancek
  2019-07-16  9:07     ` Hongzhi, Song
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Stancek @ 2019-07-16  7:07 UTC (permalink / raw)
  To: ltp



----- 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.

> +	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
> 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [LTP] [PATCH V4] getrlimit03: adjust a bit of code to compatiable with mips32
  2019-07-16  7:07   ` Jan Stancek
@ 2019-07-16  9:07     ` Hongzhi, Song
  0 siblings, 0 replies; 4+ messages in thread
From: Hongzhi, Song @ 2019-07-16  9:07 UTC (permalink / raw)
  To: ltp


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
>>
>>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-07-16  9:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-15 10:03 [LTP] [PATCH V4] getrlimit03: adjust a bit of code to compatiable with mips32 Hongzhi.Song
2019-07-15 10:03 ` Hongzhi.Song
2019-07-16  7:07   ` Jan Stancek
2019-07-16  9:07     ` Hongzhi, Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox