diff options
author | Figue | 2015-10-23 00:52:42 +0200 |
---|---|---|
committer | Figue | 2015-10-23 00:52:42 +0200 |
commit | f9c2a913655b65f04dda596133ef7df467cf1ec5 (patch) | |
tree | 33ee4a8592d475420f5d1ab81abaf27307f04dc5 | |
parent | c3b7e6043f43914e425272277c8b537d33f90e6b (diff) | |
download | aur-f9c2a913655b65f04dda596133ef7df467cf1ec5.tar.gz |
Update to v4.2.4
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch | 65 | ||||
-rw-r--r-- | 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch | 103 | ||||
-rw-r--r-- | PKGBUILD | 20 |
4 files changed, 10 insertions, 194 deletions
@@ -1,5 +1,5 @@ pkgbase = linux-bld - pkgver = 4.2.2 + pkgver = 4.2.4 pkgrel = 1 url = https://github.com/rmullick/linux arch = i686 @@ -11,8 +11,8 @@ pkgbase = linux-bld options = !strip source = http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.2.tar.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.2.tar.sign - source = http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.2.2.xz - source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.2.2.sign + source = http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.2.4.xz + source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.2.4.sign source = http://repo-ck.com/source/gcc_patch/enable_additional_cpu_optimizations_for_gcc_v4.9+_kernel_v3.15+.patch.gz source = config source = config.x86_64 @@ -22,11 +22,9 @@ pkgbase = linux-bld source = http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.2.0-v7r9/0002-block-introduce-the-BFQ-v7r9-I-O-sched-for-4.2.patch source = http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.2.0-v7r9/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r9-for-4.2.0.patch source = https://raw.githubusercontent.com/rmullick/bld-patches/master/BLD-4.2.patch - source = 0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch - source = 0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch sha256sums = cf20e044f17588d2a42c8f2a450b0fd84dfdbd579b489d93e9ab7d0e8b45dbeb sha256sums = SKIP - sha256sums = 8b4578f1e1dcfbef1e39c39b861d4715aa99917af0b7c2dc324622d65884dcb5 + sha256sums = 104ba869111c7ce037fc92646f9da7352412a73e84cde7467f29cd4b973d6e78 sha256sums = SKIP sha256sums = 819961379909c028e321f37e27a8b1b08f1f1e3dd58680e07b541921282da532 sha256sums = e6f6f804f98ad321ce3e4395924993b51decb89699fde369391ccbb4bae928b2 @@ -37,8 +35,6 @@ pkgbase = linux-bld sha256sums = 743ecc34ab048581e9998c53b1eb81c1c31d3ac9ee72d04e1e00b2bafeedbddc sha256sums = 8d9cc296721fc4d6273ee9c7609b7d815e4061c360231eb68d060b4b7e7b7f81 sha256sums = 40c76861b95b8fc69daf48d69dbd5abb8c0be23c9c2ac1e208c4303e6f03f016 - sha256sums = 0b1e41ba59ae45f5929963aa22fdc53bc8ffb4534e976cec046269d1a462197b - sha256sums = 6ed9e31ae5614c289c4884620e45698e764c03670ebc45bab9319d741238cbd3 pkgname = linux-bld pkgdesc = The Linux-bld kernel and modules with BLD patches @@ -48,14 +44,14 @@ pkgname = linux-bld depends = kmod depends = mkinitcpio>=0.7 optdepends = crda: to set the correct wireless channels of your country - provides = kernel26-bld=4.2.2 + provides = kernel26-bld=4.2.4 conflicts = kernel26-bld replaces = kernel26-bld backup = etc/mkinitcpio.d/linux-bld.preset pkgname = linux-bld-headers pkgdesc = Header files and scripts for building modules for Linux-bld kernel - provides = kernel26-bld-headers=4.2.2 + provides = kernel26-bld-headers=4.2.4 conflicts = kernel26-bld-headers replaces = kernel26-bld-headers diff --git a/0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch b/0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch deleted file mode 100644 index 0bea7fe08cd4..000000000000 --- a/0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 37b12910dd11d9ab969f2c310dc9160b7f3e3405 Mon Sep 17 00:00:00 2001 -From: Raanan Avargil <raanan.avargil@intel.com> -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 <raanan.avargil@intel.com> -Tested-by: Aaron Brown <aaron.f.brown@intel.com> -Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> ---- - 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 = &adapter->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 = 0x3FFFFFFF; -- -- 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 - diff --git a/0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch b/0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch deleted file mode 100644 index 0918357e1f8d..000000000000 --- a/0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 9cf94eab8b309e8bcc78b41dd1561c75b537dd0b Mon Sep 17 00:00:00 2001 -From: Daniel Borkmann <daniel@iogearbox.net> -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 kmemcache, but also -we drop the per net reference count of ct objects causing an imbalance. - -In Brad's case, this leads to a wrap-around of net->ct.count and thus -lets __nf_conntrack_alloc() refuse to create a new ct object: - - [ 10.340913] xt_addrtype: ipv6 does not support BROADCAST matching - [ 10.810168] nf_conntrack: table full, dropping packet - [ 11.917416] r8169 0000:07:00.0 eth0: link up - [ 11.917438] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready - [ 12.815902] nf_conntrack: table full, dropping packet - [ 15.688561] nf_conntrack: table full, dropping packet - [ 15.689365] nf_conntrack: table full, dropping packet - [ 15.690169] nf_conntrack: table full, dropping packet - [ 15.690967] nf_conntrack: table full, dropping packet - [...] - -With slab debugging, it also reports the wrong kmemcache (kmalloc-512 vs. -nf_conntrack_ffffffff81ce75c0) and reports poison overwrites, etc. Thus, -to fix the problem, export and use nf_ct_tmpl_free() instead. - -Fixes: 0838aa7fcfcd ("netfilter: fix netns dependencies with conntrack templates") -Reported-by: Brad Jackson <bjackson0971@gmail.com> -Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> -Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> ---- - include/net/netfilter/nf_conntrack.h | 1 + - net/netfilter/nf_conntrack_core.c | 3 ++- - net/netfilter/nf_synproxy_core.c | 2 +- - net/netfilter/xt_CT.c | 2 +- - 4 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h -index 37cd391..4023c4c 100644 ---- a/include/net/netfilter/nf_conntrack.h -+++ b/include/net/netfilter/nf_conntrack.h -@@ -292,6 +292,7 @@ extern unsigned int nf_conntrack_hash_rnd; - void init_nf_conntrack_hash_rnd(void); - - struct nf_conn *nf_ct_tmpl_alloc(struct net *net, u16 zone, gfp_t flags); -+void nf_ct_tmpl_free(struct nf_conn *tmpl); - - #define NF_CT_STAT_INC(net, count) __this_cpu_inc((net)->ct.stat->count) - #define NF_CT_STAT_INC_ATOMIC(net, count) this_cpu_inc((net)->ct.stat->count) -diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c -index 3c20d02..0625a42 100644 ---- a/net/netfilter/nf_conntrack_core.c -+++ b/net/netfilter/nf_conntrack_core.c -@@ -320,12 +320,13 @@ out_free: - } - EXPORT_SYMBOL_GPL(nf_ct_tmpl_alloc); - --static void nf_ct_tmpl_free(struct nf_conn *tmpl) -+void nf_ct_tmpl_free(struct nf_conn *tmpl) - { - nf_ct_ext_destroy(tmpl); - nf_ct_ext_free(tmpl); - kfree(tmpl); - } -+EXPORT_SYMBOL_GPL(nf_ct_tmpl_free); - - static void - destroy_conntrack(struct nf_conntrack *nfct) -diff --git a/net/netfilter/nf_synproxy_core.c b/net/netfilter/nf_synproxy_core.c -index d7f1685..d6ee8f8 100644 ---- a/net/netfilter/nf_synproxy_core.c -+++ b/net/netfilter/nf_synproxy_core.c -@@ -378,7 +378,7 @@ static int __net_init synproxy_net_init(struct net *net) - err3: - free_percpu(snet->stats); - err2: -- nf_conntrack_free(ct); -+ nf_ct_tmpl_free(ct); - err1: - return err; - } -diff --git a/net/netfilter/xt_CT.c b/net/netfilter/xt_CT.c -index 43ddeee..f3377ce 100644 ---- a/net/netfilter/xt_CT.c -+++ b/net/netfilter/xt_CT.c -@@ -233,7 +233,7 @@ out: - return 0; - - err3: -- nf_conntrack_free(ct); -+ nf_ct_tmpl_free(ct); - err2: - nf_ct_l3proto_module_put(par->family); - err1: --- -2.5.1 - @@ -7,7 +7,7 @@ pkgbase=linux-bld # Build kernel with a different name _srcname=linux-4.2 pkgname=(linux-bld linux-bld-headers) _kernelname=-bld -pkgver=4.2.2 +pkgver=4.2.4 pkgrel=1 arch=('i686' 'x86_64') url="https://github.com/rmullick/linux" @@ -31,13 +31,11 @@ source=("http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz" "${_bfqpath}/0002-block-introduce-the-BFQ-v7r9-I-O-sched-for-4.2.patch" "${_bfqpath}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r9-for-4.2.0.patch" "https://raw.githubusercontent.com/rmullick/bld-patches/master/${_BLDpatch}" - '0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch' - '0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch' ) sha256sums=('cf20e044f17588d2a42c8f2a450b0fd84dfdbd579b489d93e9ab7d0e8b45dbeb' 'SKIP' - '8b4578f1e1dcfbef1e39c39b861d4715aa99917af0b7c2dc324622d65884dcb5' + '104ba869111c7ce037fc92646f9da7352412a73e84cde7467f29cd4b973d6e78' 'SKIP' '819961379909c028e321f37e27a8b1b08f1f1e3dd58680e07b541921282da532' 'e6f6f804f98ad321ce3e4395924993b51decb89699fde369391ccbb4bae928b2' @@ -47,9 +45,7 @@ sha256sums=('cf20e044f17588d2a42c8f2a450b0fd84dfdbd579b489d93e9ab7d0e8b45dbeb' '7379bb700a121c8790c1690646b1a8dfdf0199254a4bc660e76c0bf90a7828a5' '743ecc34ab048581e9998c53b1eb81c1c31d3ac9ee72d04e1e00b2bafeedbddc' '8d9cc296721fc4d6273ee9c7609b7d815e4061c360231eb68d060b4b7e7b7f81' - '40c76861b95b8fc69daf48d69dbd5abb8c0be23c9c2ac1e208c4303e6f03f016' - '0b1e41ba59ae45f5929963aa22fdc53bc8ffb4534e976cec046269d1a462197b' - '6ed9e31ae5614c289c4884620e45698e764c03670ebc45bab9319d741238cbd3') + '40c76861b95b8fc69daf48d69dbd5abb8c0be23c9c2ac1e208c4303e6f03f016') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds @@ -99,15 +95,7 @@ prepare() { patch -Np1 -i "$p" done - msg2 "Patches from Archlinux" - # fix hard lockup in e1000e_cyclecounter_read() after 4 hours of uptime - # https://lkml.org/lkml/2015/8/18/292 - patch -p1 -i "${srcdir}/0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch" - - # add not-yet-mainlined patch to fix network unavailability when iptables - # rules are applied during startup - happened with Shorewall; journal had - # 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" +# msg2 "Patches from Archlinux" if [ "${CARCH}" = "x86_64" ]; then cat "${srcdir}/config.x86_64" > ./.config |