Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp1349316imm; Wed, 20 Jun 2018 16:34:44 -0700 (PDT) X-Google-Smtp-Source: ADUXVKI8L9ZS1CMmJiffeTcLWwCe5uyMQ8ylHCPcv4iTIUM717/ReQSduxgqAaTCdTcuisQbsj8m X-Received: by 2002:a17:902:e281:: with SMTP id cf1-v6mr26038184plb.86.1529537684540; Wed, 20 Jun 2018 16:34:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529537684; cv=none; d=google.com; s=arc-20160816; b=EzHgeu8/TzBYViP1CP8BaOePe9WjwSrjVxYOfcfslZ8FsyU15tl6zdjJoo3WuSD4US tP5PYlOWxVsreP1eYrBniE0gM9NLTML6X3LD02DLbbO31NqboV7qR6CTZ7/NOIUh2+lr Yop1b5nAwxgyrdvXtCSOHeFMuGdPdRI4RWwTekCBbW2s56XyssZFY87wn37l554KZldD NSlxV4yiR3ZkBmS0x8uuTVGrP+X9xPETQ3a0GYtKkekKrL/u73nmQlftTeBnkLzDyVum HA6lPHrwAZh5sazCFBiSYgig3odewSCyjc7o7OrQDsaSziK91SR7NoslzdFWWI1o4vRw A5gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=cPP6lytcI5bhKvDUyvEbczm4VkazYAhIYRbwC5MqoBM=; b=LVZUMgtY06McajPezaZ+e0DTKl0vMbH6FT+qdXek1ieYD7bk8fBridxj2BDtJ7n+lb /IBqqFkyg6mxzwRgqjN1pb538seP9UlcLYdQH4dkzD1q4ILf4FzNpHxFXIaVhgyDQGbS y+7usNGFITF/L5Wo4OCCDAQJf8YKf9uQ4gAHjoSkLeQ4B3QMgCyqt6wyGYJilZx3ytk9 z1QlBLRQm6scG2NQojYUDWOXyWFS0R26JEVFkof1uZfrx8vpX1SK6+WdRk6lZwYxuTdi KQopB7Rxxis+qtnJJx4DNZp49bqDjgzTdsxklZuDoQT+VWevPdaKZI+k1RPsSFZqeyMf Ed6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pVApEjiM; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h3-v6si2691576pgc.571.2018.06.20.16.34.29; Wed, 20 Jun 2018 16:34:44 -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=@gmail.com header.s=20161025 header.b=pVApEjiM; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932819AbeFTXdq (ORCPT + 99 others); Wed, 20 Jun 2018 19:33:46 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:46627 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932264AbeFTXdo (ORCPT ); Wed, 20 Jun 2018 19:33:44 -0400 Received: by mail-pf0-f194.google.com with SMTP id q1-v6so531841pff.13; Wed, 20 Jun 2018 16:33:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=cPP6lytcI5bhKvDUyvEbczm4VkazYAhIYRbwC5MqoBM=; b=pVApEjiMVZ64oIDMwM9MYHrX+VseSPT1Gnw4uLXp//GX7MKUWBbuNaNYp7TkrVW2IX bFoDD017LwwZXSqOXff6g0ZP9bIBwl8mKU53x5wnywla/46Sk6kWNY3CrfMaWxBGsvZN FWH91NWMUivajUiavXNV+jdTNOBQ6EYq264dE17qNwM/XUbEM8EEXj+0pVDonEx8GKUK 0GhSmqRr0TVyBH4NNxOuIVQJwy2O6vuAGS0GvlDIAIe2pwX43ErEoDGM8lC3DkQ+4Hj4 QTpE24bGFUV9RY38Pwd32FHQebIe0RTjoEJIX/0LBdIIvdc63mGoS/7JcwrZ7iA4j0Ye MsMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=cPP6lytcI5bhKvDUyvEbczm4VkazYAhIYRbwC5MqoBM=; b=JVHyKQ7vitnJdN2BgqpUbCqi5jwYnaam0d4moQt1p2bTIGP2H3LC188xfZxkUcnIBC r2qSA+TmmaWIYyLXvB9dY+b2pBmumOAZy2FpI/mYPIVw4Eh4OvT6+DfDzfPkBkPgyqJ0 9w2ZhWK5N79U1DdGk300Po3S7I+9mQcsK09JILcfkk+sxPfiFwWw5IXAoXMpdxkSy2gI qGLousuNahx1y8eJZJBEqu8r/neAJVFF2gzxnzUCz7I9DWhDm4ciZdijIY98oIVlrBUQ iPsFspydiMnSPSlGzM9bkcwBwBak/W62HmINDI/EfpyCRnryfpbMp89GkKdZ8hdupTmq qj2Q== X-Gm-Message-State: APt69E0qYBRQmfbKdogVRSAJvLASzTTL2hTft6PH8XlF+/OZxw+GUal1 nw0lj2DpiptJItLTLPpu4Lc= X-Received: by 2002:a62:1747:: with SMTP id 68-v6mr24546694pfx.69.1529537624271; Wed, 20 Jun 2018 16:33:44 -0700 (PDT) Received: from gmail.com ([2620:15c:17:3:dc28:5c82:b905:e8a8]) by smtp.gmail.com with ESMTPSA id c4-v6sm6875196pfe.53.2018.06.20.16.33.43 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 20 Jun 2018 16:33:43 -0700 (PDT) Date: Wed, 20 Jun 2018 16:33:42 -0700 From: Eric Biggers To: Kees Cook Cc: Herbert Xu , Giovanni Cabiddu , Arnd Bergmann , Eric Biggers , Mike Snitzer , "Gustavo A. R. Silva" , qat-linux@intel.com, linux-kernel@vger.kernel.org, dm-devel@redhat.com, linux-crypto@vger.kernel.org, Lars Persson , Tim Chen , "David S. Miller" , Alasdair Kergon , Rabin Vincent Subject: Re: [dm-devel] [PATCH 04/11] dm verity fec: Remove VLA usage Message-ID: <20180620233342.GB111712@gmail.com> References: <20180620190408.45104-1-keescook@chromium.org> <20180620190408.45104-5-keescook@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180620190408.45104-5-keescook@chromium.org> User-Agent: Mutt/1.10+28 (db52f11e) (2018-06-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 20, 2018 at 12:04:01PM -0700, Kees Cook wrote: > In the quest to remove all stack VLA usage from the kernel[1], this > uses the newly defined max digest size macro. Also adds a sanity-check > at use-time. > > [1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com > > Signed-off-by: Kees Cook > --- > drivers/md/dm-verity-fec.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/md/dm-verity-fec.c b/drivers/md/dm-verity-fec.c > index 684af08d0747..0dfcc52835bc 100644 > --- a/drivers/md/dm-verity-fec.c > +++ b/drivers/md/dm-verity-fec.c > @@ -212,12 +212,15 @@ static int fec_read_bufs(struct dm_verity *v, struct dm_verity_io *io, > struct dm_verity_fec_io *fio = fec_io(io); > u64 block, ileaved; > u8 *bbuf, *rs_block; > - u8 want_digest[v->digest_size]; > + u8 want_digest[AHASH_MAX_DIGESTSIZE]; > unsigned n, k; > > if (neras) > *neras = 0; > > + if (WARN_ON(v->digest_size < sizeof(want_digest))) > + return -EINVAL; > + This is backwards; it should be 'v->digest_size > sizeof(want_digest)'. - Eric