Linux v3.6.8

This commit is contained in:
Josh Boyer 2012-11-26 15:37:25 -05:00
parent 68a134c100
commit 0263651479
6 changed files with 6 additions and 310 deletions

View File

@ -1,45 +0,0 @@
From fba4e087361605d1eed63343bb08811f097c83ee Mon Sep 17 00:00:00 2001
From: Igor Murzov <e-mail@date.by>
Date: Sat, 13 Oct 2012 04:41:25 +0400
Subject: [PATCH] ACPI video: Ignore errors after _DOD evaluation.
There are systems where video module known to work fine regardless
of broken _DOD and ignoring returned value here doesn't cause
any issues later. This should fix brightness controls on some laptops.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47861
Signed-off-by: Igor Murzov <e-mail@date.by>
Reviewed-by: Sergey V <sftp.mtuci@gmail.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
---
drivers/acpi/video.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index f94d4c8..0230cb6 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -1345,12 +1345,15 @@ static int
acpi_video_bus_get_devices(struct acpi_video_bus *video,
struct acpi_device *device)
{
- int status;
+ int status = 0;
struct acpi_device *dev;
- status = acpi_video_device_enumerate(video);
- if (status)
- return status;
+ /*
+ * There are systems where video module known to work fine regardless
+ * of broken _DOD and ignoring returned value here doesn't cause
+ * any issues later.
+ */
+ acpi_video_device_enumerate(video);
list_for_each_entry(dev, &device->children, node) {
--
1.8.0

View File

@ -1,19 +0,0 @@
@@ -, +, @@
cifs_atomic_open
fs/cifs/dir.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/fs/cifs/dir.c
+++ a/fs/cifs/dir.c
@@ -398,6 +398,12 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
* in network traffic in the other paths.
*/
if (!(oflags & O_CREAT)) {
+ /* Check for hashed negative dentry. We have already revalidated
+ * the dentry and it is fine. No need to perform another lookup.
+ */
+ if (!d_unhashed(direntry))
+ return -ENOENT;
+
struct dentry *res = cifs_lookup(inode, direntry, 0);
if (IS_ERR(res))
return PTR_ERR(res);

View File

@ -54,7 +54,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
%global baserelease 6
%global baserelease 1
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -66,7 +66,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
%define stable_update 7
%define stable_update 8
# Is it a -stable RC?
%define stable_rc 0
# Set rpm version accordingly
@ -681,9 +681,6 @@ Patch21226: pci-crs-blacklist.patch
#rhbz 804957 CVE-2012-1568
Patch21306: shlib_base_randomize.patch
#rhbz 867344
Patch22077: dont-call-cifs_lookup-on-hashed-negative-dentry.patch
#rhbz 869904 869909 CVE-2012-4508
Patch22080: 0001-ext4-ext4_inode_info-diet.patch
Patch22081: 0002-ext4-give-i_aiodio_unwritten-a-more-appropriate-name.patch
@ -703,7 +700,6 @@ Patch30000: weird-root-dentry-name-debug.patch
Patch30010: debug-808990.patch
#rhbz 871078
Patch22110: usb-audio-fix-crash-at-re-preparing-the-PCM-stream.patch
Patch22111: USB-EHCI-urb-hcpriv-should-not-be-NULL.patch
Patch22112: USB-report-submission-of-active-URBs.patch
@ -713,9 +709,6 @@ Patch22113: smp_irq_move_cleanup_interrupt.patch
#rhbz 873001
Patch22114: iwlwifi-remove-queue-empty-warn-3.6.patch
#rhbz 870562
Patch22115: keyspan.patch
#rhbz 812129
Patch22120: block-fix-a-crash-when-block-device-is.patch
Patch22121: blockdev-turn-a-rw-semaphore-into-a-percpu-rw-sem.patch
@ -734,9 +727,6 @@ Patch21229: exec-use-eloop-for-max-recursion-depth.patch
#rhbz 869629
Patch21230: SCSI-mvsas-Fix-oops-when-ata-commond-timeout.patch
#rhbz 869383
Patch21231: ACPI-video-Ignore-errors-after-_DOD-evaluation.patch
#rhbz 851278
Patch21232: 8139cp-revert-set-ring-address-before-enabling-recei.patch
@ -1342,9 +1332,6 @@ ApplyPatch i82975x-edac-fix.patch
ApplyPatch weird-root-dentry-name-debug.patch
ApplyPatch debug-808990.patch
#rhbz 867344
ApplyPatch dont-call-cifs_lookup-on-hashed-negative-dentry.patch
#rhbz 869904 869909 CVE-2012-4508
ApplyPatch 0001-ext4-ext4_inode_info-diet.patch
ApplyPatch 0002-ext4-give-i_aiodio_unwritten-a-more-appropriate-name.patch
@ -1360,7 +1347,6 @@ ApplyPatch 0011-ext4-fix-ext4_flush_completed_IO-wait-semantics.patch
ApplyPatch 0012-ext4-serialize-fallocate-with-ext4_convert_unwritten.patch
#rhbz 871078
ApplyPatch usb-audio-fix-crash-at-re-preparing-the-PCM-stream.patch
ApplyPatch USB-EHCI-urb-hcpriv-should-not-be-NULL.patch
ApplyPatch USB-report-submission-of-active-URBs.patch
@ -1370,9 +1356,6 @@ ApplyPatch smp_irq_move_cleanup_interrupt.patch
#rhbz 873001
ApplyPatch iwlwifi-remove-queue-empty-warn-3.6.patch
#rhbz 870562
ApplyPatch keyspan.patch
#rhbz 812129
ApplyPatch block-fix-a-crash-when-block-device-is.patch
ApplyPatch blockdev-turn-a-rw-semaphore-into-a-percpu-rw-sem.patch
@ -1391,9 +1374,6 @@ ApplyPatch exec-use-eloop-for-max-recursion-depth.patch
#rhbz 869629
ApplyPatch SCSI-mvsas-Fix-oops-when-ata-commond-timeout.patch
#rhbz 869383
ApplyPatch ACPI-video-Ignore-errors-after-_DOD-evaluation.patch
#rhbz 851278
ApplyPatch 8139cp-revert-set-ring-address-before-enabling-recei.patch
@ -2097,6 +2077,9 @@ fi
# and build.
%changelog
* Mon Nov 26 2012 Josh Boyer <jwboyer@redhat.com> - 3.6.8-1
- Linux v3.6.8
* Mon Nov 26 2012 Josh Boyer <jwboyer@redhat.com> - 3.6.7-6
- Fix regression in 8139cp driver, debugged by William J. Eaton (rhbz 851278)
- Fix ACPI video after _DOD errors (rhbz 869383)

View File

@ -1,98 +0,0 @@
Delivered-To: jwboyer@gmail.com
Received: by 10.58.186.240 with SMTP id fn16csp155256vec;
Sat, 10 Nov 2012 01:14:20 -0800 (PST)
Received: by 10.68.130.197 with SMTP id og5mr40733607pbb.138.1352538859530;
Sat, 10 Nov 2012 01:14:19 -0800 (PST)
Return-Path: <stable-owner@vger.kernel.org>
Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67])
by mx.google.com with ESMTP id pj1si1353832pbc.115.2012.11.10.01.14.15;
Sat, 10 Nov 2012 01:14:19 -0800 (PST)
Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mail=stable-owner@vger.kernel.org
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
id S1750798Ab2KJJOO (ORCPT <rfc822;crquan@gmail.com> + 33 others);
Sat, 10 Nov 2012 04:14:14 -0500
Received: from canardo.mork.no ([148.122.252.1]:37367 "EHLO canardo.mork.no"
rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP
id S1750699Ab2KJJOM (ORCPT <rfc822;stable@vger.kernel.org>);
Sat, 10 Nov 2012 04:14:12 -0500
Received: from nemi.mork.no (nemi.mork.no [IPv6:2001:4620:9:2:216:eaff:feb3:788])
(authenticated bits=0)
by canardo.mork.no (8.14.3/8.14.3) with ESMTP id qAA9E1cX010750
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT);
Sat, 10 Nov 2012 10:14:02 +0100
Received: from bjorn by nemi.mork.no with local (Exim 4.80)
(envelope-from <bjorn@nemi.mork.no>)
id 1TX78a-0007Li-AD; Sat, 10 Nov 2012 10:14:00 +0100
From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
To: Richard <richjunk@pacbell.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
=?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>,
<stable@vger.kernel.org>, Johan Hovold <jhovold@gmail.com>
Subject: [PATCH usb-linus] USB: keyspan: fix typo causing GPF on open
Date: Sat, 10 Nov 2012 10:13:42 +0100
Message-Id: <1352538822-28221-1-git-send-email-bjorn@mork.no>
X-Mailer: git-send-email 1.7.10.4
In-Reply-To: <509D5BCD.3010901@pacbell.net>
References: <509D5BCD.3010901@pacbell.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.97.6 at canardo
X-Virus-Status: Clean
Sender: stable-owner@vger.kernel.org
Precedence: bulk
List-ID: <stable.vger.kernel.org>
X-Mailing-List: stable@vger.kernel.org
Commit f79b2d0f (USB: keyspan: fix NULL-pointer dereferences and
memory leaks) had a small typo which made the driver use wrong
offsets when mapping serial port private data. This results in
in a GPF when the port is opened.
Reported-by: Richard <richjunk@pacbell.net>
Cc: <stable@vger.kernel.org>
Cc: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
---
Hello Richard,
I wonder if you are able to test and verify this? I do not guarantee
that there aren't other issues around, but this small typo looked like
an obvious killer...
Bjørn
drivers/usb/serial/keyspan.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c
index 7179b0c..cff8dd5 100644
--- a/drivers/usb/serial/keyspan.c
+++ b/drivers/usb/serial/keyspan.c
@@ -2430,7 +2430,7 @@ static void keyspan_release(struct usb_serial *serial)
static int keyspan_port_probe(struct usb_serial_port *port)
{
struct usb_serial *serial = port->serial;
- struct keyspan_port_private *s_priv;
+ struct keyspan_serial_private *s_priv;
struct keyspan_port_private *p_priv;
const struct keyspan_device_details *d_details;
struct callbacks *cback;
@@ -2445,7 +2445,6 @@ static int keyspan_port_probe(struct usb_serial_port *port)
if (!p_priv)
return -ENOMEM;
- s_priv = usb_get_serial_data(port->serial);
p_priv->device_details = d_details;
/* Setup values for the various callback routines */
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

View File

@ -1,2 +1,2 @@
1a1760420eac802c541a20ab51a093d1 linux-3.6.tar.xz
134936c362d8812b5cafcf3c67afdce0 patch-3.6.7.xz
f248294551c34753c5c019c8d513280c patch-3.6.8.xz

View File

@ -1,125 +0,0 @@
At Thu, 08 Nov 2012 08:31:35 +0100,
Daniel Mack wrote:
(snip)
> >> We can't simply stop both endpoints in the prepare callback.
> >
> > The new function doesn't stop the stream by itself but it just syncs
> > if the stream is being stopped beforehand. So, it's safe to call it
> > there.
> >
> > Maybe the name was confusing. It should have been like
> > snd_usb_endpoint_sync_pending_stop() or such.
>
> Ah, right. I was errornously looking closer to Alan's patch but then
> replied to yours. Alright then - thanks for explaining :)
OK, thanks for checking.
FWIW, below is the patch I applied now to for-linus branch.
Renamed the function, added the comment and put NULL check to the
function to simplify.
Takashi
---
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] ALSA: usb-audio: Fix crash at re-preparing the PCM stream
There are bug reports of a crash with USB-audio devices when PCM
prepare is performed immediately after the stream is stopped via
trigger callback. It turned out that the problem is that we don't
wait until all URBs are killed.
This patch adds a new function to synchronize the pending stop
operation on an endpoint, and calls in the prepare callback for
avoiding the crash above.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=49181
Reported-and-tested-by: Artem S. Tashkinov <t.artem@lycos.com>
Cc: <stable@vger.kernel.org> [v3.6]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/usb/endpoint.c | 13 +++++++++++++
sound/usb/endpoint.h | 1 +
sound/usb/pcm.c | 3 +++
3 files changed, 17 insertions(+)
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
index 7f78c6d..34de6f2 100644
--- a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c
@@ -35,6 +35,7 @@
#define EP_FLAG_ACTIVATED 0
#define EP_FLAG_RUNNING 1
+#define EP_FLAG_STOPPING 2
/*
* snd_usb_endpoint is a model that abstracts everything related to an
@@ -502,10 +503,20 @@ static int wait_clear_urbs(struct snd_usb_endpoint *ep)
if (alive)
snd_printk(KERN_ERR "timeout: still %d active urbs on EP #%x\n",
alive, ep->ep_num);
+ clear_bit(EP_FLAG_STOPPING, &ep->flags);
return 0;
}
+/* sync the pending stop operation;
+ * this function itself doesn't trigger the stop operation
+ */
+void snd_usb_endpoint_sync_pending_stop(struct snd_usb_endpoint *ep)
+{
+ if (ep && test_bit(EP_FLAG_STOPPING, &ep->flags))
+ wait_clear_urbs(ep);
+}
+
/*
* unlink active urbs.
*/
@@ -918,6 +929,8 @@ void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep,
if (wait)
wait_clear_urbs(ep);
+ else
+ set_bit(EP_FLAG_STOPPING, &ep->flags);
}
}
diff --git a/sound/usb/endpoint.h b/sound/usb/endpoint.h
index 6376ccf..3d4c970 100644
--- a/sound/usb/endpoint.h
+++ b/sound/usb/endpoint.h
@@ -19,6 +19,7 @@ int snd_usb_endpoint_set_params(struct snd_usb_endpoint *ep,
int snd_usb_endpoint_start(struct snd_usb_endpoint *ep, int can_sleep);
void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep,
int force, int can_sleep, int wait);
+void snd_usb_endpoint_sync_pending_stop(struct snd_usb_endpoint *ep);
int snd_usb_endpoint_activate(struct snd_usb_endpoint *ep);
int snd_usb_endpoint_deactivate(struct snd_usb_endpoint *ep);
void snd_usb_endpoint_free(struct list_head *head);
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index 37428f7..5c12a3f 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -552,6 +552,9 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
goto unlock;
}
+ snd_usb_endpoint_sync_pending_stop(subs->sync_endpoint);
+ snd_usb_endpoint_sync_pending_stop(subs->data_endpoint);
+
/* some unit conversions in runtime */
subs->data_endpoint->maxframesize =
bytes_to_frames(runtime, subs->data_endpoint->maxpacksize);
--
1.8.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/