Re: MIPS: Delete definition of SA_RESTORER.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Upstream cdef9602fb [signal: always clear sa_restorer on execve] was
also applied to v3.0 and v3.4 stable branches. So, the SA_RESTORER patch
Ralf applied to v3.8 is needed as well.

Here's the original commit message:
SA_RESTORER used to be defined as 0x04000000 but only the O32 ABI ever
supported its use and no libc was using it, so the entire sa-restorer
functionality was removed with lmo commit 39bffc12c3580ab [Zap sa_restorer.]
for 2.5.48 retaining only the SA_RESTORER definition as a reminder to avoid
accidental reuse of the mask bit.

Upstream cdef9602fbf1871a43f0f1b5cea10dd0f275167d [signal: always clear
sa_restorer on execve] adds code that assumes sa_sigaction has an
sa_restorer field, if SA_RESTORER is defined which would break MIPS.
So remove the SA_RESTORER definition before the v3.8.4 merge.

Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Signed-off-by: Tony Wu <tung7970@xxxxxxxxx>

diff --git a/arch/mips/include/asm/signal.h b/arch/mips/include/asm/signal.h
index c783f36..edfb2b0 100644
--- a/arch/mips/include/asm/signal.h
+++ b/arch/mips/include/asm/signal.h
@@ -84,8 +84,6 @@ typedef unsigned long old_sigset_t;		/* at least 32 bits */
 #define SA_NOMASK	SA_NODEFER
 #define SA_ONESHOT	SA_RESETHAND
 
-#define SA_RESTORER	0x04000000	/* Only for o32 */
-
 /*
  * sigaltstack controls
  */

On Wed, Apr 03, 2013 at 12:54:30AM +0800, Tony Wu wrote:
> Hi, Ralf,
> 
> Also need to remove SA_RESTORER from arch/mips/include/signal.h for
> linux-3.0-stable and linux-3.4-stable or it will break compilation.
> 
> Thanks,
> Tony
> 
> ---------- Forwarded message ----------
> From: <linux-mips@xxxxxxxxxxxxxx>
> Date: Tue, Apr 2, 2013 at 11:20 PM
> Subject: MIPS: Delete definition of SA_RESTORER.
> To: git-commits@xxxxxxxxxxxxxx
> 
> 
> Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Mon Mar 25 13:43:14 2013 +0100
> Commit: 17da8d63add23830892ac4dc2cbb3b5d4ffb79a8
> Gitweb: http://git.linux-mips.org/g/ralf/linux/17da8d63add2
> Branch: linux-3.8-stable
> 
> SA_RESTORER used to be defined as 0x04000000 but only the O32 ABI ever
> supported its use and no libc was using it, so the entire sa-restorer
> functionality was removed with lmo commit 39bffc12c3580ab [Zap sa_restorer.]
> for 2.5.48 retaining only the SA_RESTORER definition as a reminder to avoid
> accidental reuse of the mask bit.
> 
> Upstream cdef9602fbf1871a43f0f1b5cea10dd0f275167d [signal: always clear
> sa_restorer on execve] adds code that assumes sa_sigaction has an
> sa_restorer field, if SA_RESTORER is defined which would break MIPS.
> So remove the SA_RESTORER definition before the v3.8.4 merge.
> 
> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> 
> ---
> 
>  arch/mips/include/uapi/asm/signal.h |    8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/mips/include/uapi/asm/signal.h
> b/arch/mips/include/uapi/asm/signal.h
> index 770732c..dfd6b5e 100644
> --- a/arch/mips/include/uapi/asm/signal.h
> +++ b/arch/mips/include/uapi/asm/signal.h
> @@ -72,6 +72,12 @@ typedef unsigned long old_sigset_t;          /* at least
> 32 bits */
>   *
>   * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
>   * Unix names RESETHAND and NODEFER respectively.
> + *
> + * SA_RESTORER used to be defined as 0x04000000 but only the O32 ABI ever
> + * supported its use and no libc was using it, so the entire sa-restorer
> + * functionality was removed with lmo commit 39bffc12c3580ab for 2.5.48
> + * retaining only the SA_RESTORER definition as a reminder to avoid
> + * accidental reuse of the mask bit.
>   */
>  #define SA_ONSTACK     0x08000000
>  #define SA_RESETHAND   0x80000000
> @@ -84,8 +90,6 @@ typedef unsigned long old_sigset_t;           /* at least
> 32 bits */
>  #define SA_NOMASK      SA_NODEFER
>  #define SA_ONESHOT     SA_RESETHAND
> 
> -#define SA_RESTORER    0x04000000      /* Only for o32 */
> -
>  #define MINSIGSTKSZ    2048
>  #define SIGSTKSZ       8192


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux