From patchwork Wed Jul 24 18:51:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 169636 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp10611619ilk; Wed, 24 Jul 2019 11:52:32 -0700 (PDT) X-Google-Smtp-Source: APXvYqwlI+R5GnC3r6bWnnsTqHYeN+4OmvnVxG58p9oS3LI6jrn+JzXf8OrpCWSeBxEN79gEMCCl X-Received: by 2002:a17:90a:1a45:: with SMTP id 5mr90841578pjl.43.1563994352296; Wed, 24 Jul 2019 11:52:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563994352; cv=none; d=google.com; s=arc-20160816; b=CXzB1O+J/N4iKpEikSJTUEhdRepAz89YrxomSr1cfb7Z2ccR33HrrudfnwCblDNAIX RL/6kiv4kkaWXde7tfz8ozyvkx/IbF8p5otXA8zn76FjOrUHRdTOyavQ/fJo4WCwB+tu T7ja9nEqK9EXrMms6ZrxaNtBic0Zt+tdS3oO7jfDfAQPsS2rGe032YBBjU+U7YBnfXje 1JOwtr/YajHkriRUlIE8n5PYqZa+O/ePuBvHajKhsLrOSp1Ulfbb/rcIg3ZJT9DjMzcD wIe/ispJz4131iortHXCHhtUTIOIqQq/fM1ZeBbHR6YaKbwJPiWyQQLolwSlubmtaOML L8Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=AKqHgZgnAQlPpPhxatvb26g7h6hNtf8LoxfF8r523R0=; b=pLaPDWbsqf0e8QloeWHlVC/75FftmJHl95NDP0IW6RApVArNfU5FQiBVTw/lyWUEXi Fx3LweppqGI/1CV0SZdI6Irl1P8ElbJkiKEsk9vFiHOILeF2IPMdpwel6n6eTsSF9plq 73lvWcfNJ0GcAQy3IqW4YDNZCGIr6zCHkqeuTEuQ8ZRlvt++lpPN5Ki9KP9r/KmLjnpC xnf4qaaan/OWPOO/r04BklNoO+JHHVa/Ioz6Z5hFYujFiYnsD/0zfzw1iU/fNNOjhgpM w2Ecp/AuHcxVzIYD90SZdwQp+A30lop3mpj6jtIAEGikwJmSRiIXyH1+ygRDMYJv6sd2 NOJg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f4si15134503pgg.334.2019.07.24.11.52.32; Wed, 24 Jul 2019 11:52:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728089AbfGXSwa (ORCPT + 3 others); Wed, 24 Jul 2019 14:52:30 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:38155 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726623AbfGXSwa (ORCPT ); Wed, 24 Jul 2019 14:52:30 -0400 Received: from threadripper.lan ([149.172.19.189]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.145]) with ESMTPA (Nemesis) id 1N4z2Y-1iZMDt3sXc-010r7i; Wed, 24 Jul 2019 20:52:10 +0200 From: Arnd Bergmann To: Herbert Xu , "David S. Miller" Cc: kasan-dev@googlegroups.com, =?utf-8?q?Stephan_M=C3=BCller?= , Arnd Bergmann , Ard Biesheuvel , Eric Biggers , Vitaly Chikunov , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com Subject: [PATCH] crypto: jitterentropy: build without sanitizer Date: Wed, 24 Jul 2019 20:51:55 +0200 Message-Id: <20190724185207.4023459-1-arnd@arndb.de> X-Mailer: git-send-email 2.20.0 MIME-Version: 1.0 X-Provags-ID: V03:K1:2QZYaO519OJxYJsrSQIe/UzdE5AmrOwOkLjXT+CjRW8Dx1lg2Dy XV/NNUYdwM3vTfiFDwSD0F4fyLZmjd6jW+NV7AJpT+rAQ/sdhR4X1aKa+ZOReDYN8zdd2t/ Ox2vDe5VdQRl1nHDLe+c38FlsGf4wYILrfhx66IL+1gIA7RT6JgkxFaiP7CwnYG/V2V5wfs fgvfUk/OsccuBGMrqhh/g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:ZAZZZe+kadI=:rnEzG0t1GmceK0/lAFvYax Ex+XREoW3yNiDExdl9vfsXIjNkyvMdsCAn1FwWI7ElysOPL8L+Dx/4F9Ep3vW5LunKGgsyQQI yv00OJ6maRvK3LcMCmWUJIbWFUE8sskArxmHTlPGR7InwTiBMgZUHuRbnS8StCea9EgLWeL3r jy83jMfnVRvdKH7Jth/itcIV/WUhwQe2LDxJ3VuCreyugM/3bTF8MpMl0zcCN//tEyD0w8+xW Du4tJ4rFmi+sUNpeyvSGqSVK7gAn9NhOI3H/BVBkMnEhU9bB9J/ZVYxXIcKq+BMhlwE3Ra6k6 f2Se4X678XzaJuT1ov055sLk0MnEFvD/inMo7rXZ9fDcJ7b1kQ0JLNX4NOapppsAkAxejmo7c 9ke/cBlq2BAcDMkWdVfjbZzd+BPR3ORrzjnJu5WLtnJeB1u7q+rieUaCeJY36DgH0hqCNRysh 69709d1BQlv3lfq+fXkple66lk7o126EGCSeuuhYxWrxN5PIazkrjeftVuZaUeS6pcCl7sSHd EdwAJHRSdgxtUWv6p92aNNsRhFJa0e8Hv43wSqKQrvPVq8xhELBOl5LvAKOcGQ/UKH+h5PJCu QYuanTrvsit0f4rxUE0kdYpNix8gPchck9Q8ZXw4Z2wXB/EF0wnfg27WTonImdt4nl/B/yR9b X4XrmEhr1kEVinpZHGB0gB/jOW6ftgC8qNgRmY8Ff6uL3Hs1ONFB6V1Ycbez4KvGP6w3j8rzz yhQXpQFLY+j8/q6KKgqbwrTRwUd6KVxz+18WNQ== Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org Recent clang-9 snapshots double the kernel stack usage when building this file with -O0 -fsanitize=kernel-hwaddress, compared to clang-8 and older snapshots, this changed between commits svn364966 and svn366056: crypto/jitterentropy.c:516:5: error: stack frame size of 2640 bytes in function 'jent_entropy_init' [-Werror,-Wframe-larger-than=] int jent_entropy_init(void) ^ crypto/jitterentropy.c:185:14: error: stack frame size of 2224 bytes in function 'jent_lfsr_time' [-Werror,-Wframe-larger-than=] static __u64 jent_lfsr_time(struct rand_data *ec, __u64 time, __u64 loop_cnt) ^ I prepared a reduced test case in case any clang developers want to take a closer look, but from looking at the earlier output it seems that even with clang-8, something was very wrong here. Turn off any KASAN and UBSAN sanitizing for this file, as that likely clashes with -O0 anyway. Turning off just KASAN avoids the warning already, but I suspect both of these have undesired side-effects for jitterentropy. Link: https://godbolt.org/z/fDcwZ5 Signed-off-by: Arnd Bergmann --- crypto/Makefile | 2 ++ 1 file changed, 2 insertions(+) -- 2.20.0 diff --git a/crypto/Makefile b/crypto/Makefile index 9479e1a45d8c..176b2623dd68 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -136,6 +136,8 @@ obj-$(CONFIG_CRYPTO_ANSI_CPRNG) += ansi_cprng.o obj-$(CONFIG_CRYPTO_DRBG) += drbg.o obj-$(CONFIG_CRYPTO_JITTERENTROPY) += jitterentropy_rng.o CFLAGS_jitterentropy.o = -O0 +KASAN_SANITIZE_jitterentropy.o = n +UBSAN_SANITIZE_jitterentropy.o = n jitterentropy_rng-y := jitterentropy.o jitterentropy-kcapi.o obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o obj-$(CONFIG_CRYPTO_GHASH) += ghash-generic.o