[arch-commits] Commit in linux/trunk (3 files)
Date: Saturday, March 10, 2018 @ 11:53:25 Author: heftig Revision: 318491 4.15.8-1 Modified: linux/trunk/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch linux/trunk/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch linux/trunk/PKGBUILD -+ 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch |4 ++-- 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch |8 PKGBUILD|8 3 files changed, 10 insertions(+), 10 deletions(-) Modified: 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch === --- 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch 2018-03-10 11:53:24 UTC (rev 318490) +++ 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch 2018-03-10 11:53:25 UTC (rev 318491) @@ -1,5 +1,5 @@ -From 16305718ac69980301a803f32373cd0d80473a1c Mon Sep 17 00:00:00 2001 -Message-Id: <16305718ac69980301a803f32373cd0d80473a1c.1519311274.git.jan.steff...@gmail.com> +From 188720e92122385994143a06cb16a930053eb503 Mon Sep 17 00:00:00 2001 +Message-Id: <188720e92122385994143a06cb16a930053eb503.1520639721.git.jan.steff...@gmail.com> From: Serge HallynDate: Fri, 31 May 2013 19:12:12 +0100 Subject: [PATCH 1/2] add sysctl to disallow unprivileged CLONE_NEWUSER by Modified: 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch === --- 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch 2018-03-10 11:53:24 UTC (rev 318490) +++ 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch 2018-03-10 11:53:25 UTC (rev 318491) @@ -1,7 +1,7 @@ -From caccd577f10e4618e87c8b21bb14ab867208df04 Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: <16305718ac69980301a803f32373cd0d80473a1c.1519311274.git.jan.steff...@gmail.com> -References: <16305718ac69980301a803f32373cd0d80473a1c.1519311274.git.jan.steff...@gmail.com> +From 704e31424615c87ad82424a9b09a452d762daed0 Mon Sep 17 00:00:00 2001 +Message-Id: <704e31424615c87ad82424a9b09a452d762daed0.1520639721.git.jan.steff...@gmail.com> +In-Reply-To: <188720e92122385994143a06cb16a930053eb503.1520639721.git.jan.steff...@gmail.com> +References: <188720e92122385994143a06cb16a930053eb503.1520639721.git.jan.steff...@gmail.com> From: Jim Bride Date: Mon, 6 Nov 2017 13:38:57 -0800 Subject: [PATCH 2/2] drm/i915/edp: Only use the alternate fixed mode if it's Modified: PKGBUILD === --- PKGBUILD2018-03-10 11:53:24 UTC (rev 318490) +++ PKGBUILD2018-03-10 11:53:25 UTC (rev 318491) @@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-4.15 -pkgver=4.15.7 +pkgver=4.15.8 pkgrel=1 arch=('x86_64') url="https://www.kernel.org/; @@ -28,14 +28,14 @@ ) sha256sums=('5a26478906d5005f4f809402e981518d2b8844949199f60c4b6e1f986ca2a769' 'SKIP' -'0dad200b26837acd0340dfe18d9610467c111df5719440248cd8be6fb8d6dd02' +'93e9495e5d43f3ff6695b50ba74fc17d8feef670c16c08acd005059b54db1ef0' 'SKIP' 'f38927db126ec7141ea2dd70cabb2ef378552672b31db4ab621493928497abd7' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' -'19b17156ea5aec86e4eb87fc855789375a5184faf564b4ac2cd0f279de7b3bf9' -'f49e23e2a00357f8a5f6cc5caadd56a4df2b0a3e2b53d76a514ca508f25a62a7') +'4ffdc2a458845c2a7c03c735477dbf51b5b01b10568bf577b37a29e872135cab' +'12b281dc45f1954cc3f52276927bb2965c3132c0a8bd7f485869ced2c541d485') _kernelname=${pkgbase#linux} : ${_kernelname:=-ARCH}
[arch-commits] Commit in linux/trunk (3 files)
Date: Thursday, December 7, 2017 @ 21:38:43 Author: heftig Revision: 311802 4.14.4-2 Added: linux/trunk/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch Modified: linux/trunk/PKGBUILD linux/trunk/config -+ 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch | 102 ++ PKGBUILD| 11 config | 147 +++--- 3 files changed, 216 insertions(+), 44 deletions(-) Added: 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch === --- 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch (rev 0) +++ 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch 2017-12-07 21:38:43 UTC (rev 311802) @@ -0,0 +1,102 @@ +From 5ec2dd3a095442ec1a21d86042a4994f2ba24e63 Mon Sep 17 00:00:00 2001 +Message-Id: <5ec2dd3a095442ec1a21d86042a4994f2ba24e63.1512651251.git.jan.steff...@gmail.com> +From: Serge Hallyn+Date: Fri, 31 May 2013 19:12:12 +0100 +Subject: [PATCH] add sysctl to disallow unprivileged CLONE_NEWUSER by default + +Signed-off-by: Serge Hallyn +[bwh: Remove unneeded binary sysctl bits] +Signed-off-by: Daniel Micay +--- + kernel/fork.c | 15 +++ + kernel/sysctl.c | 12 + kernel/user_namespace.c | 3 +++ + 3 files changed, 30 insertions(+) + +diff --git a/kernel/fork.c b/kernel/fork.c +index 07cc743698d3668e..4011d68a8ff9305c 100644 +--- a/kernel/fork.c b/kernel/fork.c +@@ -102,6 +102,11 @@ + + #define CREATE_TRACE_POINTS + #include ++#ifdef CONFIG_USER_NS ++extern int unprivileged_userns_clone; ++#else ++#define unprivileged_userns_clone 0 ++#endif + + /* + * Minimum number of threads to boot the kernel +@@ -1555,6 +1560,10 @@ static __latent_entropy struct task_struct *copy_process( + if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) + return ERR_PTR(-EINVAL); + ++ if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) ++ if (!capable(CAP_SYS_ADMIN)) ++ return ERR_PTR(-EPERM); ++ + /* +* Thread groups must share signals as well, and detached threads +* can only be started up within the thread group. +@@ -2348,6 +2357,12 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags) + if (unshare_flags & CLONE_NEWNS) + unshare_flags |= CLONE_FS; + ++ if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) { ++ err = -EPERM; ++ if (!capable(CAP_SYS_ADMIN)) ++ goto bad_unshare_out; ++ } ++ + err = check_unshare_flags(unshare_flags); + if (err) + goto bad_unshare_out; +diff --git a/kernel/sysctl.c b/kernel/sysctl.c +index b86520ed3fb60fbf..f7dab3760839f1a1 100644 +--- a/kernel/sysctl.c b/kernel/sysctl.c +@@ -105,6 +105,9 @@ extern int core_uses_pid; + extern char core_pattern[]; + extern unsigned int core_pipe_limit; + #endif ++#ifdef CONFIG_USER_NS ++extern int unprivileged_userns_clone; ++#endif + extern int pid_max; + extern int pid_max_min, pid_max_max; + extern int percpu_pagelist_fraction; +@@ -513,6 +516,15 @@ static struct ctl_table kern_table[] = { + .proc_handler = proc_dointvec, + }, + #endif ++#ifdef CONFIG_USER_NS ++ { ++ .procname = "unprivileged_userns_clone", ++ .data = _userns_clone, ++ .maxlen = sizeof(int), ++ .mode = 0644, ++ .proc_handler = proc_dointvec, ++ }, ++#endif + #ifdef CONFIG_PROC_SYSCTL + { + .procname = "tainted", +diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c +index c490f1e4313b998a..dd03bd39d7bf194d 100644 +--- a/kernel/user_namespace.c b/kernel/user_namespace.c +@@ -24,6 +24,9 @@ + #include + #include + ++/* sysctl */ ++int unprivileged_userns_clone; ++ + static struct kmem_cache *user_ns_cachep __read_mostly; + static DEFINE_MUTEX(userns_state_mutex); + +-- +2.15.1 + Modified: PKGBUILD === --- PKGBUILD2017-12-07 21:38:01 UTC (rev 311801) +++ PKGBUILD2017-12-07 21:38:43 UTC (rev 311802) @@ -6,7 +6,7 @@ #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-4.14 pkgver=4.14.4 -pkgrel=1 +pkgrel=2 arch=('x86_64') url="https://www.kernel.org/; license=('GPL2') @@ -21,6 +21,7 @@ '60-linux.hook' # pacman hook for depmod '90-linux.hook' # pacman hook for initramfs regeneration 'linux.preset' # standard config files for mkinitcpio ramdisk +
[arch-commits] Commit in linux/trunk (3 files)
Date: Wednesday, August 30, 2017 @ 12:09:09 Author: tpowa Revision: 304342 upgpkg: linux 4.12.10-1 bump to latest version Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/bonding-ratelimit-failed-speed-duplex-update-warning.patch linux/trunk/bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch + PKGBUILD | 12 - bonding-ratelimit-failed-speed-duplex-update-warning.patch | 47 --- bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch | 68 --- 3 files changed, 2 insertions(+), 125 deletions(-) Modified: PKGBUILD === --- PKGBUILD2017-08-30 08:28:12 UTC (rev 304341) +++ PKGBUILD2017-08-30 12:09:09 UTC (rev 304342) @@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-4.12 -pkgver=4.12.9 +pkgver=4.12.10 pkgrel=1 arch=('i686' 'x86_64') url="https://www.kernel.org/; @@ -16,8 +16,6 @@ "https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.sign; "https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz; "https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign; -'bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch' -'bonding-ratelimit-failed-speed-duplex-update-warning.patch' # the main kernel config files 'config.i686' 'config.x86_64' # pacman hook for initramfs regeneration @@ -27,10 +25,8 @@ sha256sums=('a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab' 'SKIP' -'32c5df9c032d039d17cee0397b7458353089e1c2fdfdc77acc2edc2d2e76' +'32dfc4d44b559bb7007a54217aee04f6fe93e1f7bc9d9809064b5a4e689ba6e1' 'SKIP' -'48e0505438bb4ccc7a0e050a896122b490e8f1b1446aa3833841a9d4d7853d68' -'fc606711a922638d5cc4358f47f69f554d9e6eab1cec91f0b49f00911f399722' 'df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1' 'bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586' '834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0' @@ -52,10 +48,6 @@ # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git - - # https://bugzilla.kernel.org/show_bug.cgi?id=196547 - patch -Np1 -i ../bonding-ratelimit-failed-speed-duplex-update-warning.patch - patch -Np1 -i ../bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch cat "${srcdir}/config.${CARCH}" > ./.config Deleted: bonding-ratelimit-failed-speed-duplex-update-warning.patch === --- bonding-ratelimit-failed-speed-duplex-update-warning.patch 2017-08-30 08:28:12 UTC (rev 304341) +++ bonding-ratelimit-failed-speed-duplex-update-warning.patch 2017-08-30 12:09:09 UTC (rev 304342) @@ -1,47 +0,0 @@ -From 11e9d7829dd08dbafb24517fe922f11c3a8a9dc2 Mon Sep 17 00:00:00 2001 -From: Andreas Born-Date: Sat, 12 Aug 2017 00:36:55 +0200 -Subject: [PATCH] bonding: ratelimit failed speed/duplex update warning - -bond_miimon_commit() handles the UP transition for each slave of a bond -in the case of MII. It is triggered 10 times per second for the default -MII Polling interval of 100ms. For device drivers that do not implement -__ethtool_get_link_ksettings() the call to bond_update_speed_duplex() -fails persistently while the MII status could remain UP. That is, in -this and other cases where the speed/duplex update keeps failing over a -longer period of time while the MII state is UP, a warning is printed -every MII polling interval. - -To address these excessive warnings net_ratelimit() should be used. -Printing a warning once would not be sufficient since the call to -bond_update_speed_duplex() could recover to succeed and fail again -later. In that case there would be no new indication what went wrong. - -Fixes: b5bf0f5b16b9c (bonding: correctly update link status during mii-commit phase) -Signed-off-by: Andreas Born -Signed-off-by: David S. Miller - drivers/net/bonding/bond_main.c | 7 --- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c -index 85bb272d2a34..fc63992ab0e0 100644 a/drivers/net/bonding/bond_main.c -+++ b/drivers/net/bonding/bond_main.c -@@ -2144,9 +2144,10 @@ static void bond_miimon_commit(struct bonding *bond) - if (bond_update_speed_duplex(slave) && - bond_needs_speed_duplex(bond)) { - slave->link = BOND_LINK_DOWN; -- netdev_warn(bond->dev, --
[arch-commits] Commit in linux/trunk (3 files)
Date: Saturday, June 24, 2017 @ 07:52:30 Author: tpowa Revision: 299189 upgpkg: linux 4.11.7-1 bump to latest version Deleted: linux/trunk/CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch linux/trunk/CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch linux/trunk/CVE-2017-1000364.mm-larger-stack-guard-gap-between-vmas.patch + CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch | 45 - CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch | 47 -- 2 files changed, 92 deletions(-) Deleted: CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch === --- CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch 2017-06-24 07:49:57 UTC (rev 299188) +++ CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch 2017-06-24 07:52:30 UTC (rev 299189) @@ -1,45 +0,0 @@ -From bd726c90b6b8ce87602208701b208a208e6d5600 Mon Sep 17 00:00:00 2001 -From: Helge Deller-Date: Mon, 19 Jun 2017 17:34:05 +0200 -Subject: [PATCH] Allow stack to grow up to address space limit - -Fix expand_upwards() on architectures with an upward-growing stack (parisc, -metag and partly IA-64) to allow the stack to reliably grow exactly up to -the address space limit given by TASK_SIZE. - -Signed-off-by: Helge Deller -Acked-by: Hugh Dickins -Signed-off-by: Linus Torvalds - mm/mmap.c | 13 - - 1 file changed, 8 insertions(+), 5 deletions(-) - -diff --git a/mm/mmap.c b/mm/mmap.c -index 290b77d9a01e0..a5e3dcd75e79f 100644 a/mm/mmap.c -+++ b/mm/mmap.c -@@ -2230,16 +2230,19 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) - if (!(vma->vm_flags & VM_GROWSUP)) - return -EFAULT; - -- /* Guard against wrapping around to address 0. */ -+ /* Guard against exceeding limits of the address space. */ - address &= PAGE_MASK; -- address += PAGE_SIZE; -- if (!address) -+ if (address >= TASK_SIZE) - return -ENOMEM; -+ address += PAGE_SIZE; - - /* Enforce stack_guard_gap */ - gap_addr = address + stack_guard_gap; -- if (gap_addr < address) -- return -ENOMEM; -+ -+ /* Guard against overflow */ -+ if (gap_addr < address || gap_addr > TASK_SIZE) -+ gap_addr = TASK_SIZE; -+ - next = vma->vm_next; - if (next && next->vm_start < gap_addr) { - if (!(next->vm_flags & VM_GROWSUP)) Deleted: CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch === --- CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch 2017-06-24 07:49:57 UTC (rev 299188) +++ CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch 2017-06-24 07:52:30 UTC (rev 299189) @@ -1,47 +0,0 @@ -From f4cb767d76cf7ee72f97dd76f6cfa6c76a5edc89 Mon Sep 17 00:00:00 2001 -From: Hugh Dickins -Date: Tue, 20 Jun 2017 02:10:44 -0700 -Subject: [PATCH] mm: fix new crash in unmapped_area_topdown() - -Trinity gets kernel BUG at mm/mmap.c:1963! in about 3 minutes of -mmap testing. That's the VM_BUG_ON(gap_end < gap_start) at the -end of unmapped_area_topdown(). Linus points out how MAP_FIXED -(which does not have to respect our stack guard gap intentions) -could result in gap_end below gap_start there. Fix that, and -the similar case in its alternative, unmapped_area(). - -Cc: sta...@vger.kernel.org -Fixes: 1be7107fbe18 ("mm: larger stack guard gap, between vmas") -Reported-by: Dave Jones -Debugged-by: Linus Torvalds -Signed-off-by: Hugh Dickins -Acked-by: Michal Hocko -Signed-off-by: Linus Torvalds - mm/mmap.c | 6 -- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/mm/mmap.c b/mm/mmap.c -index 8e07976d5e477..290b77d9a01e0 100644 a/mm/mmap.c -+++ b/mm/mmap.c -@@ -1817,7 +1817,8 @@ unsigned long unmapped_area(struct vm_unmapped_area_info *info) - /* Check if current node has a suitable gap */ - if (gap_start > high_limit) - return -ENOMEM; -- if (gap_end >= low_limit && gap_end - gap_start >= length) -+ if (gap_end >= low_limit && -+ gap_end > gap_start && gap_end - gap_start >= length) - goto found; - - /* Visit right subtree if it looks promising */ -@@ -1920,7 +1921,8 @@ unsigned long unmapped_area_topdown(struct vm_unmapped_area_info *info) - gap_end = vm_start_gap(vma); - if (gap_end < low_limit) -
[arch-commits] Commit in linux/trunk (3 files)
Date: Thursday, June 22, 2017 @ 13:18:15 Author: anthraxx Revision: 299138 upgpkg: linux 4.11.6-3 (fixup patches for CVE-2017-1000364) Added: linux/trunk/CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch linux/trunk/CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch Modified: linux/trunk/PKGBUILD + CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch | 45 + CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch | 47 ++ PKGBUILD | 14 ++ 3 files changed, 103 insertions(+), 3 deletions(-) Added: CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch === --- CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch (rev 0) +++ CVE-2017-1000364.fixup.allow-stack-to-grow-up-to-address-space-limit.patch 2017-06-22 13:18:15 UTC (rev 299138) @@ -0,0 +1,45 @@ +From bd726c90b6b8ce87602208701b208a208e6d5600 Mon Sep 17 00:00:00 2001 +From: Helge Deller+Date: Mon, 19 Jun 2017 17:34:05 +0200 +Subject: [PATCH] Allow stack to grow up to address space limit + +Fix expand_upwards() on architectures with an upward-growing stack (parisc, +metag and partly IA-64) to allow the stack to reliably grow exactly up to +the address space limit given by TASK_SIZE. + +Signed-off-by: Helge Deller +Acked-by: Hugh Dickins +Signed-off-by: Linus Torvalds +--- + mm/mmap.c | 13 - + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/mm/mmap.c b/mm/mmap.c +index 290b77d9a01e0..a5e3dcd75e79f 100644 +--- a/mm/mmap.c b/mm/mmap.c +@@ -2230,16 +2230,19 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) + if (!(vma->vm_flags & VM_GROWSUP)) + return -EFAULT; + +- /* Guard against wrapping around to address 0. */ ++ /* Guard against exceeding limits of the address space. */ + address &= PAGE_MASK; +- address += PAGE_SIZE; +- if (!address) ++ if (address >= TASK_SIZE) + return -ENOMEM; ++ address += PAGE_SIZE; + + /* Enforce stack_guard_gap */ + gap_addr = address + stack_guard_gap; +- if (gap_addr < address) +- return -ENOMEM; ++ ++ /* Guard against overflow */ ++ if (gap_addr < address || gap_addr > TASK_SIZE) ++ gap_addr = TASK_SIZE; ++ + next = vma->vm_next; + if (next && next->vm_start < gap_addr) { + if (!(next->vm_flags & VM_GROWSUP)) Added: CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch === --- CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch (rev 0) +++ CVE-2017-1000364.mm-fix-new-crash-in-unmapped_area_topdown.patch 2017-06-22 13:18:15 UTC (rev 299138) @@ -0,0 +1,47 @@ +From f4cb767d76cf7ee72f97dd76f6cfa6c76a5edc89 Mon Sep 17 00:00:00 2001 +From: Hugh Dickins +Date: Tue, 20 Jun 2017 02:10:44 -0700 +Subject: [PATCH] mm: fix new crash in unmapped_area_topdown() + +Trinity gets kernel BUG at mm/mmap.c:1963! in about 3 minutes of +mmap testing. That's the VM_BUG_ON(gap_end < gap_start) at the +end of unmapped_area_topdown(). Linus points out how MAP_FIXED +(which does not have to respect our stack guard gap intentions) +could result in gap_end below gap_start there. Fix that, and +the similar case in its alternative, unmapped_area(). + +Cc: sta...@vger.kernel.org +Fixes: 1be7107fbe18 ("mm: larger stack guard gap, between vmas") +Reported-by: Dave Jones +Debugged-by: Linus Torvalds +Signed-off-by: Hugh Dickins +Acked-by: Michal Hocko +Signed-off-by: Linus Torvalds +--- + mm/mmap.c | 6 -- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/mm/mmap.c b/mm/mmap.c +index 8e07976d5e477..290b77d9a01e0 100644 +--- a/mm/mmap.c b/mm/mmap.c +@@ -1817,7 +1817,8 @@ unsigned long unmapped_area(struct vm_unmapped_area_info *info) + /* Check if current node has a suitable gap */ + if (gap_start > high_limit) + return -ENOMEM; +- if (gap_end >= low_limit && gap_end - gap_start >= length) ++ if (gap_end >= low_limit && ++ gap_end > gap_start && gap_end - gap_start >= length) + goto found; + + /* Visit right subtree if it looks promising */ +@@ -1920,7 +1921,8 @@ unsigned long unmapped_area_topdown(struct vm_unmapped_area_info *info) + gap_end =
[arch-commits] Commit in linux/trunk (3 files)
Date: Sunday, February 19, 2017 @ 14:13:26 Author: heftig Revision: 289254 4.9.11-1 Added: linux/trunk/0001-dccp-fix-freeing-skb-too-early-for-IPV6_RECVPKTINFO.patch Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch + 0001-dccp-fix-freeing-skb-too-early-for-IPV6_RECVPKTINFO.patch | 47 +++ 0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch | 65 -- PKGBUILD | 16 +- 3 files changed, 54 insertions(+), 74 deletions(-) Added: 0001-dccp-fix-freeing-skb-too-early-for-IPV6_RECVPKTINFO.patch === --- 0001-dccp-fix-freeing-skb-too-early-for-IPV6_RECVPKTINFO.patch (rev 0) +++ 0001-dccp-fix-freeing-skb-too-early-for-IPV6_RECVPKTINFO.patch 2017-02-19 14:13:26 UTC (rev 289254) @@ -0,0 +1,47 @@ +From 5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4 Mon Sep 17 00:00:00 2001 +From: Andrey Konovalov+Date: Thu, 16 Feb 2017 17:22:46 +0100 +Subject: [PATCH] dccp: fix freeing skb too early for IPV6_RECVPKTINFO + +In the current DCCP implementation an skb for a DCCP_PKT_REQUEST packet +is forcibly freed via __kfree_skb in dccp_rcv_state_process if +dccp_v6_conn_request successfully returns. + +However, if IPV6_RECVPKTINFO is set on a socket, the address of the skb +is saved to ireq->pktopts and the ref count for skb is incremented in +dccp_v6_conn_request, so skb is still in use. Nevertheless, it gets freed +in dccp_rcv_state_process. + +Fix by calling consume_skb instead of doing goto discard and therefore +calling __kfree_skb. + +Similar fixes for TCP: + +fb7e2399ec17f1004c0e0ccfd17439f8759ede01 [TCP]: skb is unexpectedly freed. +0aea76d35c9651d55bbaf746e7914e5f9ae5a25d tcp: SYN packets are now +simply consumed + +Signed-off-by: Andrey Konovalov +Acked-by: Eric Dumazet +Signed-off-by: David S. Miller +--- + net/dccp/input.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/net/dccp/input.c b/net/dccp/input.c +index ba347184bda9b3fe..8fedc2d497709b3d 100644 +--- a/net/dccp/input.c b/net/dccp/input.c +@@ -606,7 +606,8 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb, + if (inet_csk(sk)->icsk_af_ops->conn_request(sk, + skb) < 0) + return 1; +- goto discard; ++ consume_skb(skb); ++ return 0; + } + if (dh->dccph_type == DCCP_PKT_RESET) + goto discard; +-- +2.11.1 + Deleted: 0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch === --- 0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch 2017-02-19 14:10:22 UTC (rev 289253) +++ 0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch 2017-02-19 14:13:26 UTC (rev 289254) @@ -1,65 +0,0 @@ -From 885bad1e5f32bbf30787ead9578f8174047e6904 Mon Sep 17 00:00:00 2001 -From: Yu-cheng Yu -Date: Thu, 17 Nov 2016 09:11:35 -0800 -Subject: [PATCH] x86/fpu: Fix invalid FPU ptrace state after execve() - -commit b22cbe404a9cc3c7949e380fa1861e31934c8978 upstream. - -Robert O'Callahan reported that after an execve PTRACE_GETREGSET -NT_X86_XSTATE continues to return the pre-exec register values -until the exec'ed task modifies FPU state. - -The test code is at: - - https://bugzilla.redhat.com/attachment.cgi?id=1164286. - -What is happening is fpu__clear() does not properly clear fpstate. -Fix it by doing just that. - -Reported-by: Robert O'Callahan -Signed-off-by: Yu-cheng Yu -Cc: Andy Lutomirski -Cc: Borislav Petkov -Cc: David Hansen -Cc: Fenghua Yu -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Ravi V. Shankar -Cc: Thomas Gleixner -Link: http://lkml.kernel.org/r/1479402695-6553-1-git-send-email-yu-cheng...@intel.com -Signed-off-by: Ingo Molnar -Signed-off-by: Greg Kroah-Hartman - arch/x86/kernel/fpu/core.c | 16 - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c -index 3fc03a09a93b1710..c289e2f4a6e5b464 100644 a/arch/x86/kernel/fpu/core.c -+++ b/arch/x86/kernel/fpu/core.c -@@ -517,14 +517,14 @@ void fpu__clear(struct fpu *fpu) - { - WARN_ON_FPU(fpu != >thread.fpu); /* Almost certainly an anomaly */ - -- if
[arch-commits] Commit in linux/trunk (3 files)
Date: Sunday, December 11, 2016 @ 02:34:09 Author: heftig Revision: 283028 4.8.14-1 Added: linux/trunk/0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/fix_race_condition_in_packet_set_ring.diff --+ 0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch | 65 +++ PKGBUILD | 18 +- fix_race_condition_in_packet_set_ring.diff | 84 -- 3 files changed, 74 insertions(+), 93 deletions(-) Added: 0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch === --- 0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch (rev 0) +++ 0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch 2016-12-11 02:34:09 UTC (rev 283028) @@ -0,0 +1,65 @@ +From 885bad1e5f32bbf30787ead9578f8174047e6904 Mon Sep 17 00:00:00 2001 +From: Yu-cheng Yu+Date: Thu, 17 Nov 2016 09:11:35 -0800 +Subject: [PATCH] x86/fpu: Fix invalid FPU ptrace state after execve() + +commit b22cbe404a9cc3c7949e380fa1861e31934c8978 upstream. + +Robert O'Callahan reported that after an execve PTRACE_GETREGSET +NT_X86_XSTATE continues to return the pre-exec register values +until the exec'ed task modifies FPU state. + +The test code is at: + + https://bugzilla.redhat.com/attachment.cgi?id=1164286. + +What is happening is fpu__clear() does not properly clear fpstate. +Fix it by doing just that. + +Reported-by: Robert O'Callahan +Signed-off-by: Yu-cheng Yu +Cc: Andy Lutomirski +Cc: Borislav Petkov +Cc: David Hansen +Cc: Fenghua Yu +Cc: Linus Torvalds +Cc: Peter Zijlstra +Cc: Ravi V. Shankar +Cc: Thomas Gleixner +Link: http://lkml.kernel.org/r/1479402695-6553-1-git-send-email-yu-cheng...@intel.com +Signed-off-by: Ingo Molnar +Signed-off-by: Greg Kroah-Hartman +--- + arch/x86/kernel/fpu/core.c | 16 + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c +index 3fc03a09a93b1710..c289e2f4a6e5b464 100644 +--- a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c +@@ -517,14 +517,14 @@ void fpu__clear(struct fpu *fpu) + { + WARN_ON_FPU(fpu != >thread.fpu); /* Almost certainly an anomaly */ + +- if (!use_eager_fpu() || !static_cpu_has(X86_FEATURE_FPU)) { +- /* FPU state will be reallocated lazily at the first use. */ +- fpu__drop(fpu); +- } else { +- if (!fpu->fpstate_active) { +- fpu__activate_curr(fpu); +- user_fpu_begin(); +- } ++ fpu__drop(fpu); ++ ++ /* ++ * Make sure fpstate is cleared and initialized. ++ */ ++ if (static_cpu_has(X86_FEATURE_FPU)) { ++ fpu__activate_curr(fpu); ++ user_fpu_begin(); + copy_init_fpstate_to_fpregs(); + } + } +-- +2.10.2 + Modified: PKGBUILD === --- PKGBUILD2016-12-11 02:14:32 UTC (rev 283027) +++ PKGBUILD2016-12-11 02:34:09 UTC (rev 283028) @@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-4.8 -pkgver=4.8.13 +pkgver=4.8.14 pkgrel=1 arch=('i686' 'x86_64') url="https://www.kernel.org/; @@ -23,13 +23,13 @@ # standard config files for mkinitcpio ramdisk 'linux.preset' 'change-default-console-loglevel.patch' -fix_race_condition_in_packet_set_ring.diff net_handle_no_dst_on_skb_in_icmp6_send.patch +0001-x86-fpu-Fix-invalid-FPU-ptrace-state-after-execve.patch ) sha256sums=('3e9150065f193d3d94bcf46a1fe9f033c7ef7122ab71d75a7fb5a2f0c9a7e11a' 'SKIP' -'f0e2f7f738e1a639956e01ba7ef8d3df40ecb5c7586eb366bcd4af70049a7a3c' +'efa9b7d87a6ca67426e3d7f206ac987eb7cb31602ad2011e81060626de790fcb' 'SKIP' '2ac8818414beb7dbacbd3ad450c516e6ada804827132a7132f63b8189e5f5151' '41b9a64542befd2fea170776e8ec22a7d158dd3273633afc9b91662c448cd90a' @@ -36,8 +36,8 @@ '834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' -'ad1ee95f906f88d31fcdb9273cd08e02e8eda177449f0c98dc1bff8cbf1483c2' -
[arch-commits] Commit in linux/trunk (3 files)
Date: Thursday, June 2, 2016 @ 15:51:16 Author: tpowa Revision: 268844 upgpkg: linux 4.6.1-2 fix flicker problem and rtlwifi atomic bug Added: linux/trunk/0001-linux-4.6-drm-i915-psr.patch linux/trunk/0001-linux-4.6-rtlwifi-fix-atomic.patch Modified: linux/trunk/PKGBUILD -+ 0001-linux-4.6-drm-i915-psr.patch | 115 ++ 0001-linux-4.6-rtlwifi-fix-atomic.patch | 70 ++ PKGBUILD| 18 +++- 3 files changed, 200 insertions(+), 3 deletions(-) Added: 0001-linux-4.6-drm-i915-psr.patch === --- 0001-linux-4.6-drm-i915-psr.patch (rev 0) +++ 0001-linux-4.6-drm-i915-psr.patch 2016-06-02 13:51:16 UTC (rev 268844) @@ -0,0 +1,115 @@ +From 03b7b5f983091bca17e9c163832fcde56971d7d1 Mon Sep 17 00:00:00 2001 +From: Daniel Vetter+Date: Wed, 18 May 2016 18:47:11 +0200 +Subject: drm/i915/psr: Try to program link training times correctly +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The default of 0 is 500us of link training, but that's not enough for +some platforms. Decoding this correctly means we're using 2.5ms of +link training on these platforms, which fixes flickering issues +associated with enabling PSR. + +v2: Unbotch the math a bit. + +v3: Drop debug hunk. + +v4: Improve commit message. + +Tested-by: Lyude +Cc: Lyude +Cc: sta...@vger.kernel.org +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95176 +Cc: Rodrigo Vivi +Cc: Sonika Jindal +Cc: Durgadoss R +Cc: "Pandiyan, Dhinakaran" +Tested-by: Ville Syrjälä +Reviewed-by: Ville Syrjälä +Tested-by: frit...@kodi.tv +Signed-off-by: Daniel Vetter +Link: http://patchwork.freedesktop.org/patch/msgid/1463590036-17824-2-git-send-email-daniel.vet...@ffwll.ch +(cherry picked from commit 50db139018f9c94376d5f4db94a3bae65fdfac14) +Signed-off-by: Jani Nikula +--- + drivers/gpu/drm/i915/intel_psr.c | 55 ++-- + 1 file changed, 47 insertions(+), 8 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c +index c3abae4..a788d1e 100644 +--- a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c +@@ -280,7 +280,10 @@ static void hsw_psr_enable_source(struct intel_dp *intel_dp) +* with the 5 or 6 idle patterns. +*/ + uint32_t idle_frames = max(6, dev_priv->vbt.psr.idle_frames); +- uint32_t val = 0x0; ++ uint32_t val = EDP_PSR_ENABLE; ++ ++ val |= max_sleep_time << EDP_PSR_MAX_SLEEP_TIME_SHIFT; ++ val |= idle_frames << EDP_PSR_IDLE_FRAME_SHIFT; + + if (IS_HASWELL(dev)) + val |= EDP_PSR_MIN_LINK_ENTRY_TIME_8_LINES; +@@ -288,14 +291,50 @@ static void hsw_psr_enable_source(struct intel_dp *intel_dp) + if (dev_priv->psr.link_standby) + val |= EDP_PSR_LINK_STANDBY; + +- I915_WRITE(EDP_PSR_CTL, val | +- max_sleep_time << EDP_PSR_MAX_SLEEP_TIME_SHIFT | +- idle_frames << EDP_PSR_IDLE_FRAME_SHIFT | +- EDP_PSR_ENABLE); ++ if (dev_priv->vbt.psr.tp1_wakeup_time > 5) ++ val |= EDP_PSR_TP1_TIME_2500us; ++ else if (dev_priv->vbt.psr.tp1_wakeup_time > 1) ++ val |= EDP_PSR_TP1_TIME_500us; ++ else if (dev_priv->vbt.psr.tp1_wakeup_time > 0) ++ val |= EDP_PSR_TP1_TIME_100us; ++ else ++ val |= EDP_PSR_TP1_TIME_0us; ++ ++ if (dev_priv->vbt.psr.tp2_tp3_wakeup_time > 5) ++ val |= EDP_PSR_TP2_TP3_TIME_2500us; ++ else if (dev_priv->vbt.psr.tp2_tp3_wakeup_time > 1) ++ val |= EDP_PSR_TP2_TP3_TIME_500us; ++ else if (dev_priv->vbt.psr.tp2_tp3_wakeup_time > 0) ++ val |= EDP_PSR_TP2_TP3_TIME_100us; ++ else ++ val |= EDP_PSR_TP2_TP3_TIME_0us; ++ ++ if (intel_dp_source_supports_hbr2(intel_dp) && ++ drm_dp_tps3_supported(intel_dp->dpcd)) ++ val |= EDP_PSR_TP1_TP3_SEL; ++ else ++ val |= EDP_PSR_TP1_TP2_SEL; ++ ++ I915_WRITE(EDP_PSR_CTL, val); ++ ++ if (!dev_priv->psr.psr2_support) ++ return; ++ ++ /* FIXME: selective update is probably totally broken because it doesn't ++ * mesh at all with our frontbuffer tracking. And the hw alone isn't ++ * good enough. */ ++ val = EDP_PSR2_ENABLE | EDP_SU_TRACK_ENABLE; ++ ++ if (dev_priv->vbt.psr.tp2_tp3_wakeup_time > 5) ++ val |= EDP_PSR2_TP2_TIME_2500; ++ else if (dev_priv->vbt.psr.tp2_tp3_wakeup_time > 1) ++ val |=
[arch-commits] Commit in linux/trunk (3 files)
Date: Saturday, February 27, 2016 @ 07:59:33 Author: tpowa Revision: 260264 upgpkg: linux 4.4.3-1 bump to latest version Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/0001-4.4-revert-btrfs.patch linux/trunk/0001-4.4-revert-xfs.patch -+ 0001-4.4-revert-btrfs.patch | 78 -- 0001-4.4-revert-xfs.patch | 39 - PKGBUILD| 16 ++-- 3 files changed, 4 insertions(+), 129 deletions(-) Deleted: 0001-4.4-revert-btrfs.patch === --- 0001-4.4-revert-btrfs.patch 2016-02-27 04:36:31 UTC (rev 260263) +++ 0001-4.4-revert-btrfs.patch 2016-02-27 06:59:33 UTC (rev 260264) @@ -1,78 +0,0 @@ -From 80ad623edd2d0ccb47d85357ee31c97e6c684e82 Mon Sep 17 00:00:00 2001 -From: David Sterba-Date: Mon, 25 Jan 2016 11:02:06 +0100 -Subject: Revert "btrfs: clear PF_NOFREEZE in cleaner_kthread()" - -This reverts commit 696249132158014d594896df3a81390616069c5c. The -cleaner thread can block freezing when there's a snapshot cleaning in -progress and the other threads get suspended first. From the logs -provided by Martin we're waiting for reading extent pages: - -kernel: PM: Syncing filesystems ... done. -kernel: Freezing user space processes ... (elapsed 0.015 seconds) done. -kernel: Freezing remaining freezable tasks ... -kernel: Freezing of tasks failed after 20.003 seconds (1 tasks refusing to freeze, wq_busy=0): -kernel: btrfs-cleaner D 88033dd13bc0 0 152 2 0x -kernel: 88032ebc2e00 88032e75 88032e74fa50 7fff -kernel: 814a58df 0002 ea000934d580 814a5451 -kernel: 7fff 814a6e8f 0020 -kernel: Call Trace: -kernel: [] ? bit_wait+0x2c/0x2c -kernel: [] ? schedule+0x6f/0x7c -kernel: [] ? schedule_timeout+0x2f/0xd8 -kernel: [] ? timekeeping_get_ns+0xa/0x2e -kernel: [] ? ktime_get+0x36/0x44 -kernel: [] ? io_schedule_timeout+0x94/0xf2 -kernel: [] ? io_schedule_timeout+0x94/0xf2 -kernel: [] ? bit_wait_io+0x2c/0x30 -kernel: [] ? __wait_on_bit+0x41/0x73 -kernel: [] ? wait_on_page_bit+0x6d/0x72 -kernel: [] ? autoremove_wake_function+0x2a/0x2a -kernel: [] ? read_extent_buffer_pages+0x1bd/0x203 -kernel: [] ? free_root_pointers+0x4c/0x4c -kernel: [] ? btree_read_extent_buffer_pages.constprop.57+0x5a/0xe9 -kernel: [] ? read_tree_block+0x2d/0x45 -kernel: [] ? read_block_for_search.isra.34+0x22a/0x26b -kernel: [] ? btrfs_set_path_blocking+0x1e/0x4a -kernel: [] ? btrfs_search_slot+0x648/0x736 -kernel: [] ? btrfs_lookup_extent_info+0xb7/0x2c7 -kernel: [] ? walk_down_proc+0x9c/0x1ae -kernel: [] ? walk_down_tree+0x40/0xa4 -kernel: [] ? btrfs_drop_snapshot+0x2da/0x664 -kernel: [] ? finish_task_switch+0x126/0x167 -kernel: [] ? btrfs_clean_one_deleted_snapshot+0xa6/0xb0 -kernel: [] ? cleaner_kthread+0x13e/0x17b -kernel: [] ? btrfs_item_end+0x33/0x33 -kernel: [] ? kthread+0x95/0x9d -kernel: [] ? kthread_parkme+0x16/0x16 -kernel: [] ? ret_from_fork+0x3f/0x70 -kernel: [] ? kthread_parkme+0x16/0x16 - -As this affects a released kernel (4.4) we need a minimal fix for -stable kernels. - -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=108361 -Reported-by: Martin Ziegler -CC: sta...@vger.kernel.org # 4.4 -CC: Jiri Kosina -Signed-off-by: David Sterba -Signed-off-by: Chris Mason - fs/btrfs/disk-io.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c -index 26ef141..404e894 100644 a/fs/btrfs/disk-io.c -+++ b/fs/btrfs/disk-io.c -@@ -1787,7 +1787,6 @@ static int cleaner_kthread(void *arg) - int again; - struct btrfs_trans_handle *trans; - -- set_freezable(); - do { - again = 0; - --- -cgit v0.12 - Deleted: 0001-4.4-revert-xfs.patch === --- 0001-4.4-revert-xfs.patch 2016-02-27 04:36:31 UTC (rev 260263) +++ 0001-4.4-revert-xfs.patch 2016-02-27 06:59:33 UTC (rev 260264) @@ -1,39 +0,0 @@ -From 3e85286e75224fa3f08bdad20e78c8327742634e Mon Sep 17 00:00:00 2001 -From: Dave Chinner -Date: Tue, 19 Jan 2016 08:21:46 +1100 -Subject: Revert "xfs: clear PF_NOFREEZE for xfsaild kthread" - -This reverts commit 24ba16bb3d499c49974669cd8429c3e4138ab102 as it -prevents machines from suspending. This regression occurs when the -xfsaild is idle on entry to suspend, and so there s no activity to -wake it from it's idle sleep and hence see that it is supposed to -freeze. Hence the freezer times out waiting for it and suspend is -cancelled. - -There is no obvious fix for this short of freezing the filesystem -properly, so revert this change for now. - -cc: # 4.4 -Signed-off-by: Dave Chinner -Acked-by: Jiri Kosina
[arch-commits] Commit in linux/trunk (3 files)
Date: Tuesday, January 19, 2016 @ 21:27:32 Author: tpowa Revision: 258421 fix #47805, #47778 Added: linux/trunk/0001-sdhci-revert.patch linux/trunk/tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch Modified: linux/trunk/PKGBUILD ---+ 0001-sdhci-revert.patch | 25 ++ PKGBUILD | 19 ++- tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch | 24 + 3 files changed, 65 insertions(+), 3 deletions(-) Added: 0001-sdhci-revert.patch === --- 0001-sdhci-revert.patch (rev 0) +++ 0001-sdhci-revert.patch 2016-01-19 20:27:32 UTC (rev 258421) @@ -0,0 +1,25 @@ +index 2cadf08..b48565e 100644 +--- a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c +@@ -1895,9 +1895,9 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode) + tuning_count = host->tuning_count; + + /* +- * The Host Controller needs tuning only in case of SDR104 mode +- * and for SDR50 mode when Use Tuning for SDR50 is set in the +- * Capabilities register. ++ * The Host Controller needs tuning in case of SDR104 and DDR50 ++ * mode, and for SDR50 mode when Use Tuning for SDR50 is set in ++ * the Capabilities register. +* If the Host Controller supports the HS200 mode then the +* tuning function has to be executed. +*/ +@@ -1917,6 +1917,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode) + break; + + case MMC_TIMING_UHS_SDR104: ++ case MMC_TIMING_UHS_DDR50: + break; + + case MMC_TIMING_UHS_SDR50: +generated by cgit v0.11.2 at 2016-01-01 22:11:38 (GMT) Modified: PKGBUILD === --- PKGBUILD2016-01-19 19:42:18 UTC (rev 258420) +++ PKGBUILD2016-01-19 20:27:32 UTC (rev 258421) @@ -6,7 +6,7 @@ #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-4.4 pkgver=4.4 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') url="http://www.kernel.org/; license=('GPL2') @@ -20,7 +20,9 @@ 'config' 'config.x86_64' # standard config files for mkinitcpio ramdisk 'linux.preset' -'change-default-console-loglevel.patch') +'change-default-console-loglevel.patch' +'0001-sdhci-revert.patch' + 'tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch') sha256sums=('401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2' 'SKIP' @@ -27,7 +29,9 @@ 'd402c67f5a7334ac9e242344055ef4ac63fe43a1d8f1cda82eddd59d7242a63e' 'ddeadf2910deb0803d4d4920c4dc7f07d3fb63bca564073aeb5f6181358f20d7' 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' -'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99') +'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' +'5313df7cb5b4d005422bd4cd0dae956b2dadba8f3db904275aaf99ac53894375' +'ab57037ecee0a425c612babdff47c831378bca0bff063a1308599989a350226d') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman @@ -44,6 +48,15 @@ # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git + # revert http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9faac7b95ea4f9e83b7a914084cc81ef1632fd91 + # fixes #47778 sdhci broken on some boards + # https://bugzilla.kernel.org/show_bug.cgi?id=106541 + patch -Rp1 -i "${srcdir}/0001-sdhci-revert.patch" + + # fixes #47805 kernel panics on platform modules + # https://bugzilla.kernel.org/show_bug.cgi?id=110751 + patch -Np1 -i "${srcdir}/tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch" + # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) Added: tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch === --- tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch (rev 0) +++ tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch 2016-01-19 20:27:32 UTC (rev 258421) @@ -0,0 +1,24 @@ +diff --git a/drivers/base/platform.c b/drivers/base/platform.c +index
[arch-commits] Commit in linux/trunk (3 files)
Date: Friday, October 23, 2015 @ 07:53:20 Author: tpowa Revision: 249673 upgpkg: linux 4.2.4-1 bump to latest version Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch linux/trunk/0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch -+ 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch | 65 -- 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch | 103 -- PKGBUILD| 21 -- 3 files changed, 4 insertions(+), 185 deletions(-) Deleted: 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch === --- 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch 2015-10-23 04:32:18 UTC (rev 249672) +++ 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch 2015-10-23 05:53:20 UTC (rev 249673) @@ -1,65 +0,0 @@ -From 37b12910dd11d9ab969f2c310dc9160b7f3e3405 Mon Sep 17 00:00:00 2001 -From: Raanan Avargil-Date: Sun, 19 Jul 2015 16:33:20 +0300 -Subject: [PATCH] e1000e: Fix tight loop implementation of systime read - algorithm - -Change the algorithm. Read systimel twice and check for overflow. -If there was no overflow, use the first value. -If there was an overflow, read systimeh again and use the second -systimel value. - -Signed-off-by: Raanan Avargil -Tested-by: Aaron Brown -Signed-off-by: Jeff Kirsher - drivers/net/ethernet/intel/e1000e/netdev.c | 31 -- - 1 file changed, 21 insertions(+), 10 deletions(-) - -diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c -index 24b7269..96a8166 100644 a/drivers/net/ethernet/intel/e1000e/netdev.c -+++ b/drivers/net/ethernet/intel/e1000e/netdev.c -@@ -4280,18 +4280,29 @@ static cycle_t e1000e_cyclecounter_read(const struct cyclecounter *cc) - struct e1000_adapter *adapter = container_of(cc, struct e1000_adapter, -cc); - struct e1000_hw *hw = >hw; -+ u32 systimel_1, systimel_2, systimeh; - cycle_t systim, systim_next; -- /* SYSTIMH latching upon SYSTIML read does not work well. To fix that -- * we don't want to allow overflow of SYSTIML and a change to SYSTIMH -- * to occur between reads, so if we read a vale close to overflow, we -- * wait for overflow to occur and read both registers when its safe. -+ /* SYSTIMH latching upon SYSTIML read does not work well. -+ * This means that if SYSTIML overflows after we read it but before -+ * we read SYSTIMH, the value of SYSTIMH has been incremented and we -+ * will experience a huge non linear increment in the systime value -+ * to fix that we test for overflow and if true, we re-read systime. -*/ -- u32 systim_overflow_latch_fix = 0x3FFF; -- -- do { -- systim = (cycle_t)er32(SYSTIML); -- } while (systim > systim_overflow_latch_fix); -- systim |= (cycle_t)er32(SYSTIMH) << 32; -+ systimel_1 = er32(SYSTIML); -+ systimeh = er32(SYSTIMH); -+ systimel_2 = er32(SYSTIML); -+ /* Check for overflow. If there was no overflow, use the values */ -+ if (systimel_1 < systimel_2) { -+ systim = (cycle_t)systimel_1; -+ systim |= (cycle_t)systimeh << 32; -+ } else { -+ /* There was an overflow, read again SYSTIMH, and use -+ * systimel_2 -+ */ -+ systimeh = er32(SYSTIMH); -+ systim = (cycle_t)systimel_2; -+ systim |= (cycle_t)systimeh << 32; -+ } - - if ((hw->mac.type == e1000_82574) || (hw->mac.type == e1000_82583)) { - u64 incvalue, time_delta, rem, temp; --- -2.5.1 - Deleted: 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch === --- 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch 2015-10-23 04:32:18 UTC (rev 249672) +++ 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch 2015-10-23 05:53:20 UTC (rev 249673) @@ -1,103 +0,0 @@ -From 9cf94eab8b309e8bcc78b41dd1561c75b537dd0b Mon Sep 17 00:00:00 2001 -From: Daniel Borkmann -Date: Mon, 31 Aug 2015 19:11:02 +0200 -Subject: [PATCH] netfilter: conntrack: use nf_ct_tmpl_free in CT/synproxy - error paths - -Commit 0838aa7fcfcd ("netfilter: fix netns dependencies with conntrack -templates") migrated templates to the new allocator api, but forgot to -update error paths for them in CT and synproxy to use nf_ct_tmpl_free() -instead of nf_conntrack_free(). - -Due to that, memory is being freed into the wrong
[arch-commits] Commit in linux/trunk (3 files)
Date: Friday, September 11, 2015 @ 13:30:41 Author: tpowa Revision: 245774 upgpkg: linux 4.2-4 fix bridge networking https://bugzilla.kernel.org/show_bug.cgi?id=104161 Added: linux/trunk/0001-fix-bridge-regression.patch Modified: linux/trunk/PKGBUILD linux/trunk/linux.install --+ 0001-fix-bridge-regression.patch | 25 + PKGBUILD | 12 +--- linux.install|4 ++-- 3 files changed, 36 insertions(+), 5 deletions(-) Added: 0001-fix-bridge-regression.patch === --- 0001-fix-bridge-regression.patch(rev 0) +++ 0001-fix-bridge-regression.patch2015-09-11 11:30:41 UTC (rev 245774) @@ -0,0 +1,25 @@ +@@ -, +, @@ +--- + net/bridge/br_multicast.c |4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) +--- a/net/bridge/br_multicast.c a/net/bridge/br_multicast.c +@@ -991,7 +991,7 @@ static int br_ip4_multicast_igmp3_report(struct net_bridge *br, + + ih = igmpv3_report_hdr(skb); + num = ntohs(ih->ngrec); +- len = sizeof(*ih); ++ len = skb_transport_offset(skb) + sizeof(*ih); + + for (i = 0; i < num; i++) { + len += sizeof(*grec); +@@ -1052,7 +1052,7 @@ static int br_ip6_multicast_mld2_report(struct net_bridge *br, + + icmp6h = icmp6_hdr(skb); + num = ntohs(icmp6h->icmp6_dataun.un_data16[1]); +- len = sizeof(*icmp6h); ++ len = skb_transport_offset(skb) + sizeof(*icmp6h); + + for (i = 0; i < num; i++) { + __be16 *nsrcs, _nsrcs; +-- Modified: PKGBUILD === --- PKGBUILD2015-09-11 11:14:38 UTC (rev 245773) +++ PKGBUILD2015-09-11 11:30:41 UTC (rev 245774) @@ -6,7 +6,7 @@ #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-4.2 pkgver=4.2 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') url="http://www.kernel.org/; license=('GPL2') @@ -23,7 +23,8 @@ 'change-default-console-loglevel.patch' '0001-make_flush_workqueue_non_gpl.patch' '0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch' -'0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch') +'0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch' +'0001-fix-bridge-regression.patch') sha256sums=('cf20e044f17588d2a42c8f2a450b0fd84dfdbd579b489d93e9ab7d0e8b45dbeb' 'SKIP' 'e6f6f804f98ad321ce3e4395924993b51decb89699fde369391ccbb4bae928b2' @@ -32,7 +33,8 @@ '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' '4e776734e2c2185910a6fbb6f333d967b04f4a72b3196310af286c6a779bd97d' '0b1e41ba59ae45f5929963aa22fdc53bc8ffb4534e976cec046269d1a462197b' -'6ed9e31ae5614c289c4884620e45698e764c03670ebc45bab9319d741238cbd3') +'6ed9e31ae5614c289c4884620e45698e764c03670ebc45bab9319d741238cbd3' +'0a8fe4434e930d393c7983e335842f6cb77ee263af5592a0ca7e14bae7296183') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman @@ -62,6 +64,10 @@ # many instances of this error: nf_conntrack: table full, dropping packet patch -p1 -i "${srcdir}/0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch" + # add not-yes-mainlined patch to fix bridge code + # https://bugzilla.kernel.org/show_bug.cgi?id=104161 + patch -Np1 -i "${srcdir}/0001-fix-bridge-regression.patch" + # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) Modified: linux.install === --- linux.install 2015-09-11 11:14:38 UTC (rev 245773) +++ linux.install 2015-09-11 11:30:41 UTC (rev 245774) @@ -8,7 +8,7 @@ # updating module dependencies echo ">>> Updating module dependencies. Please wait ..." depmod ${KERNEL_VERSION} - echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." mkinitcpio -p linux${KERNEL_NAME} } @@ -20,7 +20,7 @@ # updating module dependencies echo ">>> Updating module dependencies. Please wait ..." depmod ${KERNEL_VERSION} - echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." mkinitcpio -p linux${KERNEL_NAME} if [ $(vercmp $2 3.13) -lt 0 ]; then
[arch-commits] Commit in linux/trunk (3 files)
Date: Friday, September 4, 2015 @ 22:43:15 Author: foutrelis Revision: 245327 upgpkg: linux 4.2-3 Fix two network-related issues. Added: linux/trunk/0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch linux/trunk/0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch Modified: linux/trunk/PKGBUILD -+ 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch | 65 ++ 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch | 103 ++ PKGBUILD| 19 + 3 files changed, 184 insertions(+), 3 deletions(-) Added: 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch === --- 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch (rev 0) +++ 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch 2015-09-04 20:43:15 UTC (rev 245327) @@ -0,0 +1,65 @@ +From 37b12910dd11d9ab969f2c310dc9160b7f3e3405 Mon Sep 17 00:00:00 2001 +From: Raanan Avargil+Date: Sun, 19 Jul 2015 16:33:20 +0300 +Subject: [PATCH] e1000e: Fix tight loop implementation of systime read + algorithm + +Change the algorithm. Read systimel twice and check for overflow. +If there was no overflow, use the first value. +If there was an overflow, read systimeh again and use the second +systimel value. + +Signed-off-by: Raanan Avargil +Tested-by: Aaron Brown +Signed-off-by: Jeff Kirsher +--- + drivers/net/ethernet/intel/e1000e/netdev.c | 31 -- + 1 file changed, 21 insertions(+), 10 deletions(-) + +diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c +index 24b7269..96a8166 100644 +--- a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c +@@ -4280,18 +4280,29 @@ static cycle_t e1000e_cyclecounter_read(const struct cyclecounter *cc) + struct e1000_adapter *adapter = container_of(cc, struct e1000_adapter, +cc); + struct e1000_hw *hw = >hw; ++ u32 systimel_1, systimel_2, systimeh; + cycle_t systim, systim_next; +- /* SYSTIMH latching upon SYSTIML read does not work well. To fix that +- * we don't want to allow overflow of SYSTIML and a change to SYSTIMH +- * to occur between reads, so if we read a vale close to overflow, we +- * wait for overflow to occur and read both registers when its safe. ++ /* SYSTIMH latching upon SYSTIML read does not work well. ++ * This means that if SYSTIML overflows after we read it but before ++ * we read SYSTIMH, the value of SYSTIMH has been incremented and we ++ * will experience a huge non linear increment in the systime value ++ * to fix that we test for overflow and if true, we re-read systime. +*/ +- u32 systim_overflow_latch_fix = 0x3FFF; +- +- do { +- systim = (cycle_t)er32(SYSTIML); +- } while (systim > systim_overflow_latch_fix); +- systim |= (cycle_t)er32(SYSTIMH) << 32; ++ systimel_1 = er32(SYSTIML); ++ systimeh = er32(SYSTIMH); ++ systimel_2 = er32(SYSTIML); ++ /* Check for overflow. If there was no overflow, use the values */ ++ if (systimel_1 < systimel_2) { ++ systim = (cycle_t)systimel_1; ++ systim |= (cycle_t)systimeh << 32; ++ } else { ++ /* There was an overflow, read again SYSTIMH, and use ++ * systimel_2 ++ */ ++ systimeh = er32(SYSTIMH); ++ systim = (cycle_t)systimel_2; ++ systim |= (cycle_t)systimeh << 32; ++ } + + if ((hw->mac.type == e1000_82574) || (hw->mac.type == e1000_82583)) { + u64 incvalue, time_delta, rem, temp; +-- +2.5.1 + Added: 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch === --- 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch (rev 0) +++ 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch 2015-09-04 20:43:15 UTC (rev 245327) @@ -0,0 +1,103 @@ +From 9cf94eab8b309e8bcc78b41dd1561c75b537dd0b Mon Sep 17 00:00:00 2001 +From: Daniel Borkmann +Date: Mon, 31 Aug 2015 19:11:02 +0200 +Subject: [PATCH] netfilter: conntrack: use nf_ct_tmpl_free in CT/synproxy + error paths + +Commit 0838aa7fcfcd ("netfilter: fix netns dependencies with conntrack +templates") migrated templates to the new allocator api, but forgot to +update error paths for them in CT and synproxy to use nf_ct_tmpl_free() +instead of nf_conntrack_free(). + +Due to that, memory is being freed into the wrong
[arch-commits] Commit in linux/trunk (3 files)
Date: Wednesday, July 15, 2015 @ 22:40:56 Author: foutrelis Revision: 242254 upgpkg: linux 4.1.2-2 - Fix bluetooth chip initialization on some macbooks (FS#45554). - Fix kernel oops when booting with root on RAID1 LVM (FS#45548). Added: linux/trunk/0001-Bluetooth-btbcm-allow-btbcm_read_verbose_config-to-f.patch linux/trunk/bitmap-enable-booting-for-dm-md-raid1.patch Modified: linux/trunk/PKGBUILD -+ 0001-Bluetooth-btbcm-allow-btbcm_read_verbose_config-to-f.patch | 48 + PKGBUILD| 15 + bitmap-enable-booting-for-dm-md-raid1.patch | 83 ++ 3 files changed, 145 insertions(+), 1 deletion(-) Added: 0001-Bluetooth-btbcm-allow-btbcm_read_verbose_config-to-f.patch === --- 0001-Bluetooth-btbcm-allow-btbcm_read_verbose_config-to-f.patch (rev 0) +++ 0001-Bluetooth-btbcm-allow-btbcm_read_verbose_config-to-f.patch 2015-07-15 20:40:56 UTC (rev 242254) @@ -0,0 +1,48 @@ +From 7bee8b08c428b63aa4a3765bb907602e36355378 Mon Sep 17 00:00:00 2001 +From: Chris Mason c...@fb.com +Date: Tue, 14 Jul 2015 16:25:30 -0400 +Subject: [PATCH] Bluetooth: btbcm: allow btbcm_read_verbose_config to fail on + Apple + +Commit 1c8ba6d013 moved around the setup code for broadcomm chips, +and also added btbcm_read_verbose_config() to read extra information +about the hardware. It's returning errors on some macbooks: + +Bluetooth: hci0: BCM: Read verbose config info failed (-16) + +Which makes us error out of the setup function. Since this +probe isn't critical to operate the chip, this patch just changes +things to carry on when it fails. + +Signed-off-by: Chris Mason c...@fb.com +Signed-off-by: Marcel Holtmann mar...@holtmann.org +Cc: sta...@vger.kernel.org # v4.1 +--- + drivers/bluetooth/btbcm.c | 11 +-- + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c +index 1e1a432..9ceb8ac 100644 +--- a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c +@@ -472,12 +472,11 @@ int btbcm_setup_apple(struct hci_dev *hdev) + + /* Read Verbose Config Version Info */ + skb = btbcm_read_verbose_config(hdev); +- if (IS_ERR(skb)) +- return PTR_ERR(skb); +- +- BT_INFO(%s: BCM: chip id %u build %4.4u, hdev-name, skb-data[1], +- get_unaligned_le16(skb-data + 5)); +- kfree_skb(skb); ++ if (!IS_ERR(skb)) { ++ BT_INFO(%s: BCM: chip id %u build %4.4u, hdev-name, skb-data[1], ++ get_unaligned_le16(skb-data + 5)); ++ kfree_skb(skb); ++ } + + set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, hdev-quirks); + +-- +2.4.5 + Modified: PKGBUILD === --- PKGBUILD2015-07-15 16:45:10 UTC (rev 242253) +++ PKGBUILD2015-07-15 20:40:56 UTC (rev 242254) @@ -6,7 +6,7 @@ #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-4.1 pkgver=4.1.2 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url=http://www.kernel.org/; license=('GPL2') @@ -22,6 +22,8 @@ 'linux.preset' '0001-block-loop-convert-to-per-device-workqueue.patch' '0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch' +'0001-Bluetooth-btbcm-allow-btbcm_read_verbose_config-to-f.patch' +'bitmap-enable-booting-for-dm-md-raid1.patch' 'change-default-console-loglevel.patch') sha256sums=('caf51f085aac1e1cea4d00dbbf3093ead07b551fc07b31b2a989c05f8ea72d9f' 'SKIP' @@ -32,6 +34,8 @@ 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' '9e1d3fd95d768a46353593f6678513839cedb98ee66e83d9323233104ec3b23f' 'bbe3631c737ed8329a1b7a9610cc0a07330c14194da5e9afec7705e7f37eeb81' +'08f69d122021e1d13c31e5987c23021916a819846c47247b3f1cee2ef99d7f82' +'959c4d71b5dc50434eeecf3a8608758f57f111c6e999289c435b13fc8c6be5f0' '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds @@ -54,6 +58,15 @@ patch -Np1 -i ../0001-block-loop-convert-to-per-device-workqueue.patch patch -Np1 -i ../0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch + # Fix bluetooth chip initialization on some macbooks (FS#45554) + # http://marc.info/?l=linux-bluetoothm=143690738728402w=2 + # https://bugzilla.kernel.org/show_bug.cgi?id=100651 + patch -Np1 -i ../0001-Bluetooth-btbcm-allow-btbcm_read_verbose_config-to-f.patch + + # Fix kernel oops when booting with root on RAID1 LVM (FS#45548) + # https://bugzilla.kernel.org/show_bug.cgi?id=100491#c24 + patch -Np1 -i ../bitmap-enable-booting-for-dm-md-raid1.patch + # set DEFAULT_CONSOLE_LOGLEVEL to
[arch-commits] Commit in linux/trunk (3 files)
Date: Tuesday, June 30, 2015 @ 10:11:00 Author: foutrelis Revision: 241420 upgpkg: linux 4.0.7-2 Fix deadlock with stacked loop devices (FS#45129). Added: linux/trunk/0001-block-loop-convert-to-per-device-workqueue.patch linux/trunk/0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch Modified: linux/trunk/PKGBUILD --+ 0001-block-loop-convert-to-per-device-workqueue.patch| 133 ++ 0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch | 52 +++ PKGBUILD | 11 3 files changed, 195 insertions(+), 1 deletion(-) Added: 0001-block-loop-convert-to-per-device-workqueue.patch === --- 0001-block-loop-convert-to-per-device-workqueue.patch (rev 0) +++ 0001-block-loop-convert-to-per-device-workqueue.patch 2015-06-30 08:11:00 UTC (rev 241420) @@ -0,0 +1,133 @@ +From ebcacf05168d9791d39c5434164c64b9ef937171 Mon Sep 17 00:00:00 2001 +From: Ming Lei ming@canonical.com +Date: Tue, 5 May 2015 19:49:54 +0800 +Subject: [PATCH 1/2] block: loop: convert to per-device workqueue + +Documentation/workqueue.txt: + If there is dependency among multiple work items used + during memory reclaim, they should be queued to separate + wq each with WQ_MEM_RECLAIM. + +Loop devices can be stacked, so we have to convert to per-device +workqueue. One example is Fedora live CD. + +Fixes: b5dd2f6047ca108001328aac0e8588edd15f1778 +Cc: sta...@vger.kernel.org (v4.0) +Cc: Justin M. Forbes jfor...@fedoraproject.org +Signed-off-by: Ming Lei ming@canonical.com +Acked-by: Tejun Heo t...@kernel.org +Signed-off-by: Jens Axboe ax...@fb.com +--- + drivers/block/loop.c | 30 ++ + drivers/block/loop.h | 1 + + 2 files changed, 15 insertions(+), 16 deletions(-) + +diff --git a/drivers/block/loop.c b/drivers/block/loop.c +index d1f168b..fec06d5 100644 +--- a/drivers/block/loop.c b/drivers/block/loop.c +@@ -85,8 +85,6 @@ static DEFINE_MUTEX(loop_index_mutex); + static int max_part; + static int part_shift; + +-static struct workqueue_struct *loop_wq; +- + /* + * Transfer functions + */ +@@ -777,6 +775,12 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, + size = get_loop_size(lo, file); + if ((loff_t)(sector_t)size != size) + goto out_putf; ++ error = -ENOMEM; ++ lo-wq = alloc_workqueue(kloopd%d, ++ WQ_MEM_RECLAIM | WQ_HIGHPRI | WQ_UNBOUND, 0, ++ lo-lo_number); ++ if (!lo-wq) ++ goto out_putf; + + error = 0; + +@@ -924,6 +928,8 @@ static int loop_clr_fd(struct loop_device *lo) + lo-lo_flags = 0; + if (!part_shift) + lo-lo_disk-flags |= GENHD_FL_NO_PART_SCAN; ++ destroy_workqueue(lo-wq); ++ lo-wq = NULL; + mutex_unlock(lo-lo_ctl_mutex); + /* +* Need not hold lo_ctl_mutex to fput backing file. +@@ -1477,9 +1483,13 @@ static int loop_queue_rq(struct blk_mq_hw_ctx *hctx, + const struct blk_mq_queue_data *bd) + { + struct loop_cmd *cmd = blk_mq_rq_to_pdu(bd-rq); ++ struct loop_device *lo = cmd-rq-q-queuedata; + + blk_mq_start_request(bd-rq); + ++ if (lo-lo_state != Lo_bound) ++ return -EIO; ++ + if (cmd-rq-cmd_flags REQ_WRITE) { + struct loop_device *lo = cmd-rq-q-queuedata; + bool need_sched = true; +@@ -1493,9 +1503,9 @@ static int loop_queue_rq(struct blk_mq_hw_ctx *hctx, + spin_unlock_irq(lo-lo_lock); + + if (need_sched) +- queue_work(loop_wq, lo-write_work); ++ queue_work(lo-wq, lo-write_work); + } else { +- queue_work(loop_wq, cmd-read_work); ++ queue_work(lo-wq, cmd-read_work); + } + + return BLK_MQ_RQ_QUEUE_OK; +@@ -1507,9 +1517,6 @@ static void loop_handle_cmd(struct loop_cmd *cmd) + struct loop_device *lo = cmd-rq-q-queuedata; + int ret = -EIO; + +- if (lo-lo_state != Lo_bound) +- goto failed; +- + if (write (lo-lo_flags LO_FLAGS_READ_ONLY)) + goto failed; + +@@ -1858,13 +1865,6 @@ static int __init loop_init(void) + goto misc_out; + } + +- loop_wq = alloc_workqueue(kloopd, +- WQ_MEM_RECLAIM | WQ_HIGHPRI | WQ_UNBOUND, 0); +- if (!loop_wq) { +- err = -ENOMEM; +- goto misc_out; +- } +- + blk_register_region(MKDEV(LOOP_MAJOR, 0), range, + THIS_MODULE, loop_probe, NULL, NULL); + +@@ -1902,8 +1902,6 @@ static void __exit loop_exit(void) + blk_unregister_region(MKDEV(LOOP_MAJOR, 0), range); + unregister_blkdev(LOOP_MAJOR, loop); + +- destroy_workqueue(loop_wq); +- +
[arch-commits] Commit in linux/trunk (3 files)
Date: Friday, November 14, 2014 @ 23:26:26 Author: thomas Revision: 226265 upgpkg: linux 3.17.3-1 Added: linux/trunk/fix_CPU0_microcode_on_resume.patch Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/compal-laptop-hwmon-fix.patch + PKGBUILD | 12 +--- compal-laptop-hwmon-fix.patch | 14 -- fix_CPU0_microcode_on_resume.patch | 21 + 3 files changed, 30 insertions(+), 17 deletions(-) Modified: PKGBUILD === --- PKGBUILD2014-11-14 21:39:53 UTC (rev 226264) +++ PKGBUILD2014-11-14 22:26:26 UTC (rev 226265) @@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-3.17 -pkgver=3.17.2 +pkgver=3.17.3 pkgrel=1 arch=('i686' 'x86_64') url=http://www.kernel.org/; @@ -19,13 +19,15 @@ # standard config files for mkinitcpio ramdisk 'linux.preset' 'change-default-console-loglevel.patch' +'fix_CPU0_microcode_on_resume.patch' ) sha256sums=('f5153ec93c5fcd41b247950e6a9bcbc63fa87beafd112c133a622439a0f76251' -'4576c30a46c016502cdd007d28dde4f2d141c0f8096be8623a9ff519323db777' +'3c1ba3cc89d0f2d5f7303f448495f64db1ab96efea5f5fdd4b4c8c547600f85d' '0f1cd431115a2ce84629298d054d5e6f6e78095a3aeda4d1335740c9402efb7e' 'fb688bc7ccfa636990b26aecfe62500bc1e0f6c410a837eef03014c161df2ec8' 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' -'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99') +'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' +'43668fe46147fe93f41b919db673574427ce5a8c376cd28cbf3a00326491') _kernelname=${pkgbase#linux} @@ -43,6 +45,10 @@ # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) patch -p1 -i ${srcdir}/change-default-console-loglevel.patch + # Fix FS#42689 + # https://bugzilla.kernel.org/show_bug.cgi?id=88001 + patch -p1 -i ${srcdir}/fix_CPU0_microcode_on_resume.patch + if [ ${CARCH} = x86_64 ]; then cat ${srcdir}/config.x86_64 ./.config else Deleted: compal-laptop-hwmon-fix.patch === --- compal-laptop-hwmon-fix.patch 2014-11-14 21:39:53 UTC (rev 226264) +++ compal-laptop-hwmon-fix.patch 2014-11-14 22:26:26 UTC (rev 226265) @@ -1,14 +0,0 @@ -diff --git a/drivers/platform/x86/compal-laptop.c b/drivers/platform/x86/compal-laptop.c -index 7297df2..26bfd7b 100644 a/drivers/platform/x86/compal-laptop.c -+++ b/drivers/platform/x86/compal-laptop.c -@@ -1028,7 +1028,7 @@ static int compal_probe(struct platform_device *pdev) - return err; - - hwmon_dev = hwmon_device_register_with_groups(pdev-dev, --DRIVER_NAME, data, -+compal, data, - compal_hwmon_groups); - if (IS_ERR(hwmon_dev)) { - err = PTR_ERR(hwmon_dev); - Added: fix_CPU0_microcode_on_resume.patch === --- fix_CPU0_microcode_on_resume.patch (rev 0) +++ fix_CPU0_microcode_on_resume.patch 2014-11-14 22:26:26 UTC (rev 226265) @@ -0,0 +1,21 @@ +diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c +index dd9d6190b08d..181e42bd85d3 100644 +--- a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c +@@ -85,6 +85,7 @@ + #include linux/syscore_ops.h + + #include asm/microcode.h ++#include asm/microcode_intel.h + #include asm/processor.h + #include asm/cpu_device_id.h + #include asm/perf_event.h +@@ -465,6 +466,8 @@ static void mc_bp_resume(void) + + if (uci-valid uci-mc) + microcode_ops-apply_microcode(cpu); ++ else if (!uci-mc) ++ load_ucode_intel_ap(); + } + + static struct syscore_ops mc_syscore_ops = {
[arch-commits] Commit in linux/trunk (3 files)
Date: Friday, July 11, 2014 @ 08:19:46 Author: tpowa Revision: 216782 upgpkg: linux 3.15.5-2 add patch for #33745 efistub breakage Added: linux/trunk/0013-efistub-fix.patch Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/0012-fix-saa7134.patch + 0012-fix-saa7134.patch | 37 - 0013-efistub-fix.patch | 177 +++ PKGBUILD | 10 ++ 3 files changed, 185 insertions(+), 39 deletions(-) Deleted: 0012-fix-saa7134.patch === --- 0012-fix-saa7134.patch 2014-07-11 05:01:13 UTC (rev 216781) +++ 0012-fix-saa7134.patch 2014-07-11 06:19:46 UTC (rev 216782) @@ -1,37 +0,0 @@ a/drivers/media/pci/saa7134/saa7134-video.c -+++ a/drivers/media/pci/saa7134/saa7134-video.c -@@ -1243,6 +1243,7 @@ static int video_release(struct file *file) - videobuf_streamoff(dev-cap); - res_free(dev, fh, RESOURCE_VIDEO); - videobuf_mmap_free(dev-cap); -+ INIT_LIST_HEAD(dev-cap.stream); - } - if (dev-cap.read_buf) { - buffer_release(dev-cap, dev-cap.read_buf); -@@ -1254,6 +1255,7 @@ static int video_release(struct file *file) - videobuf_stop(dev-vbi); - res_free(dev, fh, RESOURCE_VBI); - videobuf_mmap_free(dev-vbi); -+ INIT_LIST_HEAD(dev-vbi.stream); - } - - /* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/ -@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv, - enum v4l2_buf_type type) - { - struct saa7134_dev *dev = video_drvdata(file); -- int err; - int res = saa7134_resource(file); - - if (res != RESOURCE_EMPRESS) - pm_qos_remove_request(dev-qos_request); - -- err = videobuf_streamoff(saa7134_queue(file)); -- if (err 0) -- return err; -- res_free(dev, priv, res); -- return 0; -+ return videobuf_streamoff(saa7134_queue(file)); - } - EXPORT_SYMBOL_GPL(saa7134_streamoff); - Added: 0013-efistub-fix.patch === --- 0013-efistub-fix.patch (rev 0) +++ 0013-efistub-fix.patch 2014-07-11 06:19:46 UTC (rev 216782) @@ -0,0 +1,177 @@ +From c7fb93ec51d462ec3540a729ba446663c26a0505 Mon Sep 17 00:00:00 2001 +From: Michael Brown mbr...@fensystems.co.uk +Date: Thu, 10 Jul 2014 12:26:20 +0100 +Subject: x86/efi: Include a .bss section within the PE/COFF headers +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The PE/COFF headers currently describe only the initialised-data +portions of the image, and result in no space being allocated for the +uninitialised-data portions. Consequently, the EFI boot stub will end +up overwriting unexpected areas of memory, with unpredictable results. + +Fix by including a .bss section in the PE/COFF headers (functionally +equivalent to the init_size field in the bzImage header). + +Signed-off-by: Michael Brown mbr...@fensystems.co.uk +Cc: Thomas Bächler tho...@archlinux.org +Cc: Josh Boyer jwbo...@fedoraproject.org +Cc: sta...@vger.kernel.org +Signed-off-by: Matt Fleming matt.flem...@intel.com + +diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S +index 84c2234..7a6d43a 100644 +--- a/arch/x86/boot/header.S b/arch/x86/boot/header.S +@@ -91,10 +91,9 @@ bs_die: + + .section .bsdata, a + bugger_off_msg: +- .ascii Direct floppy boot is not supported. +- .ascii Use a boot loader program instead.\r\n ++ .ascii Use a boot loader.\r\n + .ascii \n +- .ascii Remove disk and press any key to reboot ...\r\n ++ .ascii Remove disk and press any key to reboot...\r\n + .byte 0 + + #ifdef CONFIG_EFI_STUB +@@ -108,7 +107,7 @@ coff_header: + #else + .word 0x8664 # x86-64 + #endif +- .word 3 # nr_sections ++ .word 4 # nr_sections + .long 0 # TimeDateStamp + .long 0 # PointerToSymbolTable + .long 1 # NumberOfSymbols +@@ -250,6 +249,25 @@ section_table: + .word 0 # NumberOfLineNumbers + .long 0x60500020 # Characteristics (section flags) + ++ # ++ # The offset size fields are filled in by build.c. ++ # ++ .ascii .bss ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .long 0 ++ .long 0x0 ++ .long 0 # Size of initialized data ++ # on disk ++ .long 0x0 ++ .long 0 #
[arch-commits] Commit in linux/trunk (3 files)
Date: Sunday, June 1, 2014 @ 07:52:43 Author: tpowa Revision: 213942 upgpkg: linux 3.14.5-1 bump to latest version Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/0004-fs-Don-t-return-0-from-get_anon_bdev.patch linux/trunk/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch ---+ 0004-fs-Don-t-return-0-from-get_anon_bdev.patch | 44 -- 0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch | 13 -- PKGBUILD | 17 --- 3 files changed, 2 insertions(+), 72 deletions(-) Deleted: 0004-fs-Don-t-return-0-from-get_anon_bdev.patch === --- 0004-fs-Don-t-return-0-from-get_anon_bdev.patch 2014-06-01 04:23:08 UTC (rev 213941) +++ 0004-fs-Don-t-return-0-from-get_anon_bdev.patch 2014-06-01 05:52:43 UTC (rev 213942) @@ -1,44 +0,0 @@ -From 835a463e190af87a36df681863db7c3ea7ba0d66 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20B=C3=A4chler?= tho...@archlinux.org -Date: Thu, 3 Apr 2014 21:55:37 +0200 -Subject: [PATCH 04/10] fs: Don't return 0 from get_anon_bdev -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 9e30cc9595303b27b48 removed an internal mount. This -has the side-effect that rootfs now has FSID 0. Many -userspace utilities assume that st_dev in struct stat -is never 0, so this change breaks a number of tools in -early userspace. - -Since we don't know how many userspace programs are affected, -make sure that FSID is at least 1. - -References: http://article.gmane.org/gmane.linux.kernel/1666905 -References: http://permalink.gmane.org/gmane.linux.utilities.util-linux-ng/8557 -Cc: 3.14 sta...@vger.kernel.org -Signed-off-by: Thomas Bächler tho...@archlinux.org - fs/super.c | 5 - - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/fs/super.c b/fs/super.c -index 80d5cf2..7624267 100644 a/fs/super.c -+++ b/fs/super.c -@@ -802,7 +802,10 @@ void emergency_remount(void) - - static DEFINE_IDA(unnamed_dev_ida); - static DEFINE_SPINLOCK(unnamed_dev_lock);/* protects the above */ --static int unnamed_dev_start = 0; /* don't bother trying below it */ -+/* Many userspace utilities consider an FSID of 0 invalid. -+ * Always return at least 1 from get_anon_bdev. -+ */ -+static int unnamed_dev_start = 1; - - int get_anon_bdev(dev_t *p) - { --- -1.9.2 - Deleted: 0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch === --- 0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch 2014-06-01 04:23:08 UTC (rev 213941) +++ 0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch 2014-06-01 05:52:43 UTC (rev 213942) @@ -1,13 +0,0 @@ -diff --git a/net/core/dev.c b/net/core/dev.c -index 45fa2f1..6088927 100644 a/net/core/dev.c -+++ b/net/core/dev.c -@@ -2289,7 +2289,7 @@ EXPORT_SYMBOL(skb_checksum_help); - __be16 skb_network_protocol(struct sk_buff *skb, int *depth) - { - __be16 type = skb-protocol; -- int vlan_depth = ETH_HLEN; -+ int vlan_depth = skb-mac_len; - - /* Tunnel gso handlers can set protocol to ethernet. */ - if (type == htons(ETH_P_TEB)) { Modified: PKGBUILD === --- PKGBUILD2014-06-01 04:23:08 UTC (rev 213941) +++ PKGBUILD2014-06-01 05:52:43 UTC (rev 213942) @@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-3.14 -pkgver=3.14.4 +pkgver=3.14.5 pkgrel=1 arch=('i686' 'x86_64') url=http://www.kernel.org/; @@ -22,17 +22,15 @@ '0001-Bluetooth-allocate-static-minor-for-vhci.patch' '0002-module-allow-multiple-calls-to-MODULE_DEVICE_TABLE-p.patch' '0003-module-remove-MODULE_GENERIC_TABLE.patch' -'0004-fs-Don-t-return-0-from-get_anon_bdev.patch' '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch' '0006-genksyms-fix-typeof-handling.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' '0011-kernfs-fix-removed-error-check.patch' '0012-fix-saa7134.patch' -'0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' '0015-fix-xsdt-validation.patch' ) sha256sums=('61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa' -'af640ea64e923d525a8238832e8452381e6dc76a3bf28046411cadd67c408114' +'ecc00856830c05736b3f99609bc6d80353c29d2db9b0dffb91eb2d169808cac4' 'c01d212694eddcf694c55e0943bf3336b6e1ff41b90ac1cdc88b26789785ed45' '9a33feb450005a43bf9aa8fbb74b2e463c72ea17ad06bab3357f8a0a89088e85' 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' @@ -40,13
[arch-commits] Commit in linux/trunk (3 files)
Date: Tuesday, May 13, 2014 @ 17:06:31 Author: tpowa Revision: 212338 upgpkg: linux 3.14.4-1 bump to latest version Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/0014-fix-rtl8192se.patch linux/trunk/CVE-2014-0196.patch --+ 0014-fix-rtl8192se.patch | 15 CVE-2014-0196.patch | 80 - PKGBUILD | 18 +- 3 files changed, 3 insertions(+), 110 deletions(-) Deleted: 0014-fix-rtl8192se.patch === --- 0014-fix-rtl8192se.patch2014-05-13 14:02:03 UTC (rev 212337) +++ 0014-fix-rtl8192se.patch2014-05-13 15:06:31 UTC (rev 212338) @@ -1,15 +0,0 @@ linux-2.6/drivers/net/wireless/rtlwifi/rtl8192se/trx.c -+++ linux-2.6/drivers/net/wireless/rtlwifi/rtl8192se/trx.c -@@ -49,6 +49,12 @@ static u8 _rtl92se_map_hwqueue_to_fwqueu - if (ieee80211_is_nullfunc(fc)) - return QSLT_HIGH; - -+ /* Kernel commit 1bf4bbb4024dcdab changed EAPOL packets to use -+ * queue V0 at priority 7; however, the RTL8192SE appears to have -+ * that queue at priority 6 -+ */ -+ if (skb-priority == 7) -+ return QSLT_VO; - return skb-priority; - } - Deleted: CVE-2014-0196.patch === --- CVE-2014-0196.patch 2014-05-13 14:02:03 UTC (rev 212337) +++ CVE-2014-0196.patch 2014-05-13 15:06:31 UTC (rev 212338) @@ -1,80 +0,0 @@ -From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 -From: Peter Hurley pe...@hurleysoftware.com -Date: Sat, 3 May 2014 14:04:59 +0200 -Subject: n_tty: Fix n_tty_write crash when echoing in raw mode - -The tty atomic_write_lock does not provide an exclusion guarantee for -the tty driver if the termios settings are LECHO !OPOST. And since -it is unexpected and not allowed to call TTY buffer helpers like -tty_insert_flip_string concurrently, this may lead to crashes when -concurrect writers call pty_write. In that case the following two -writers: -* the ECHOing from a workqueue and -* pty_write from the process -race and can overflow the corresponding TTY buffer like follows. - -If we look into tty_insert_flip_string_fixed_flag, there is: - int space = __tty_buffer_request_room(port, goal, flags); - struct tty_buffer *tb = port-buf.tail; - ... - memcpy(char_buf_ptr(tb, tb-used), chars, space); - ... - tb-used += space; - -so the race of the two can result in something like this: - AB -__tty_buffer_request_room - __tty_buffer_request_room -memcpy(buf(tb-used), ...) -tb-used += space; - memcpy(buf(tb-used), ...) -BOOM - -B's memcpy is past the tty_buffer due to the previous A's tb-used -increment. - -Since the N_TTY line discipline input processing can output -concurrently with a tty write, obtain the N_TTY ldisc output_lock to -serialize echo output with normal tty writes. This ensures the tty -buffer helper tty_insert_flip_string is not called concurrently and -everything is fine. - -Note that this is nicely reproducible by an ordinary user using -forkpty and some setup around that (raw termios + ECHO). And it is -present in kernels at least after commit -d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to -use the normal buffering logic) in 2.6.31-rc3. - -js: add more info to the commit log -js: switch to bool -js: lock unconditionally -js: lock only the tty-ops-write call - -References: CVE-2014-0196 -Reported-and-tested-by: Jiri Slaby jsl...@suse.cz -Signed-off-by: Peter Hurley pe...@hurleysoftware.com -Signed-off-by: Jiri Slaby jsl...@suse.cz -Cc: Linus Torvalds torva...@linux-foundation.org -Cc: Alan Cox a...@lxorguk.ukuu.org.uk -Cc: sta...@vger.kernel.org -Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org - -diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c -index 41fe8a0..fe9d129 100644 a/drivers/tty/n_tty.c -+++ b/drivers/tty/n_tty.c -@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, - if (tty-ops-flush_chars) - tty-ops-flush_chars(tty); - } else { -+ struct n_tty_data *ldata = tty-disc_data; -+ - while (nr 0) { -+ mutex_lock(ldata-output_lock); - c = tty-ops-write(tty, b, nr); -+ mutex_unlock(ldata-output_lock); - if (c 0) { - retval = c; - goto break_out; --- -cgit v0.10.1-7-g08dc - Modified: PKGBUILD === --- PKGBUILD2014-05-13 14:02:03 UTC (rev 212337) +++ PKGBUILD2014-05-13 15:06:31 UTC (rev
[arch-commits] Commit in linux/trunk (3 files)
Date: Monday, March 24, 2014 @ 22:47:07 Author: thomas Revision: 208677 upgpkg: linux 3.13.7-1 Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch linux/trunk/0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch -+ 0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch | 74 -- 0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch | 59 --- PKGBUILD| 19 -- 3 files changed, 6 insertions(+), 146 deletions(-) Deleted: 0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch === --- 0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch 2014-03-24 21:43:55 UTC (rev 208676) +++ 0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch 2014-03-24 21:47:07 UTC (rev 208677) @@ -1,74 +0,0 @@ -From c736d0427022a2f8eb416d930450fe22663c123c Mon Sep 17 00:00:00 2001 -From: Mathias Nyman mathias.ny...@linux.intel.com -Date: Fri, 7 Mar 2014 17:06:57 +0200 -Subject: [PATCH 1/2] Revert xhci 1.0: Limit arbitrarily-aligned scatter - gather. - -This reverts commit 247bf557273dd775505fb9240d2d152f4f20d304. - -This commit, together with commit 3804fad45411b48233b48003e33a78f290d227c8 -USBNET: ax88179_178a: enable tso if usb host supports sg dma were -origially added to get xHCI 1.0 hosts and usb ethernet ax88179_178a devices -working together with scatter gather. xHCI 1.0 hosts pose some requirement on how transfer -buffers are aligned, setting this requirement for 1.0 hosts caused USB 3.0 mass -storage devices to fail more frequently. - -USB 3.0 mass storage devices used to work before 3.14-rc1. Theoretically, -the TD fragment rules could have caused an occasional disk glitch. -Now the devices *will* fail, instead of theoretically failing. -From a user perspective, this looks like a regression; the USB device obviously -fails on 3.14-rc1, and may sometimes silently fail on prior kernels. - -The proper soluition is to implement the TD fragment rules required, but for now -this patch needs to be reverted to get USB 3.0 mass storage devices working at the -level they used to. - -Signed-off-by: Mathias Nyman mathias.ny...@linux.intel.com -Cc: stable sta...@vger.kernel.org -Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org - drivers/usb/host/xhci.c | 14 +++--- - 1 file changed, 3 insertions(+), 11 deletions(-) - -diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c -index 56d488d..5a646a6 100644 a/drivers/usb/host/xhci.c -+++ b/drivers/usb/host/xhci.c -@@ -4719,6 +4719,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) - /* Accept arbitrarily long scatter-gather lists */ - hcd-self.sg_tablesize = ~0; - -+ /* support to build packet from discontinuous buffers */ -+ hcd-self.no_sg_constraint = 1; -+ - /* XHCI controllers don't stop the ep queue on short packets :| */ - hcd-self.no_stop_on_short = 1; - -@@ -4743,14 +4746,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) - /* xHCI private pointer was set in xhci_pci_probe for the second -* registered roothub. -*/ -- xhci = hcd_to_xhci(hcd); -- /* -- * Support arbitrarily aligned sg-list entries on hosts without -- * TD fragment rules (which are currently unsupported). -- */ -- if (xhci-hci_version 0x100) -- hcd-self.no_sg_constraint = 1; -- - return 0; - } - -@@ -4777,9 +4772,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) - if (xhci-hci_version 0x96) - xhci-quirks |= XHCI_SPURIOUS_SUCCESS; - -- if (xhci-hci_version 0x100) -- hcd-self.no_sg_constraint = 1; -- - /* Make sure the HC is halted. */ - retval = xhci_halt(xhci); - if (retval) --- -1.9.0 - Deleted: 0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch === --- 0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch 2014-03-24 21:43:55 UTC (rev 208676) +++ 0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch 2014-03-24 21:47:07 UTC (rev 208677) @@ -1,59 +0,0 @@ -From f6e78426d8e14db98f34e1db60846c883714e5cb Mon Sep 17 00:00:00 2001 -From: Mathias Nyman mathias.ny...@linux.intel.com -Date: Fri, 7 Mar 2014 17:06:58 +0200 -Subject: [PATCH 2/2] Revert USBNET: ax88179_178a: enable tso if usb host - supports sg dma - -This reverts commit 3804fad45411b48233b48003e33a78f290d227c8. - -This commit, together with commit 247bf557273dd775505fb9240d2d152f4f20d304 -xhci 1.0: Limit arbitrarily-aligned scatter gather.
[arch-commits] Commit in linux/trunk (3 files)
Date: Saturday, March 22, 2014 @ 01:42:19 Author: thomas Revision: 208327 upgpkg: linux 3.13.6-2: Fix xhci mass storage problems Added: linux/trunk/0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch linux/trunk/0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch Modified: linux/trunk/PKGBUILD -+ 0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch | 74 ++ 0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch | 59 +++ PKGBUILD| 12 + 3 files changed, 143 insertions(+), 2 deletions(-) Added: 0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch === --- 0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch (rev 0) +++ 0001-Revert-xhci-1.0-Limit-arbitrarily-aligned-scatter-ga.patch 2014-03-22 00:42:19 UTC (rev 208327) @@ -0,0 +1,74 @@ +From c736d0427022a2f8eb416d930450fe22663c123c Mon Sep 17 00:00:00 2001 +From: Mathias Nyman mathias.ny...@linux.intel.com +Date: Fri, 7 Mar 2014 17:06:57 +0200 +Subject: [PATCH 1/2] Revert xhci 1.0: Limit arbitrarily-aligned scatter + gather. + +This reverts commit 247bf557273dd775505fb9240d2d152f4f20d304. + +This commit, together with commit 3804fad45411b48233b48003e33a78f290d227c8 +USBNET: ax88179_178a: enable tso if usb host supports sg dma were +origially added to get xHCI 1.0 hosts and usb ethernet ax88179_178a devices +working together with scatter gather. xHCI 1.0 hosts pose some requirement on how transfer +buffers are aligned, setting this requirement for 1.0 hosts caused USB 3.0 mass +storage devices to fail more frequently. + +USB 3.0 mass storage devices used to work before 3.14-rc1. Theoretically, +the TD fragment rules could have caused an occasional disk glitch. +Now the devices *will* fail, instead of theoretically failing. +From a user perspective, this looks like a regression; the USB device obviously +fails on 3.14-rc1, and may sometimes silently fail on prior kernels. + +The proper soluition is to implement the TD fragment rules required, but for now +this patch needs to be reverted to get USB 3.0 mass storage devices working at the +level they used to. + +Signed-off-by: Mathias Nyman mathias.ny...@linux.intel.com +Cc: stable sta...@vger.kernel.org +Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org +--- + drivers/usb/host/xhci.c | 14 +++--- + 1 file changed, 3 insertions(+), 11 deletions(-) + +diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c +index 56d488d..5a646a6 100644 +--- a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c +@@ -4719,6 +4719,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) + /* Accept arbitrarily long scatter-gather lists */ + hcd-self.sg_tablesize = ~0; + ++ /* support to build packet from discontinuous buffers */ ++ hcd-self.no_sg_constraint = 1; ++ + /* XHCI controllers don't stop the ep queue on short packets :| */ + hcd-self.no_stop_on_short = 1; + +@@ -4743,14 +4746,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) + /* xHCI private pointer was set in xhci_pci_probe for the second +* registered roothub. +*/ +- xhci = hcd_to_xhci(hcd); +- /* +- * Support arbitrarily aligned sg-list entries on hosts without +- * TD fragment rules (which are currently unsupported). +- */ +- if (xhci-hci_version 0x100) +- hcd-self.no_sg_constraint = 1; +- + return 0; + } + +@@ -4777,9 +4772,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) + if (xhci-hci_version 0x96) + xhci-quirks |= XHCI_SPURIOUS_SUCCESS; + +- if (xhci-hci_version 0x100) +- hcd-self.no_sg_constraint = 1; +- + /* Make sure the HC is halted. */ + retval = xhci_halt(xhci); + if (retval) +-- +1.9.0 + Added: 0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch === --- 0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch (rev 0) +++ 0002-Revert-USBNET-ax88179_178a-enable-tso-if-usb-host-su.patch 2014-03-22 00:42:19 UTC (rev 208327) @@ -0,0 +1,59 @@ +From f6e78426d8e14db98f34e1db60846c883714e5cb Mon Sep 17 00:00:00 2001 +From: Mathias Nyman mathias.ny...@linux.intel.com +Date: Fri, 7 Mar 2014 17:06:58 +0200 +Subject: [PATCH 2/2] Revert USBNET: ax88179_178a: enable tso if usb host + supports sg dma + +This reverts commit 3804fad45411b48233b48003e33a78f290d227c8. + +This commit, together with commit 247bf557273dd775505fb9240d2d152f4f20d304 +xhci 1.0: Limit arbitrarily-aligned
[arch-commits] Commit in linux/trunk (3 files)
Date: Thursday, February 13, 2014 @ 20:58:32 Author: tpowa Revision: 205907 upgpkg: linux 3.13.2-3 add correct patch for asm issues Added: linux/trunk/0001-quirk-asm_volatile_goto.patch Modified: linux/trunk/PKGBUILD Deleted: linux/trunk/0001-revert-avmfritz-breaker.patch + 0001-quirk-asm_volatile_goto.patch | 51 0001-revert-avmfritz-breaker.patch | 417 --- PKGBUILD | 13 - 3 files changed, 57 insertions(+), 424 deletions(-) Added: 0001-quirk-asm_volatile_goto.patch === --- 0001-quirk-asm_volatile_goto.patch (rev 0) +++ 0001-quirk-asm_volatile_goto.patch 2014-02-13 19:58:32 UTC (rev 205907) @@ -0,0 +1,51 @@ +From a9f180345f5378ac87d80ed0bea55ba421d83859 Mon Sep 17 00:00:00 2001 +From: Steven Noonan ste...@uplinklabs.net +Date: Thu, 13 Feb 2014 07:01:07 + +Subject: compiler/gcc4: Make quirk for asm_volatile_goto() unconditional + +I started noticing problems with KVM guest destruction on Linux +3.12+, where guest memory wasn't being cleaned up. I bisected it +down to the commit introducing the new 'asm goto'-based atomics, +and found this quirk was later applied to those. + +Unfortunately, even with GCC 4.8.2 (which ostensibly fixed the +known 'asm goto' bug) I am still getting some kind of +miscompilation. If I enable the asm_volatile_goto quirk for my +compiler, KVM guests are destroyed correctly and the memory is +cleaned up. + +So make the quirk unconditional for now, until bug is found +and fixed. + +Suggested-by: Linus Torvalds torva...@linux-foundation.org +Signed-off-by: Steven Noonan ste...@uplinklabs.net +Cc: Peter Zijlstra pet...@infradead.org +Cc: Steven Rostedt rost...@goodmis.org +Cc: Jakub Jelinek ja...@redhat.com +Cc: Richard Henderson r...@twiddle.net +Cc: Andrew Morton a...@linux-foundation.org +Cc: Oleg Nesterov o...@redhat.com +Cc: sta...@vger.kernel.org +Link: http://lkml.kernel.org/r/1392274867-15236-1-git-send-email-ste...@uplinklabs.net +Link: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 +Signed-off-by: Ingo Molnar mi...@kernel.org +--- +diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h +index ded4299..2507fd2 100644 +--- a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h +@@ -75,11 +75,7 @@ + * + * (asm goto is automatically volatile - the naming reflects this.) + */ +-#if GCC_VERSION = 40801 +-# define asm_volatile_goto(x...) do { asm goto(x); asm (); } while (0) +-#else +-# define asm_volatile_goto(x...) do { asm goto(x); } while (0) +-#endif ++#define asm_volatile_goto(x...) do { asm goto(x); asm (); } while (0) + + #ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP + #if GCC_VERSION = 40400 +-- +cgit v0.9.2 Deleted: 0001-revert-avmfritz-breaker.patch === --- 0001-revert-avmfritz-breaker.patch 2014-02-13 18:15:29 UTC (rev 205906) +++ 0001-revert-avmfritz-breaker.patch 2014-02-13 19:58:32 UTC (rev 205907) @@ -1,417 +0,0 @@ -From e0f6dec35f9286e78879fe1ac92803fd69fc4fdc Mon Sep 17 00:00:00 2001 -From: H. Peter Anvin h...@linux.intel.com -Date: Wed, 04 Dec 2013 22:31:28 + -Subject: x86, bitops: Correct the assembly constraints to testing bitops - -In checkin: - -0c44c2d0f459 x86: Use asm goto to implement better modify_and_test() functions - -the various functions which do modify and test were unified and -optimized using asm goto. However, this change missed the detail -that the bitops require an Ir constraint rather than an er -constraint (I = integer constant from 0-31, e = signed 32-bit -integer constant). This would cause code to miscompile if these -functions were used on constant bit positions 32-255 and the build to -fail if used on constant bit positions above 255. - -Add the constraints as a parameter to the GEN_BINARY_RMWcc() macro to -avoid this problem. - -Reported-by: Jesse Brandeburg jesse.brandeb...@intel.com -Signed-off-by: H. Peter Anvin h...@linux.intel.com -Cc: Peter Zijlstra pet...@infradead.org -Link: http://lkml.kernel.org/r/529e8719.4070...@zytor.com -diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h -index da31c8b..b17f4f4 100644 a/arch/x86/include/asm/atomic.h -+++ b/arch/x86/include/asm/atomic.h -@@ -77,7 +77,7 @@ static inline void atomic_sub(int i, atomic_t *v) - */ - static inline int atomic_sub_and_test(int i, atomic_t *v) - { -- GEN_BINARY_RMWcc(LOCK_PREFIX subl, v-counter, i, %0, e); -+ GEN_BINARY_RMWcc(LOCK_PREFIX subl, v-counter, er, i, %0, e); - } - - /** -@@ -141,7 +141,7 @@ static inline int atomic_inc_and_test(atomic_t *v) - */ - static inline int atomic_add_negative(int i, atomic_t *v) - { -- GEN_BINARY_RMWcc(LOCK_PREFIX addl, v-counter, i, %0, s); -+ GEN_BINARY_RMWcc(LOCK_PREFIX addl, v-counter, er, i, %0, s); - } - - /** -diff --git
[arch-commits] Commit in linux/trunk (3 files)
Date: Tuesday, August 13, 2013 @ 11:26:23 Author: tpowa Revision: 192495 upgpkg: linux 3.10.6-2 fixed #35991, #36296 Added: linux/trunk/3.10.6-logitech-dj.patch linux/trunk/3.10.6-reset-superseed-xhci-hcd.patch Modified: linux/trunk/PKGBUILD ---+ 3.10.6-logitech-dj.patch | 172 3.10.6-reset-superseed-xhci-hcd.patch | 24 PKGBUILD | 18 ++- 3 files changed, 210 insertions(+), 4 deletions(-) Added: 3.10.6-logitech-dj.patch === --- 3.10.6-logitech-dj.patch(rev 0) +++ 3.10.6-logitech-dj.patch2013-08-13 09:26:23 UTC (rev 192495) @@ -0,0 +1,172 @@ +From c63e0e370028d7e4033bd40165f18499872b5183 Mon Sep 17 00:00:00 2001 +From: Nestor Lopez Casado nlopezca...@logitech.com +Date: Thu, 18 Jul 2013 13:21:30 + +Subject: HID: Revert Revert HID: Fix logitech-dj: missing Unifying device issue + +This reverts commit 8af6c08830b1ae114d1a8b548b1f8b056e068887. + +This patch re-adds the workaround introduced by 596264082f10dd4 +which was reverted by 8af6c08830b1ae114. + +The original patch 596264 was needed to overcome a situation where +the hid-core would drop incoming reports while probe() was being +executed. + +This issue was solved by c849a6143bec520af which added +hid_device_io_start() and hid_device_io_stop() that enable a specific +hid driver to opt-in for input reports while its probe() is being +executed. + +Commit a9dd22b730857347 modified hid-logitech-dj so as to use the +functionality added to hid-core. Having done that, workaround 596264 +was no longer necessary and was reverted by 8af6c08. + +We now encounter a different problem that ends up 'again' thwarting +the Unifying receiver enumeration. The problem is time and usb controller +dependent. Ocasionally the reports sent to the usb receiver to start +the paired devices enumeration fail with -EPIPE and the receiver never +gets to enumerate the paired devices. + +With dcd9006b1b053c7b1c the problem was hidden as the call to the usb +driver became asynchronous and none was catching the error from the +failing URB. + +As the root cause for this failing SET_REPORT is not understood yet, +-possibly a race on the usb controller drivers or a problem with the +Unifying receiver- reintroducing this workaround solves the problem. + +Overall what this workaround does is: If an input report from an +unknown device is received, then a (re)enumeration is performed. + +related bug: +https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1194649 + +Signed-off-by: Nestor Lopez Casado nlopezca...@logitech.com +Signed-off-by: Jiri Kosina jkos...@suse.cz +--- +diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c +index 5207591a..cd33084 100644 +--- a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c +@@ -192,6 +192,7 @@ static struct hid_ll_driver logi_dj_ll_driver; + static int logi_dj_output_hidraw_report(struct hid_device *hid, u8 * buf, + size_t count, + unsigned char report_type); ++static int logi_dj_recv_query_paired_devices(struct dj_receiver_dev *djrcv_dev); + + static void logi_dj_recv_destroy_djhid_device(struct dj_receiver_dev *djrcv_dev, + struct dj_report *dj_report) +@@ -232,6 +233,7 @@ static void logi_dj_recv_add_djhid_device(struct dj_receiver_dev *djrcv_dev, + if (dj_report-report_params[DEVICE_PAIRED_PARAM_SPFUNCTION] + SPFUNCTION_DEVICE_LIST_EMPTY) { + dbg_hid(%s: device list is empty\n, __func__); ++ djrcv_dev-querying_devices = false; + return; + } + +@@ -242,6 +244,12 @@ static void logi_dj_recv_add_djhid_device(struct dj_receiver_dev *djrcv_dev, + return; + } + ++ if (djrcv_dev-paired_dj_devices[dj_report-device_index]) { ++ /* The device is already known. No need to reallocate it. */ ++ dbg_hid(%s: device is already known\n, __func__); ++ return; ++ } ++ + dj_hiddev = hid_allocate_device(); + if (IS_ERR(dj_hiddev)) { + dev_err(djrcv_hdev-dev, %s: hid_allocate_device failed\n, +@@ -305,6 +313,7 @@ static void delayedwork_callback(struct work_struct *work) + struct dj_report dj_report; + unsigned long flags; + int count; ++ int retval; + + dbg_hid(%s\n, __func__); + +@@ -337,6 +346,25 @@ static void delayedwork_callback(struct work_struct *work) + logi_dj_recv_destroy_djhid_device(djrcv_dev, dj_report); + break; + default: ++ /* A normal report (i. e. not belonging to a pair/unpair notification) ++ * arriving here, means that the report arrived but we did not have a ++ * paired dj_device associated to the report's
[arch-commits] Commit in linux/trunk (3 files)
Date: Wednesday, April 24, 2013 @ 08:15:54 Author: tpowa Revision: 183592 upgpkg: linux 3.8.8-2 fix alsa firmware loading #34865 Added: linux/trunk/alsa-firmware-loading-3.8.8.patch Modified: linux/trunk/PKGBUILD linux/trunk/linux.install ---+ PKGBUILD | 11 +++- alsa-firmware-loading-3.8.8.patch | 89 linux.install |2 3 files changed, 98 insertions(+), 4 deletions(-) Modified: PKGBUILD === --- PKGBUILD2013-04-24 05:09:44 UTC (rev 183591) +++ PKGBUILD2013-04-24 06:15:54 UTC (rev 183592) @@ -6,7 +6,7 @@ #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-3.8 pkgver=3.8.8 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url=http://www.kernel.org/; license=('GPL2') @@ -18,13 +18,15 @@ 'config' 'config.x86_64' # standard config files for mkinitcpio ramdisk 'linux.preset' -'change-default-console-loglevel.patch') +'change-default-console-loglevel.patch' +'alsa-firmware-loading-3.8.8.patch') md5sums=('1c738edfc54e7c65faeb90c436104e2f' '08cdcef928c2ca402adf1c444a3c43ac' '838191b72463b4146bc981b602423311' '0bebd8b31487488bd75fe5a1892d0db8' 'eb14dcfd80c00852ef81ded6e826826a' - 'f3def2cefdcbb954c21d8505d23cc83c') + 'f3def2cefdcbb954c21d8505d23cc83c' + 'e2ac681ffa439e969b4c3b4616852454') _kernelname=${pkgbase#linux} @@ -37,6 +39,9 @@ # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git + # fix alsa firmware loading #34865 + patch -Np1 -i ${srcdir}/alsa-firmware-loading-3.8.8.patch + # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) Added: alsa-firmware-loading-3.8.8.patch === --- alsa-firmware-loading-3.8.8.patch (rev 0) +++ alsa-firmware-loading-3.8.8.patch 2013-04-24 06:15:54 UTC (rev 183592) @@ -0,0 +1,89 @@ +diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h +index f841ba4..dfb42ca 100644 +--- a/include/sound/emu10k1.h b/include/sound/emu10k1.h +@@ -1787,6 +1787,7 @@ struct snd_emu10k1 { + unsigned int next_free_voice; + + const struct firmware *firmware; ++ const struct firmware *dock_fw; + + #ifdef CONFIG_PM_SLEEP + unsigned int *saved_ptr; +diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c +index e6b0166..bdd888e 100644 +--- a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c +@@ -657,14 +657,14 @@ static int snd_emu10k1_cardbus_init(struct snd_emu10k1 *emu) + return 0; + } + +-static int snd_emu1010_load_firmware(struct snd_emu10k1 *emu) ++static int snd_emu1010_load_firmware(struct snd_emu10k1 *emu, ++ const struct firmware *fw_entry) + { + int n, i; + int reg; + int value; + unsigned int write_post; + unsigned long flags; +- const struct firmware *fw_entry = emu-firmware; + + if (!fw_entry) + return -EIO; +@@ -725,9 +725,34 @@ static int emu1010_firmware_thread(void *data) + /* Return to Audio Dock programming mode */ + snd_printk(KERN_INFO emu1010: Loading Audio Dock Firmware\n); + snd_emu1010_fpga_write(emu, EMU_HANA_FPGA_CONFIG, EMU_HANA_FPGA_CONFIG_AUDIODOCK); +- err = snd_emu1010_load_firmware(emu); +- if (err != 0) +- continue; ++ ++ if (!emu-dock_fw) { ++ const char *filename = NULL; ++ switch (emu-card_capabilities-emu_model) { ++ case EMU_MODEL_EMU1010: ++ filename = DOCK_FILENAME; ++ break; ++ case EMU_MODEL_EMU1010B: ++ filename = MICRO_DOCK_FILENAME; ++ break; ++ case EMU_MODEL_EMU1616: ++ filename = MICRO_DOCK_FILENAME; ++ break; ++ } ++ if (filename) { ++ err = request_firmware(emu-dock_fw, ++ filename, ++ emu-pci-dev); ++ if (err) ++
[arch-commits] Commit in linux/trunk (3 files)
Date: Saturday, January 12, 2013 @ 04:50:53 Author: tpowa Revision: 175047 upgpkg: linux 3.7.2-1 bump to latest version, #2 CONFIG_DYNAMIC_DEBUG, #33200 CONFIG_ARPD, #33160 fix GPU hang Added: linux/trunk/drm-fix-track-free-areas-3.7.patch Modified: linux/trunk/PKGBUILD linux/trunk/linux.install + PKGBUILD | 20 ++-- drm-fix-track-free-areas-3.7.patch | 153 +++ linux.install |2 3 files changed, 167 insertions(+), 8 deletions(-) Modified: PKGBUILD === --- PKGBUILD2013-01-12 09:28:50 UTC (rev 175046) +++ PKGBUILD2013-01-12 09:50:53 UTC (rev 175047) @@ -5,8 +5,8 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-3.7 -pkgver=3.7.1 -pkgrel=2 +pkgver=3.7.2 +pkgrel=1 arch=('i686' 'x86_64') url=http://www.kernel.org/; license=('GPL2') @@ -20,15 +20,17 @@ 'linux.preset' 'change-default-console-loglevel.patch' 'fat-3.6.x.patch' -'fix-watchdog-3.7.patch') +'fix-watchdog-3.7.patch' +'drm-fix-track-free-areas-3.7.patch') md5sums=('21223369d682bcf44bcdfe1521095983' - '48f5f530b048e387e978e3e49de7742a' - '2cf43e0448a8074eb2ff93035168250b' - '58a9ba178fedb244a0a86b760fb4bd81' + '132211742278e18b8f4808754d85e66c' + 'ce16969e83a649c3e7d71031b7f752c2' + '610443591e7d3f619b8250833958eb7e' 'eb14dcfd80c00852ef81ded6e826826a' '9d3c56a4b999c8bfbd4018089a62f662' '88d501404f172dac6fcb248978251560' - '3485d6c7ae3af35d16e09d6d9a7ed32a') + '3485d6c7ae3af35d16e09d6d9a7ed32a' + 'e365972f002482a7b25cd5360467d75f') _kernelname=${pkgbase#linux} @@ -53,6 +55,9 @@ # fix watchdog enable/disable regression # https://bugs.archlinux.org/task/33095 patch -Np1 -i ${srcdir}/fix-watchdog-3.7.patch + # fix GPU hang + # https://bugs.archlinux.org/task/33160 + patch -Np1 -i ${srcdir}/drm-fix-track-free-areas-3.7.patch if [ ${CARCH} = x86_64 ]; then cat ${srcdir}/config.x86_64 ./.config @@ -328,3 +333,4 @@ done # vim:set ts=8 sts=2 sw=2 et: + Added: drm-fix-track-free-areas-3.7.patch === --- drm-fix-track-free-areas-3.7.patch (rev 0) +++ drm-fix-track-free-areas-3.7.patch 2013-01-12 09:50:53 UTC (rev 175047) @@ -0,0 +1,153 @@ +From 9ff0ab9881bd47f7d8a95c07a2fa61f594a91d0a Mon Sep 17 00:00:00 2001 +From: Chris Wilson ch...@chris-wilson.co.uk +Date: Sun, 16 Dec 2012 16:15:00 + +Subject: [PATCH] drm: Only evict the blocks required to create the requested + hole + +Avoid clobbering adjacent blocks if they happen to expire earlier and +amalgamate together to form the requested hole. + +In passing this fixes a regression from +commit ea7b1dd44867e9cd6bac67e7c9fc3f128b5b255c +Author: Daniel Vetter daniel.vet...@ffwll.ch +Date: Fri Feb 18 17:59:12 2011 +0100 + +drm: mm: track free areas implicitly + +which swaps the end address for size (with a potential overflow) and +effectively causes the eviction code to clobber almost all earlier +buffers above the evictee. + +v2: Check the original hole not the adjusted as the coloring may confuse +us when later searching for the overlapping nodes. Also make sure that +we do apply the range restriction and color adjustment in the same +order for both scanning, searching and insertion. + +Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk +Cc: Daniel Vetter daniel.vet...@ffwll.ch +--- + drivers/gpu/drm/drm_mm.c | 45 + + include/drm/drm_mm.h |2 +- + 2 files changed, 18 insertions(+), 29 deletions(-) + +diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c +index 0761a03..665553c 100644 +--- a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c +@@ -213,11 +213,13 @@ static void drm_mm_insert_helper_range(struct drm_mm_node *hole_node, + + BUG_ON(!hole_node-hole_follows || node-allocated); + +- if (mm-color_adjust) +- mm-color_adjust(hole_node, color, adj_start, adj_end); +- + if (adj_start start) + adj_start = start; ++ if (adj_end end) ++ adj_end = end; ++ ++ if (mm-color_adjust) ++ mm-color_adjust(hole_node, color, adj_start, adj_end); + + if (alignment) { + unsigned tmp = adj_start % alignment; +@@ -489,7 +491,7 @@ void drm_mm_init_scan(struct drm_mm *mm, + mm-scan_size = size; + mm-scanned_blocks = 0; + mm-scan_hit_start = 0; +- mm-scan_hit_size = 0; ++ mm-scan_hit_end = 0; + mm-scan_check_range = 0; + mm-prev_scanned_node = NULL; + } +@@ -516,7 +518,7 @@ void drm_mm_init_scan_with_range(struct drm_mm *mm, +
[arch-commits] Commit in linux/trunk (3 files)
Date: Monday, November 19, 2012 @ 07:45:15 Author: tpowa Revision: 171591 upgpkg: linux 3.6.7-1 bump to latest version Added: linux/trunk/irq_cfg_pointer-3.6.6.patch Modified: linux/trunk/PKGBUILD linux/trunk/linux.install -+ PKGBUILD| 13 + irq_cfg_pointer-3.6.6.patch | 16 linux.install |2 +- 3 files changed, 26 insertions(+), 5 deletions(-) Modified: PKGBUILD === --- PKGBUILD2012-11-19 09:56:44 UTC (rev 171590) +++ PKGBUILD2012-11-19 12:45:15 UTC (rev 171591) @@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-3.6 -pkgver=3.6.6 +pkgver=3.6.7 pkgrel=1 arch=('i686' 'x86_64') url=http://www.kernel.org/; @@ -20,15 +20,17 @@ 'linux.preset' 'change-default-console-loglevel.patch' 'module-symbol-waiting-3.6.patch' -'module-init-wait-3.6.patch') +'module-init-wait-3.6.patch' +'irq_cfg_pointer-3.6.6.patch') md5sums=('1a1760420eac802c541a20ab51a093d1' - '11d6d8749d4612a77f43f0531c0f2824' + '134936c362d8812b5cafcf3c67afdce0' '65f7ff39775f20f65014383564d3cb65' '3adbfa45451c4bcf9dd7879bed033d77' 'eb14dcfd80c00852ef81ded6e826826a' '9d3c56a4b999c8bfbd4018089a62f662' '670931649c60fcb3ef2e0119ed532bd4' - '8a71abc4224f575008f974a099b5cf6f') + '8a71abc4224f575008f974a099b5cf6f' + '4909a0271af4e5f373136b382826717f') _kernelname=${pkgbase#linux} @@ -51,6 +53,9 @@ patch -Np1 -i ${srcdir}/module-symbol-waiting-3.6.patch patch -Np1 -i ${srcdir}/module-init-wait-3.6.patch + # fix FS#32615 - Check for valid irq_cfg pointer in smp_irq_move_cleanup_interrupt + patch -Np1 -i ${srcdir}/irq_cfg_pointer-3.6.6.patch + if [ ${CARCH} = x86_64 ]; then cat ${srcdir}/config.x86_64 ./.config else Added: irq_cfg_pointer-3.6.6.patch === --- irq_cfg_pointer-3.6.6.patch (rev 0) +++ irq_cfg_pointer-3.6.6.patch 2012-11-19 12:45:15 UTC (rev 171591) @@ -0,0 +1,16 @@ +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git;a=blobdiff_plain;f=arch%2Fx86%2Fkernel%2Fapic%2Fio_apic.c;h=1817fa911024f07151d3edf91bd350722c9f79f8;hp=c265593ec2cdc3df35fda1586aaf91514fab62fa;hb=94777fc51b3ad85ff9f705ddf7cdd0eb3bbad5a6;hpb=3e8fa263a97079c74880675c451587bb6899e661 + +diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c +index c265593..1817fa9 100644 +--- a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c +@@ -2257,6 +2257,9 @@ asmlinkage void smp_irq_move_cleanup_interrupt(void) + continue; + + cfg = irq_cfg(irq); ++ if (!cfg) ++ continue; ++ + raw_spin_lock(desc-lock); + + /* Modified: linux.install === --- linux.install 2012-11-19 09:56:44 UTC (rev 171590) +++ linux.install 2012-11-19 12:45:15 UTC (rev 171591) @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.6.6-1-ARCH +KERNEL_VERSION=3.6.7-1-ARCH # set a sane PATH to ensure that critical utils like depmod will be found export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
[arch-commits] Commit in linux/trunk (3 files)
Date: Thursday, October 11, 2012 @ 01:17:02 Author: tpowa Revision: 168405 remove not needed patches Deleted: linux/trunk/alsa-powersave-3.5.x.patch linux/trunk/i915-i2c-crash-3.5.x.patch linux/trunk/watchdog-3.5.x.patch + alsa-powersave-3.5.x.patch | 29 i915-i2c-crash-3.5.x.patch | 47 - watchdog-3.5.x.patch | 60 --- 3 files changed, 136 deletions(-) Deleted: alsa-powersave-3.5.x.patch === --- alsa-powersave-3.5.x.patch 2012-10-11 00:42:56 UTC (rev 168404) +++ alsa-powersave-3.5.x.patch 2012-10-11 05:17:02 UTC (rev 168405) @@ -1,29 +0,0 @@ -From: Takashi Iwai ti...@suse.de -Date: Mon, 20 Aug 2012 19:25:22 + (+0200) -Subject: ALSA: hda - Fix leftover codec-power_transition -X-Git-Tag: v3.6-rc3~14^2~1 -X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git;a=commitdiff_plain;h=535b6c51fe8293c88ce919cdfc4390c67a1cb6d1 - -ALSA: hda - Fix leftover codec-power_transition - -When the codec turn-on operation is canceled by the immediate -power-on, the driver left the power_transition flag as is. -This caused the persistent avoidance of power-save behavior. - -Cc: sta...@vger.kernel.org [v3.5+] -Signed-off-by: Takashi Iwai ti...@suse.de - -diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c -index c3077d5..f560051 100644 a/sound/pci/hda/hda_codec.c -+++ b/sound/pci/hda/hda_codec.c -@@ -4454,6 +4454,8 @@ static void __snd_hda_power_up(struct hda_codec *codec, bool wait_power_down) -* then there is no need to go through power up here. -*/ - if (codec-power_on) { -+ if (codec-power_transition 0) -+ codec-power_transition = 0; - spin_unlock(codec-power_lock); - return; - } Deleted: i915-i2c-crash-3.5.x.patch === --- i915-i2c-crash-3.5.x.patch 2012-10-11 00:42:56 UTC (rev 168404) +++ i915-i2c-crash-3.5.x.patch 2012-10-11 05:17:02 UTC (rev 168405) @@ -1,47 +0,0 @@ -From cee25168e9c4ef7f9417632af2dc78b8521dfda7 Mon Sep 17 00:00:00 2001 -From: Jani Nikula jani.nik...@intel.com -Date: Mon, 13 Aug 2012 17:33:02 +0300 -Subject: [PATCH] drm/i915: ensure i2c adapter is all set before adding it - -i2c_add_adapter() may do i2c transfers on the bus to detect supported -devices. Therefore the adapter needs to be all set before adding it. This -was not the case for the bit-banging fallback, resulting in an oops if the -device detection GMBUS transfers timed out. Fix the issue by calling -i2c_add_adapter() only after intel_gpio_setup(). - -LKML-Reference: 5021f00b.7000...@ionic.de -Tested-by: Mihai Moldovan io...@ionic.de -Signed-off-by: Jani Nikula jani.nik...@intel.com -Signed-off-by: Daniel Vetter daniel.vet...@ffwll.ch - drivers/gpu/drm/i915/intel_i2c.c |7 --- - 1 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c -index d79500b..b9755f6 100644 a/drivers/gpu/drm/i915/intel_i2c.c -+++ b/drivers/gpu/drm/i915/intel_i2c.c -@@ -486,9 +486,6 @@ int intel_setup_gmbus(struct drm_device *dev) - bus-dev_priv = dev_priv; - - bus-adapter.algo = gmbus_algorithm; -- ret = i2c_add_adapter(bus-adapter); -- if (ret) -- goto err; - - /* By default use a conservative clock rate */ - bus-reg0 = port | GMBUS_RATE_100KHZ; -@@ -498,6 +495,10 @@ int intel_setup_gmbus(struct drm_device *dev) - bus-force_bit = true; - - intel_gpio_setup(bus, port); -+ -+ ret = i2c_add_adapter(bus-adapter); -+ if (ret) -+ goto err; - } - - intel_i2c_reset(dev_priv-dev); --- -1.7.7.6 - Deleted: watchdog-3.5.x.patch === --- watchdog-3.5.x.patch2012-10-11 00:42:56 UTC (rev 168404) +++ watchdog-3.5.x.patch2012-10-11 05:17:02 UTC (rev 168405) @@ -1,60 +0,0 @@ -diff --git a/drivers/mfd/lpc_ich.c b/drivers/mfd/lpc_ich.c -index 027cc8f..a05fdfc 100644 a/drivers/mfd/lpc_ich.c -+++ b/drivers/mfd/lpc_ich.c -@@ -765,7 +765,6 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, - u32 base_addr_cfg; - u32 base_addr; - int ret; -- bool acpi_conflict = false; - struct resource *res; - - /* Setup power management base register */ -@@ -780,20 +779,11 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, - res = wdt_io_res(ICH_RES_IO_TCO); - res-start = base_addr + ACPIBASE_TCO_OFF; - res-end = base_addr + ACPIBASE_TCO_END; -- ret = acpi_check_resource_conflict(res); -- if (ret) { --
[arch-commits] Commit in linux/trunk (3 files)
Date: Wednesday, August 15, 2012 @ 14:27:18 Author: tpowa Revision: 165327 upgpkg: linux 3.5.2-1 bump to latest version Modified: linux/trunk/PKGBUILD linux/trunk/linux.install Deleted: linux/trunk/avmfritz-only-few-bytes-are-transfered-on-a-conn.patch + PKGBUILD | 15 +--- avmfritz-only-few-bytes-are-transfered-on-a-conn.patch | 48 --- linux.install |2 3 files changed, 5 insertions(+), 60 deletions(-) Modified: PKGBUILD === --- PKGBUILD2012-08-15 15:47:04 UTC (rev 165326) +++ PKGBUILD2012-08-15 18:27:18 UTC (rev 165327) @@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-3.5 -pkgver=3.5.1 +pkgver=3.5.2 pkgrel=1 arch=('i686' 'x86_64') url=http://www.kernel.org/; @@ -18,17 +18,15 @@ 'config' 'config.x86_64' # standard config files for mkinitcpio ramdisk 'linux.preset' -'change-default-console-loglevel.patch' -'avmfritz-only-few-bytes-are-transfered-on-a-conn.patch') +'change-default-console-loglevel.patch') _kernelname=${pkgbase#linux} md5sums=('24153eaaa81dedc9481ada8cd9c3b83d' - '35add5b2e64d1cbc8d123980c967e7ca' + '8e9f9cfd5fbd33ac4b265a4d47949edc' '31dade2f50803beaebf947732f39b51e' '34bf41248c2ab68ddb0a7b3b5f4a68ce' 'eb14dcfd80c00852ef81ded6e826826a' - '9d3c56a4b999c8bfbd4018089a62f662' - '2afcc001cc178be72e3a19d95f4bd5eb') + '9d3c56a4b999c8bfbd4018089a62f662') build() { cd ${srcdir}/${_srcname} @@ -44,11 +42,6 @@ # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) patch -Np1 -i ${srcdir}/change-default-console-loglevel.patch - # fix avmfritz capi20 functionallity - # will be added to 3.5.2 - # https://bugzilla.kernel.org/show_bug.cgi?id=45271 - patch -Np1 -i ${srcdir}/avmfritz-only-few-bytes-are-transfered-on-a-conn.patch - if [ ${CARCH} = x86_64 ]; then cat ${srcdir}/config.x86_64 ./.config else Deleted: avmfritz-only-few-bytes-are-transfered-on-a-conn.patch === --- avmfritz-only-few-bytes-are-transfered-on-a-conn.patch 2012-08-15 15:47:04 UTC (rev 165326) +++ avmfritz-only-few-bytes-are-transfered-on-a-conn.patch 2012-08-15 18:27:18 UTC (rev 165327) @@ -1,48 +0,0 @@ -From 285c08154eede7dc4387bfc925967c884594dcc9 Mon Sep 17 00:00:00 2001 -From: Karsten Keil k...@b1-systems.de -Date: Sat, 28 Jul 2012 20:10:04 +0200 -Subject: [PATCH] mISDN: Bugfix only few bytes are transfered on a connection - -The test for the fillempty condition was wrong in one place. -Changed the variable to the right boolean type. - -Signed-off-by: Karsten Keil k...@b1-systems.de - drivers/isdn/hardware/mISDN/avmfritz.c |7 --- - 1 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/drivers/isdn/hardware/mISDN/avmfritz.c b/drivers/isdn/hardware/mISDN/avmfritz.c -index c08fc60..fa6ca47 100644 a/drivers/isdn/hardware/mISDN/avmfritz.c -+++ b/drivers/isdn/hardware/mISDN/avmfritz.c -@@ -449,7 +449,8 @@ hdlc_fill_fifo(struct bchannel *bch) - { - struct fritzcard *fc = bch-hw; - struct hdlc_hw *hdlc; -- int count, fs, cnt = 0, idx, fillempty = 0; -+ int count, fs, cnt = 0, idx; -+ bool fillempty = false; - u8 *p; - u32 *ptr, val, addr; - -@@ -462,7 +463,7 @@ hdlc_fill_fifo(struct bchannel *bch) - return; - count = fs; - p = bch-fill; -- fillempty = 1; -+ fillempty = true; - } else { - count = bch-tx_skb-len - bch-tx_idx; - if (count = 0) -@@ -477,7 +478,7 @@ hdlc_fill_fifo(struct bchannel *bch) - hdlc-ctrl.sr.cmd |= HDLC_CMD_XME; - } - ptr = (u32 *)p; -- if (fillempty) { -+ if (!fillempty) { - pr_debug(%s.B%d: %d/%d/%d, fc-name, bch-nr, count, -bch-tx_idx, bch-tx_skb-len); - bch-tx_idx += count; --- -1.7.7 - Modified: linux.install === --- linux.install 2012-08-15 15:47:04 UTC (rev 165326) +++ linux.install 2012-08-15 18:27:18 UTC (rev 165327) @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.5.1-1-ARCH +KERNEL_VERSION=3.5.2-1-ARCH # set a sane PATH to ensure that critical utils like depmod will be found export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
[arch-commits] Commit in linux/trunk (3 files)
Date: Monday, November 7, 2011 @ 17:31:23 Author: thomas Revision: 142289 upgpkg: linux 3.1-4 Fix FS#26767 Added: linux/trunk/md-raid10-fix-bug-when-activating-a-hot-spare.patch Modified: linux/trunk/PKGBUILD linux/trunk/linux.install -+ PKGBUILD| 13 - linux.install |2 md-raid10-fix-bug-when-activating-a-hot-spare.patch | 40 ++ 3 files changed, 51 insertions(+), 4 deletions(-) Modified: PKGBUILD === --- PKGBUILD2011-11-07 21:16:38 UTC (rev 142288) +++ PKGBUILD2011-11-07 22:31:23 UTC (rev 142289) @@ -8,7 +8,7 @@ _kernelname=${pkgname#linux} _basekernel=3.1 pkgver=${_basekernel} -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') url=http://www.kernel.org/; license=('GPL2') @@ -25,7 +25,8 @@ 'i915-fix-incorrect-error-message.patch' 'iwlagn-fix-NULL-pointer-dereference.patch' 'dib0700-fix.patch' -'usb-add-reset-resume-quirk-for-several-webcams.patch') +'usb-add-reset-resume-quirk-for-several-webcams.patch' +'md-raid10-fix-bug-when-activating-a-hot-spare.patch') md5sums=('edbdc798f23ae0f8045c82f6fa22c536' 'b88bbe3ed780441dbe1e385f4beae1e4' '08774980ad31da185e7f7379596b9001' @@ -35,7 +36,8 @@ 'a50c9076012cb2dda49952dc6ec3e9c1' '61a6be40e8e1e9eae5f23f241e7a0779' '442334d777475e2a37db92d199672a28' - '52d41fa61e80277ace2b994412a0c856') + '52d41fa61e80277ace2b994412a0c856' + 'de12ec5c342f945a95b2f12c2b85e6bf') build() { cd ${srcdir}/linux-${_basekernel} @@ -75,6 +77,11 @@ # FS#26528 patch -Np1 -i ${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch + # Fix RAID10 hot spare activation (critical) + # https://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git;a=blob_plain;f=queue-3.1/md-raid10-fix-bug-when-activating-a-hot-spare.patch;h=880849db5b7089b523f72c4d67a473e5330037fc;hb=HEAD + # FS#26767 + patch -Np1 -i ${srcdir}/md-raid10-fix-bug-when-activating-a-hot-spare.patch + # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) Modified: linux.install === --- linux.install 2011-11-07 21:16:38 UTC (rev 142288) +++ linux.install 2011-11-07 22:31:23 UTC (rev 142289) @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.1.0-3-ARCH +KERNEL_VERSION=3.1.0-4-ARCH post_install () { # updating module dependencies Added: md-raid10-fix-bug-when-activating-a-hot-spare.patch === --- md-raid10-fix-bug-when-activating-a-hot-spare.patch (rev 0) +++ md-raid10-fix-bug-when-activating-a-hot-spare.patch 2011-11-07 22:31:23 UTC (rev 142289) @@ -0,0 +1,40 @@ +From 7fcc7c8acf0fba44d19a713207af7e58267c1179 Mon Sep 17 00:00:00 2001 +From: NeilBrown ne...@suse.de +Date: Mon, 31 Oct 2011 12:59:44 +1100 +Subject: md/raid10: Fix bug when activating a hot-spare. + +From: NeilBrown ne...@suse.de + +commit 7fcc7c8acf0fba44d19a713207af7e58267c1179 upstream. + +This is a fairly serious bug in RAID10. + +When a RAID10 array is degraded and a hot-spare is activated, the +spare does not take up the empty slot, but rather replaces the first +working device. +This is likely to make the array non-functional. It would normally +be possible to recover the data, but that would need care and is not +guaranteed. + +This bug was introduced in commit + 2bb77736ae5dca0a189829fbb7379d43364a9dac +which first appeared in 3.1. + +Signed-off-by: NeilBrown ne...@suse.de +Signed-off-by: Greg Kroah-Hartman gre...@suse.de + +--- + drivers/md/raid10.c |2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/md/raid10.c b/drivers/md/raid10.c +@@ -1337,7 +1337,7 @@ static int raid10_add_disk(mddev_t *mdde + mirror_info_t *p = conf-mirrors[mirror]; + if (p-recovery_disabled == mddev-recovery_disabled) + continue; +- if (!p-rdev) ++ if (p-rdev) + continue; + + disk_stack_limits(mddev-gendisk, rdev-bdev,