From patchwork Fri Sep 15 20:12:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 140941 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp1479482vqi; Fri, 15 Sep 2023 21:56:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEXnSDniSm/jNeaT4tkVbGVOtwZVPfDxJbFfqR7EV6hzAIXJUoKiPMHYzqlisZ80KwBYRIB X-Received: by 2002:a05:6a00:139e:b0:68f:b5a1:12bf with SMTP id t30-20020a056a00139e00b0068fb5a112bfmr4141258pfg.29.1694840194956; Fri, 15 Sep 2023 21:56:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694840194; cv=none; d=google.com; s=arc-20160816; b=vDVmaJW5YCdAyPOXAibmVinacBy37+DavnyGXsiGlhfl5Xf8x1Df/qZ2OuyZhiY5rz f9r3wEUTlDBVXLkXOekt9rabzhlzudayXAoy8oFpMc5TPP34P2qAOc2HoKtZ9uW+U6SD xEOTpmU/0KJrg/fi3M4SfvYpzJzLm92iGj/hEY7hbomRriajiQE9V1rDd2AyZpFYCINv irqtXdNxSveF1vfxbblWYrCkEo+FBMrKHgXO33m0W4CFLeJHuxPGyv5byvScXFvt0oim 93q+zVDrM5U/Zp3Q0nvRau/i8qGXyzSYpmbnDU3lclUuhvERHboSzkE5VkSCucoYrAc5 15Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=PrBmIK/7ZBFkfIJ+GoT9lofYoxjkLNz9RY+nH/vRJ5g=; fh=vvcIVRDsy9n/suCZclKF6Rr+8WVK1wW4Fq9A4/7MUgQ=; b=dCj5e3n30UGVbUz+iJjQHRLg8U15mxuYQ3uoPfBLOg0AdGvCIYXVlqzJ8UuMBWOKFd DGkDyM5FLGqo/kU4X0zRoyJotLlOtUieySidO7zAL17a6QPYgpHtBq3rEM8IlqwvzCs6 0Y1kKMsWo0WmA0OpCnzKvisD0HbTLyJ8i4jgV7+A9QMC0IYxz1qPOGNvqH7NAK4oE2ij zZQ3rI8SH3ok+6qJ99FjsWdfMxSPXLXYXXf1d+7FZPtjFxQ4eJ25XCCiYN/M1+3RAHW2 pkrJVspcbDubzmK7Hb9xT6zYsi/mMJcWmNyXm2BjSdWS+mfHxlmNNeNdQQuLUeceBkWm bEug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Hyr26EoD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id q7-20020a631f47000000b0057761dd9c56si4239679pgm.322.2023.09.15.21.56.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 21:56:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Hyr26EoD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id B4AB181CB0ED; Fri, 15 Sep 2023 13:14:41 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237185AbjIOUOH (ORCPT + 29 others); Fri, 15 Sep 2023 16:14:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236548AbjIOUNd (ORCPT ); Fri, 15 Sep 2023 16:13:33 -0400 Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7B03C2D45 for ; Fri, 15 Sep 2023 13:12:37 -0700 (PDT) Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-68a3ced3ec6so2325570b3a.1 for ; Fri, 15 Sep 2023 13:12:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1694808757; x=1695413557; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=PrBmIK/7ZBFkfIJ+GoT9lofYoxjkLNz9RY+nH/vRJ5g=; b=Hyr26EoDc/3IqnsEj1f949dN52APUFRos05grk0rf4AGJZyPtHznjIR0CTCS/4+cRq VojOdZpad9u5YDfvohFTxfkmMdvB2fKfgH5WjVYcHZg4mHkXTFDj1JJ2uPBcf8fpK1Ur 4hW9SjKDO9ijB/O5yVg825VstCzoqYWSOmFyc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694808757; x=1695413557; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PrBmIK/7ZBFkfIJ+GoT9lofYoxjkLNz9RY+nH/vRJ5g=; b=GbRoO05mjISOZEHqXKy6/NNXqT0/zXkDxCwTAIGrSjpXthCnfBUAW7jU7bNUOpB3Te QjtaC7YSYmH+49Dh7q4Lu2HAicVqP/xKMOrPeF1PwD6E8LscVsjkLBLM6fLYOQkwKaQR mOdbNj8/3C6tMT6aIL2Kx+71xUNcA0CMEelc9srvK9b2MESvaeHbAbpeZmiGqRRstrBn pGg5L5q9UoXbW+Swgbk31M6rFXmVjU/rj7DcTODolHr0aVXOZt9dohWYd2bERmzmcJIx 3zfPHIkPERXd+uzheMrJnzkxn9dCN14ktTIQgyrgja7+8DbobjIxOKG60QCDS9RM/iQB xE1A== X-Gm-Message-State: AOJu0Yw9q5J+CCJlTP7aDL0X2OaB7qI5GAB3sqJXOetjKE9481q5dvEd BGVTfDxEf+nooa65nKM9KTbXtw== X-Received: by 2002:a05:6a00:1490:b0:690:454a:dc7b with SMTP id v16-20020a056a00149000b00690454adc7bmr3035526pfu.28.1694808757000; Fri, 15 Sep 2023 13:12:37 -0700 (PDT) Received: from www.outflux.net (198-0-35-241-static.hfc.comcastbusiness.net. [198.0.35.241]) by smtp.gmail.com with ESMTPSA id k192-20020a636fc9000000b0055bf13811f5sm2994033pgc.15.2023.09.15.13.12.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 13:12:36 -0700 (PDT) From: Kees Cook To: Paul Cercueil Cc: Kees Cook , Harvey Hunt , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , linux-mips@vger.kernel.org, linux-mtd@lists.infradead.org, Nathan Chancellor , Nick Desaulniers , Tom Rix , linux-kernel@vger.kernel.org, llvm@lists.linux.dev, linux-hardening@vger.kernel.org Subject: [PATCH] mtd: rawnand: ingenic: Annotate struct ingenic_nfc with __counted_by Date: Fri, 15 Sep 2023 13:12:35 -0700 Message-Id: <20230915201234.never.868-kees@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1453; i=keescook@chromium.org; h=from:subject:message-id; bh=u7N1dQwnfrzLeR4rYuLcrvgfoIzHpMlv8osLJuSY2+Y=; b=owEBbQKS/ZANAwAKAYly9N/cbcAmAcsmYgBlBLqzjowlIzJmYXlgsM3m8LT0SCSdfQTsxoB/i acbRSZ+5eeJAjMEAAEKAB0WIQSlw/aPIp3WD3I+bhOJcvTf3G3AJgUCZQS6swAKCRCJcvTf3G3A JsI5EACJLga/jCgx7S0K+M8EI9/HpJJsQ4twNYBlge15BlTjzWL6+s3zgE5f7UOcVRpkq67GHb+ FeToD49bp07c9OF4Y2xbpjHB/lYhHing/bv51pliDDUlQLsWicGBOoaC2GT6lwt4fwpqSDtOa9A TA8a1qAJT9wj2WwiEU0Zj8IG49xkuILQt2a6r/pd5AgQQa/FUwVr15kSK7RmRRBejWggW+3rhCa rSgdqJU36g/RBkZcBEQHdRUimIo0VAeZ9ksIsMsxNhv3mxG4m9PXWkwjhDvGrmx+oK7OKRoTu2k 2b37q/dOck12rVK7Zp7OSOXKN09n1QsFSsw20fa4OPreJeAcpFZMJIJPaMZoNvIrcK6RFg0WJQ1 pDaE7yH8U+FQPEIKFguHdPM1dKoDzLxtbmLgyIguyoTQr5el7bk3wxn8X53JOGpA24BQxsHR8nL WygbnLNvYhmDscT7wuWQ8ROnjn25sZUe5TZsLWij0dZdYprGIOy7I5CNhKmP0M3znYsHEJG4/Fh kk175ctq9KqoZmyeJFNBddnk+nbM0Cve21DvPxLyd2Al1nEp8yF9gZzqm6fHeT560E3Vg88ih4b YvODs23KDa5lanCSm99HJ7GXcQAXIj3w2WYkXFMQXl7bUZ+xamamKcWJeD14/oVwjqAkI2rGARw G1gmn7q 2KMQ5WVQ== X-Developer-Key: i=keescook@chromium.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Fri, 15 Sep 2023 13:14:41 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777138785975501636 X-GMAIL-MSGID: 1777168751867358096 Prepare for the coming implementation by GCC and Clang of the __counted_by attribute. Flexible array members annotated with __counted_by can have their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS (for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family functions). As found with Coccinelle[1], add __counted_by for struct ingenic_nfc. [1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci Cc: Paul Cercueil Cc: Harvey Hunt Cc: Miquel Raynal Cc: Richard Weinberger Cc: Vignesh Raghavendra Cc: linux-mips@vger.kernel.org Cc: linux-mtd@lists.infradead.org Signed-off-by: Kees Cook --- drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c b/drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c index 6748226b8bd1..ce9ef4e65597 100644 --- a/drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c +++ b/drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c @@ -46,7 +46,7 @@ struct ingenic_nfc { struct nand_controller controller; unsigned int num_banks; struct list_head chips; - struct ingenic_nand_cs cs[]; + struct ingenic_nand_cs cs[] __counted_by(num_banks); }; struct ingenic_nand {