Update linux-drd to 3.13.6
This commit is contained in:
parent
fd29cfa727
commit
391987f3ea
3 changed files with 119 additions and 126 deletions
|
@ -0,0 +1,76 @@
|
||||||
|
From a62207820fb65f168c8a7f9c0abb71d736f3d7e0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lucas De Marchi <lucas.demarchi@intel.com>
|
||||||
|
Date: Tue, 18 Feb 2014 02:19:26 -0300
|
||||||
|
Subject: [PATCH] Bluetooth: allocate static minor for vhci
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Commit bfacbb9 (Bluetooth: Use devname:vhci module alias for virtual HCI
|
||||||
|
driver) added the module alias to hci_vhci module so it's possible to
|
||||||
|
create the /dev/vhci node. However creating an alias without
|
||||||
|
specifying the minor doesn't allow us to create the node ahead,
|
||||||
|
triggerring module auto-load when it's first accessed.
|
||||||
|
|
||||||
|
Starting with depmod from kmod 16 we started to warn if there's a
|
||||||
|
devname alias without specifying the major and minor.
|
||||||
|
|
||||||
|
Let's do the same done for uhid, kvm, fuse and others, specifying a
|
||||||
|
fixed minor. In systems with systemd as the init the following will
|
||||||
|
happen: on early boot systemd will call "kmod static-nodes" to read
|
||||||
|
/lib/modules/$(uname -r)/modules.devname and then create the nodes. When
|
||||||
|
first accessed these "dead" nodes will trigger the module loading.
|
||||||
|
|
||||||
|
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
|
||||||
|
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||||
|
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
||||||
|
---
|
||||||
|
Documentation/devices.txt | 1 +
|
||||||
|
drivers/bluetooth/hci_vhci.c | 3 ++-
|
||||||
|
include/linux/miscdevice.h | 1 +
|
||||||
|
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/Documentation/devices.txt b/Documentation/devices.txt
|
||||||
|
index 80b7241..fce9398 100644
|
||||||
|
--- a/Documentation/devices.txt
|
||||||
|
+++ b/Documentation/devices.txt
|
||||||
|
@@ -353,6 +353,7 @@ Your cooperation is appreciated.
|
||||||
|
133 = /dev/exttrp External device trap
|
||||||
|
134 = /dev/apm_bios Advanced Power Management BIOS
|
||||||
|
135 = /dev/rtc Real Time Clock
|
||||||
|
+ 137 = /dev/vhci Bluetooth virtual HCI driver
|
||||||
|
139 = /dev/openprom SPARC OpenBoot PROM
|
||||||
|
140 = /dev/relay8 Berkshire Products Octal relay card
|
||||||
|
141 = /dev/relay16 Berkshire Products ISO-16 relay card
|
||||||
|
diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c
|
||||||
|
index 7b16738..59095e6 100644
|
||||||
|
--- a/drivers/bluetooth/hci_vhci.c
|
||||||
|
+++ b/drivers/bluetooth/hci_vhci.c
|
||||||
|
@@ -352,7 +352,7 @@ static const struct file_operations vhci_fops = {
|
||||||
|
static struct miscdevice vhci_miscdev= {
|
||||||
|
.name = "vhci",
|
||||||
|
.fops = &vhci_fops,
|
||||||
|
- .minor = MISC_DYNAMIC_MINOR,
|
||||||
|
+ .minor = VHCI_MINOR,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int __init vhci_init(void)
|
||||||
|
@@ -378,3 +378,4 @@ MODULE_DESCRIPTION("Bluetooth virtual HCI driver ver " VERSION);
|
||||||
|
MODULE_VERSION(VERSION);
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
MODULE_ALIAS("devname:vhci");
|
||||||
|
+MODULE_ALIAS_MISCDEV(VHCI_MINOR);
|
||||||
|
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
|
||||||
|
index f7eaf2d..e5db611 100644
|
||||||
|
--- a/include/linux/miscdevice.h
|
||||||
|
+++ b/include/linux/miscdevice.h
|
||||||
|
@@ -23,6 +23,7 @@
|
||||||
|
#define TEMP_MINOR 131 /* Temperature Sensor */
|
||||||
|
#define RTC_MINOR 135
|
||||||
|
#define EFI_RTC_MINOR 136 /* EFI Time services */
|
||||||
|
+#define VHCI_MINOR 137
|
||||||
|
#define SUN_OPENPROM_MINOR 139
|
||||||
|
#define DMAPI_MINOR 140 /* DMAPI */
|
||||||
|
#define NVRAM_MINOR 144
|
||||||
|
--
|
||||||
|
1.9.0
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
From 2bd7c7b5f011b3d57e4f5625b561a6f3f2f34a81 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Trond Myklebust <trond.myklebust@primarydata.com>
|
|
||||||
Date: Sun, 16 Feb 2014 12:14:13 -0500
|
|
||||||
Subject: [PATCH] SUNRPC: Ensure that gss_auth isn't freed before its upcall
|
|
||||||
messages
|
|
||||||
|
|
||||||
Fix a race in which the RPC client is shutting down while the
|
|
||||||
gss daemon is processing a downcall. If the RPC client manages to
|
|
||||||
shut down before the gss daemon is done, then the struct gss_auth
|
|
||||||
used in gss_release_msg() may have already been freed.
|
|
||||||
|
|
||||||
Link: http://lkml.kernel.org/r/1392494917.71728.YahooMailNeo@web140002.mail.bf1.yahoo.com
|
|
||||||
Reported-by: John <da_audiophile@yahoo.com>
|
|
||||||
Reported-by: Borislav Petkov <bp@alien8.de>
|
|
||||||
Cc: stable@vger.kernel.org # 3.12+
|
|
||||||
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
|
|
||||||
---
|
|
||||||
net/sunrpc/auth_gss/auth_gss.c | 13 +++++++++++--
|
|
||||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
|
|
||||||
index 42fdfc6..a642fd616 100644
|
|
||||||
--- a/net/sunrpc/auth_gss/auth_gss.c
|
|
||||||
+++ b/net/sunrpc/auth_gss/auth_gss.c
|
|
||||||
@@ -108,6 +108,7 @@ struct gss_auth {
|
|
||||||
static DEFINE_SPINLOCK(pipe_version_lock);
|
|
||||||
static struct rpc_wait_queue pipe_version_rpc_waitqueue;
|
|
||||||
static DECLARE_WAIT_QUEUE_HEAD(pipe_version_waitqueue);
|
|
||||||
+static void gss_put_auth(struct gss_auth *gss_auth);
|
|
||||||
|
|
||||||
static void gss_free_ctx(struct gss_cl_ctx *);
|
|
||||||
static const struct rpc_pipe_ops gss_upcall_ops_v0;
|
|
||||||
@@ -320,6 +321,7 @@ gss_release_msg(struct gss_upcall_msg *gss_msg)
|
|
||||||
if (gss_msg->ctx != NULL)
|
|
||||||
gss_put_ctx(gss_msg->ctx);
|
|
||||||
rpc_destroy_wait_queue(&gss_msg->rpc_waitqueue);
|
|
||||||
+ gss_put_auth(gss_msg->auth);
|
|
||||||
kfree(gss_msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -500,6 +502,7 @@ gss_alloc_msg(struct gss_auth *gss_auth,
|
|
||||||
if (err)
|
|
||||||
goto err_free_msg;
|
|
||||||
};
|
|
||||||
+ kref_get(&gss_auth->kref);
|
|
||||||
return gss_msg;
|
|
||||||
err_free_msg:
|
|
||||||
kfree(gss_msg);
|
|
||||||
@@ -1071,6 +1074,12 @@ gss_free_callback(struct kref *kref)
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
+gss_put_auth(struct gss_auth *gss_auth)
|
|
||||||
+{
|
|
||||||
+ kref_put(&gss_auth->kref, gss_free_callback);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
gss_destroy(struct rpc_auth *auth)
|
|
||||||
{
|
|
||||||
struct gss_auth *gss_auth = container_of(auth,
|
|
||||||
@@ -1091,7 +1100,7 @@ gss_destroy(struct rpc_auth *auth)
|
|
||||||
gss_auth->gss_pipe[1] = NULL;
|
|
||||||
rpcauth_destroy_credcache(auth);
|
|
||||||
|
|
||||||
- kref_put(&gss_auth->kref, gss_free_callback);
|
|
||||||
+ gss_put_auth(gss_auth);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@@ -1262,7 +1271,7 @@ gss_destroy_nullcred(struct rpc_cred *cred)
|
|
||||||
call_rcu(&cred->cr_rcu, gss_free_cred_callback);
|
|
||||||
if (ctx)
|
|
||||||
gss_put_ctx(ctx);
|
|
||||||
- kref_put(&gss_auth->kref, gss_free_callback);
|
|
||||||
+ gss_put_auth(gss_auth);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
--
|
|
||||||
1.9.0
|
|
||||||
|
|
|
@ -1,38 +1,54 @@
|
||||||
# $Id: PKGBUILD 206322 2014-02-23 22:56:33Z thomas $
|
# $Id: PKGBUILD 207393 2014-03-08 15:46:53Z thomas $
|
||||||
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
|
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
|
||||||
# Maintainer: Thomas Baechler <thomas@archlinux.org>
|
# Maintainer: Thomas Baechler <thomas@archlinux.org>
|
||||||
|
|
||||||
# pkgbase=linux # Build stock -ARCH kernel
|
# pkgbase=linux # Build stock -ARCH kernel
|
||||||
pkgbase=linux-drd # Build kernel with a different name
|
pkgbase=linux-drd # Build kernel with a different name
|
||||||
_srcname=linux-3.13
|
_srcname=linux-3.13
|
||||||
pkgver=3.13.5
|
pkgver=3.13.6
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
url="http://www.kernel.org/"
|
url="http://www.kernel.org/"
|
||||||
license=('GPL2')
|
license=('GPL2')
|
||||||
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc')
|
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc')
|
||||||
options=('!strip')
|
options=('!strip')
|
||||||
source=(
|
source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
|
||||||
"http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
|
"http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz"
|
||||||
"http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz"
|
# the main kernel config files
|
||||||
# the main kernel config files
|
'config' 'config.x86_64'
|
||||||
'config' 'config.x86_64'
|
# standard config files for mkinitcpio ramdisk
|
||||||
# standard config files for mkinitcpio ramdisk
|
'linux.preset'
|
||||||
'linux.preset'
|
'change-default-console-loglevel.patch'
|
||||||
'change-default-console-loglevel.patch'
|
'criu-no-expert.patch'
|
||||||
'criu-no-expert.patch'
|
'0001-sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch'
|
||||||
'0001-sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch'
|
'0002-sunrpc-replace-sunrpc_net-gssd_running-flag-with-a-m.patch'
|
||||||
'0002-sunrpc-replace-sunrpc_net-gssd_running-flag-with-a-m.patch'
|
'0003-nfs-check-if-gssd-is-running-before-attempting-to-us.patch'
|
||||||
'0003-nfs-check-if-gssd-is-running-before-attempting-to-us.patch'
|
'0004-rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-.patch'
|
||||||
'0004-rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-.patch'
|
'0005-sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch'
|
||||||
'0005-sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch'
|
'0006-rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-no.patch'
|
||||||
'0006-rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-no.patch'
|
'0001-syscalls.h-use-gcc-alias-instead-of-assembler-aliase.patch'
|
||||||
'0001-SUNRPC-Ensure-that-gss_auth-isn-t-freed-before-its-u.patch'
|
'0001-Bluetooth-allocate-static-minor-for-vhci.patch'
|
||||||
'0001-syscalls.h-use-gcc-alias-instead-of-assembler-aliase.patch'
|
'i8042-fix-aliases.patch'
|
||||||
'i8042-fix-aliases.patch'
|
'aufs3-standalone::git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs3.13'
|
||||||
'aufs3-standalone::git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs3.13'
|
# 'aufs3-mmap.patch'
|
||||||
# 'aufs3-mmap.patch'
|
)
|
||||||
)
|
md5sums=('0ecbaf65c00374eb4a826c2f9f37606f'
|
||||||
|
'a9b131a589a176b4c437b8ca4557b85e'
|
||||||
|
'ba4468d313adfaf22368add7f58204aa'
|
||||||
|
'b6c9a6ef0bd8014c57f893a46b26869a'
|
||||||
|
'eb14dcfd80c00852ef81ded6e826826a'
|
||||||
|
'98beb36f9b8cf16e58de2483ea9985e3'
|
||||||
|
'989dc54ff8b179b0f80333cc97c0d43f'
|
||||||
|
'dd2adb99cd3feed6f11022562901965c'
|
||||||
|
'b00cc399d3797cb0793e18b5bf387a50'
|
||||||
|
'7cbd2349cdf046acc37b652c06ba36be'
|
||||||
|
'10dbaf863e22b2437e68f9190d65c861'
|
||||||
|
'd5907a721b97299f0685c583499f7820'
|
||||||
|
'a724515b350b29c53f20e631c6cf9a14'
|
||||||
|
'e6fa278c092ad83780e2dd0568e24ca6'
|
||||||
|
'06f1751777e0772c18c3fa4fbae91aa5'
|
||||||
|
'93dbf73af819b77f03453a9c6de2bb47'
|
||||||
|
'SKIP')
|
||||||
|
|
||||||
_kernelname=${pkgbase#linux}
|
_kernelname=${pkgbase#linux}
|
||||||
|
|
||||||
|
@ -69,16 +85,15 @@ prepare() {
|
||||||
# http://git.linux-nfs.org/?p=trondmy/linux-nfs.git;a=commitdiff;h=23e66ba97127ff3b064d4c6c5138aa34eafc492f
|
# http://git.linux-nfs.org/?p=trondmy/linux-nfs.git;a=commitdiff;h=23e66ba97127ff3b064d4c6c5138aa34eafc492f
|
||||||
patch -p1 -i "${srcdir}/0006-rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-no.patch"
|
patch -p1 -i "${srcdir}/0006-rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-no.patch"
|
||||||
|
|
||||||
# Fix FS#38921
|
|
||||||
# http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9eb2ddb48ce3a7bd745c14a933112994647fa3cd
|
|
||||||
patch -p1 -i "${srcdir}/0001-SUNRPC-Ensure-that-gss_auth-isn-t-freed-before-its-u.patch"
|
|
||||||
|
|
||||||
# Fix symbols: Revert http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=83460ec8dcac14142e7860a01fa59c267ac4657c
|
# Fix symbols: Revert http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=83460ec8dcac14142e7860a01fa59c267ac4657c
|
||||||
patch -Rp1 -i "${srcdir}/0001-syscalls.h-use-gcc-alias-instead-of-assembler-aliase.patch"
|
patch -Rp1 -i "${srcdir}/0001-syscalls.h-use-gcc-alias-instead-of-assembler-aliase.patch"
|
||||||
|
|
||||||
# Fix i8042 aliases
|
# Fix i8042 aliases
|
||||||
patch -p1 -i "${srcdir}/i8042-fix-aliases.patch"
|
patch -p1 -i "${srcdir}/i8042-fix-aliases.patch"
|
||||||
|
|
||||||
|
# Fix vhci warning in kmod (to restore every kernel maintainer's sanity)
|
||||||
|
patch -p1 -i "${srcdir}/0001-Bluetooth-allocate-static-minor-for-vhci.patch"
|
||||||
|
|
||||||
## aufs3
|
## aufs3
|
||||||
patch -p1 -i "${srcdir}/aufs3-standalone/aufs3-kbuild.patch"
|
patch -p1 -i "${srcdir}/aufs3-standalone/aufs3-kbuild.patch"
|
||||||
patch -p1 -i "${srcdir}/aufs3-standalone/aufs3-base.patch"
|
patch -p1 -i "${srcdir}/aufs3-standalone/aufs3-base.patch"
|
||||||
|
@ -379,20 +394,4 @@ for _p in ${pkgname[@]}; do
|
||||||
}"
|
}"
|
||||||
done
|
done
|
||||||
|
|
||||||
md5sums=('0ecbaf65c00374eb4a826c2f9f37606f'
|
# vim:set ts=8 sts=2 sw=2 et:
|
||||||
'114c391a592131f1c12544e063173a45'
|
|
||||||
'ba4468d313adfaf22368add7f58204aa'
|
|
||||||
'c8643861b5d5b05358fbbf37a48c3e17'
|
|
||||||
'eb14dcfd80c00852ef81ded6e826826a'
|
|
||||||
'98beb36f9b8cf16e58de2483ea9985e3'
|
|
||||||
'989dc54ff8b179b0f80333cc97c0d43f'
|
|
||||||
'dd2adb99cd3feed6f11022562901965c'
|
|
||||||
'b00cc399d3797cb0793e18b5bf387a50'
|
|
||||||
'7cbd2349cdf046acc37b652c06ba36be'
|
|
||||||
'10dbaf863e22b2437e68f9190d65c861'
|
|
||||||
'd5907a721b97299f0685c583499f7820'
|
|
||||||
'a724515b350b29c53f20e631c6cf9a14'
|
|
||||||
'1ae4ec847f41fa1b6d488f956e94c893'
|
|
||||||
'e6fa278c092ad83780e2dd0568e24ca6'
|
|
||||||
'93dbf73af819b77f03453a9c6de2bb47'
|
|
||||||
'SKIP')
|
|
||||||
|
|
Loading…
Reference in a new issue