mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Linux 2.6.12.1
@ 2005-06-22 22:07 Chris Wright
  2005-06-22 22:08 ` Chris Wright
  2005-06-23 11:28 ` Tomasz Kłoczko
  0 siblings, 2 replies; 4+ messages in thread
From: Chris Wright @ 2005-06-22 22:07 UTC (permalink / raw)
  To: linux-kernel, torvalds, akpm, stable

We (the -stable team) are announcing the release of the 2.6.12.1 kernel
which has two security fixes.

The diffstat and short summary of the fixes are below.

I'll also be replying to this message with a copy of the patch between
2.6.12 and 2.6.12.1, as it is small enough to do so.

The updated 2.6.12.y git tree can be found at:
	rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/linux-2.6.12.y.git
and can be browsed at the normal kernel.org git web browser:
	www.kernel.org/git/

thanks,
-chris

----------

 Makefile                  |    2 +-
 arch/ia64/kernel/ptrace.c |   15 ++++++++++-----
 arch/ia64/kernel/signal.c |    5 +++--
 fs/exec.c                 |    1 +
 4 files changed, 15 insertions(+), 8 deletions(-)

Summary of changes from v2.6.12 to v2.6.12.1
==============================================

Chris Wright:
  Linux 2.6.12.1

Linus Torvalds:
  Clean up subthread exec (CAN-2005-1913)

Matthew Chapman:
  ia64 ptrace + sigrestore_context (CAN-2005-1761)


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

* Re: Linux 2.6.12.1
  2005-06-22 22:07 Linux 2.6.12.1 Chris Wright
@ 2005-06-22 22:08 ` Chris Wright
  2005-06-23 11:28 ` Tomasz Kłoczko
  1 sibling, 0 replies; 4+ messages in thread
From: Chris Wright @ 2005-06-22 22:08 UTC (permalink / raw)
  To: linux-kernel, torvalds, akpm, stable

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
 SUBLEVEL = 12
-EXTRAVERSION =
+EXTRAVERSION = .1
 NAME=Woozy Numbat
 
 # *DOCUMENTATION*
diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c
--- a/arch/ia64/kernel/ptrace.c
+++ b/arch/ia64/kernel/ptrace.c
@@ -945,6 +945,13 @@ access_uarea (struct task_struct *child,
 				*data = (pt->cr_ipsr & IPSR_MASK);
 			return 0;
 
+		      case PT_AR_RSC:
+			if (write_access)
+				pt->ar_rsc = *data | (3 << 2); /* force PL3 */
+			else
+				*data = pt->ar_rsc;
+			return 0;
+
 		      case PT_AR_RNAT:
 			urbs_end = ia64_get_user_rbs_end(child, pt, NULL);
 			rnat_addr = (long) ia64_rse_rnat_addr((long *)
@@ -996,9 +1003,6 @@ access_uarea (struct task_struct *child,
 		      case PT_AR_BSPSTORE:
 			ptr = pt_reg_addr(pt, ar_bspstore);
 			break;
-		      case PT_AR_RSC:
-			ptr = pt_reg_addr(pt, ar_rsc);
-			break;
 		      case PT_AR_UNAT:
 			ptr = pt_reg_addr(pt, ar_unat);
 			break;
@@ -1234,7 +1238,7 @@ ptrace_getregs (struct task_struct *chil
 static long
 ptrace_setregs (struct task_struct *child, struct pt_all_user_regs __user *ppr)
 {
-	unsigned long psr, ec, lc, rnat, bsp, cfm, nat_bits, val = 0;
+	unsigned long psr, rsc, ec, lc, rnat, bsp, cfm, nat_bits, val = 0;
 	struct unw_frame_info info;
 	struct switch_stack *sw;
 	struct ia64_fpreg fpval;
@@ -1267,7 +1271,7 @@ ptrace_setregs (struct task_struct *chil
 	/* app regs */
 
 	retval |= __get_user(pt->ar_pfs, &ppr->ar[PT_AUR_PFS]);
-	retval |= __get_user(pt->ar_rsc, &ppr->ar[PT_AUR_RSC]);
+	retval |= __get_user(rsc, &ppr->ar[PT_AUR_RSC]);
 	retval |= __get_user(pt->ar_bspstore, &ppr->ar[PT_AUR_BSPSTORE]);
 	retval |= __get_user(pt->ar_unat, &ppr->ar[PT_AUR_UNAT]);
 	retval |= __get_user(pt->ar_ccv, &ppr->ar[PT_AUR_CCV]);
@@ -1365,6 +1369,7 @@ ptrace_setregs (struct task_struct *chil
 	retval |= __get_user(nat_bits, &ppr->nat);
 
 	retval |= access_uarea(child, PT_CR_IPSR, &psr, 1);
+	retval |= access_uarea(child, PT_AR_RSC, &rsc, 1);
 	retval |= access_uarea(child, PT_AR_EC, &ec, 1);
 	retval |= access_uarea(child, PT_AR_LC, &lc, 1);
 	retval |= access_uarea(child, PT_AR_RNAT, &rnat, 1);
diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c
--- a/arch/ia64/kernel/signal.c
+++ b/arch/ia64/kernel/signal.c
@@ -94,7 +94,7 @@ sys_sigaltstack (const stack_t __user *u
 static long
 restore_sigcontext (struct sigcontext __user *sc, struct sigscratch *scr)
 {
-	unsigned long ip, flags, nat, um, cfm;
+	unsigned long ip, flags, nat, um, cfm, rsc;
 	long err;
 
 	/* Always make any pending restarted system calls return -EINTR */
@@ -106,7 +106,7 @@ restore_sigcontext (struct sigcontext __
 	err |= __get_user(ip, &sc->sc_ip);			/* instruction pointer */
 	err |= __get_user(cfm, &sc->sc_cfm);
 	err |= __get_user(um, &sc->sc_um);			/* user mask */
-	err |= __get_user(scr->pt.ar_rsc, &sc->sc_ar_rsc);
+	err |= __get_user(rsc, &sc->sc_ar_rsc);
 	err |= __get_user(scr->pt.ar_unat, &sc->sc_ar_unat);
 	err |= __get_user(scr->pt.ar_fpsr, &sc->sc_ar_fpsr);
 	err |= __get_user(scr->pt.ar_pfs, &sc->sc_ar_pfs);
@@ -119,6 +119,7 @@ restore_sigcontext (struct sigcontext __
 	err |= __copy_from_user(&scr->pt.r15, &sc->sc_gr[15], 8);	/* r15 */
 
 	scr->pt.cr_ifs = cfm | (1UL << 63);
+	scr->pt.ar_rsc = rsc | (3 << 2); /* force PL3 */
 
 	/* establish new instruction pointer: */
 	scr->pt.cr_iip = ip & ~0x3UL;
diff --git a/fs/exec.c b/fs/exec.c
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -649,6 +649,7 @@ static inline int de_thread(struct task_
 	}
 	sig->group_exit_task = NULL;
 	sig->notify_count = 0;
+	sig->real_timer.data = (unsigned long)current;
 	spin_unlock_irq(lock);
 
 	/*

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

* Re: Linux 2.6.12.1
  2005-06-22 22:07 Linux 2.6.12.1 Chris Wright
  2005-06-22 22:08 ` Chris Wright
@ 2005-06-23 11:28 ` Tomasz Kłoczko
  2005-06-23 15:00   ` Chris Wright
  1 sibling, 1 reply; 4+ messages in thread
From: Tomasz Kłoczko @ 2005-06-23 11:28 UTC (permalink / raw)
  To: Chris Wright; +Cc: linux-kernel, torvalds, akpm, stable

[-- Attachment #1: Type: TEXT/PLAIN, Size: 967 bytes --]

On Wed, 22 Jun 2005, Chris Wright wrote:

> We (the -stable team) are announcing the release of the 2.6.12.1 kernel
> which has two security fixes.
>
> The diffstat and short summary of the fixes are below.
>
> I'll also be replying to this message with a copy of the patch between
> 2.6.12 and 2.6.12.1, as it is small enough to do so.
>
> The updated 2.6.12.y git tree can be found at:
> 	rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/linux-2.6.12.y.git
> and can be browsed at the normal kernel.org git web browser:
> 	www.kernel.org/git/

Qlogic driver still is broken.
Patch with minimal set of changes for this was sended to k-l few days ago.
Is it something wrong with this fixes ?

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek@rudy.mif.pg.gda.pl*

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

* Re: Linux 2.6.12.1
  2005-06-23 11:28 ` Tomasz Kłoczko
@ 2005-06-23 15:00   ` Chris Wright
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Wright @ 2005-06-23 15:00 UTC (permalink / raw)
  To: Tomasz Kłoczko; +Cc: Chris Wright, linux-kernel, torvalds, akpm, stable

* Tomasz Kłoczko (kloczek@rudy.mif.pg.gda.pl) wrote:
> On Wed, 22 Jun 2005, Chris Wright wrote:
> Qlogic driver still is broken.
> Patch with minimal set of changes for this was sended to k-l few days ago.
> Is it something wrong with this fixes ?

Qlogic fix will be in the next -stable release.

thanks,
-chris

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

end of thread, other threads:[~2005-06-23 15:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-06-22 22:07 Linux 2.6.12.1 Chris Wright
2005-06-22 22:08 ` Chris Wright
2005-06-23 11:28 ` Tomasz Kłoczko
2005-06-23 15:00   ` Chris Wright

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

all inboxes | Powered by JetHome®