r3016 - in trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian: . patches patches/series

maximilian attems maks-guest@costa.debian.org
Wed, 04 May 2005 07:54:09 +0000


Author: maks-guest
Date: 2005-05-04 07:54:08 +0000 (Wed, 04 May 2005)
New Revision: 3016

Added:
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/patch-2.6.11.8.patch
Modified:
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/changelog
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-4
Log:
add latest stable to 2.6.11


Modified: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/changelog
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/changelog	2005-05-02 22:51:02 UTC (rev 3015)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/changelog	2005-05-04 07:54:08 UTC (rev 3016)
@@ -20,6 +20,16 @@
     detected properly. (Jurij Smakov)
     Ref: http://lists.debian.org/debian-sparc/2005/04/msg00203.html
 
+  * Merge in 2.6.11.8; this includes:
+    o uml: quick fix syscall table
+    o modprobe bttv freezes the computer
+    o I2C: Fix incorrect sysfs file permissions in it87 and via686a drivers
+    o Fix reproducible SMP crash in security/keys/key.c
+    o sparc: Fix PTRACE_CONT bogosity
+    o sparc64: Fix copy_sigingo_to_user32()
+    o sparc64: use message queue compat syscalls
+   (Maximilian Attems)
+
  -- Jurij Smakov <jurij@wooyd.org>  Mon, 11 Apr 2005 22:17:01 -0400
 
 kernel-source-2.6.11 (2.6.11-3) unstable; urgency=low

Added: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/patch-2.6.11.8.patch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/patch-2.6.11.8.patch	2005-05-02 22:51:02 UTC (rev 3015)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/patch-2.6.11.8.patch	2005-05-04 07:54:08 UTC (rev 3016)
@@ -0,0 +1,246 @@
+diff -Nru a/arch/sparc/kernel/ptrace.c b/arch/sparc/kernel/ptrace.c
+--- a/arch/sparc/kernel/ptrace.c	2005-04-29 18:34:37 -07:00
++++ b/arch/sparc/kernel/ptrace.c	2005-04-29 18:34:37 -07:00
+@@ -531,18 +531,6 @@
+ 			pt_error_return(regs, EIO);
+ 			goto out_tsk;
+ 		}
+-		if (addr != 1) {
+-			if (addr & 3) {
+-				pt_error_return(regs, EINVAL);
+-				goto out_tsk;
+-			}
+-#ifdef DEBUG_PTRACE
+-			printk ("Original: %08lx %08lx\n", child->thread.kregs->pc, child->thread.kregs->npc);
+-			printk ("Continuing with %08lx %08lx\n", addr, addr+4);
+-#endif
+-			child->thread.kregs->pc = addr;
+-			child->thread.kregs->npc = addr + 4;
+-		}
+ 
+ 		if (request == PTRACE_SYSCALL)
+ 			set_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
+diff -Nru a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c
+--- a/arch/sparc64/kernel/ptrace.c	2005-04-29 18:34:37 -07:00
++++ b/arch/sparc64/kernel/ptrace.c	2005-04-29 18:34:37 -07:00
+@@ -514,25 +514,6 @@
+ 			pt_error_return(regs, EIO);
+ 			goto out_tsk;
+ 		}
+-		if (addr != 1) {
+-			unsigned long pc_mask = ~0UL;
+-
+-			if ((child->thread_info->flags & _TIF_32BIT) != 0)
+-				pc_mask = 0xffffffff;
+-
+-			if (addr & 3) {
+-				pt_error_return(regs, EINVAL);
+-				goto out_tsk;
+-			}
+-#ifdef DEBUG_PTRACE
+-			printk ("Original: %016lx %016lx\n",
+-				child->thread_info->kregs->tpc,
+-				child->thread_info->kregs->tnpc);
+-			printk ("Continuing with %016lx %016lx\n", addr, addr+4);
+-#endif
+-			child->thread_info->kregs->tpc = (addr & pc_mask);
+-			child->thread_info->kregs->tnpc = ((addr + 4) & pc_mask);
+-		}
+ 
+ 		if (request == PTRACE_SYSCALL) {
+ 			set_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
+diff -Nru a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c
+--- a/arch/sparc64/kernel/signal32.c	2005-04-29 18:34:37 -07:00
++++ b/arch/sparc64/kernel/signal32.c	2005-04-29 18:34:38 -07:00
+@@ -192,9 +192,12 @@
+ 			err |= __put_user(from->si_uid, &to->si_uid);
+ 			break;
+ 		case __SI_FAULT >> 16:
+-		case __SI_POLL >> 16:
+ 			err |= __put_user(from->si_trapno, &to->si_trapno);
+ 			err |= __put_user((unsigned long)from->si_addr, &to->si_addr);
++			break;
++		case __SI_POLL >> 16:
++			err |= __put_user(from->si_band, &to->si_band);
++			err |= __put_user(from->si_fd, &to->si_fd);
+ 			break;
+ 		case __SI_RT >> 16: /* This is not generated by the kernel as of now.  */
+ 		case __SI_MESGQ >> 16:
+diff -Nru a/arch/sparc64/kernel/systbls.S b/arch/sparc64/kernel/systbls.S
+--- a/arch/sparc64/kernel/systbls.S	2005-04-29 18:34:37 -07:00
++++ b/arch/sparc64/kernel/systbls.S	2005-04-29 18:34:37 -07:00
+@@ -75,7 +75,7 @@
+ /*260*/	.word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun
+ 	.word sys_timer_delete, sys32_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy
+ /*270*/	.word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink
+-	.word sys_mq_timedsend, sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
++	.word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
+ /*280*/	.word sys_ni_syscall, sys_add_key, sys_request_key, sys_keyctl
+ 
+ #endif /* CONFIG_COMPAT */
+diff -Nru a/arch/um/include/sysdep-i386/syscalls.h b/arch/um/include/sysdep-i386/syscalls.h
+--- a/arch/um/include/sysdep-i386/syscalls.h	2005-04-29 18:34:37 -07:00
++++ b/arch/um/include/sysdep-i386/syscalls.h	2005-04-29 18:34:37 -07:00
+@@ -23,6 +23,9 @@
+ 		      unsigned long prot, unsigned long flags,
+ 		      unsigned long fd, unsigned long pgoff);
+ 
++/* On i386 they choose a meaningless naming.*/
++#define __NR_kexec_load __NR_sys_kexec_load
++
+ #define ARCH_SYSCALLS \
+ 	[ __NR_waitpid ] = (syscall_handler_t *) sys_waitpid, \
+ 	[ __NR_break ] = (syscall_handler_t *) sys_ni_syscall, \
+@@ -101,15 +104,12 @@
+ 	[ 223 ] = (syscall_handler_t *) sys_ni_syscall, \
+ 	[ __NR_set_thread_area ] = (syscall_handler_t *) sys_ni_syscall, \
+ 	[ __NR_get_thread_area ] = (syscall_handler_t *) sys_ni_syscall, \
+-	[ __NR_fadvise64 ] = (syscall_handler_t *) sys_fadvise64, \
+ 	[ 251 ] = (syscall_handler_t *) sys_ni_syscall, \
+-        [ __NR_remap_file_pages ] = (syscall_handler_t *) sys_remap_file_pages, \
+-	[ __NR_utimes ] = (syscall_handler_t *) sys_utimes, \
+-	[ __NR_vserver ] = (syscall_handler_t *) sys_ni_syscall,
+-        
++	[ 285 ] = (syscall_handler_t *) sys_ni_syscall,
++
+ /* 222 doesn't yet have a name in include/asm-i386/unistd.h */
+ 
+-#define LAST_ARCH_SYSCALL __NR_vserver
++#define LAST_ARCH_SYSCALL 285
+ 
+ /*
+  * Overrides for Emacs so that we follow Linus's tabbing style.
+diff -Nru a/arch/um/include/sysdep-x86_64/syscalls.h b/arch/um/include/sysdep-x86_64/syscalls.h
+--- a/arch/um/include/sysdep-x86_64/syscalls.h	2005-04-29 18:34:37 -07:00
++++ b/arch/um/include/sysdep-x86_64/syscalls.h	2005-04-29 18:34:37 -07:00
+@@ -71,12 +71,7 @@
+ 	[ __NR_iopl ] = (syscall_handler_t *) sys_ni_syscall, \
+ 	[ __NR_set_thread_area ] = (syscall_handler_t *) sys_ni_syscall, \
+ 	[ __NR_get_thread_area ] = (syscall_handler_t *) sys_ni_syscall, \
+-        [ __NR_remap_file_pages ] = (syscall_handler_t *) sys_remap_file_pages, \
+ 	[ __NR_semtimedop ] = (syscall_handler_t *) sys_semtimedop, \
+-	[ __NR_fadvise64 ] = (syscall_handler_t *) sys_fadvise64, \
+-	[ 223 ] = (syscall_handler_t *) sys_ni_syscall, \
+-	[ __NR_utimes ] = (syscall_handler_t *) sys_utimes, \
+-	[ __NR_vserver ] = (syscall_handler_t *) sys_ni_syscall, \
+ 	[ 251 ] = (syscall_handler_t *) sys_ni_syscall,
+ 
+ #define LAST_ARCH_SYSCALL 251
+diff -Nru a/arch/um/kernel/sys_call_table.c b/arch/um/kernel/sys_call_table.c
+--- a/arch/um/kernel/sys_call_table.c	2005-04-29 18:34:37 -07:00
++++ b/arch/um/kernel/sys_call_table.c	2005-04-29 18:34:37 -07:00
+@@ -48,7 +48,6 @@
+ extern syscall_handler_t old_select;
+ extern syscall_handler_t sys_modify_ldt;
+ extern syscall_handler_t sys_rt_sigsuspend;
+-extern syscall_handler_t sys_vserver;
+ extern syscall_handler_t sys_mbind;
+ extern syscall_handler_t sys_get_mempolicy;
+ extern syscall_handler_t sys_set_mempolicy;
+@@ -242,6 +241,7 @@
+ 	[ __NR_epoll_create ] = (syscall_handler_t *) sys_epoll_create,
+ 	[ __NR_epoll_ctl ] = (syscall_handler_t *) sys_epoll_ctl,
+ 	[ __NR_epoll_wait ] = (syscall_handler_t *) sys_epoll_wait,
++	[ __NR_remap_file_pages ] = (syscall_handler_t *) sys_remap_file_pages,
+         [ __NR_set_tid_address ] = (syscall_handler_t *) sys_set_tid_address,
+ 	[ __NR_timer_create ] = (syscall_handler_t *) sys_timer_create,
+ 	[ __NR_timer_settime ] = (syscall_handler_t *) sys_timer_settime,
+@@ -252,12 +252,10 @@
+ 	[ __NR_clock_gettime ] = (syscall_handler_t *) sys_clock_gettime,
+ 	[ __NR_clock_getres ] = (syscall_handler_t *) sys_clock_getres,
+ 	[ __NR_clock_nanosleep ] = (syscall_handler_t *) sys_clock_nanosleep,
+-	[ __NR_statfs64 ] = (syscall_handler_t *) sys_statfs64,
+-	[ __NR_fstatfs64 ] = (syscall_handler_t *) sys_fstatfs64,
+ 	[ __NR_tgkill ] = (syscall_handler_t *) sys_tgkill,
+ 	[ __NR_utimes ] = (syscall_handler_t *) sys_utimes,
+-	[ __NR_fadvise64_64 ] = (syscall_handler_t *) sys_fadvise64_64,
+-	[ __NR_vserver ] = (syscall_handler_t *) sys_vserver,
++	[ __NR_fadvise64 ] = (syscall_handler_t *) sys_fadvise64,
++	[ __NR_vserver ] = (syscall_handler_t *) sys_ni_syscall,
+ 	[ __NR_mbind ] = (syscall_handler_t *) sys_mbind,
+ 	[ __NR_get_mempolicy ] = (syscall_handler_t *) sys_get_mempolicy,
+ 	[ __NR_set_mempolicy ] = (syscall_handler_t *) sys_set_mempolicy,
+@@ -267,9 +265,8 @@
+ 	[ __NR_mq_timedreceive ] = (syscall_handler_t *) sys_mq_timedreceive,
+ 	[ __NR_mq_notify ] = (syscall_handler_t *) sys_mq_notify,
+ 	[ __NR_mq_getsetattr ] = (syscall_handler_t *) sys_mq_getsetattr,
+-	[ __NR_sys_kexec_load ] = (syscall_handler_t *) sys_ni_syscall,
++	[ __NR_kexec_load ] = (syscall_handler_t *) sys_ni_syscall,
+ 	[ __NR_waitid ] = (syscall_handler_t *) sys_waitid,
+-	[ 285 ] = (syscall_handler_t *) sys_ni_syscall,
+ 	[ __NR_add_key ] = (syscall_handler_t *) sys_add_key,
+ 	[ __NR_request_key ] = (syscall_handler_t *) sys_request_key,
+ 	[ __NR_keyctl ] = (syscall_handler_t *) sys_keyctl,
+diff -Nru a/drivers/i2c/chips/it87.c b/drivers/i2c/chips/it87.c
+--- a/drivers/i2c/chips/it87.c	2005-04-29 18:34:37 -07:00
++++ b/drivers/i2c/chips/it87.c	2005-04-29 18:34:37 -07:00
+@@ -631,7 +631,7 @@
+ 	struct it87_data *data = it87_update_device(dev);
+ 	return sprintf(buf,"%d\n", ALARMS_FROM_REG(data->alarms));
+ }
+-static DEVICE_ATTR(alarms, S_IRUGO | S_IWUSR, show_alarms, NULL);
++static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL);
+ 
+ static ssize_t
+ show_vrm_reg(struct device *dev, char *buf)
+diff -Nru a/drivers/i2c/chips/via686a.c b/drivers/i2c/chips/via686a.c
+--- a/drivers/i2c/chips/via686a.c	2005-04-29 18:34:37 -07:00
++++ b/drivers/i2c/chips/via686a.c	2005-04-29 18:34:37 -07:00
+@@ -554,7 +554,7 @@
+ 	struct via686a_data *data = via686a_update_device(dev);
+ 	return sprintf(buf,"%d\n", ALARMS_FROM_REG(data->alarms));
+ }
+-static DEVICE_ATTR(alarms, S_IRUGO | S_IWUSR, show_alarms, NULL);
++static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL);
+ 
+ /* The driver. I choose to use type i2c_driver, as at is identical to both
+    smbus_driver and isa_driver, and clients could be of either kind */
+diff -Nru a/drivers/media/video/bttv-cards.c b/drivers/media/video/bttv-cards.c
+--- a/drivers/media/video/bttv-cards.c	2005-04-29 18:34:37 -07:00
++++ b/drivers/media/video/bttv-cards.c	2005-04-29 18:34:37 -07:00
+@@ -2718,8 +2718,6 @@
+         }
+ 	btv->pll.pll_current = -1;
+ 
+-	bttv_reset_audio(btv);
+-
+ 	/* tuner configuration (from card list / autodetect / insmod option) */
+  	if (UNSET != bttv_tvcards[btv->c.type].tuner_type)
+ 		if(UNSET == btv->tuner_type)
+diff -Nru a/fs/partitions/msdos.c b/fs/partitions/msdos.c
+--- a/fs/partitions/msdos.c	2005-04-29 18:34:37 -07:00
++++ b/fs/partitions/msdos.c	2005-04-29 18:34:37 -07:00
+@@ -114,6 +114,9 @@
+ 		 */
+ 		for (i=0; i<4; i++, p++) {
+ 			u32 offs, size, next;
++
++			if (SYS_IND(p) == 0)
++				continue;
+ 			if (!NR_SECTS(p) || is_extended_partition(p))
+ 				continue;
+ 
+@@ -430,6 +433,8 @@
+ 	for (slot = 1 ; slot <= 4 ; slot++, p++) {
+ 		u32 start = START_SECT(p)*sector_size;
+ 		u32 size = NR_SECTS(p)*sector_size;
++		if (SYS_IND(p) == 0)
++			continue;
+ 		if (!size)
+ 			continue;
+ 		if (is_extended_partition(p)) {
+diff -Nru a/security/keys/key.c b/security/keys/key.c
+--- a/security/keys/key.c	2005-04-29 18:34:37 -07:00
++++ b/security/keys/key.c	2005-04-29 18:34:37 -07:00
+@@ -57,9 +57,10 @@
+ {
+ 	struct key_user *candidate = NULL, *user;
+ 	struct rb_node *parent = NULL;
+-	struct rb_node **p = &key_user_tree.rb_node;
++	struct rb_node **p;
+ 
+  try_again:
++	p = &key_user_tree.rb_node;
+ 	spin_lock(&key_user_lock);
+ 
+ 	/* search the tree for a user record with a matching UID */

Modified: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-4
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-4	2005-05-02 22:51:02 UTC (rev 3015)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-4	2005-05-04 07:54:08 UTC (rev 3016)
@@ -3,3 +3,4 @@
 + sparc64-compat-nanoseconds.patch
 + sparc64-sigpoll-2.6.11.patch
 + sparc64-sunsu-init-2.6.11.patch
++ patch-2.6.11.8.patch