Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp1103739rdb; Wed, 6 Dec 2023 08:39:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IHBxXvINGICskuJ/rjABWwLwzoIQPpLl9NUvzCHGMx8+ysYXjM3gxQztZG1rZLIh4ZerIXj X-Received: by 2002:a05:6a20:3d85:b0:18f:97c:8a27 with SMTP id s5-20020a056a203d8500b0018f097c8a27mr1472916pzi.82.1701880796006; Wed, 06 Dec 2023 08:39:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701880795; cv=none; d=google.com; s=arc-20160816; b=TMuyPqe7qKwxFt2tm5TlP9Y87rEKcG1HUU+nIDfKGo6yC4GTqE0ueBhqiwq0Z6UndM dNNqt7M1KlVX1G3LnoekugFXj2vS68Bofh9Zd22WgX+xcSJhU2Vs5EpusMCahUUR/swT 3KDyQyOzfQN8PLo6NJMIevV+eHCmG7FlaNP7J7QRsDuqOnksRw1NqrmcC+AwK2farnex CtQ3o3sJv7k8rTZCw7sSI3W9wQjl55eu7lJGQl3q4OL5T/cMaghqnvFX5HwfHU+3NpFk EX/ynK8P4xayjC8biO/QpAPTKtBxgSgeq5ARUmxrG6n+BTB4PRn/XnI8ivXzARX8YKbE Gqtg== 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=JYW6IHVMk/Rqi3AbK+Lnyuj8wyA1o404dWOtxAoUUBc=; fh=VCC6WYO6yC2gHy9FghlNsr4cWcZWyk/rCV6loDF/5cA=; b=VMlx/ZsY12ptGUR0p94sY5YmzUASidV6v34NeLhYya7IfBGcVkud9ApijxgFZLOlSE iw3rzlDukj5JJM80n1NRuhxMh29YNmUUW2fYKUsWS68yjcvG+LSRwdGq/aOFrh+B1cro IbJbdPErmcoL6SFdKdyWzQGcSGXjqnkQY/aGV9fRrWDx62+3s6LnDrTgE0VQgZgxpuru X0lE9vZdX8T+xU7O6nd244IF7MKrh1R1Wz3uPiGSxkQQO5H7jqcBOsmzf/prjSzef1j8 fQWTyyAH95HeFLQD0frvKf4VCD97Xcgr1xP64grsw3RYtowi3konDG1zF/HCVQhblN7U spzA== ARC-Authentication-Results: i=1; mx.google.com; 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=kernel.org Return-Path: Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id bn22-20020a056a02031600b005c677a35334si144156pgb.670.2023.12.06.08.39.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 08:39:55 -0800 (PST) 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; 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=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id D159D827D0D9; Wed, 6 Dec 2023 08:39:53 -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 S1379359AbjLFQjh convert rfc822-to-8bit (ORCPT + 99 others); Wed, 6 Dec 2023 11:39:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1379345AbjLFQjg (ORCPT ); Wed, 6 Dec 2023 11:39:36 -0500 Received: from mail-oa1-f50.google.com (mail-oa1-f50.google.com [209.85.160.50]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E6EF3FA; Wed, 6 Dec 2023 08:39:42 -0800 (PST) Received: by mail-oa1-f50.google.com with SMTP id 586e51a60fabf-1fb2b83986cso4041fac.0; Wed, 06 Dec 2023 08:39:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701880782; x=1702485582; 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=QOpsMpN5kc6thb3d1q4d3kl9xx5Ha381XUlpiCeA7Vg=; b=Skr0ltN7RAh68pvyRQ62RYPCxQkTu3zX5vEV7e88NMba0BheWhtM9OU0p4nbhlQNRp MIMIwcRA90C1ojRWsvZr23RVolctb4WJxh7Oj4o2T6Qgg/A0VaG96mk2m3ceQJuNeF3Z 75fcagUOb/zghK32WzCh7BrrdA1LBxT1WdUR0p2Hn1XEroNWB+/AnJIaikumhAGBUxe/ n+sbxLQqKLlTRgQwiTpIHzgIiOfzciej85BSHAUwWTN8VwxeFWeGMM5RfOa0Jx5UemB4 lxn8z61L7FhDdk5dbR8enUfvh5Ww+URb3rkPfb+N/W6GcrVqDHJHldh710GPlLw3LsYG 9B1Q== X-Gm-Message-State: AOJu0Yykcspxr++1unk5wx2E8XcYlOjSFPOPWjtLZTsuCVl3V4GNavtg vHBeLqx+H4W+i9W8djKOmJUyIcRXbxZcGX7Fi8b3Yv/4qUM= X-Received: by 2002:a05:6870:e2cb:b0:1fb:23ec:3318 with SMTP id w11-20020a056870e2cb00b001fb23ec3318mr2127789oad.0.1701880782199; Wed, 06 Dec 2023 08:39:42 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: "Rafael J. Wysocki" Date: Wed, 6 Dec 2023 17:39:29 +0100 Message-ID: Subject: Re: [PATCH] ACPICA: debugger: check status of acpi_evaluate_object in acpi_db_walk_for_fields To: Nikita Kiryushin Cc: Robert Moore , "Rafael J. Wysocki" , Len Brown , Erik Kaneda , linux-acpi@vger.kernel.org, acpica-devel@lists.linux.dev, linux-kernel@vger.kernel.org, lvc-project@linuxtesting.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 08:39:54 -0800 (PST) On Mon, Nov 13, 2023 at 2:33 PM Nikita Kiryushin wrote: > > Errors in acpi_evaluate_object can lead to incorrect state of buffer. > This can lead to access to data in previously ACPI_FREEd buffer and > secondary ACPI_FREE to the same buffer later. > > Handle errors in acpi_evaluate_object the same way it is done earlier > with acpi_ns_handle_to_pathname. > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > Fixes: 5fd033288a86 ("ACPICA: debugger: add command to dump all fields > of particular subtype") > Signed-off-by: Nikita Kiryushin > --- > drivers/acpi/acpica/dbnames.c | 8 ++++++-- This is ACPICA code which comes from a separate project. The way to change it is to submit a pull request with the desired change to the upstream ACPICA project on GitHub and add a Link tag pointing to the upstream PR to the corresponding Linux patch. Then, the Linux patch can only be applied after the corresponding upstream PR has been merged. Thanks! > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/acpica/dbnames.c b/drivers/acpi/acpica/dbnames.c > index b91155ea9c34..c9131259f717 100644 > --- a/drivers/acpi/acpica/dbnames.c > +++ b/drivers/acpi/acpica/dbnames.c > @@ -550,8 +550,12 @@ acpi_db_walk_for_fields(acpi_handle obj_handle, > ACPI_FREE(buffer.pointer); > buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER; > - acpi_evaluate_object(obj_handle, NULL, NULL, &buffer); > - > + status = acpi_evaluate_object(obj_handle, NULL, NULL, &buffer); > + if (ACPI_FAILURE(status)) { > + acpi_os_printf("Could Not evaluate object %p\n", > + obj_handle); > + return (AE_OK); > + } > /* > * Since this is a field unit, surround the output in braces > */ > -- > 2.34.1 > >