rpms/kernel/devel .cvsignore, 1.550, 1.551 kernel-2.6.spec, 1.2860, 1.2861 linux-2.6-compile-fixes.patch, 1.110, 1.111 linux-2.6-debug-boot-delay.patch, 1.3, 1.4 linux-2.6-execshield.patch, 1.44, 1.45 linux-2.6-squashfs.patch, 1.14, 1.15 linux-2.6-utrace.patch, 1.42, 1.43 sources, 1.513, 1.514 upstream, 1.441, 1.442

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Dec 12 15:03:49 UTC 2006


Author: davej

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv29853

Modified Files:
	.cvsignore kernel-2.6.spec linux-2.6-compile-fixes.patch 
	linux-2.6-debug-boot-delay.patch linux-2.6-execshield.patch 
	linux-2.6-squashfs.patch linux-2.6-utrace.patch sources 
	upstream 
Log Message:
git18


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/.cvsignore,v
retrieving revision 1.550
retrieving revision 1.551
diff -u -r1.550 -r1.551
--- .cvsignore	8 Dec 2006 11:36:19 -0000	1.550
+++ .cvsignore	12 Dec 2006 15:03:47 -0000	1.551
@@ -4,4 +4,4 @@
 kernel-2.6.19
 xen-11633.tar.bz2
 linux-2.6.19.tar.bz2
-patch-2.6.19-git12.bz2
+patch-2.6.19-git18.bz2


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2860
retrieving revision 1.2861
diff -u -r1.2860 -r1.2861
--- kernel-2.6.spec	8 Dec 2006 11:41:50 -0000	1.2860
+++ kernel-2.6.spec	12 Dec 2006 15:03:47 -0000	1.2861
@@ -305,7 +305,7 @@
 #
 # Patches 0 through 100 are meant for core subsystem upgrades
 #
-Patch1: patch-2.6.19-git12.bz2
+Patch1: patch-2.6.19-git18.bz2
 #Patch2: patch-2.6.19-rc6-git10.bz2
 Patch3: git-geode.patch
 
@@ -1793,6 +1793,9 @@
 #  - tux.
 # - kill off kdump
 %changelog
+* Tue Dec 12 2006 Dave Jones <davej at redhat.com>
+- 2.6.19-git18
+
 * Fri Dec  8 2006 Dave Jones <davej at redhat.com>
 - 2.6.19-git12
 

linux-2.6-compile-fixes.patch:
 arch/powerpc/sysdev/rom.c                       |    1 
 include/asm-powerpc/Kbuild                      |    2 -
 linux-2.6.19.noarch/drivers/media/video/Kconfig |    2 -
 linux-2.6.19.noarch/include/asm-i386/desc.h     |   28 ++++++++++++------------
 4 files changed, 17 insertions(+), 16 deletions(-)

Index: linux-2.6-compile-fixes.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-compile-fixes.patch,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -r1.110 -r1.111
--- linux-2.6-compile-fixes.patch	8 Dec 2006 11:54:56 -0000	1.110
+++ linux-2.6-compile-fixes.patch	12 Dec 2006 15:03:47 -0000	1.111
@@ -26,17 +26,6 @@
  
  static int __init powerpc_flash_init(void)
  {
---- linux-2.6.19.noarch/mm/mmap.c~	2006-12-08 06:51:55.000000000 -0500
-+++ linux-2.6.19.noarch/mm/mmap.c	2006-12-08 06:52:05.000000000 -0500
-@@ -2226,7 +2226,7 @@ int install_special_mapping(struct mm_st
- 	struct vm_area_struct *vma;
- 	int err;
- 
--	vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL);
-+	vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
- 	if (unlikely(vma == NULL))
- 		return -ENOMEM;
- 	memset(vma, 0, sizeof(*vma));
 --- linux-2.6.19.noarch/include/asm-i386/desc.h~	2006-12-08 06:52:55.000000000 -0500
 +++ linux-2.6.19.noarch/include/asm-i386/desc.h	2006-12-08 06:53:14.000000000 -0500
 @@ -185,6 +185,20 @@ static inline unsigned long get_desc_bas
@@ -81,3 +70,14 @@
  #endif /* !__ASSEMBLY__ */
  
  #endif
+--- linux-2.6.19.noarch/drivers/media/video/Kconfig~	2006-12-12 09:57:45.000000000 -0500
++++ linux-2.6.19.noarch/drivers/media/video/Kconfig	2006-12-12 09:57:59.000000000 -0500
+@@ -668,7 +668,7 @@ config VIDEO_M32R_AR_M64278
+ 
+ config VIDEO_CAFE_CCIC
+ 	tristate "Marvell 88ALP01 (Cafe) CMOS Camera Controller support"
+-	depends on I2C && VIDEO_V4L2
++	depends on I2C && VIDEO_V4L2 && X86
+ 	select VIDEO_OV7670
+ 	---help---
+ 	  This is a video4linux2 driver for the Marvell 88ALP01 integrated

linux-2.6-debug-boot-delay.patch:
 init/calibrate.c                |    2 +-
 kernel/printk.c                 |   35 +++++++++++++++++++++++++++++++++++
 lib/Kconfig.debug               |   18 ++++++++++++++++++
 linux-2.6.19.noarch/init/main.c |   24 ++++++++++++++++++++++++
 4 files changed, 78 insertions(+), 1 deletion(-)

Index: linux-2.6-debug-boot-delay.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-debug-boot-delay.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- linux-2.6-debug-boot-delay.patch	7 Feb 2006 22:27:14 -0000	1.3
+++ linux-2.6-debug-boot-delay.patch	12 Dec 2006 15:03:47 -0000	1.4
@@ -25,11 +25,11 @@
  lib/Kconfig.debug |   18 ++++++++++++++++++
  4 files changed, 77 insertions(+), 1 deletion(-)
 
---- linux-2615-work.orig/init/main.c
-+++ linux-2615-work/init/main.c
-@@ -557,6 +557,31 @@ static int __init initcall_debug_setup(c
+--- linux-2.6.19.noarch/init/main.c~	2006-12-12 09:32:35.000000000 -0500
++++ linux-2.6.19.noarch/init/main.c	2006-12-12 09:33:32.000000000 -0500
+@@ -685,6 +685,30 @@ static void __init do_initcalls(void)
+ 	flush_scheduled_work();
  }
- __setup("initcall_debug", initcall_debug_setup);
  
 +#ifdef CONFIG_BOOT_DELAY
 +
@@ -49,16 +49,15 @@
 +	printk_delay_msec = loops_per_msec;
 +	printk("boot_delay: %u, preset_lpj: %ld, lpj: %lu, CONFIG_HZ: %d, printk_delay_msec: %llu\n",
 +		boot_delay, preset_lpj, lpj, CONFIG_HZ, printk_delay_msec);
-+
 +	return 1;
 +}
 +__setup("boot_delay=", boot_delay_setup);
 +
 +#endif
 +
- struct task_struct *child_reaper = &init_task;
- 
- extern initcall_t __initcall_start[], __initcall_end[];
+ /*
+  * Ok, the machine is now initialized. None of the devices
+  * have been touched yet, but the CPU subsystem is up and
 --- linux-2615-work.orig/init/calibrate.c
 +++ linux-2615-work/init/calibrate.c
 @@ -10,7 +10,7 @@

linux-2.6-execshield.patch:
 linux-2.6.19.noarch/drivers/char/random.c |    8 +
 linux-2.6/arch/i386/kernel/cpu/common.c   |    7 +
 linux-2.6/arch/i386/kernel/process.c      |   59 +++++++++
 linux-2.6/arch/i386/kernel/smp.c          |    3 
 linux-2.6/arch/i386/kernel/sysenter.c     |    5 
 linux-2.6/arch/i386/kernel/traps.c        |   93 ++++++++++++++-
 linux-2.6/arch/i386/mm/init.c             |    6 
 linux-2.6/arch/i386/mm/mmap.c             |    6 
 linux-2.6/arch/i386/mm/pageattr.c         |    8 +
 linux-2.6/arch/ia64/ia32/binfmt_elf32.c   |    2 
 linux-2.6/arch/powerpc/kernel/vdso.c      |    3 
 linux-2.6/arch/x86_64/ia32/ia32_binfmt.c  |    6 
 linux-2.6/arch/x86_64/ia32/syscall32.c    |    4 
 linux-2.6/arch/x86_64/kernel/process.c    |    6 
 linux-2.6/arch/x86_64/kernel/setup64.c    |   40 ------
 linux-2.6/arch/x86_64/mm/fault.c          |    2 
 linux-2.6/arch/x86_64/mm/mmap.c           |   98 ++++++++++++----
 linux-2.6/fs/binfmt_elf.c                 |  134 +++++++++++++++++----
 linux-2.6/fs/proc/array.c                 |    8 -
 linux-2.6/fs/proc/base.c                  |    8 -
 linux-2.6/fs/proc/task_mmu.c              |   29 ++++
 linux-2.6/include/asm-i386/a.out.h        |    2 
 linux-2.6/include/asm-i386/desc.h         |   14 ++
 linux-2.6/include/asm-i386/elf.h          |    6 
 linux-2.6/include/asm-i386/mmu.h          |    4 
 linux-2.6/include/asm-i386/page.h         |    5 
 linux-2.6/include/asm-i386/pgalloc.h      |    1 
 linux-2.6/include/asm-i386/processor.h    |    8 +
 linux-2.6/include/asm-ia64/pgalloc.h      |    4 
 linux-2.6/include/asm-powerpc/elf.h       |    3 
 linux-2.6/include/asm-powerpc/pgalloc.h   |    5 
 linux-2.6/include/asm-ppc/pgalloc.h       |    5 
 linux-2.6/include/asm-s390/pgalloc.h      |    4 
 linux-2.6/include/asm-sparc/pgalloc.h     |    4 
 linux-2.6/include/asm-sparc64/pgalloc.h   |    4 
 linux-2.6/include/asm-x86_64/pgalloc.h    |    7 +
 linux-2.6/include/linux/mm.h              |   16 ++
 linux-2.6/include/linux/resource.h        |    5 
 linux-2.6/include/linux/sched.h           |    9 +
 linux-2.6/include/linux/sysctl.h          |    3 
 linux-2.6/kernel/signal.c                 |   33 +++++
 linux-2.6/kernel/sysctl.c                 |   56 +++++++++
 linux-2.6/mm/fremap.c                     |   16 +-
 linux-2.6/mm/mmap.c                       |  183 ++++++++++++++++++++++++++++--
 linux-2.6/mm/mprotect.c                   |    6 
 linux-2.6/mm/mremap.c                     |    4 
 46 files changed, 797 insertions(+), 145 deletions(-)

Index: linux-2.6-execshield.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-execshield.patch,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- linux-2.6-execshield.patch	8 Dec 2006 11:36:19 -0000	1.44
+++ linux-2.6-execshield.patch	12 Dec 2006 15:03:47 -0000	1.45
@@ -450,7 +450,7 @@
 +	struct vm_area_struct *vma;
 +	int err;
 +
-+	vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL);
++	vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
 +	if (unlikely(vma == NULL))
 +		return -ENOMEM;
 +	memset(vma, 0, sizeof(*vma));

linux-2.6-squashfs.patch:
 fs/Makefile                                             |    1 
 fs/squashfs/inode.c                                     | 2127 ++++++++++++++++
 fs/squashfs/squashfs.h                                  |   86 
 fs/squashfs/squashfs2_0.c                               |  758 +++++
 include/linux/squashfs_fs.h                             |  911 ++++++
 include/linux/squashfs_fs_i.h                           |   45 
 include/linux/squashfs_fs_sb.h                          |   74 
 linux-2.6.15-squashfs3.0/fs/Kconfig                     |   65 
 linux-2.6.15-squashfs3.0/fs/squashfs/Makefile           |    7 
 linux-2.6.17-squashfs3.1/fs/Kconfig                     |    6 
 linux-2.6.17-squashfs3.1/fs/squashfs/inode.c            |  101 
 linux-2.6.17-squashfs3.1/fs/squashfs/squashfs2_0.c      |    1 
 linux-2.6.17-squashfs3.1/include/linux/squashfs_fs_sb.h |    1 
 linux-2.6.17.noarch/fs/squashfs/inode.c                 |    2 
 linux-2.6.17.noarch/fs/squashfs/squashfs2_0.c           |    1 
 linux-2.6.18-1.2737.fc6/fs/squashfs/inode.c             |    4 
 linux-2.6.18.noarch/fs/squashfs/inode.c                 |    4 
 linux-mokb/fs/squashfs/inode.c                          |  112 
 linux-mokb/fs/squashfs/squashfs.h                       |    2 
 linux-mokb/fs/squashfs/squashfs2_0.c                    |   13 
 20 files changed, 4229 insertions(+), 92 deletions(-)

Index: linux-2.6-squashfs.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-squashfs.patch,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- linux-2.6-squashfs.patch	23 Nov 2006 22:05:33 -0000	1.14
+++ linux-2.6-squashfs.patch	12 Dec 2006 15:03:47 -0000	1.15
@@ -2165,7 +2165,7 @@
 +static struct inode *squashfs_alloc_inode(struct super_block *sb)
 +{
 +	struct squashfs_inode_info *ei;
-+	ei = kmem_cache_alloc(squashfs_inode_cachep, SLAB_KERNEL);
++	ei = kmem_cache_alloc(squashfs_inode_cachep, GFP_KERNEL);
 +	if (!ei)
 +		return NULL;
 +	return &ei->vfs_inode;

linux-2.6-utrace.patch:
 Documentation/utrace.txt            |  579 +++++++++++
 arch/alpha/kernel/asm-offsets.c     |    2 
 arch/alpha/kernel/entry.S           |    4 
 arch/arm/kernel/ptrace.c            |   36 
 arch/arm26/kernel/ptrace.c          |   32 
 arch/frv/kernel/ptrace.c            |   15 
 arch/i386/kernel/entry.S            |    7 
 arch/i386/kernel/i387.c             |  143 +-
 arch/i386/kernel/process.c          |    3 
 arch/i386/kernel/ptrace.c           |  863 +++++++++-------
 arch/i386/kernel/signal.c           |   37 
 arch/i386/kernel/vm86.c             |    7 
 arch/ia64/ia32/ia32_entry.S         |    2 
 arch/ia64/ia32/sys_ia32.c           |  537 ++++++++++
 arch/ia64/kernel/asm-offsets.c      |    2 
 arch/ia64/kernel/fsys.S             |   16 
 arch/ia64/kernel/mca.c              |    2 
 arch/ia64/kernel/ptrace.c           | 1680 ++++++++++++++++----------------
 arch/ia64/kernel/signal.c           |    4 
 arch/mips/kernel/ptrace.c           |   21 
 arch/mips/kernel/sysirix.c          |    2 
 arch/powerpc/kernel/Makefile        |    4 
 arch/powerpc/kernel/asm-offsets.c   |    2 
 arch/powerpc/kernel/process.c       |    5 
 arch/powerpc/kernel/ptrace-common.h |  161 ---
 arch/powerpc/kernel/ptrace.c        |  959 +++++++++++-------
 arch/powerpc/kernel/ptrace32.c      |  436 --------
 arch/powerpc/kernel/signal_32.c     |   55 +
 arch/powerpc/kernel/signal_64.c     |    3 
 arch/powerpc/kernel/sys_ppc32.c     |    5 
 arch/powerpc/lib/sstep.c            |    3 
 arch/ppc/kernel/asm-offsets.c       |    2 
 arch/s390/kernel/Makefile           |    2 
 arch/s390/kernel/compat_linux.c     |    3 
 arch/s390/kernel/compat_signal.c    |    5 
 arch/s390/kernel/process.c          |    3 
 arch/s390/kernel/ptrace.c           | 1073 +++++++++-----------
 arch/s390/kernel/signal.c           |    3 
 arch/s390/kernel/traps.c            |    6 
 arch/sparc64/kernel/Makefile        |    2 
 arch/sparc64/kernel/binfmt_aout32.c |    2 
 arch/sparc64/kernel/entry.S         |    6 
 arch/sparc64/kernel/process.c       |    3 
 arch/sparc64/kernel/ptrace.c        | 1228 ++++++++++++-----------
 arch/sparc64/kernel/signal.c        |    2 
 arch/sparc64/kernel/signal32.c      |    2 
 arch/sparc64/kernel/sys_sparc32.c   |    3 
 arch/sparc64/kernel/systbls.S       |    4 
 arch/x86_64/ia32/fpu32.c            |   92 +
 arch/x86_64/ia32/ia32_aout.c        |    6 
 arch/x86_64/ia32/ia32_signal.c      |    8 
 arch/x86_64/ia32/ia32entry.S        |    2 
 arch/x86_64/ia32/ptrace32.c         |  723 +++++++++----
 arch/x86_64/ia32/sys_ia32.c         |    5 
 arch/x86_64/kernel/process.c        |    5 
 arch/x86_64/kernel/ptrace.c         |  657 +++++++-----
 arch/x86_64/kernel/signal.c         |   28 
 arch/x86_64/kernel/traps.c          |    8 
 arch/x86_64/mm/fault.c              |    4 
 drivers/connector/cn_proc.c         |    4 
 fs/binfmt_aout.c                    |    6 
 fs/binfmt_elf.c                     |    6 
 fs/binfmt_elf_fdpic.c               |    7 
 fs/binfmt_flat.c                    |    3 
 fs/binfmt_som.c                     |    2 
 fs/exec.c                           |   11 
 fs/proc/array.c                     |   12 
 fs/proc/base.c                      |   17 
 include/asm-i386/i387.h             |   13 
 include/asm-i386/signal.h           |    4 
 include/asm-i386/thread_info.h      |    7 
 include/asm-i386/tracehook.h        |   49 
 include/asm-ia64/elf.h              |   24 
 include/asm-ia64/tracehook.h        |   83 +
 include/asm-powerpc/tracehook.h     |   80 +
 include/asm-s390/tracehook.h        |   53 +
 include/asm-sparc64/tracehook.h     |   44 
 include/asm-x86_64/fpu32.h          |    3 
 include/asm-x86_64/thread_info.h    |    2 
 include/asm-x86_64/tracehook.h      |   54 +
 include/linux/init_task.h           |    3 
 include/linux/ptrace.h              |  224 +++-
 include/linux/sched.h               |   25 
 include/linux/tracehook.h           |  707 +++++++++++++
 include/linux/utrace.h              |  504 +++++++++
 init/Kconfig                        |   29 
 kernel/Makefile                     |    1 
 kernel/exit.c                       |  244 +---
 kernel/fork.c                       |   62 -
 kernel/ptrace.c                     | 1633 +++++++++++++++++++++++++------
 kernel/signal.c                     |  211 ----
 kernel/sys.c                        |    2 
 kernel/timer.c                      |    6 
 kernel/tsacct.c                     |    2 
 kernel/utrace.c                     | 1860 ++++++++++++++++++++++++++++++++++++
 security/selinux/hooks.c            |   54 -
 security/selinux/include/objsec.h   |    1 
 97 files changed, 10510 insertions(+), 5056 deletions(-)

Index: linux-2.6-utrace.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-utrace.patch,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- linux-2.6-utrace.patch	8 Dec 2006 11:54:56 -0000	1.42
+++ linux-2.6-utrace.patch	12 Dec 2006 15:03:47 -0000	1.43
@@ -5253,9 +5253,9 @@
  #include <linux/binfmts.h>
  #include <linux/nsproxy.h>
 +#include <linux/tracehook.h>
+ #include <linux/pid_namespace.h>
  #include <linux/ptrace.h>
  #include <linux/profile.h>
- #include <linux/mount.h>
 @@ -143,10 +144,10 @@ void release_task(struct task_struct * p
  	struct task_struct *leader;
  	int zap_leader;
@@ -5269,29 +5269,29 @@
  	__exit_signal(p);
  
  	/*
-@@ -223,10 +224,10 @@ static int will_become_orphaned_pgrp(int
+@@ -221,10 +221,10 @@ static int will_become_orphaned_pgrp(int
  	do_each_task_pid(pgrp, PIDTYPE_PGID, p) {
  		if (p == ignored_task
  				|| p->exit_state
 -				|| is_init(p->real_parent))
 +				|| is_init(p->parent))
  			continue;
--		if (process_group(p->real_parent) != pgrp
--			    && p->real_parent->signal->session == p->signal->session) {
-+		if (process_group(p->parent) != pgrp
-+			    && p->parent->signal->session == p->signal->session) {
+-		if (process_group(p->real_parent) != pgrp &&
+-		    process_session(p->real_parent) == process_session(p)) {
++		if (process_group(p->parent) != pgrp &&
++		    process_session(p->parent) == process_session(p)) {
  			ret = 0;
  			break;
  		}
-@@ -275,11 +276,9 @@ static void reparent_to_init(void)
+@@ -274,11 +274,9 @@ static void reparent_to_init(void)
  {
  	write_lock_irq(&tasklist_lock);
  
 -	ptrace_unlink(current);
  	/* Reparent to init */
  	remove_parent(current);
- 	current->parent = child_reaper;
--	current->real_parent = child_reaper;
+ 	current->parent = child_reaper(current);
+-	current->real_parent = child_reaper(current);
  	add_parent(current);
  
  	/* Set the exit signal to SIGCHLD so we signal init on exit */
@@ -11879,12 +11879,27 @@
  /* To get the necessary page struct, access_process_vm() first calls
   * get_user_pages().  This has done a flush_dcache_page() on the
   * accessed page.  Then our caller (copy_{to,from}_user_page()) did
-@@ -167,484 +661,124 @@ void flush_ptrace_access(struct vm_area_
+@@ -661,487 +661,122 @@ void flush_ptrace_access(struct vm_area_
  	}
  }
  
 -asmlinkage void do_ptrace(struct pt_regs *regs)
--{
++#ifdef CONFIG_PTRACE
++static const struct ptrace_layout_segment sparc64_getregs_layout[] = {
++	{ 0, offsetof(struct pt_regs, u_regs[15]), 0, sizeof(long) },
++	{ offsetof(struct pt_regs, u_regs[15]),
++	  offsetof(struct pt_regs, tstate),
++	  -1, 0 },
++	{ offsetof(struct pt_regs, tstate), offsetof(struct pt_regs, y),
++	  0, 32 * sizeof(long) },
++	{0, 0, -1, 0}
++};
++
++int arch_ptrace(long *request, struct task_struct *child,
++		struct utrace_attached_engine *engine,
++		unsigned long addr, unsigned long data,
++		long *retval)
+ {
 -	int request = regs->u_regs[UREG_I0];
 -	pid_t pid = regs->u_regs[UREG_I1];
 -	unsigned long addr = regs->u_regs[UREG_I2];
@@ -11918,7 +11933,10 @@
 -#endif
 -	if (request == PTRACE_TRACEME) {
 -		ret = ptrace_traceme();
--		pt_succ_return(regs, 0);
+-		if (ret < 0)
+-			pt_error_return(regs, -ret);
+-		else
+-			pt_succ_return(regs, 0);
 -		goto out;
 -	}
 -
@@ -12241,17 +12259,7 @@
 -		pt_succ_return(regs, 0);
 -		goto out_tsk;
 -	}
-+#ifdef CONFIG_PTRACE
-+static const struct ptrace_layout_segment sparc64_getregs_layout[] = {
-+	{ 0, offsetof(struct pt_regs, u_regs[15]), 0, sizeof(long) },
-+	{ offsetof(struct pt_regs, u_regs[15]),
-+	  offsetof(struct pt_regs, tstate),
-+	  -1, 0 },
-+	{ offsetof(struct pt_regs, tstate), offsetof(struct pt_regs, y),
-+	  0, 32 * sizeof(long) },
-+	{0, 0, -1, 0}
-+};
- 
+-
 -	case PTRACE_READTEXT:
 -	case PTRACE_READDATA: {
 -		int res = ptrace_readdata(child, addr,
@@ -12265,28 +12273,7 @@
 -		pt_error_return(regs, -res);
 -		goto out_tsk;
 -	}
-+int arch_ptrace(long *request, struct task_struct *child,
-+		struct utrace_attached_engine *engine,
-+		unsigned long addr, unsigned long data,
-+		long *retval)
-+{
-+	void __user *uaddr = (void __user *) addr;
-+	struct pt_regs *uregs = uaddr;
-+	int err = -ENOSYS;
-+
-+	switch (*request) {
-+	case PTRACE_GETREGS64:
-+		err = ptrace_layout_access(child, engine,
-+					   &utrace_sparc64_native_view,
-+					   sparc64_getregs_layout,
-+					   0, offsetof(struct pt_regs, y),
-+					   uaddr, NULL, 0);
-+		if (!err &&
-+		    (put_user(task_pt_regs(child)->y, &uregs->y) ||
-+		     put_user(task_pt_regs(child)->fprs, &uregs->fprs)))
-+			err = -EFAULT;
-+		break;
- 
+-
 -	case PTRACE_WRITETEXT:
 -	case PTRACE_WRITEDATA: {
 -		int res = ptrace_writedata(child, (char __user *) addr2,
@@ -12302,57 +12289,58 @@
 -	}
 -	case PTRACE_SYSCALL: /* continue and stop at (return from) syscall */
 -		addr = 1;
--
--	case PTRACE_CONT: { /* restart after signal. */
--		if (!valid_signal(data)) {
--			pt_error_return(regs, EIO);
--			goto out_tsk;
--		}
-+	case PTRACE_SETREGS64:
++	void __user *uaddr = (void __user *) addr;
++	struct pt_regs *uregs = uaddr;
++	int err = -ENOSYS;
++
++	switch (*request) {
++	case PTRACE_GETREGS64:
 +		err = ptrace_layout_access(child, engine,
 +					   &utrace_sparc64_native_view,
 +					   sparc64_getregs_layout,
 +					   0, offsetof(struct pt_regs, y),
-+					   uaddr, NULL, 1);
++					   uaddr, NULL, 0);
 +		if (!err &&
-+		    (get_user(task_pt_regs(child)->y, &uregs->y) ||
-+		     get_user(task_pt_regs(child)->fprs, &uregs->fprs)))
++		    (put_user(task_pt_regs(child)->y, &uregs->y) ||
++		     put_user(task_pt_regs(child)->fprs, &uregs->fprs)))
 +			err = -EFAULT;
 +		break;
  
+-	case PTRACE_CONT: { /* restart after signal. */
+-		if (!valid_signal(data)) {
+-			pt_error_return(regs, EIO);
+-			goto out_tsk;
+-		}
+-
 -		if (request == PTRACE_SYSCALL) {
 -			set_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
 -		} else {
 -			clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
 -		}
-+	case PTRACE_GETFPREGS64:
-+	case PTRACE_SETFPREGS64:
-+		err = ptrace_regset_access(child, engine,
-+					   utrace_native_view(current),
-+					   2, 0, 34 * sizeof(long), uaddr,
-+					   (*request == PTRACE_SETFPREGS64));
-+		break;
- 
+-
 -		child->exit_code = data;
 -#ifdef DEBUG_PTRACE
 -		printk("CONT: %s [%d]: set exit_code = %x %lx %lx\n", child->comm,
 -			child->pid, child->exit_code,
 -			task_pt_regs(child)->tpc,
 -			task_pt_regs(child)->tnpc);
-+	case PTRACE_SUNDETACH:
-+		*request = PTRACE_DETACH;
-+		break;
- 		       
+-		       
 -#endif
 -		wake_up_process(child);
 -		pt_succ_return(regs, 0);
 -		goto out_tsk;
 -	}
-+	default:
++	case PTRACE_SETREGS64:
++		err = ptrace_layout_access(child, engine,
++					   &utrace_sparc64_native_view,
++					   sparc64_getregs_layout,
++					   0, offsetof(struct pt_regs, y),
++					   uaddr, NULL, 1);
++		if (!err &&
++		    (get_user(task_pt_regs(child)->y, &uregs->y) ||
++		     get_user(task_pt_regs(child)->fprs, &uregs->fprs)))
++			err = -EFAULT;
 +		break;
-+	};
-+	return err;
-+}
  
 -/*
 - * make the child exit.  Best I can do is send it a sigkill. 
@@ -12369,6 +12357,33 @@
 -		pt_succ_return(regs, 0);
 -		goto out_tsk;
 -	}
++	case PTRACE_GETFPREGS64:
++	case PTRACE_SETFPREGS64:
++		err = ptrace_regset_access(child, engine,
++					   utrace_native_view(current),
++					   2, 0, 34 * sizeof(long), uaddr,
++					   (*request == PTRACE_SETFPREGS64));
++		break;
+ 
+-	case PTRACE_SUNDETACH: { /* detach a process that was attached. */
+-		int error = ptrace_detach(child, data);
+-		if (error) {
+-			pt_error_return(regs, EIO);
+-			goto out_tsk;
+-		}
+-		pt_succ_return(regs, 0);
+-		goto out_tsk;
+-	}
++	case PTRACE_SUNDETACH:
++		*request = PTRACE_DETACH;
++		break;
++	default:
++		break;
++	};
++	return err;
++}
+ 
+-	/* PTRACE_DUMPCORE unsupported... */
 +#ifdef CONFIG_COMPAT
 +static const struct ptrace_layout_segment sparc32_getregs_layout[] = {
 +	{ 0, offsetof(struct pt_regs32, u_regs[0]),
@@ -12380,16 +12395,7 @@
 +	  -1, 0 },
 +	{0, 0, -1, 0}
 +};
- 
--	case PTRACE_SUNDETACH: { /* detach a process that was attached. */
--		int error = ptrace_detach(child, data);
--		if (error) {
--			pt_error_return(regs, EIO);
--			goto out_tsk;
--		}
--		pt_succ_return(regs, 0);
--		goto out_tsk;
--	}
++
 +int arch_compat_ptrace(compat_long_t *request, struct task_struct *child,
 +		       struct utrace_attached_engine *engine,
 +		       compat_ulong_t addr, compat_ulong_t data,
@@ -12398,7 +12404,8 @@
 +	void __user *uaddr = (void __user *) (unsigned long) addr;
 +	int err = -ENOSYS;
  
--	/* PTRACE_DUMPCORE unsupported... */
+-	case PTRACE_GETEVENTMSG: {
+-		int err;
 +	switch (*request) {
 +	case PTRACE_GETREGS:
 +	case PTRACE_SETREGS:
@@ -12411,14 +12418,6 @@
 +					    PTRACE_SETREGS));
 +		break;
  
--	case PTRACE_GETEVENTMSG: {
--		int err;
-+	case PTRACE_GETFPREGS:
-+	case PTRACE_SETFPREGS:
-+		err = ptrace_whole_regset(child, engine, addr, 1,
-+					  (*request == PTRACE_SETFPREGS));
-+		break;
- 
 -		if (test_thread_flag(TIF_32BIT))
 -			err = put_user(child->ptrace_message,
 -				       (unsigned int __user *) data);
@@ -12429,8 +12428,10 @@
 -			pt_error_return(regs, -err);
 -		else
 -			pt_succ_return(regs, 0);
-+	case PTRACE_SUNDETACH:
-+		*request = PTRACE_DETACH;
++	case PTRACE_GETFPREGS:
++	case PTRACE_SETFPREGS:
++		err = ptrace_whole_regset(child, engine, addr, 1,
++					  (*request == PTRACE_SETFPREGS));
  		break;
 -	}
  
@@ -12448,6 +12449,9 @@
 -		put_task_struct(child);
 -out:
 -	unlock_kernel();
++	case PTRACE_SUNDETACH:
++		*request = PTRACE_DETACH;
++		break;
 +	default:
 +		break;
 +	};


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/sources,v
retrieving revision 1.513
retrieving revision 1.514
diff -u -r1.513 -r1.514
--- sources	8 Dec 2006 11:36:19 -0000	1.513
+++ sources	12 Dec 2006 15:03:47 -0000	1.514
@@ -1,3 +1,3 @@
 93d8d8f6c51f3c01beadbae1aa1fd548  xen-11633.tar.bz2
 443c265b57e87eadc0c677c3acc37e20  linux-2.6.19.tar.bz2
-b87a91925f07368d89b34fccfa2777a6  patch-2.6.19-git12.bz2
+de36ec924cc97914044bf2cb81b4b6ab  patch-2.6.19-git18.bz2


Index: upstream
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/upstream,v
retrieving revision 1.441
retrieving revision 1.442
diff -u -r1.441 -r1.442
--- upstream	8 Dec 2006 11:36:19 -0000	1.441
+++ upstream	12 Dec 2006 15:03:47 -0000	1.442
@@ -1,2 +1,2 @@
 linux-2.6.19.tar.bz2
-patch-2.6.19-git12.bz2
+patch-2.6.19-git18.bz2




More information about the fedora-cvs-commits mailing list