diff --git a/patch.sh b/patch.sh index 0a612b8350287a188100ca18ab9ede7190fdecdc..fa6e29a95c9929db1d8741cb6d4f58bd74f856b6 100644 --- a/patch.sh +++ b/patch.sh @@ -355,18 +355,10 @@ reverts () { start_cleanup fi - #Breaks boot on am335x-boneblack - #debug: [bootz 0x82000000 - 88000000] ... - ### Flattened Device Tree blob at 88000000 - # Booting using the fdt blob at 0x88000000 - # reserving fdt memory region: addr=88000000 size=88000 - # Loading Device Tree to 8ff75000, end 8fffffff ... OK - # - #Starting kernel ... + ## notes + ##git revert --no-edit xyz -s - #git revert --no-edit c083dc5f3738d394223baa0f90705397b0844acd - - #${git} "${DIR}/patches/reverts/0001-Revert-clk-ti-am33xx-add-set-rate-parent-support-for.patch" + #${git} "${DIR}/patches/reverts/0001-Revert-xyz.patch" if [ "x${regenerate}" = "xenable" ] ; then wdir="reverts" @@ -391,6 +383,7 @@ drivers () { dir 'drivers/ti/eqep' dir 'drivers/ti/rpmsg' dir 'drivers/ti/serial' + dir 'drivers/ti/spi' dir 'drivers/ti/tsc' dir 'drivers/ti/uio' dir 'drivers/ti/gpio' diff --git a/patches/WireGuard/0001-merge-WireGuard.patch b/patches/WireGuard/0001-merge-WireGuard.patch index f0bbce95ae667a321a8d4088b8c87a599dd4c154..0cfd7cec9e29a1e2bec35904d2c52eb3fa0750e1 100644 --- a/patches/WireGuard/0001-merge-WireGuard.patch +++ b/patches/WireGuard/0001-merge-WireGuard.patch @@ -1,6 +1,6 @@ -From 0b3b3c6510257e1391432c9e5f0e29d4ca7c380f Mon Sep 17 00:00:00 2001 +From 6ddf9330f2b176f1056bd095ca397b5f67d6fc1a Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> -Date: Mon, 11 Jun 2018 19:19:50 -0500 +Date: Sat, 16 Jun 2018 11:07:05 -0500 Subject: [PATCH] merge: WireGuard Signed-off-by: Robert Nelson <robertcnelson@gmail.com> @@ -39,8 +39,8 @@ Signed-off-by: Robert Nelson <robertcnelson@gmail.com> net/wireguard/crypto/chacha20-x86_64.S | 2630 ++++++++++++++++ net/wireguard/crypto/chacha20.c | 239 ++ net/wireguard/crypto/chacha20.h | 46 + - net/wireguard/crypto/chacha20poly1305.c | 280 ++ - net/wireguard/crypto/chacha20poly1305.h | 90 + + net/wireguard/crypto/chacha20poly1305.c | 281 ++ + net/wireguard/crypto/chacha20poly1305.h | 51 + net/wireguard/crypto/curve25519-arm.S | 2110 +++++++++++++ net/wireguard/crypto/curve25519-arm.h | 14 + net/wireguard/crypto/curve25519-fiat32.h | 838 +++++ @@ -55,6 +55,7 @@ Signed-off-by: Robert Nelson <robertcnelson@gmail.com> net/wireguard/crypto/poly1305-x86_64.S | 2790 +++++++++++++++++ net/wireguard/crypto/poly1305.c | 375 +++ net/wireguard/crypto/poly1305.h | 34 + + net/wireguard/crypto/simd.h | 59 + net/wireguard/device.c | 426 +++ net/wireguard/device.h | 64 + net/wireguard/hashtables.c | 168 + @@ -71,7 +72,7 @@ Signed-off-by: Robert Nelson <robertcnelson@gmail.com> net/wireguard/queueing.h | 145 + net/wireguard/ratelimiter.c | 199 ++ net/wireguard/ratelimiter.h | 19 + - net/wireguard/receive.c | 490 +++ + net/wireguard/receive.c | 495 +++ net/wireguard/selftest/allowedips.h | 586 ++++ net/wireguard/selftest/blake2s.h | 559 ++++ net/wireguard/selftest/chacha20poly1305.h | 1418 +++++++++ @@ -79,14 +80,14 @@ Signed-off-by: Robert Nelson <robertcnelson@gmail.com> net/wireguard/selftest/curve25519.h | 607 ++++ net/wireguard/selftest/poly1305.h | 1568 +++++++++ net/wireguard/selftest/ratelimiter.h | 157 + - net/wireguard/send.c | 351 +++ + net/wireguard/send.c | 352 +++ net/wireguard/socket.c | 393 +++ net/wireguard/socket.h | 35 + net/wireguard/timers.c | 195 ++ net/wireguard/timers.h | 22 + net/wireguard/uapi/wireguard.h | 182 ++ net/wireguard/version.h | 1 + - 81 files changed, 33688 insertions(+) + 82 files changed, 33715 insertions(+) create mode 100644 net/wireguard/Kconfig create mode 100644 net/wireguard/Makefile create mode 100644 net/wireguard/allowedips.c @@ -135,6 +136,7 @@ Signed-off-by: Robert Nelson <robertcnelson@gmail.com> create mode 100644 net/wireguard/crypto/poly1305-x86_64.S create mode 100644 net/wireguard/crypto/poly1305.c create mode 100644 net/wireguard/crypto/poly1305.h + create mode 100644 net/wireguard/crypto/simd.h create mode 100644 net/wireguard/device.c create mode 100644 net/wireguard/device.h create mode 100644 net/wireguard/hashtables.c @@ -12431,10 +12433,10 @@ index 000000000000..01fb99abf34a +#endif /* _WG_CHACHA20_H */ diff --git a/net/wireguard/crypto/chacha20poly1305.c b/net/wireguard/crypto/chacha20poly1305.c new file mode 100644 -index 000000000000..ccc6e1c9fa68 +index 000000000000..df1c5aa99bd0 --- /dev/null +++ b/net/wireguard/crypto/chacha20poly1305.c -@@ -0,0 +1,280 @@ +@@ -0,0 +1,281 @@ +/* SPDX-License-Identifier: GPL-2.0 + * + * Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. @@ -12443,6 +12445,7 @@ index 000000000000..ccc6e1c9fa68 +#include "chacha20poly1305.h" +#include "chacha20.h" +#include "poly1305.h" ++#include "simd.h" + +#include <linux/kernel.h> +#include <crypto/scatterwalk.h> @@ -12502,9 +12505,9 @@ index 000000000000..ccc6e1c9fa68 +{ + bool have_simd; + -+ have_simd = chacha20poly1305_init_simd(); ++ have_simd = simd_get(); + __chacha20poly1305_encrypt(dst, src, src_len, ad, ad_len, nonce, key, have_simd); -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); +} + +bool chacha20poly1305_encrypt_sg(struct scatterlist *dst, struct scatterlist *src, const size_t src_len, @@ -12613,9 +12616,9 @@ index 000000000000..ccc6e1c9fa68 +{ + bool have_simd, ret; + -+ have_simd = chacha20poly1305_init_simd(); ++ have_simd = simd_get(); + ret = __chacha20poly1305_decrypt(dst, src, src_len, ad, ad_len, nonce, key, have_simd); -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); + return ret; +} + @@ -12690,13 +12693,13 @@ index 000000000000..ccc6e1c9fa68 + const u8 nonce[XCHACHA20POLY1305_NONCELEN], + const u8 key[CHACHA20POLY1305_KEYLEN]) +{ -+ bool have_simd = chacha20poly1305_init_simd(); ++ bool have_simd = simd_get(); + u8 derived_key[CHACHA20POLY1305_KEYLEN] __aligned(16); + + hchacha20(derived_key, nonce, key, have_simd); + __chacha20poly1305_encrypt(dst, src, src_len, ad, ad_len, le64_to_cpup((__le64 *)(nonce + 16)), derived_key, have_simd); + memzero_explicit(derived_key, CHACHA20POLY1305_KEYLEN); -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); +} + +bool xchacha20poly1305_decrypt(u8 *dst, const u8 *src, const size_t src_len, @@ -12704,23 +12707,23 @@ index 000000000000..ccc6e1c9fa68 + const u8 nonce[XCHACHA20POLY1305_NONCELEN], + const u8 key[CHACHA20POLY1305_KEYLEN]) +{ -+ bool ret, have_simd = chacha20poly1305_init_simd(); ++ bool ret, have_simd = simd_get(); + u8 derived_key[CHACHA20POLY1305_KEYLEN] __aligned(16); + + hchacha20(derived_key, nonce, key, have_simd); + ret = __chacha20poly1305_decrypt(dst, src, src_len, ad, ad_len, le64_to_cpup((__le64 *)(nonce + 16)), derived_key, have_simd); + memzero_explicit(derived_key, CHACHA20POLY1305_KEYLEN); -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); + return ret; +} + +#include "../selftest/chacha20poly1305.h" diff --git a/net/wireguard/crypto/chacha20poly1305.h b/net/wireguard/crypto/chacha20poly1305.h new file mode 100644 -index 000000000000..39919cd11918 +index 000000000000..43b0a17bdb33 --- /dev/null +++ b/net/wireguard/crypto/chacha20poly1305.h -@@ -0,0 +1,90 @@ +@@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0 + * + * Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. @@ -12767,45 +12770,6 @@ index 000000000000..39919cd11918 + const u8 nonce[XCHACHA20POLY1305_NONCELEN], + const u8 key[CHACHA20POLY1305_KEYLEN]); + -+#if defined(CONFIG_X86_64) -+#include <linux/version.h> -+#include <asm/fpu/api.h> -+#include <asm/simd.h> -+#elif IS_ENABLED(CONFIG_KERNEL_MODE_NEON) -+#include <asm/neon.h> -+#include <asm/simd.h> -+#endif -+ -+static inline bool chacha20poly1305_init_simd(void) -+{ -+ bool have_simd = false; -+#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) -+ have_simd = irq_fpu_usable(); -+ if (have_simd) -+ kernel_fpu_begin(); -+#elif IS_ENABLED(CONFIG_KERNEL_MODE_NEON) -+#if defined(CONFIG_ARM64) -+ have_simd = true; /* ARM64 supports NEON in any context. */ -+#elif defined(CONFIG_ARM) -+ have_simd = may_use_simd(); /* ARM doesn't support NEON in interrupt context. */ -+#endif -+ if (have_simd) -+ kernel_neon_begin(); -+#endif -+ return have_simd; -+} -+ -+static inline void chacha20poly1305_deinit_simd(bool was_on) -+{ -+#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) -+ if (was_on) -+ kernel_fpu_end(); -+#elif IS_ENABLED(CONFIG_KERNEL_MODE_NEON) -+ if (was_on) -+ kernel_neon_end(); -+#endif -+} -+ +#ifdef DEBUG +bool chacha20poly1305_selftest(void); +#endif @@ -24701,6 +24665,71 @@ index 000000000000..876234c53701 +#endif + +#endif /* _WG_POLY1305_H */ +diff --git a/net/wireguard/crypto/simd.h b/net/wireguard/crypto/simd.h +new file mode 100644 +index 000000000000..07936bff4362 +--- /dev/null ++++ b/net/wireguard/crypto/simd.h +@@ -0,0 +1,59 @@ ++/* SPDX-License-Identifier: GPL-2.0 ++ * ++ * Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. ++ */ ++ ++#ifndef _WG_SIMD_H ++#define _WG_SIMD_H ++ ++#if defined(CONFIG_X86_64) ++#include <linux/version.h> ++#include <asm/fpu/api.h> ++#include <asm/simd.h> ++#elif IS_ENABLED(CONFIG_KERNEL_MODE_NEON) ++#include <asm/neon.h> ++#include <asm/simd.h> ++#endif ++ ++static inline bool simd_get(void) ++{ ++ bool have_simd = false; ++#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) && !defined(CONFIG_PREEMPT_RT_BASE) ++ have_simd = irq_fpu_usable(); ++ if (have_simd) ++ kernel_fpu_begin(); ++#elif IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && !defined(CONFIG_PREEMPT_RT_BASE) ++#if defined(CONFIG_ARM64) ++ have_simd = true; /* ARM64 supports NEON in any context. */ ++#elif defined(CONFIG_ARM) ++ have_simd = may_use_simd(); /* ARM doesn't support NEON in interrupt context. */ ++#endif ++ if (have_simd) ++ kernel_neon_begin(); ++#endif ++ return have_simd; ++} ++ ++static inline void simd_put(bool was_on) ++{ ++#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) && !defined(CONFIG_PREEMPT_RT_BASE) ++ if (was_on) ++ kernel_fpu_end(); ++#elif IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && !defined(CONFIG_PREEMPT_RT_BASE) ++ if (was_on) ++ kernel_neon_end(); ++#endif ++} ++ ++static inline bool simd_relax(bool was_on) ++{ ++#ifdef CONFIG_PREEMPT ++ if (was_on && need_resched()) { ++ simd_put(true); ++ return simd_get(); ++ } ++#endif ++ return was_on; ++} ++ ++#endif /* _WG_SIMD_H */ diff --git a/net/wireguard/device.c b/net/wireguard/device.c new file mode 100644 index 000000000000..40b9e5cac614 @@ -27174,7 +27203,7 @@ index 000000000000..eb343c1cff74 +#endif /* _WG_PEER_H */ diff --git a/net/wireguard/queueing.c b/net/wireguard/queueing.c new file mode 100644 -index 000000000000..85dea6be3fef +index 000000000000..f33395e29c11 --- /dev/null +++ b/net/wireguard/queueing.c @@ -0,0 +1,46 @@ @@ -27221,7 +27250,7 @@ index 000000000000..85dea6be3fef +{ + if (multicore) + free_percpu(queue->worker); -+ WARN_ON(!ptr_ring_empty_bh(&queue->ring)); ++ WARN_ON(!__ptr_ring_empty(&queue->ring)); + ptr_ring_cleanup(&queue->ring, NULL); +} diff --git a/net/wireguard/queueing.h b/net/wireguard/queueing.h @@ -27607,10 +27636,10 @@ index 000000000000..8931c0615374 +#endif /* _WG_RATELIMITER_H */ diff --git a/net/wireguard/receive.c b/net/wireguard/receive.c new file mode 100644 -index 000000000000..27d3d04f7fb6 +index 000000000000..c5062f884009 --- /dev/null +++ b/net/wireguard/receive.c -@@ -0,0 +1,490 @@ +@@ -0,0 +1,495 @@ +/* SPDX-License-Identifier: GPL-2.0 + * + * Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. @@ -27623,6 +27652,7 @@ index 000000000000..27d3d04f7fb6 +#include "messages.h" +#include "cookie.h" +#include "socket.h" ++#include "crypto/simd.h" + +#include <linux/ip.h> +#include <linux/ipv6.h> @@ -27991,7 +28021,6 @@ index 000000000000..27d3d04f7fb6 + bool free; + + local_bh_disable(); -+ spin_lock_bh(&queue->ring.consumer_lock); + while ((skb = __ptr_ring_peek(&queue->ring)) != NULL && (state = atomic_read(&PACKET_CB(skb)->state)) != PACKET_STATE_UNCRYPTED) { + __ptr_ring_discard_one(&queue->ring); + peer = PACKET_PEER(skb); @@ -28018,8 +28047,13 @@ index 000000000000..27d3d04f7fb6 + peer_put(peer); + if (unlikely(free)) + dev_kfree_skb(skb); ++ ++ /* Don't totally kill scheduling latency by keeping preemption disabled forever. */ ++ if (need_resched()) { ++ local_bh_enable(); ++ local_bh_disable(); ++ } + } -+ spin_unlock_bh(&queue->ring.consumer_lock); + local_bh_enable(); +} + @@ -28027,15 +28061,15 @@ index 000000000000..27d3d04f7fb6 +{ + struct crypt_queue *queue = container_of(work, struct multicore_worker, work)->ptr; + struct sk_buff *skb; -+ bool have_simd = chacha20poly1305_init_simd(); ++ bool have_simd = simd_get(); + + while ((skb = ptr_ring_consume_bh(&queue->ring)) != NULL) { + enum packet_state state = likely(skb_decrypt(skb, &PACKET_CB(skb)->keypair->receiving, have_simd)) ? PACKET_STATE_CRYPTED : PACKET_STATE_DEAD; -+ + queue_enqueue_per_peer(&PACKET_PEER(skb)->rx_queue, skb, state); ++ have_simd = simd_relax(have_simd); + } + -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); +} + +static void packet_consume_data(struct wireguard_device *wg, struct sk_buff *skb) @@ -29260,7 +29294,7 @@ index 000000000000..3770d05d2139 +#endif diff --git a/net/wireguard/selftest/chacha20poly1305.h b/net/wireguard/selftest/chacha20poly1305.h new file mode 100644 -index 000000000000..e9070ba383a4 +index 000000000000..9baca0b06260 --- /dev/null +++ b/net/wireguard/selftest/chacha20poly1305.h @@ -0,0 +1,1418 @@ @@ -30552,7 +30586,7 @@ index 000000000000..e9070ba383a4 + +static inline void chacha20poly1305_selftest_encrypt_bignonce(u8 *dst, const u8 *src, const size_t src_len, const u8 *ad, const size_t ad_len, const u8 nonce[12], const u8 key[CHACHA20POLY1305_KEYLEN]) +{ -+ bool have_simd = chacha20poly1305_init_simd(); ++ bool have_simd = simd_get(); + struct poly1305_ctx poly1305_state; + struct chacha20_ctx chacha20_state; + union { @@ -30575,7 +30609,7 @@ index 000000000000..e9070ba383a4 + b.lens[1] = cpu_to_le64(src_len); + poly1305_update(&poly1305_state, (u8 *)b.lens, sizeof(b.lens), have_simd); + poly1305_finish(&poly1305_state, dst + src_len, have_simd); -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); + memzero_explicit(&chacha20_state, sizeof(chacha20_state)); + memzero_explicit(&b, sizeof(b)); +} @@ -30623,7 +30657,7 @@ index 000000000000..e9070ba383a4 + success = false; + } + } -+ have_simd = chacha20poly1305_init_simd(); ++ have_simd = simd_get(); + for (i = 0; i < ARRAY_SIZE(chacha20poly1305_enc_vectors); ++i) { + if (chacha20poly1305_enc_vectors[i].nlen != 8) + continue; @@ -30637,7 +30671,7 @@ index 000000000000..e9070ba383a4 + success = false; + } + } -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); + for (i = 0; i < ARRAY_SIZE(chacha20poly1305_dec_vectors); ++i) { + memset(computed_result, 0, sizeof(computed_result)); + ret = chacha20poly1305_decrypt(computed_result, chacha20poly1305_dec_vectors[i].input, chacha20poly1305_dec_vectors[i].ilen, chacha20poly1305_dec_vectors[i].assoc, chacha20poly1305_dec_vectors[i].alen, le64_to_cpu(*(__force __le64 *)chacha20poly1305_dec_vectors[i].nonce), chacha20poly1305_dec_vectors[i].key); @@ -30646,7 +30680,7 @@ index 000000000000..e9070ba383a4 + success = false; + } + } -+ have_simd = chacha20poly1305_init_simd(); ++ have_simd = simd_get(); + for (i = 0; i < ARRAY_SIZE(chacha20poly1305_dec_vectors); ++i) { + memset(heap_dst, 0, MAXIMUM_TEST_BUFFER_LEN); + memcpy(heap_src, chacha20poly1305_dec_vectors[i].input, chacha20poly1305_dec_vectors[i].ilen); @@ -30658,7 +30692,7 @@ index 000000000000..e9070ba383a4 + success = false; + } + } -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); + for (i = 0; i < ARRAY_SIZE(xchacha20poly1305_enc_vectors); ++i) { + memset(computed_result, 0, sizeof(computed_result)); + xchacha20poly1305_encrypt(computed_result, xchacha20poly1305_enc_vectors[i].input, xchacha20poly1305_enc_vectors[i].ilen, xchacha20poly1305_enc_vectors[i].assoc, xchacha20poly1305_enc_vectors[i].alen, xchacha20poly1305_enc_vectors[i].nonce, xchacha20poly1305_enc_vectors[i].key); @@ -31395,7 +31429,7 @@ index 000000000000..1f099e9fb219 +#endif diff --git a/net/wireguard/selftest/poly1305.h b/net/wireguard/selftest/poly1305.h new file mode 100644 -index 000000000000..41acf7c07ab5 +index 000000000000..7439ac05e790 --- /dev/null +++ b/net/wireguard/selftest/poly1305.h @@ -0,0 +1,1568 @@ @@ -32890,7 +32924,7 @@ index 000000000000..41acf7c07ab5 + +bool __init poly1305_selftest(void) +{ -+ bool have_simd = chacha20poly1305_init_simd(); ++ bool have_simd = simd_get(); + bool success = true; + size_t i; + @@ -32959,7 +32993,7 @@ index 000000000000..41acf7c07ab5 + } + } + } -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); + + if (success) + pr_info("poly1305 self-tests: pass\n"); @@ -33132,10 +33166,10 @@ index 000000000000..7e017ce5ab60 +#endif diff --git a/net/wireguard/send.c b/net/wireguard/send.c new file mode 100644 -index 000000000000..6e04ad45b800 +index 000000000000..d3e3d752d84d --- /dev/null +++ b/net/wireguard/send.c -@@ -0,0 +1,351 @@ +@@ -0,0 +1,352 @@ +/* SPDX-License-Identifier: GPL-2.0 + * + * Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. @@ -33148,6 +33182,7 @@ index 000000000000..6e04ad45b800 +#include "socket.h" +#include "messages.h" +#include "cookie.h" ++#include "crypto/simd.h" + +#include <linux/uio.h> +#include <linux/inetdevice.h> @@ -33361,7 +33396,6 @@ index 000000000000..6e04ad45b800 + struct sk_buff *first; + enum packet_state state; + -+ spin_lock_bh(&queue->ring.consumer_lock); + while ((first = __ptr_ring_peek(&queue->ring)) != NULL && (state = atomic_read(&PACKET_CB(first)->state)) != PACKET_STATE_UNCRYPTED) { + __ptr_ring_discard_one(&queue->ring); + peer = PACKET_PEER(first); @@ -33375,14 +33409,13 @@ index 000000000000..6e04ad45b800 + noise_keypair_put(keypair); + peer_put(peer); + } -+ spin_unlock_bh(&queue->ring.consumer_lock); +} + +void packet_encrypt_worker(struct work_struct *work) +{ + struct crypt_queue *queue = container_of(work, struct multicore_worker, work)->ptr; + struct sk_buff *first, *skb, *next; -+ bool have_simd = chacha20poly1305_init_simd(); ++ bool have_simd = simd_get(); + + while ((first = ptr_ring_consume_bh(&queue->ring)) != NULL) { + enum packet_state state = PACKET_STATE_CRYPTED; @@ -33396,8 +33429,10 @@ index 000000000000..6e04ad45b800 + } + } + queue_enqueue_per_peer(&PACKET_PEER(first)->tx_queue, first, state); ++ ++ have_simd = simd_relax(have_simd); + } -+ chacha20poly1305_deinit_simd(have_simd); ++ simd_put(have_simd); +} + +static void packet_create_data(struct sk_buff *first) @@ -34346,11 +34381,11 @@ index 000000000000..8b8a1f254bb6 +#endif /* _WG_UAPI_WIREGUARD_H */ diff --git a/net/wireguard/version.h b/net/wireguard/version.h new file mode 100644 -index 000000000000..59830cc36ebe +index 000000000000..f990e776297e --- /dev/null +++ b/net/wireguard/version.h @@ -0,0 +1 @@ -+#define WIREGUARD_VERSION "0.0.20180531" ++#define WIREGUARD_VERSION "0.0.20180613" -- 2.17.1 diff --git a/patches/aufs4/0001-merge-aufs4-kbuild.patch b/patches/aufs4/0001-merge-aufs4-kbuild.patch index 5f622fadf87f5468ceae1ae8e795b6e5f94fce27..b83e4fa78a7452e295f76e9ba5c3b4e318c5e687 100644 --- a/patches/aufs4/0001-merge-aufs4-kbuild.patch +++ b/patches/aufs4/0001-merge-aufs4-kbuild.patch @@ -1,6 +1,6 @@ -From c8e64b5be9b8e30f170383ede04aa51e3fa2f895 Mon Sep 17 00:00:00 2001 +From 322137d7bc2b35c737c5662f8a0a1a11bd1a7e08 Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> -Date: Mon, 11 Jun 2018 19:19:30 -0500 +Date: Sat, 16 Jun 2018 11:06:52 -0500 Subject: [PATCH 1/5] merge: aufs4-kbuild Signed-off-by: Robert Nelson <robertcnelson@gmail.com> diff --git a/patches/aufs4/0002-merge-aufs4-base.patch b/patches/aufs4/0002-merge-aufs4-base.patch index 2934358ea3419d2b679da56871fd605361fa317f..3dd2c43827145d1053e0dbfe04171b0c5086f37e 100644 --- a/patches/aufs4/0002-merge-aufs4-base.patch +++ b/patches/aufs4/0002-merge-aufs4-base.patch @@ -1,6 +1,6 @@ -From 5ca0a07def8b939762865d9995de9094a1fdf32b Mon Sep 17 00:00:00 2001 +From c2f544f0144bde34377df302b1993aa38b50bc6e Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> -Date: Mon, 11 Jun 2018 19:19:31 -0500 +Date: Sat, 16 Jun 2018 11:06:52 -0500 Subject: [PATCH 2/5] merge: aufs4-base Signed-off-by: Robert Nelson <robertcnelson@gmail.com> diff --git a/patches/aufs4/0003-merge-aufs4-mmap.patch b/patches/aufs4/0003-merge-aufs4-mmap.patch index 6d93ecfa23b599a0d96a6a981a0eeadef1f66a32..9453d4b6f42654c6ef22e9933537c57c8f5c13be 100644 --- a/patches/aufs4/0003-merge-aufs4-mmap.patch +++ b/patches/aufs4/0003-merge-aufs4-mmap.patch @@ -1,6 +1,6 @@ -From 99795a8eb855533f495a00857d9aa63eea86dcec Mon Sep 17 00:00:00 2001 +From e11667189e9e743262876fe8becf1024938d0764 Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> -Date: Mon, 11 Jun 2018 19:19:31 -0500 +Date: Sat, 16 Jun 2018 11:06:53 -0500 Subject: [PATCH 3/5] merge: aufs4-mmap Signed-off-by: Robert Nelson <robertcnelson@gmail.com> diff --git a/patches/aufs4/0004-merge-aufs4-standalone.patch b/patches/aufs4/0004-merge-aufs4-standalone.patch index dbea6acc0556cb1272533796c6fc67837171c78e..8373a539f52896111c727a052816333362bb9e65 100644 --- a/patches/aufs4/0004-merge-aufs4-standalone.patch +++ b/patches/aufs4/0004-merge-aufs4-standalone.patch @@ -1,6 +1,6 @@ -From cb3a572dd265dd407ae7697da1e6fee56be3a160 Mon Sep 17 00:00:00 2001 +From d7c08025ee3c3aa07aea25c2ad128eee066515c0 Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> -Date: Mon, 11 Jun 2018 19:19:32 -0500 +Date: Sat, 16 Jun 2018 11:06:54 -0500 Subject: [PATCH 4/5] merge: aufs4-standalone Signed-off-by: Robert Nelson <robertcnelson@gmail.com> diff --git a/patches/aufs4/0005-merge-aufs4.patch b/patches/aufs4/0005-merge-aufs4.patch index 2c351f800f62970081cd1113e59fc2c09cd90856..1b5c210195bbdb96951a352a358ca9a43861b8ed 100644 --- a/patches/aufs4/0005-merge-aufs4.patch +++ b/patches/aufs4/0005-merge-aufs4.patch @@ -1,6 +1,6 @@ -From 870f4207dad3d654481edf0da2f00d956ed161d2 Mon Sep 17 00:00:00 2001 +From a573da02a3c28546c3136e978d5f12cfc93d8b70 Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> -Date: Mon, 11 Jun 2018 19:19:33 -0500 +Date: Sat, 16 Jun 2018 11:06:55 -0500 Subject: [PATCH 5/5] merge: aufs4 Signed-off-by: Robert Nelson <robertcnelson@gmail.com> diff --git a/patches/drivers/ti/spi/0001-am33xx-spi-we-want-spidev1-spidev2-for-compability-w.patch b/patches/drivers/ti/spi/0001-am33xx-spi-we-want-spidev1-spidev2-for-compability-w.patch new file mode 100644 index 0000000000000000000000000000000000000000..123c0d6bcfcc66d5ebdf39c144216be907c995e9 --- /dev/null +++ b/patches/drivers/ti/spi/0001-am33xx-spi-we-want-spidev1-spidev2-for-compability-w.patch @@ -0,0 +1,29 @@ +From 14cee610e545005f71c116b845d4104221884ed3 Mon Sep 17 00:00:00 2001 +From: Robert Nelson <robertcnelson@gmail.com> +Date: Fri, 15 Jun 2018 13:21:34 -0500 +Subject: [PATCH] am33xx: spi: we want spidev1/spidev2 for compability with + v4.4/v4.9 + +Signed-off-by: Robert Nelson <robertcnelson@gmail.com> +--- + arch/arm/boot/dts/am33xx.dtsi | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi +index a048086d10b8..d30a40e4b872 100644 +--- a/arch/arm/boot/dts/am33xx.dtsi ++++ b/arch/arm/boot/dts/am33xx.dtsi +@@ -36,8 +36,8 @@ + phy1 = &usb1_phy; + ethernet0 = &cpsw_emac0; + ethernet1 = &cpsw_emac1; +- spi0 = &spi0; +- spi1 = &spi1; ++ spi1 = &spi0; ++ spi2 = &spi1; + }; + + cpus { +-- +2.17.1 + diff --git a/patches/ref_omap2plus_defconfig b/patches/ref_omap2plus_defconfig index 5462a56b4b5021206a1e55d3e9e8e780c96a3e40..b45fce9ed503fba430a4eb8aaa2d08b7386917d3 100644 --- a/patches/ref_omap2plus_defconfig +++ b/patches/ref_omap2plus_defconfig @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.17.1 Kernel Configuration +# Linux/arm 4.17.2 Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y diff --git a/version.sh b/version.sh index ac376556788a569dc6e4459c5bcd850d68ba26d8..f72363f60685384b286c7d78f23b9bab5c3b637c 100644 --- a/version.sh +++ b/version.sh @@ -30,10 +30,10 @@ toolchain="gcc_linaro_gnueabihf_7" #Kernel KERNEL_REL=4.17 -KERNEL_TAG=${KERNEL_REL}.1 +KERNEL_TAG=${KERNEL_REL}.2 kernel_rt=".X-rtY" #Kernel Build -BUILD=${build_prefix}2 +BUILD=${build_prefix}3 #v4.X-rcX + upto SHA #prev_KERNEL_SHA=""