diff mbox series

[OpenWrt-Devel] wireguard: bump to 0.0.20181006

Message ID 20181006030900.10226-1-Jason@zx2c4.com
State Accepted
Headers show
Series [OpenWrt-Devel] wireguard: bump to 0.0.20181006 | expand

Commit Message

Jason A. Donenfeld Oct. 6, 2018, 3:09 a.m. UTC
* Account for big-endian 2^26 conversion in Poly1305.
  * Account for big-endian NEON in Curve25519.
  * Fix macros in big-endian AArch64 code so that this will actually run there
    at all.
  * Prefer if (IS_ENABLED(...)) over ifdef mazes when possible.
  * Call simd_relax() within any preempt-disabling glue code every once in a
    while so as not to increase latency if folks pass in super long buffers.
  * Prefer compiler-defined architecture macros in assembly code, which puts us
    in closer alignment with upstream CRYPTOGAMS code, and is cleaner.
  * Non-static symbols are prefixed with wg_ to avoid polluting the global
    namespace.
  * Return a bool from simd_relax() indicating whether or not we were
    rescheduled.
  * Reflect the proper simd conditions on arm.
  * Do not reorder lines in Kbuild files for the simd asm-generic addition,
    since we don't want to cause merge conflicts.
  * WARN() if the selftests fail in Zinc, since if this is an initcall, it won't
    block module loading, so we want to be loud.
  * Document some interdependencies beside include statements.
  * Add missing static statement to fpu init functions.
  * Use union in chacha to access state words as a flat matrix, instead of
    casting a struct to a u8 and hoping all goes well. Then, by passing around
    that array as a struct for as long as possible, we can update counter[0]
    instead of state[12] in the generic blocks, which makes it clearer what's
    happening.
  * Remove __aligned(32) for chacha20_ctx since we no longer use vmovdqa on x86,
    and the other implementations do not require that kind of alignment either.
  * Submit patch to ARM tree for adjusting RiscPC's cflags to be -march=armv3 so
    that we can build code that uses umull.
  * Allow CONFIG_ARM[64] to imply [!]CONFIG_64BIT, and use zinc arch config
    variables consistently throughout.
  * Document rationale for the 2^26->2^64/32 conversion in code comments.
  * Convert all of remaining BUG_ON to WARN_ON.
  * Replace `bxeq lr` with `reteq lr` in ARM assembler to be compatible with old
    ISAs via the macro in <asm/assembler.h>.
  * Do not allow WireGuard to be a built-in if IPv6 is a module.
  * Writeback the base register and reorder multiplications in the NEON x25519
    implementation.
  * Try all combinations of different implementations in selftests, so that
    potential bugs are more immediately unearthed.
  * Self tests and SIMD glue code work with #include, which lets the compiler
    optimize these. Previously these files were .h, because they were included,
    but a simple grep of the kernel tree shows 259 other files that carry out
    this same pattern. Only they prefer to instead name the files with a .c
    instead of a .h, so we now follow the convention.
  * Support many more platforms in QEMU, especially big endian ones.
  * Kernels < 3.17 don't have read_cpuid_part, so fix building there.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
---
 package/network/services/wireguard/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Andre Heider Oct. 8, 2018, 8:56 a.m. UTC | #1
Hi Jason,

On 06/10/2018 05:09, Jason A. Donenfeld wrote:
> diff --git a/package/network/services/wireguard/Makefile b/package/network/services/wireguard/Makefile
> index 29c7447..3544e34 100644
> --- a/package/network/services/wireguard/Makefile
> +++ b/package/network/services/wireguard/Makefile
> @@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
>   
>   PKG_NAME:=wireguard
>   
> -PKG_VERSION:=0.0.20180925
> +PKG_VERSION:=0.0.20181006


with this version I get a build error on arm:

   CC [M] 
/home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/main.o
In file included from 
/home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/crypto/include/zinc/chacha20poly1305.h:9:0,
                  from 
/home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/messages.h:10,
                  from 
/home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/noise.h:8,
                  from 
/home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/device.h:9,
                  from 
/home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/main.c:7:
/home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/compat/simd/include/linux/simd.h: 
In function 'simd_get':
/home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/compat/simd/include/linux/simd.h:29:48: 
error: implicit declaration of function 'may_use_simd'; did you mean 
'cap_settime'? [-Werror=implicit-function-declaration]
   *ctx = !IS_ENABLED(CONFIG_PREEMPT_RT_BASE) && may_use_simd() ? 
HAVE_FULL_SIMD : HAVE_NO_SIMD;
                                                 ^~~~~~~~~~~~
                                                 cap_settime

Thanks,
Andre
Lucian Cristian Oct. 8, 2018, 6:12 p.m. UTC | #2
On 08.10.2018 11:56, Andre Heider wrote:
> Hi Jason,
>
> On 06/10/2018 05:09, Jason A. Donenfeld wrote:
>> diff --git a/package/network/services/wireguard/Makefile 
>> b/package/network/services/wireguard/Makefile
>> index 29c7447..3544e34 100644
>> --- a/package/network/services/wireguard/Makefile
>> +++ b/package/network/services/wireguard/Makefile
>> @@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
>>     PKG_NAME:=wireguard
>>   -PKG_VERSION:=0.0.20180925
>> +PKG_VERSION:=0.0.20181006
>
>
> with this version I get a build error on arm:
>
>   CC [M] 
> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/main.o
> In file included from 
> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/crypto/include/zinc/chacha20poly1305.h:9:0,
>                  from 
> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/messages.h:10,
>                  from 
> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/noise.h:8,
>                  from 
> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/device.h:9,
>                  from 
> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/main.c:7:
> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/compat/simd/include/linux/simd.h: 
> In function 'simd_get':
> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/compat/simd/include/linux/simd.h:29:48: 
> error: implicit declaration of function 'may_use_simd'; did you mean 
> 'cap_settime'? [-Werror=implicit-function-declaration]
>   *ctx = !IS_ENABLED(CONFIG_PREEMPT_RT_BASE) && may_use_simd() ? 
> HAVE_FULL_SIMD : HAVE_NO_SIMD;
>                                                 ^~~~~~~~~~~~
>                                                 cap_settime
>
> Thanks,
> Andre
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

there's a new one 07, it's about this problem


Regards
Kevin Darbyshire-Bryant Oct. 9, 2018, 8:35 a.m. UTC | #3
> On 8 Oct 2018, at 19:12, Lucian Cristian <luci@powerneth.ro> wrote:
> 
> On 08.10.2018 11:56, Andre Heider wrote:
>> Hi Jason,
>> 
>> On 06/10/2018 05:09, Jason A. Donenfeld wrote:
>>> diff --git a/package/network/services/wireguard/Makefile b/package/network/services/wireguard/Makefile
>>> index 29c7447..3544e34 100644
>>> --- a/package/network/services/wireguard/Makefile
>>> +++ b/package/network/services/wireguard/Makefile
>>> @@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
>>>     PKG_NAME:=wireguard
>>>   -PKG_VERSION:=0.0.20180925
>>> +PKG_VERSION:=0.0.20181006
>> 
>> 
>> with this version I get a build error on arm:
>> 
>>   CC [M] /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/main.o
>> In file included from /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/crypto/include/zinc/chacha20poly1305.h:9:0,
>>                  from /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/messages.h:10,
>>                  from /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/noise.h:8,
>>                  from /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/device.h:9,
>>                  from /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/main.c:7:
>> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/compat/simd/include/linux/simd.h: In function 'simd_get':
>> /home/andre/src/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/WireGuard-0.0.20181006/src/compat/simd/include/linux/simd.h:29:48: error: implicit declaration of function 'may_use_simd'; did you mean 'cap_settime'? [-Werror=implicit-function-declaration]
>>   *ctx = !IS_ENABLED(CONFIG_PREEMPT_RT_BASE) && may_use_simd() ? HAVE_FULL_SIMD : HAVE_NO_SIMD;
>>                                                 ^~~~~~~~~~~~
>>                                                 cap_settime
>> 
>> Thanks,
>> Andre
>> 
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
> 
> there's a new one 07, it's about this problem
> 
> 
> Regards
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

I have just bumped the package to 0.0.20181007 so it should be fixed.

https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=3925298f3ca9bcd854571367d98bb6ca07f4e66e


Cheers,

Kevin D-B

012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A
diff mbox series

Patch

diff --git a/package/network/services/wireguard/Makefile b/package/network/services/wireguard/Makefile
index 29c7447..3544e34 100644
--- a/package/network/services/wireguard/Makefile
+++ b/package/network/services/wireguard/Makefile
@@ -11,12 +11,12 @@  include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=wireguard
 
-PKG_VERSION:=0.0.20180925
+PKG_VERSION:=0.0.20181006
 PKG_RELEASE:=1
 
 PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/
-PKG_HASH:=4a0488a07e40ec17e798f3e40a85cedf55f0560b1c3a8fd95806c7d4266cb0e8
+PKG_HASH:=9fe7cd5767eda65647463ec29ed707f917f4a77babaaf247adc4be7acaab4665
 
 PKG_LICENSE:=GPL-2.0 Apache-2.0
 PKG_LICENSE_FILES:=COPYING