Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp170954imm; Tue, 18 Sep 2018 19:13:52 -0700 (PDT) X-Google-Smtp-Source: ANB0VdaSApMlZbWzQNIr6gSxXcoWlD+9dSUUX0+xFZHhmJYX89uQxSDxiCVVqkhwdhKWsbikW9Ce X-Received: by 2002:a62:868b:: with SMTP id x133-v6mr33763306pfd.252.1537323232868; Tue, 18 Sep 2018 19:13:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537323232; cv=none; d=google.com; s=arc-20160816; b=l6FMIV7RSj9MU2Hg/fNWFWNZdV11Gajniklk9bQmXOHW+czCXv894XcYQOn9q6m7Pw QolIhu66XmQN+cc3xCuCfMcBKcrV8YCeKHlRUWGsrV8fzhaePiVjacBAlPjVREEdLnrD tlLIBzcMYa/UUGoiSETPm5OCRdoXXRXNUg39hEAeVaqboE8l5Dp3YzKm+9/JMSGPlAlg GIJfQnt3y5i8tSv6J6YHP9v9/5FAooRTmQqNAumkkTDoFieVKebNUAKYUK2NCQb81hSt +JTHFpqKkCMD/bu3+CHPyglOx2Od2s7gxHCqoiZjSsP0lGEEgGim6OqjlaZyiJ/YmI1E mk6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=Bzc7SOhJndGNfuYmqUejdXgCMuN2YiZoA93MK8WGTm0=; b=h9q1MoYfqIuPa5SG0xJYY3s+L/CPD53ZLw6VSaFWDRP1Q7bwIvk/I6Al0ozPkl1R2B On4UHDa0+7NeekvEK+rKfWCdXfxxDLI3NUGUf0hdXTf/RWnrT91SfsKnfTqPIEYrRRcP pZHXWXr6gTCGQYUpMXSru5MwFQG3PqoX5xCw8F5WVt1+P2FSJg11jKrEEOHHJyQ74ehK ccSSmo1k1eC3Z8NEGkXb5yQEoKGbZGLUeraxFGIks71YLA6c2Jnd3/60afDyoB+31x9u PfXAdGT4bmgZDw+zXcKDIyehm4DxEViZuXjvshAI38bxEc/AEbkNy791kk8NXAsY2STx f3Pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=iBiQXIDs; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r12-v6si19221021pgm.141.2018.09.18.19.13.37; Tue, 18 Sep 2018 19:13:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=iBiQXIDs; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730874AbeISHqh (ORCPT + 99 others); Wed, 19 Sep 2018 03:46:37 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:41060 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730605AbeISHqf (ORCPT ); Wed, 19 Sep 2018 03:46:35 -0400 Received: by mail-pl1-f194.google.com with SMTP id b12-v6so1858698plr.8 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=gRryt0daes+2xytLRHODUeJUrbxHd/wDKFmP0z5TDvDfVn4R05ytHd0PNtnorvCPm1 2AsUv7tAXHTk625mgpJiYz8hlGUsvxZP9ktOWEGdr7TnMmctoTRZLDLql47QSiYVFSPY hFAyoj34KICcAkWTCMyEHu7L+0kLLsV+LdmGyA2dQ2gYJB6Q741ydj0jvaMQyU2VlpG/ HNjlHCXH0TktL4Kf0HmYrzbhNPDYr/MvZBEwMVCnzFVuSXE4O+MLPJhy/Sc3eGQSzIhZ 8P0Z5J7vg631a+zZq5Ti5Uqx2m3wCjq+9o4Nnp5GsUa/WjLSOLESJJ5X1wHBKc+Sw2GR gPfQ== X-Gm-Message-State: APzg51Drj+wTR+QrjiWkPuswSfHzzDOqTX/0AKqBN58fNd+CYv3dIsP6 9a+ULgCff/lvW5Z3KjfX7x/5rg== 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-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-) -- 2.17.1