Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp1234621rdb; Wed, 6 Dec 2023 12:23:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IHN1No4dIsCWCyS2QVaOKJclnsFYDGVILb5Pnxj6SiXzDyE4hh9B6Blvk0C0nJ28qQjdMMy X-Received: by 2002:a17:903:244d:b0:1d0:9013:a156 with SMTP id l13-20020a170903244d00b001d09013a156mr1459314pls.40.1701894180569; Wed, 06 Dec 2023 12:23:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701894180; cv=none; d=google.com; s=arc-20160816; b=qX3B+I/Zx93s7YWlD0cWaqzzlB8Wolwjc+s2p7itu5pX02rJAqXvfjjfQvUHymzMIh x3FMZuuwRU0LvLMb43IC6yMMG+6KQ2eq73jS9t/4eOTbH5cD8mPPEFL1f/1fhSRifIhy IJiNYJIED8Xyc9yhdIoRLMD2PJnfi/97bPLghJSv1GGPLA3gslH5nIiwyEISIM5q3svk uL2uAyK3XchzoH8eIxftkVbRxMjD5sV2TDvLjvUhJ1/eIq6XuQq9O8XwrTGWiQclz3Vg ilaMk5I6tG1136vt474AGKqcBH0PIjudpn1mCPz663rWP/2PCGhj4mlmFbrUB/MPBfJx fLzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version; bh=w2HdFsvhQO49gG2rXwrn0EpfQlwiCd4kDDJ5kdMlWIg=; fh=8W7YJiU8limITizD29B+JG/2qGYngLjHeCY2oQLJtbw=; b=EGKSyF++aWXiLy4bzPlhcqoTtlGYYfLugTlP9boIuzbHF6TnNz8LOEQortP0hwcdhF 0osfrBm23SDr7X8Z/9qRNEPZ2PxA3+peSnaxt5mOF1xMATurOKvZRAM5oSmrF5rjl083 Z8wwdzJFduFAkoaXsFNUT165ijSbzoSEJBnVtH3dgC7+Gmxtq0PEJdmnT2uFQzt2x3K5 cZRDl4z1c81nBfWqcBdqvl5myBGFoO8vnQEB23R5mVAYXFjN3NpOASnNokx5AlcB49c7 uYwAL3GjU1RYb9QE15ZhO+RofFL4IJR/s1gN1ei76T8rXVczbalf4AEFaME2JDdw8TJI cPmQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id n5-20020a170902e54500b001d0b0334bd3si335761plf.375.2023.12.06.12.23.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 12:23:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id A40FA82A5157; Wed, 6 Dec 2023 12:22:57 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1442871AbjLFUWj convert rfc822-to-8bit (ORCPT + 99 others); Wed, 6 Dec 2023 15:22:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58952 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1379461AbjLFUWi (ORCPT ); Wed, 6 Dec 2023 15:22:38 -0500 Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E75C0D1; Wed, 6 Dec 2023 12:22:44 -0800 (PST) Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-1fb00ea5e5fso33882fac.1; Wed, 06 Dec 2023 12:22:44 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701894164; x=1702498964; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1j41kzx3s+Lo9n7iUVy0Ar6AWX6l9HBvX9XWuY/yvyU=; b=EOcENLNTyfbIW8tSVOelHRwzhNl6IXl9pS80DwFYjozzh4qqHAUbnr3+6t8m9yY5Pl +IIz8i+drj/BKzQb3PEz5EcTqjSz+UpG2tRIlu2Pb4uTl6Ie8AFh3z5gEL9/QwyS3AxC Gk2t+H6OYOtc3t5ZUwrmZ/A8xu5FwjU/mxMBBoix3UcbiEiC1l/YZZP5XswNFj+6aJF+ cG/IYaSkjOJ8eMS5GAfNIaLc57FE/B9uaIRYTMSIDbf35jaYIqL/VC/jnzi0gNwYLWKK ARf0B1aIFbd/FgAdnKnQya2kouPPAfbeUsU6Qc7AGHGtIcR1YQlxmIhEP+GJoidiXMDA Gwsg== X-Gm-Message-State: AOJu0YzoQ2u5l6dav2YnziO6sdzu5In9desLJYW+Q6DnAPaD/hcZUJTQ CoS3q1FnRV+QNnWCMN0PIlZVc++Bk0Pfv55Xyvw= X-Received: by 2002:a05:6870:b69a:b0:1fb:9b:3d4c with SMTP id cy26-20020a056870b69a00b001fb009b3d4cmr2893274oab.0.1701894164249; Wed, 06 Dec 2023 12:22:44 -0800 (PST) MIME-Version: 1.0 References: <20231204180037.383583-1-prarit@redhat.com> In-Reply-To: <20231204180037.383583-1-prarit@redhat.com> From: "Rafael J. Wysocki" Date: Wed, 6 Dec 2023 21:22:33 +0100 Message-ID: Subject: Re: [PATCH] ACPI: extlog fix null dereference check To: Prarit Bhargava Cc: linux-kernel@vger.kernel.org, "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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]); Wed, 06 Dec 2023 12:22:57 -0800 (PST) On Mon, Dec 4, 2023 at 7:00 PM Prarit Bhargava wrote: > > The gcc plugin -fanalyzer [1] tries to detect various > patterns of incorrect behaviour. The tool reports > > drivers/acpi/acpi_extlog.c: In function ‘extlog_exit’: > drivers/acpi/acpi_extlog.c:307:12: warning: check of ‘extlog_l1_addr’ for NULL after already dereferencing it [-Wanalyzer-deref-before-check] > | > | 306 | ((struct extlog_l1_head *)extlog_l1_addr)->flags &= ~FLAG_OS_OPTIN; > | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ > | | | > | | (1) pointer ‘extlog_l1_addr’ is dereferenced here > | 307 | if (extlog_l1_addr) > | | ~ > | | | > | | (2) pointer ‘extlog_l1_addr’ is checked for NULL here but it was already dereferenced at (1) > | > > Fix the null dereference check in extlog_exit(). > > [1] https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html > > CC: "Rafael J. Wysocki" > CC: Len Brown > CC: linux-acpi@vger.kernel.org > Signed-off-by: Prarit Bhargava > --- > drivers/acpi/acpi_extlog.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/acpi_extlog.c b/drivers/acpi/acpi_extlog.c > index e120a96e1eae..193147769146 100644 > --- a/drivers/acpi/acpi_extlog.c > +++ b/drivers/acpi/acpi_extlog.c > @@ -303,9 +303,10 @@ static int __init extlog_init(void) > static void __exit extlog_exit(void) > { > mce_unregister_decode_chain(&extlog_mce_dec); > - ((struct extlog_l1_head *)extlog_l1_addr)->flags &= ~FLAG_OS_OPTIN; > - if (extlog_l1_addr) > + if (extlog_l1_addr) { > + ((struct extlog_l1_head *)extlog_l1_addr)->flags &= ~FLAG_OS_OPTIN; > acpi_os_unmap_iomem(extlog_l1_addr, l1_size); > + } > if (elog_addr) > acpi_os_unmap_iomem(elog_addr, elog_size); > release_mem_region(elog_base, elog_size); > -- Applied as 6.8 material with minor edits in the subject and changelog, thanks!