Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp5461611pxb; Sun, 13 Feb 2022 22:41:33 -0800 (PST) X-Google-Smtp-Source: ABdhPJyHp53wdnMJ8EYsblEz2y1C2er+v1YjnxM2IdrCQtQ98N+ZrxMWXQwqYN9VWRS8ss0lijUj X-Received: by 2002:aa7:c48d:: with SMTP id m13mr6830570edq.191.1644820893742; Sun, 13 Feb 2022 22:41:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644820893; cv=none; d=google.com; s=arc-20160816; b=ESpQ0W3Wu2HEvMIYOfVDW9Q1wRQTuEl/3Jnl8EtKfP4qVWjMZnjrg3Qhj/h5BMDNcj 3GmrXcGHhwVxNbx7a6ZRIwsY1Df99AZxkG2x1vMViVezDEQ8wCwycQPSQgcNu2wnvJMz svbZm8hWyDUo2POU5YEcXMMnL2C74QGiwG83du+yBEwJ/MnoNKUzV4qteTaLvGDcH378 x3LNgU2KknOAdLzjgQgk2mHKRS6dv5N/0dj/EAa5+mfVWJ/C8XZLjfOWzVTGuIl3PLt8 xj1zTBrat5T+xvRsNiGO3yZW67OSF2AkXm4+pmFzl94vs3Boe3YbOiYWTvL6cYESFYP4 RZ3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :mime-version:accept-language:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from; bh=izm89fw04tvCH697dOFfXwVhVw8P2jKG+lPtVRkjeGM=; b=rvj10WmVa7rc8SC2kfLyjziHZuOG0PYnTyE7tyoNPQ1CvO/2YLrsl5fEuPW6oD0btJ 0GK+rMTzrOERQAhkCJt2/c9LbFwAiJBlqDoo7O+ufQ4TLk/hqYeAf7pzMMnyOqqrIS45 TOCPLqPBPN17nchDTjJWAwYDw++wpdZUq5kz3FX5/GQ+vG6Todt0X9rKNHuouzaH1qkB lhHKGfp56fN1kpZa3/m8mGfdd/h+9xOmmJoSshYZevE4Op5oKJ7ro5Ek13HrEo2yRlLl b6uh9MsBvuE/MDqrmDh0jGxwm+8udZNMdugJ1ZUEj69WpkxF72Cq/S33sZnzBNA4Mkyv L0mQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ee38si15573717edb.26.2022.02.13.22.41.10; Sun, 13 Feb 2022 22:41:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233288AbiBMDd5 convert rfc822-to-8bit (ORCPT + 99 others); Sat, 12 Feb 2022 22:33:57 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:41516 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233067AbiBMDd4 (ORCPT ); Sat, 12 Feb 2022 22:33:56 -0500 Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.86.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 3CDF35F26F for ; Sat, 12 Feb 2022 19:33:50 -0800 (PST) Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-59-m5e4icDAO8m0cbi-5HV2aQ-1; Sun, 13 Feb 2022 03:33:46 +0000 X-MC-Unique: m5e4icDAO8m0cbi-5HV2aQ-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) by AcuMS.aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Sun, 13 Feb 2022 03:33:44 +0000 Received: from AcuMS.Aculab.com ([fe80::994c:f5c2:35d6:9b65]) by AcuMS.aculab.com ([fe80::994c:f5c2:35d6:9b65%12]) with mapi id 15.00.1497.028; Sun, 13 Feb 2022 03:33:44 +0000 From: David Laight To: 'Kees Cook' , Robin Murphy CC: Ard Biesheuvel , Victor Erminpour , Lorenzo Pieralisi , Hanjun Guo , Sudeep Holla , "Rafael J. Wysocki" , Len Brown , "ACPI Devel Maling List" , Linux ARM , Linux Kernel Mailing List , "trivial@kernel.org" Subject: RE: [PATCH v2] ACPI/IORT: Fix GCC 12 warning Thread-Topic: [PATCH v2] ACPI/IORT: Fix GCC 12 warning Thread-Index: AQHYH6jGUiwsSGsVWkybqVzsUhE0OqyQ00mw Date: Sun, 13 Feb 2022 03:33:44 +0000 Message-ID: References: <1644518851-16847-1-git-send-email-victor.erminpour@oracle.com> <202202101415.43750CEE@keescook> <3740c93e-9fde-f89f-9752-26ffff3ea274@arm.com> <202202111623.A7881CC@keescook> In-Reply-To: <202202111623.A7881CC@keescook> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kees Cook > Sent: 12 February 2022 00:38 .... > > Sure. I think I am trying to take a pragmatic approach here, which is > that gaining auto-var-init is a big deal (killing entire classes of > vulnerabilities), but it comes with an annoying compiler bug (that we do > get a warning about) for an uncommon code pattern that is easy to fix. My worry about the compiler setting variables to zero is that people will get lazy and assume it happens. Then some code will get compiled without that enabled (possibly because it slows things down too much) and then really horrid bugs start to appear. If the intent is to detect code that is failing to initialise locals then setting to a non-zero value (that is likely to cause grief) is much better than setting to zero. I'm particularly worried if the compiler starts to zero on-stack arrays. There is plenty of userspace code that will use char buff[MAX_PATH] to build a filename or char errmsg[1024] for an error message. At the moment the size only needs to be 'big enough' but if the compiler zeros it then there are performance issues and oversize buffers make a difference. At which point you start making the arrays 'just big enough' and then fall foul of truncations and overruns because the calculation was wrong. Definitely double edged. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)