Linux 3.4.4

This commit is contained in:
Justin M. Forbes 2012-06-22 16:40:12 -05:00
parent 28170d1407
commit 6c6f1b8594
4 changed files with 6 additions and 141 deletions

View File

@ -1,100 +0,0 @@
Path: news.gmane.org!not-for-mail
From: Matthew Garrett <mjg@redhat.com>
Newsgroups: gmane.linux.kernel,gmane.linux.file-systems
Subject: [PATCH V2] hfsplus: Fix bless ioctl when used with hardlinks
Date: Mon, 16 Apr 2012 16:57:18 -0400
Lines: 45
Approved: news@gmane.org
Message-ID: <1334609838-14831-1-git-send-email-mjg@redhat.com>
NNTP-Posting-Host: plane.gmane.org
X-Trace: dough.gmane.org 1334609870 7622 80.91.229.3 (16 Apr 2012 20:57:50 GMT)
X-Complaints-To: usenet@dough.gmane.org
NNTP-Posting-Date: Mon, 16 Apr 2012 20:57:50 +0000 (UTC)
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
Matthew Garrett <mjg@redhat.com>
To: hch@infradead.org
Original-X-From: linux-kernel-owner@vger.kernel.org Mon Apr 16 22:57:49 2012
Return-path: <linux-kernel-owner@vger.kernel.org>
Envelope-to: glk-linux-kernel-3@plane.gmane.org
Original-Received: from vger.kernel.org ([209.132.180.67])
by plane.gmane.org with esmtp (Exim 4.69)
(envelope-from <linux-kernel-owner@vger.kernel.org>)
id 1SJszc-0006G8-Gd
for glk-linux-kernel-3@plane.gmane.org; Mon, 16 Apr 2012 22:57:48 +0200
Original-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
id S1755330Ab2DPU5g (ORCPT <rfc822;glk-linux-kernel-3@m.gmane.org>);
Mon, 16 Apr 2012 16:57:36 -0400
Original-Received: from mx1.redhat.com ([209.132.183.28]:44295 "EHLO mx1.redhat.com"
rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP
id S1752969Ab2DPU5e (ORCPT <rfc822;linux-kernel@vger.kernel.org>);
Mon, 16 Apr 2012 16:57:34 -0400
Original-Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q3GKvQoA029518
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
Mon, 16 Apr 2012 16:57:26 -0400
Original-Received: from cavan.codon.org.uk (ovpn-113-122.phx2.redhat.com [10.3.113.122])
by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q3GKvP1p017146
(version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO);
Mon, 16 Apr 2012 16:57:26 -0400
Original-Received: from nat-pool-rdu.redhat.com ([66.187.233.202] helo=x220.boston.devel.redhat.com)
by cavan.codon.org.uk with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
(Exim 4.72)
(envelope-from <mjg@redhat.com>)
id 1SJszC-0003jY-P9; Mon, 16 Apr 2012 21:57:23 +0100
X-SA-Do-Not-Run: Yes
X-SA-Exim-Connect-IP: 66.187.233.202
X-SA-Exim-Mail-From: mjg@redhat.com
X-SA-Exim-Scanned: No (on cavan.codon.org.uk); SAEximRunCond expanded to false
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Original-Sender: linux-kernel-owner@vger.kernel.org
Precedence: bulk
List-ID: <linux-kernel.vger.kernel.org>
X-Mailing-List: linux-kernel@vger.kernel.org
Xref: news.gmane.org gmane.linux.kernel:1282933 gmane.linux.file-systems:63394
Archived-At: <http://permalink.gmane.org/gmane.linux.kernel/1282933>
HFS+ doesn't really implement hard links - instead, hardlinks are indicated
by a magic file type which refers to an indirect node in a hidden
directory. The spec indicates that stat() should return the inode number
of the indirect node, but it turns out that this doesn't satisfy the
firmware when it's looking for a bootloader - it wants the catalog ID of
the hardlink file instead. Fix up this case.
Signed-off-by: Matthew Garrett <mjg@redhat.com>
---
V2 cleans up the casting.
fs/hfsplus/ioctl.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/fs/hfsplus/ioctl.c b/fs/hfsplus/ioctl.c
index c640ba5..09addc8 100644
--- a/fs/hfsplus/ioctl.c
+++ b/fs/hfsplus/ioctl.c
@@ -31,6 +31,7 @@ static int hfsplus_ioctl_bless(struct file *file, int __user *user_flags)
struct hfsplus_sb_info *sbi = HFSPLUS_SB(inode->i_sb);
struct hfsplus_vh *vh = sbi->s_vhdr;
struct hfsplus_vh *bvh = sbi->s_backup_vhdr;
+ u32 cnid = (unsigned long)dentry->d_fsdata;
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
@@ -41,8 +42,12 @@ static int hfsplus_ioctl_bless(struct file *file, int __user *user_flags)
vh->finder_info[0] = bvh->finder_info[0] =
cpu_to_be32(parent_ino(dentry));
- /* Bootloader */
- vh->finder_info[1] = bvh->finder_info[1] = cpu_to_be32(inode->i_ino);
+ /*
+ * Bootloader. Just using the inode here breaks in the case of
+ * hard links - the firmware wants the ID of the hard link file,
+ * but the inode points at the indirect inode
+ */
+ vh->finder_info[1] = bvh->finder_info[1] = cpu_to_be32(cnid);
/* Per spec, the OS X system folder - same as finder_info[0] here */
vh->finder_info[5] = bvh->finder_info[5] =
--
1.7.10

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 4
%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 3
%define stable_update 4
# Is it a -stable RC?
%define stable_rc 0
# Set rpm version accordingly
@ -736,8 +736,6 @@ Patch21011: highbank-secure-smc.patch
Patch21094: power-x86-destdir.patch
Patch21098: hfsplus-Fix-bless-ioctl-when-used-with-hardlinks.patch
#rhbz 754518
Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
@ -785,9 +783,6 @@ Patch22031: SUNRPC-move-per-net-operations-from-svc_destroy.patch
#rhbz 832741
Patch22032: cifs-fix-parsing-of-password-mount-option.patch
#rhbz 832188
Patch22033: udl-bind-fix.patch
#rhbz 831807
Patch22034: usb-storage-try-read_capacity-10-first.patch
@ -1467,8 +1462,6 @@ ApplyPatch uprobes-3.4-tip.patch
ApplyPatch power-x86-destdir.patch
ApplyPatch hfsplus-Fix-bless-ioctl-when-used-with-hardlinks.patch
#rhbz 754518
ApplyPatch scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
@ -1514,9 +1507,6 @@ ApplyPatch SUNRPC-move-per-net-operations-from-svc_destroy.patch
#rhbz 832741
ApplyPatch cifs-fix-parsing-of-password-mount-option.patch
#rhbz 832188
ApplyPatch udl-bind-fix.patch
#rhbz 831807
ApplyPatch usb-storage-try-read_capacity-10-first.patch
@ -2374,6 +2364,9 @@ fi
# '-' | |
# '-'
%changelog
* Fri Jun 22 2012 Justin M. Forbes <jforbes@redhat.com> 3.4.4-1
- Linux 3.4.4
* Fri Jun 22 2012 Josh Boyer <jwboyer@redhat.com>
- Add uprobe backports from Anton Arapov (rhbz 832083)
- Disable UDL DRM driver per Dave Airlie

View File

@ -1,2 +1,2 @@
967f72983655e2479f951195953e8480 linux-3.4.tar.xz
3b6cf4f6337346ee78904eb70e2d4e08 patch-3.4.3.xz
58e6672d932d74d5e2b6811b9d37d67c patch-3.4.4.xz

View File

@ -1,28 +0,0 @@
@@ -, +, @@
drivers/gpu/drm/udl/udl_drv.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
--- a/drivers/gpu/drm/udl/udl_drv.c
+++ a/drivers/gpu/drm/udl/udl_drv.c
@@ -13,8 +13,21 @@
static struct drm_driver driver;
+/*
+ * There are many DisplayLink-based graphics products, all with unique PIDs.
+ * So we match on DisplayLink's VID + Vendor-Defined Interface Class (0xff)
+ * We also require a match on SubClass (0x00) and Protocol (0x00),
+ * which is compatible with all known USB 2.0 era graphics chips and firmware,
+ * but allows DisplayLink to increment those for any future incompatible chips
+ */
static struct usb_device_id id_table[] = {
- {.idVendor = 0x17e9, .match_flags = USB_DEVICE_ID_MATCH_VENDOR,},
+ {.idVendor = 0x17e9, .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
+ .match_flags = USB_DEVICE_ID_MATCH_VENDOR |
+ USB_DEVICE_ID_MATCH_INT_CLASS |
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS |
+ USB_DEVICE_ID_MATCH_INT_PROTOCOL,},
{},
};
MODULE_DEVICE_TABLE(usb, id_table);