fix post-fence error
PATCH 1/1 fix post-fence error
In the same file:
typedef struct {
unsigned long sig[4];
} irix_sigset_t;---
arch/mips/kernel/irixsig.c +1 -1
@@ -527,7 +527,7 @@ asmlinkage int irix_sigpoll_sys(unsigned long __user *set, expire =schedule_timeout_interruptible (expire); -for (i=0 ; i<=4 ; i++) +for (i=0 ; i<4 ; i++) tmp |= (current->pending.signal.sig[i] & kset.sig[i]);if (tmp)
Hello.
Quoted 11 lines · Roel Kluin
In the same file:
typedef struct { unsigned long sig[4]; } irix_sigset_t;---
arch/mips/kernel/irixsig.c +0
-0
arch/mips/kernel/irixsig.c asmlinkage int irix_sigpoll_sys(unsigned long __user *set, · line 530
Quoted 5 lines
arch/mips/kernel/irixsig.c +1
-1@@ -527,7 +527,7 @@ asmlinkage int irix_sigpoll_sys(unsigned long __user *set, expire =schedule_timeout_interruptible (expire); -for (i=0 ; i<=4 ; i++) +for (i=0 ; i<4 ; i++)
Could also add spaces between the operands and operators (like
above/below), while at it...
arch/mips/kernel/irixsig.c asmlinkage int irix_sigpoll_sys(unsigned long __user *set, · line 531
Quoted 1 line
arch/mips/kernel/irixsig.c +0
-0tmp |= (current->pending.signal.sig[i] & kset.sig[i]);
WBR, Sergei
Quoted 4 lines · Sergei Shtylyov
Could also add spaces between the operands and operators (like
above/below), while at it...
like this?
--
---
arch/mips/kernel/irixsig.c +1 -1
@@ -527,7 +527,7 @@ asmlinkage int irix_sigpoll_sys(unsigned long __user *set, expire =schedule_timeout_interruptible (expire); -for (i=0 ; i<=4 ; i++) +for (i =0 ; i <4 ; i++) tmp |= (current->pending.signal.sig[i] & kset.sig[i]);if (tmp)
Quoted 4 lines · Roel Kluin
Quoted 2 lines
Could also add spaces between the operands and operators (like
above/below), while at it...like this?
Exactly.
WBR, Sergei
Quoted 6 lines · Roel Kluin
Quoted 4 lines · Sergei Shtylyov
Could also add spaces between the operands and operators (like
above/below), while at it...like this?
Thanks. I didn't like the magic numbers in the code so I went for below patch instead.
Cheers,
Ralf
From: Ralf Baechle <[email protected]>
[MIPS] IRIX: Fix off-by-one error in signal compat code.
Based on original patch by Roel Kluin <[email protected]>.
arch/mips/kernel/irixsig.c +6 -2
@@ -24,8 +24,12 @@#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) +#define _IRIX_NSIG 128 +#define _IRIX_NSIG_BPW BITS_PER_LONG +#define _IRIX_NSIG_WORDS (_IRIX_NSIG / _IRIX_NSIG_BPW) +typedef struct { -unsigned long sig[4 ]; +unsigned long sig[_IRIX_NSIG_WORDS]; }irix_sigset_t ;struct sigctx_irix5 {
@@ -527,7 +531,7 @@ asmlinkage int irix_sigpoll_sys(unsigned long __user *set, expire =schedule_timeout_interruptible (expire); -for (i=0 ; i<=4 ; i++) +for (i=0 ; i < _IRIX_NSIG_BPW; i++) tmp |= (current->pending.signal.sig[i] & kset.sig[i]);if (tmp)
Hello.
Quoted 14 lines · Ralf Baechle
Quoted 6 lines
Quoted 2 lines · Sergei Shtylyov
Could also add spaces between the operands and operators (like
above/below), while at it...like this?
Thanks. I didn't like the magic numbers in the code so I went for below patch instead.
Cheers,
Ralf
Quoted 7 lines
From: Ralf Baechle <[email protected]>
[MIPS] IRIX: Fix off-by-one error in signal compat code.
Based on original patch by Roel Kluin <[email protected]>.
Signed-off-by Ralf Baechle <[email protected]>
I'm afraid this new patch is wrong...
Quoted 19 lines
arch/mips/kernel/irixsig.c +5
-1@@ -24,8 +24,12 @@#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) +#define _IRIX_NSIG 128 +#define _IRIX_NSIG_BPW BITS_PER_LONG +#define _IRIX_NSIG_WORDS (_IRIX_NSIG / _IRIX_NSIG_BPW) +typedef struct { -unsigned long sig[4 ]; +unsigned long sig[_IRIX_NSIG_WORDS]; }irix_sigset_t ;struct sigctx_irix5 {
arch/mips/kernel/irixsig.c asmlinkage int irix_sigpoll_sys(unsigned long __user *set, · line 534
Quoted 5 lines
arch/mips/kernel/irixsig.c +1
-1@@ -527,7 +531,7 @@ asmlinkage int irix_sigpoll_sys(unsigned long __user *set, expire =schedule_timeout_interruptible (expire); -for (i=0 ; i<=4 ; i++) +for (i=0 ; i < _IRIX_NSIG_BPW; i++)
Did you mean _IRIX_NSIG_WORDS? :-/
arch/mips/kernel/irixsig.c asmlinkage int irix_sigpoll_sys(unsigned long __user *set, · line 537
Quoted 3 lines
arch/mips/kernel/irixsig.c +0
-0tmp |= (current->pending.signal.sig[i] & kset.sig[i]);if (tmp)
WBR, Sergei
Quoted 1 line · Sergei Shtylyov
I'm afraid this new patch is wrong...
Indeed. Thanks for proofreading, even if after the fact ...
Ralf
Quoted 3 lines · Ralf Baechle
Quoted 1 line
I'm afraid this new patch is wrong...
Indeed. Thanks for proofreading, even if after the fact ...
You were too quick with commit. :-)
Could also convert all of this construct to a proper kernel style:
for (i = 0; i < _IRIX_NSIG_BPW; i++)
Quoted 1 line
Ralf
WBR, Sergei