2005-04-30 01:58:10

by Greg KH

[permalink] [raw]
Subject: Linux 2.6.11.8

As the -stable patch review cycle is now over, I've released the
2.6.11.8 kernel in the normal kernel.org places. Due to some
disagreement over some of the patches in the review cycle, I've dropped
a number of them.

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.11.7 and 2.6.11.8, as it is small enough to do so.

And a personal thanks to OSU for letting me bore them by doing this in
their meeting.

thanks,

greg k-h

------

Makefile | 4 ++--
arch/sparc/kernel/ptrace.c | 12 ------------
arch/sparc64/kernel/ptrace.c | 19 -------------------
arch/sparc64/kernel/signal32.c | 5 ++++-
arch/sparc64/kernel/systbls.S | 2 +-
arch/um/include/sysdep-i386/syscalls.h | 12 ++++++------
arch/um/include/sysdep-x86_64/syscalls.h | 5 -----
arch/um/kernel/sys_call_table.c | 11 ++++-------
drivers/i2c/chips/it87.c | 2 +-
drivers/i2c/chips/via686a.c | 2 +-
drivers/media/video/bttv-cards.c | 2 --
fs/partitions/msdos.c | 5 +++++
security/keys/key.c | 3 ++-
13 files changed, 26 insertions(+), 58 deletions(-)



Summary of changes from v2.6.11.7 to v2.6.11.8
==============================================

Alexander Nyberg:
o Fix reproducible SMP crash in security/keys/key.c

David S. Miller:
o sparc: Fix PTRACE_CONT bogosity
o sparc64: Fix copy_sigingo_to_user32()
o sparc64: use message queue compat syscalls

Greg Kroah-Hartman:
o Linux 2.6.11.8

Jean Delvare:
o I2C: Fix incorrect sysfs file permissions in it87 and via686a
drivers

Johannes Stezenbach:
o [fix Bug 4395] modprobe bttv freezes the computer

Paolo 'Blaisorblade' Giarrusso:
o uml: quick fix syscall table


2005-04-30 02:04:56

by Lee Revell

[permalink] [raw]
Subject: Re: Linux 2.6.11.8

On Fri, 2005-04-29 at 18:57 -0700, Greg KH wrote:
> As the -stable patch review cycle is now over, I've released the
> 2.6.11.8 kernel in the normal kernel.org places. Due to some
> disagreement over some of the patches in the review cycle, I've dropped
> a number of them.
>

Why didn't the fix for losing the keyboard when unplugging a USB audio
device go in? That was a serious bug that bit many, many users.

Lee

2005-04-30 02:04:51

by Greg KH

[permalink] [raw]
Subject: Re: Linux 2.6.11.8

diff -Nru a/Makefile b/Makefile
--- a/Makefile 2005-04-29 18:34:37 -07:00
+++ b/Makefile 2005-04-29 18:34:37 -07:00
@@ -1,8 +1,8 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 11
-EXTRAVERSION = .7
-NAME=Woozy Numbat
+EXTRAVERSION = .8
+NAME=Woozy Beaver

# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
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 */

2005-04-30 02:44:07

by Chris Wright

[permalink] [raw]
Subject: Re: [stable] Re: Linux 2.6.11.8

* Lee Revell ([email protected]) wrote:
> On Fri, 2005-04-29 at 18:57 -0700, Greg KH wrote:
> > As the -stable patch review cycle is now over, I've released the
> > 2.6.11.8 kernel in the normal kernel.org places. Due to some
> > disagreement over some of the patches in the review cycle, I've dropped
> > a number of them.
>
> Why didn't the fix for losing the keyboard when unplugging a USB audio
> device go in? That was a serious bug that bit many, many users.

They came in while we were already in the review process. They'll have
to be queued for next review cycle.

thanks,
-chris

2005-05-20 01:06:05

by Lee Revell

[permalink] [raw]
Subject: Re: [stable] Re: Linux 2.6.11.8

On Fri, 2005-04-29 at 19:43 -0700, Chris Wright wrote:
> * Lee Revell ([email protected]) wrote:
> > On Fri, 2005-04-29 at 18:57 -0700, Greg KH wrote:
> > > As the -stable patch review cycle is now over, I've released the
> > > 2.6.11.8 kernel in the normal kernel.org places. Due to some
> > > disagreement over some of the patches in the review cycle, I've dropped
> > > a number of them.
> >
> > Why didn't the fix for losing the keyboard when unplugging a USB audio
> > device go in? That was a serious bug that bit many, many users.
>
> They came in while we were already in the review process. They'll have
> to be queued for next review cycle.
>

It looks like this never went in! Someone just reported the bug again
on LKML. What's the deal?

Lee

2005-05-20 01:20:11

by Chris Wright

[permalink] [raw]
Subject: Re: [stable] Re: Linux 2.6.11.8

* Lee Revell ([email protected]) wrote:
> It looks like this never went in! Someone just reported the bug again
> on LKML. What's the deal?

They're queued (got pre-empted for .9 and .10 by the security issues).