From patchwork Wed Sep 19 02:10:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 10605137 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 355286CB for ; Wed, 19 Sep 2018 02:11:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 262272C088 for ; Wed, 19 Sep 2018 02:11:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 22A272C01E; Wed, 19 Sep 2018 02:11:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5C4562C069 for ; Wed, 19 Sep 2018 02:11:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726771AbeISHqf (ORCPT ); Wed, 19 Sep 2018 03:46:35 -0400 Received: from mail-pl1-f196.google.com ([209.85.214.196]:45155 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730651AbeISHqf (ORCPT ); Wed, 19 Sep 2018 03:46:35 -0400 Received: by mail-pl1-f196.google.com with SMTP id j8-v6so1851290pll.12 for ; Tue, 18 Sep 2018 19:11:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id; bh=Bzc7SOhJndGNfuYmqUejdXgCMuN2YiZoA93MK8WGTm0=; b=iBiQXIDsapS8WWwOmxDVdUik9BiUsnHFhhKUnyOzLHzGfl669TUQxmtVbVdVgfW/2i +HCHvEsBzwCYFTMErQcrYfQ1MLrNynSWdlabA/TexSvrglb7bzlvgAJZbcFhMyJ3gXM7 +34ke6hWDH29T2gixl9ivPQ4RaVxcvIKvzbWU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Bzc7SOhJndGNfuYmqUejdXgCMuN2YiZoA93MK8WGTm0=; b=TrmyVL91rphR+fmOsR4Y1EWq+Is1GADLIDK1pY+r15DBfcAqp6ggORY2QRaVEBHhsb 86sgAvpUGGMkESOdemtQk4HrlPCc0jTw74PbFqCU0OOoojWF7IIcvkZYW5qcjurAwaue nIYLXe+44K88VJVIuMZ13abDpkTTijxfIhHvYqPhpocWYGhq2SMTH73hsTOTstHu13Pz irthTK9dVs8VtFGjrrINvZPHmdjHMNmAfXAPVX7W0SLDRL0KPERU9hkjiq2PiZUkwirW gV97b7pXeKM2HhDCaL+81KbzN+fPZUjbOmOhk4TE0wJZr2yPsl3I3NBJLsU1JPIfEV90 f6Pw== X-Gm-Message-State: APzg51Ae1SdGPyqQQuiuP4C7W70VS626yOzkEnaxAq+NWqzgiDg4j4o9 tOZ55gOi89tQzLmkUN9NDaoeqg== X-Google-Smtp-Source: ANB0VdaqQ1R3gR589tV8RbyFpuy1N9Y6lC57vm+zJ6F5cQsmBQg0cIbDTSOvQ8bg0a2v5+EHSK/Jcw== X-Received: by 2002:a17:902:7e06:: with SMTP id b6-v6mr32564211plm.230.1537323067539; Tue, 18 Sep 2018 19:11:07 -0700 (PDT) Received: from www.outflux.net (173-164-112-133-Oregon.hfc.comcastbusiness.net. [173.164.112.133]) by smtp.gmail.com with ESMTPSA id r81-v6sm26691126pfa.18.2018.09.18.19.11.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 18 Sep 2018 19:11:05 -0700 (PDT) From: Kees Cook To: Herbert Xu Cc: Kees Cook , Ard Biesheuvel , Eric Biggers , linux-crypto , Linux Kernel Mailing List Subject: [PATCH crypto-next 00/23] crypto: skcipher - Remove VLA usage Date: Tue, 18 Sep 2018 19:10:37 -0700 Message-Id: <20180919021100.3380-1-keescook@chromium.org> X-Mailer: git-send-email 2.17.1 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This is the full follow-up to earlier discussions[1] that suggested adding a new struct crypto_sync_skcipher to handle the VLA removal from SKCIPHER_REQUEST_ON_STACK. This series is effectively a no-op change: everything is a wrapper around struct crypto_skcipher, but provides compile-time enforcement for not putting an ASYNC skcipher on the stack, which allows us to declare the on-stack requests with a fixed stack size. [1] https://lkml.kernel.org/r/CAGXu5j+bpLK=EQ9LHkO8V=sdaQwt==6fbGhgn2Vi1E9_WxSGRQ@mail.gmail.com -Kees Kees Cook (23): crypto: skcipher - Introduce crypto_sync_skcipher gss_krb5: Remove VLA usage of skcipher lib80211: Remove VLA usage of skcipher mac802154: Remove VLA usage of skcipher s390/crypto: Remove VLA usage of skcipher x86/fpu: Remove VLA usage of skcipher block: cryptoloop: Remove VLA usage of skcipher libceph: Remove VLA usage of skcipher ppp: mppe: Remove VLA usage of skcipher rxrpc: Remove VLA usage of skcipher wusb: Remove VLA usage of skcipher crypto: ccp - Remove VLA usage of skcipher crypto: vmx - Remove VLA usage of skcipher crypto: null - Remove VLA usage of skcipher crypto: cryptd - Remove VLA usage of skcipher crypto: sahara - Remove VLA usage of skcipher crypto: qce - Remove VLA usage of skcipher crypto: artpec6 - Remove VLA usage of skcipher crypto: chelsio - Remove VLA usage of skcipher crypto: mxs-dcp - Remove VLA usage of skcipher crypto: omap-aes - Remove VLA usage of skcipher crypto: picoxcell - Remove VLA usage of skcipher crypto: skcipher - Remove SKCIPHER_REQUEST_ON_STACK() arch/s390/crypto/aes_s390.c | 48 +++++----- arch/x86/crypto/fpu.c | 30 ++++--- crypto/algif_aead.c | 12 +-- crypto/authenc.c | 8 +- crypto/authencesn.c | 8 +- crypto/cryptd.c | 32 +++---- crypto/crypto_null.c | 11 ++- crypto/echainiv.c | 4 +- crypto/gcm.c | 8 +- crypto/seqiv.c | 4 +- crypto/skcipher.c | 24 +++++ drivers/block/cryptoloop.c | 22 ++--- drivers/crypto/axis/artpec6_crypto.c | 19 ++-- drivers/crypto/ccp/ccp-crypto-aes-xts.c | 13 +-- drivers/crypto/ccp/ccp-crypto.h | 2 +- drivers/crypto/chelsio/chcr_algo.c | 27 +++--- drivers/crypto/chelsio/chcr_crypto.h | 2 +- drivers/crypto/mxs-dcp.c | 21 +++-- drivers/crypto/omap-aes.c | 17 ++-- drivers/crypto/omap-aes.h | 2 +- drivers/crypto/picoxcell_crypto.c | 21 +++-- drivers/crypto/qce/ablkcipher.c | 13 ++- drivers/crypto/qce/cipher.h | 2 +- drivers/crypto/sahara.c | 31 ++++--- drivers/crypto/vmx/aes_cbc.c | 22 ++--- drivers/crypto/vmx/aes_ctr.c | 18 ++-- drivers/crypto/vmx/aes_xts.c | 18 ++-- drivers/net/ppp/ppp_mppe.c | 27 +++--- drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 34 ++++---- drivers/staging/rtl8192e/rtllib_crypt_wep.c | 28 +++--- .../rtl8192u/ieee80211/ieee80211_crypt_tkip.c | 34 ++++---- .../rtl8192u/ieee80211/ieee80211_crypt_wep.c | 26 +++--- drivers/usb/wusbcore/crypto.c | 16 ++-- include/crypto/internal/geniv.h | 2 +- include/crypto/null.h | 2 +- include/crypto/skcipher.h | 74 +++++++++++++++- include/linux/sunrpc/gss_krb5.h | 30 +++---- net/ceph/crypto.c | 12 +-- net/ceph/crypto.h | 2 +- net/mac802154/llsec.c | 16 ++-- net/mac802154/llsec.h | 2 +- net/rxrpc/ar-internal.h | 2 +- net/rxrpc/rxkad.c | 44 +++++----- net/sunrpc/auth_gss/gss_krb5_crypto.c | 87 ++++++++++--------- net/sunrpc/auth_gss/gss_krb5_keys.c | 9 +- net/sunrpc/auth_gss/gss_krb5_mech.c | 53 ++++++----- net/sunrpc/auth_gss/gss_krb5_seqnum.c | 18 ++-- net/sunrpc/auth_gss/gss_krb5_wrap.c | 20 ++--- net/wireless/lib80211_crypt_tkip.c | 34 ++++---- net/wireless/lib80211_crypt_wep.c | 28 +++--- 50 files changed, 563 insertions(+), 476 deletions(-)