* Linux 2.6.22.8
@ 2007-09-25 6:21 Greg Kroah-Hartman
2007-09-25 6:22 ` Greg Kroah-Hartman
2007-09-25 16:09 ` Oliver Pinter
0 siblings, 2 replies; 10+ messages in thread
From: Greg Kroah-Hartman @ 2007-09-25 6:21 UTC (permalink / raw)
To: linux-kernel, Andrew Morton, torvalds, stable
We (the -stable team) are announcing the release of the 2.6.22.8 kernel.
It contains a single security bugfix for the the sound subsystem. There
is potential for local privilege escalation, so all users are certainly
encouraged to upgrade.
I'll also be replying to this message with a copy of the patch between
2.6.22.7 and 2.6.22.8
The updated 2.6.22.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.22.y.git
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.22.y.git;a=summary
thanks,
greg k-h
--------
Makefile | 2 -
sound/core/memalloc.c | 68 ++++++++++++++++++++++++++++----------------------
2 files changed, 40 insertions(+), 30 deletions(-)
Summary of changes from v2.6.22.7 to v2.6.22.8
==============================================
Greg Kroah-Hartman (1):
Linux 2.6.22.8
Takashi Iwai (1):
Convert snd-page-alloc proc file to use seq_file (CVE-2007-4571)
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: Linux 2.6.22.8 2007-09-25 6:21 Linux 2.6.22.8 Greg Kroah-Hartman @ 2007-09-25 6:22 ` Greg Kroah-Hartman 2007-09-25 16:09 ` Oliver Pinter 1 sibling, 0 replies; 10+ messages in thread From: Greg Kroah-Hartman @ 2007-09-25 6:22 UTC (permalink / raw) To: linux-kernel, Andrew Morton, torvalds, stable diff --git a/Makefile b/Makefile index 12edea0..dc7a45d 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 22 -EXTRAVERSION = .7 +EXTRAVERSION = .8 NAME = Holy Dancing Manatees, Batman! # *DOCUMENTATION* diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c index f057430..9b5656d 100644 --- a/sound/core/memalloc.c +++ b/sound/core/memalloc.c @@ -27,6 +27,7 @@ #include <linux/pci.h> #include <linux/slab.h> #include <linux/mm.h> +#include <linux/seq_file.h> #include <asm/uaccess.h> #include <linux/dma-mapping.h> #include <linux/moduleparam.h> @@ -481,53 +482,54 @@ static void free_all_reserved_pages(void) #define SND_MEM_PROC_FILE "driver/snd-page-alloc" static struct proc_dir_entry *snd_mem_proc; -static int snd_mem_proc_read(char *page, char **start, off_t off, - int count, int *eof, void *data) +static int snd_mem_proc_read(struct seq_file *seq, void *offset) { - int len = 0; long pages = snd_allocated_pages >> (PAGE_SHIFT-12); struct snd_mem_list *mem; int devno; static char *types[] = { "UNKNOWN", "CONT", "DEV", "DEV-SG", "SBUS" }; mutex_lock(&list_mutex); - len += snprintf(page + len, count - len, - "pages : %li bytes (%li pages per %likB)\n", - pages * PAGE_SIZE, pages, PAGE_SIZE / 1024); + seq_printf(seq, "pages : %li bytes (%li pages per %likB)\n", + pages * PAGE_SIZE, pages, PAGE_SIZE / 1024); devno = 0; list_for_each_entry(mem, &mem_list_head, list) { devno++; - len += snprintf(page + len, count - len, - "buffer %d : ID %08x : type %s\n", - devno, mem->id, types[mem->buffer.dev.type]); - len += snprintf(page + len, count - len, - " addr = 0x%lx, size = %d bytes\n", - (unsigned long)mem->buffer.addr, (int)mem->buffer.bytes); + seq_printf(seq, "buffer %d : ID %08x : type %s\n", + devno, mem->id, types[mem->buffer.dev.type]); + seq_printf(seq, " addr = 0x%lx, size = %d bytes\n", + (unsigned long)mem->buffer.addr, + (int)mem->buffer.bytes); } mutex_unlock(&list_mutex); - return len; + return 0; +} + +static int snd_mem_proc_open(struct inode *inode, struct file *file) +{ + return single_open(file, snd_mem_proc_read, NULL); } /* FIXME: for pci only - other bus? */ #ifdef CONFIG_PCI #define gettoken(bufp) strsep(bufp, " \t\n") -static int snd_mem_proc_write(struct file *file, const char __user *buffer, - unsigned long count, void *data) +static ssize_t snd_mem_proc_write(struct file *file, const char __user * buffer, + size_t count, loff_t * ppos) { char buf[128]; char *token, *p; - if (count > ARRAY_SIZE(buf) - 1) - count = ARRAY_SIZE(buf) - 1; + if (count > sizeof(buf) - 1) + return -EINVAL; if (copy_from_user(buf, buffer, count)) return -EFAULT; - buf[ARRAY_SIZE(buf) - 1] = '\0'; + buf[count] = '\0'; p = buf; token = gettoken(&p); if (! token || *token == '#') - return (int)count; + return count; if (strcmp(token, "add") == 0) { char *endp; int vendor, device, size, buffers; @@ -548,7 +550,7 @@ static int snd_mem_proc_write(struct file *file, const char __user *buffer, (buffers = simple_strtol(token, NULL, 0)) <= 0 || buffers > 4) { printk(KERN_ERR "snd-page-alloc: invalid proc write format\n"); - return (int)count; + return count; } vendor &= 0xffff; device &= 0xffff; @@ -560,7 +562,7 @@ static int snd_mem_proc_write(struct file *file, const char __user *buffer, if (pci_set_dma_mask(pci, mask) < 0 || pci_set_consistent_dma_mask(pci, mask) < 0) { printk(KERN_ERR "snd-page-alloc: cannot set DMA mask %lx for pci %04x:%04x\n", mask, vendor, device); - return (int)count; + return count; } } for (i = 0; i < buffers; i++) { @@ -570,7 +572,7 @@ static int snd_mem_proc_write(struct file *file, const char __user *buffer, size, &dmab) < 0) { printk(KERN_ERR "snd-page-alloc: cannot allocate buffer pages (size = %d)\n", size); pci_dev_put(pci); - return (int)count; + return count; } snd_dma_reserve_buf(&dmab, snd_dma_pci_buf_id(pci)); } @@ -596,9 +598,21 @@ static int snd_mem_proc_write(struct file *file, const char __user *buffer, free_all_reserved_pages(); else printk(KERN_ERR "snd-page-alloc: invalid proc cmd\n"); - return (int)count; + return count; } #endif /* CONFIG_PCI */ + +static const struct file_operations snd_mem_proc_fops = { + .owner = THIS_MODULE, + .open = snd_mem_proc_open, + .read = seq_read, +#ifdef CONFIG_PCI + .write = snd_mem_proc_write, +#endif + .llseek = seq_lseek, + .release = single_release, +}; + #endif /* CONFIG_PROC_FS */ /* @@ -609,12 +623,8 @@ static int __init snd_mem_init(void) { #ifdef CONFIG_PROC_FS snd_mem_proc = create_proc_entry(SND_MEM_PROC_FILE, 0644, NULL); - if (snd_mem_proc) { - snd_mem_proc->read_proc = snd_mem_proc_read; -#ifdef CONFIG_PCI - snd_mem_proc->write_proc = snd_mem_proc_write; -#endif - } + if (snd_mem_proc) + snd_mem_proc->proc_fops = &snd_mem_proc_fops; #endif return 0; } ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: Linux 2.6.22.8 2007-09-25 6:21 Linux 2.6.22.8 Greg Kroah-Hartman 2007-09-25 6:22 ` Greg Kroah-Hartman @ 2007-09-25 16:09 ` Oliver Pinter 2007-09-25 16:14 ` Greg KH 1 sibling, 1 reply; 10+ messages in thread From: Oliver Pinter @ 2007-09-25 16:09 UTC (permalink / raw) To: Greg Kroah-Hartman; +Cc: linux-kernel, Andrew Morton, torvalds, stable Hi! the queue for 2.6.22.8 (2.6.22.8-rc1) is for the next release or thuse paches droped? -- Thanks, Oliver ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Linux 2.6.22.8 2007-09-25 16:09 ` Oliver Pinter @ 2007-09-25 16:14 ` Greg KH 2007-09-25 17:03 ` Linux 2.6.22.8, pata_ali issue Jan Engelhardt 0 siblings, 1 reply; 10+ messages in thread From: Greg KH @ 2007-09-25 16:14 UTC (permalink / raw) To: Oliver Pinter; +Cc: linux-kernel, Andrew Morton, torvalds, stable On Tue, Sep 25, 2007 at 06:09:49PM +0200, Oliver Pinter wrote: > Hi! > > the queue for 2.6.22.8 (2.6.22.8-rc1) is for the next release or > thuse paches droped? The queue is for the next release, which will be called 2.6.22.9 (hopefully) as a security update caused the 2.6.22.8 release to happen last evening. Sorry for any possible confusion. thanks, greg k-h ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Linux 2.6.22.8, pata_ali issue 2007-09-25 16:14 ` Greg KH @ 2007-09-25 17:03 ` Jan Engelhardt [not found] ` <6101e8c40709251021s602f8f55id40c327ac871345f@mail.gmail.com> 2007-09-25 17:35 ` Greg KH 0 siblings, 2 replies; 10+ messages in thread From: Jan Engelhardt @ 2007-09-25 17:03 UTC (permalink / raw) To: Greg KH; +Cc: Oliver Pinter, linux-kernel, Andrew Morton, torvalds, stable >From my point, sorry for thread hijacking, but I did not have the upper node anymore. So, here is something that I think should go into the next 2.6.22. A proper fix is already in 2.6.23-git-du-jour. /home/build/rt.jengelh.10.2-i386/var/tmp/kernel-source-2.6.22.7-build /usr/src/linux-2.6.22.7-13.1/drivers/ata/pata_ali.c: In function ■ali_init_chipset■: /home/build/rt.jengelh.10.2-i386/var/tmp/kernel-source-2.6.22.7-build /usr/src/linux-2.6.22.7-13.1/drivers/ata/pata_ali.c:466: warning: ■rev■ is used uninitialized in this function Yes, it is indeed used uninitialized, and that is dangerous, given that I do have a chipset that uses pata_ali.ko and currently runs a 'broken' kernel...it has not exploded yet, though. I could not backport and create a patch because struct pci_dev does not have the ->revision field in 2.6.22 yet. Ideas? ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <6101e8c40709251021s602f8f55id40c327ac871345f@mail.gmail.com>]
* Re: Linux 2.6.22.8, pata_ali issue [not found] ` <6101e8c40709251021s602f8f55id40c327ac871345f@mail.gmail.com> @ 2007-09-25 17:24 ` Jan Engelhardt 2007-09-25 17:25 ` Oliver Pinter 0 siblings, 1 reply; 10+ messages in thread From: Jan Engelhardt @ 2007-09-25 17:24 UTC (permalink / raw) To: Oliver Pinter; +Cc: Greg KH, linux-kernel, Andrew Morton, torvalds, stable On Sep 25 2007 19:21, Oliver Pinter wrote: > >the rev is locali declared: > >[snap] > > ... > >static void ali_init_chipset(struct pci_dev *pdev) >{ > u8 rev, tmp; > struct pci_dev *north, *isa_bridge; > > pci_read_config_byte(pdev, PCI_REVISION_ID, &rev); > > ... > >[snap] > >what's the git id in git tree? Huh? My top git is 4942de4a0e914f205d351a81873f4f63986bcc3c and it has this: static void ali_init_chipset(struct pci_dev *pdev) { u8 tmp; struct pci_dev *north, *isa_bridge; /* * The chipset revision selects the driver operations and * mode data. */ if (pdev->revision >= 0x20 && pdev->revision < 0xC2) { No pci_read_config_byte here.. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Linux 2.6.22.8, pata_ali issue 2007-09-25 17:24 ` Jan Engelhardt @ 2007-09-25 17:25 ` Oliver Pinter 2007-09-25 17:26 ` Oliver Pinter 0 siblings, 1 reply; 10+ messages in thread From: Oliver Pinter @ 2007-09-25 17:25 UTC (permalink / raw) To: Jan Engelhardt; +Cc: Greg KH, linux-kernel, Andrew Morton, torvalds, stable my git top is: commit 0dc661f882011b941b8b4d4dac84d7a0371f7a7b Author: Greg Kroah-Hartman <gregkh@suse.de> Date: Mon Sep 24 23:05:13 2007 -0700 Linux 2.6.22.8 On 9/25/07, Jan Engelhardt <jengelh@computergmbh.de> wrote: > > On Sep 25 2007 19:21, Oliver Pinter wrote: > > > >the rev is locali declared: > > > >[snap] > > > > ... > > > >static void ali_init_chipset(struct pci_dev *pdev) > >{ > > u8 rev, tmp; > > struct pci_dev *north, *isa_bridge; > > > > pci_read_config_byte(pdev, PCI_REVISION_ID, &rev); > > > > ... > > > >[snap] > > > >what's the git id in git tree? > > Huh? My top git is 4942de4a0e914f205d351a81873f4f63986bcc3c > and it has this: > > static void ali_init_chipset(struct pci_dev *pdev) > > { > > u8 tmp; > > struct pci_dev *north, *isa_bridge; > > > /* > > * The chipset revision selects the driver operations and > > * mode data. > > */ > > > if (pdev->revision >= 0x20 && pdev->revision < 0xC2) { > > > > No pci_read_config_byte here.. > > -- Thanks, Oliver ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Linux 2.6.22.8, pata_ali issue 2007-09-25 17:25 ` Oliver Pinter @ 2007-09-25 17:26 ` Oliver Pinter 0 siblings, 0 replies; 10+ messages in thread From: Oliver Pinter @ 2007-09-25 17:26 UTC (permalink / raw) To: Jan Engelhardt; +Cc: Greg KH, linux-kernel, Andrew Morton, torvalds, stable hey, your's tree is 2.6-git and not 2.6.22.8 ;) On 9/25/07, Oliver Pinter <oliver.pntr@gmail.com> wrote: > my git top is: > > commit 0dc661f882011b941b8b4d4dac84d7a0371f7a7b > Author: Greg Kroah-Hartman <gregkh@suse.de> > Date: Mon Sep 24 23:05:13 2007 -0700 > > Linux 2.6.22.8 > > > On 9/25/07, Jan Engelhardt <jengelh@computergmbh.de> wrote: > > > > On Sep 25 2007 19:21, Oliver Pinter wrote: > > > > > >the rev is locali declared: > > > > > >[snap] > > > > > > ... > > > > > >static void ali_init_chipset(struct pci_dev *pdev) > > >{ > > > u8 rev, tmp; > > > struct pci_dev *north, *isa_bridge; > > > > > > pci_read_config_byte(pdev, PCI_REVISION_ID, &rev); > > > > > > ... > > > > > >[snap] > > > > > >what's the git id in git tree? > > > > Huh? My top git is 4942de4a0e914f205d351a81873f4f63986bcc3c > > and it has this: > > > > static void ali_init_chipset(struct pci_dev *pdev) > > > > { > > > > u8 tmp; > > > > struct pci_dev *north, *isa_bridge; > > > > > > /* > > > > * The chipset revision selects the driver operations and > > > > * mode data. > > > > */ > > > > > > if (pdev->revision >= 0x20 && pdev->revision < 0xC2) { > > > > > > > > No pci_read_config_byte here.. > > > > > > > -- > Thanks, > Oliver > -- Thanks, Oliver ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Linux 2.6.22.8, pata_ali issue 2007-09-25 17:03 ` Linux 2.6.22.8, pata_ali issue Jan Engelhardt [not found] ` <6101e8c40709251021s602f8f55id40c327ac871345f@mail.gmail.com> @ 2007-09-25 17:35 ` Greg KH 2007-09-25 19:38 ` Jan Engelhardt 1 sibling, 1 reply; 10+ messages in thread From: Greg KH @ 2007-09-25 17:35 UTC (permalink / raw) To: Jan Engelhardt Cc: Oliver Pinter, linux-kernel, Andrew Morton, torvalds, stable On Tue, Sep 25, 2007 at 07:03:24PM +0200, Jan Engelhardt wrote: > > From my point, sorry for thread hijacking, but I did not have > the upper node anymore. > How hard is it to start a new message? Me thinks you need a new email client :) > So, here is something that I think should go into the next 2.6.22. > A proper fix is already in 2.6.23-git-du-jour. Feel free to send the patch, with the git commit id of the upstream commit to the stable@kernel.org address and we will be glad to review it that way. thanks, greg k-h ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Linux 2.6.22.8, pata_ali issue 2007-09-25 17:35 ` Greg KH @ 2007-09-25 19:38 ` Jan Engelhardt 0 siblings, 0 replies; 10+ messages in thread From: Jan Engelhardt @ 2007-09-25 19:38 UTC (permalink / raw) To: Greg KH Cc: Oliver Pinter, Linux Kernel Mailing List, Andrew Morton, torvalds, stable On Sep 25 2007 10:35, Greg KH wrote: >On Tue, Sep 25, 2007 at 07:03:24PM +0200, Jan Engelhardt wrote: >> So, here is something that I think should go into the next 2.6.22. >> A proper fix is already in 2.6.23-git-du-jour. > >Feel free to send the patch, with the git commit id of the upstream >commit to the stable@kernel.org address and we will be glad to review it >that way. 'right, it is already in the mainline kernel. So it's again the suse kernel src rpm that has it screwed up... another story. Here's your culprit: libata-update-libata-to-libata-dev-upstream-5ddf.patch * Replaces ali_init_chipset() with some new bits, essentially it removes the call to pci_read_config_byte() since the revision is now found in struct pci_dev->revision Basically 2.6.23 stuff. libata-fix-up-build-after-upstream-update.patch * changes it back to the 2.6.22 api, so that it compiles again. But only that. It FORGETS to add pci_read_config_byte() back. === libata-fix-up-build-after-upstream-update.patch >From 54ee7cd26c5e438dc15d13b60c9f8a54ca05e3fb Mon Sep 17 00:00:00 2001 From: Tejun Heo <htejun@gmail.com> Date: Fri, 3 Aug 2007 02:21:51 +0900 Subject: [PATCH] libata: fix up build after upstream update References: 288078 Signed-off-by: Tejun Heo <htejun@gmail.com> === The bug is still present in current suse kotd. >:-( Please fix it there. A cc will go to opensuse-kernel@, but other than that, I am in the wrong mood right now to do anything. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-09-25 19:38 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-25 6:21 Linux 2.6.22.8 Greg Kroah-Hartman
2007-09-25 6:22 ` Greg Kroah-Hartman
2007-09-25 16:09 ` Oliver Pinter
2007-09-25 16:14 ` Greg KH
2007-09-25 17:03 ` Linux 2.6.22.8, pata_ali issue Jan Engelhardt
[not found] ` <6101e8c40709251021s602f8f55id40c327ac871345f@mail.gmail.com>
2007-09-25 17:24 ` Jan Engelhardt
2007-09-25 17:25 ` Oliver Pinter
2007-09-25 17:26 ` Oliver Pinter
2007-09-25 17:35 ` Greg KH
2007-09-25 19:38 ` Jan Engelhardt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox