From patchwork Mon Oct 23 18:32:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe JAILLET X-Patchwork-Id: 157029 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce89:0:b0:403:3b70:6f57 with SMTP id p9csp1480005vqx; Mon, 23 Oct 2023 11:33:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFQxC8N4mjiqejPv2bVoDktEUHiEoMiKkbDMsSzWEPtZRCYQsNojo1LsGawOHeQM6G3KcTM X-Received: by 2002:a05:6a21:798a:b0:14d:4ab5:5e34 with SMTP id bh10-20020a056a21798a00b0014d4ab55e34mr361306pzc.51.1698086001686; Mon, 23 Oct 2023 11:33:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698086001; cv=none; d=google.com; s=arc-20160816; b=wVjMjnIFUfjoQcZ2HOrOfm5wsPhNkEr9QZkU2YMLyui4K1dodK/5/lcOwyvBU4nFzz af0fHtTYY7s936E0geNfV1YaTF1jczda2mNautckG6swPYCZ00HZvf8yqNUPPgHn4YM/ pROZ7cZZ740Zw252+S4Jems9IjRe7uS+zGE43d1ZDHgYBjFxRMJsVH1cCEx5ydPI3HhM +1bCAsvdg79D6t30vPpDe4sG3wYPihtsCyiTIQl5oAf+RyyEgN1OIZzNhQ+81GzLW+hS UDx9rNB2vDOLRH/Xt0e9UGB/RJZt1RO1Rnref2jKhjdBFBExXW/n46ZhVo48DGRj4lpk M5Jw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=FMjgweLhTo5SkdcoVkpbQPkyPY7V0wNxVnhTVFmu8Uw=; fh=BqhVhkt11hdmkbujRH8QIfD2cez9lYpeRoddPZBJma8=; b=BZnnmLJ2ZX5TwNf8fCwftXzoCsc8oKbk8kA8nx3dTUEVRuNFKuLQ4fhsTZYHAmH6sC UciyyvuC7Eank8tfD9nH6ywpqKOdo/F9tn4N/7PMGFGSW0Z2C/r5XK4N6j31vTSBTTgb 2zrEHmE+yM7+lOnY7OW2pcwSBMs+ejGBplI8QNLBbwZH7wegcmolUWDjJnPseueaU5o5 Vp+tgF1YX3I10KEGf66mxjyiDrib1Sfio6s9VnvgYti7HAODvw0Gyv7+z/7RvbFVGX6G uyC7NJu22Pl3E7jeMfX5yASYTeXyLzaLv3E/TcDlPnDHRD3xYho7khKlBmcgy/q5NtJa k2wQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@wanadoo.fr header.s=t20230301 header.b="emNSBpG/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=wanadoo.fr Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id b2-20020a17090a990200b002777ce4c9e6si6892189pjp.72.2023.10.23.11.33.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Oct 2023 11:33:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@wanadoo.fr header.s=t20230301 header.b="emNSBpG/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=wanadoo.fr Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id A136C8032C58; Mon, 23 Oct 2023 11:33:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230121AbjJWSdK (ORCPT + 27 others); Mon, 23 Oct 2023 14:33:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231222AbjJWSdJ (ORCPT ); Mon, 23 Oct 2023 14:33:09 -0400 Received: from out.smtpout.orange.fr (out-15.smtpout.orange.fr [193.252.22.15]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA551B7 for ; Mon, 23 Oct 2023 11:33:05 -0700 (PDT) Received: from localhost.localdomain ([89.207.171.96]) by smtp.orange.fr with ESMTPSA id uzjXqFyhBlciauzjaqWBr8; Mon, 23 Oct 2023 20:33:03 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1698085983; bh=FMjgweLhTo5SkdcoVkpbQPkyPY7V0wNxVnhTVFmu8Uw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=emNSBpG/a9z3B1LDISJdjQaKSpJTUuKZpDTHiYtYZlavdx3+54rvcUgu0Cn2sHtnl 3FOcFQnp8G5lOpqX9RY0+ui+ci8ifYkIARA+gttPtI+ytelf1TlFTL80WgtS0+yRFe BAmDhOQYLMaQgpbMSW30h0IIfvUfSwQl1o3aEz/t5HqWgKGFN0G1nj+F03Prik93zi jXQ0MuoExuirfsSiR6of0Bk9z+685/GYw7SQfZM6cmnzFjt5VEKxkRk7kRUUHQRP6W sAntpAAf820X/JJyE8N0YeshMzhBqn5vqASJOvWRj679qL5D4SzO6V1RH4QTgrN9cT +VqLoqedq9CDw== X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Mon, 23 Oct 2023 20:33:03 +0200 X-ME-IP: 89.207.171.96 From: Christophe JAILLET To: rafael@kernel.org, lenb@kernel.org Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH 1/4] ACPI: sysfs: Fix the check for a potential string truncation Date: Mon, 23 Oct 2023 20:32:54 +0200 Message-Id: <20001867d5d19c3b3e677f6020750cc232b3325b.1698081019.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=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 lipwig.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 (lipwig.vger.email [0.0.0.0]); Mon, 23 Oct 2023 11:33:19 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780572227513966850 X-GMAIL-MSGID: 1780572227513966850 snprintf() does not return negative values on error. To know if the buffer was too small, the returned value should be compared with the length of the passed buffer. If it is bigger or equal, then the output has been truncated. Update the test for truncation accordingly. Also return -ENOMEM in such a case, as already done below in the same functions. Fixes: 8765c5ba1949 ("ACPI / scan: Rework modalias creation when "compatible" is present") Signed-off-by: Christophe JAILLET --- drivers/acpi/device_sysfs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/acpi/device_sysfs.c b/drivers/acpi/device_sysfs.c index 9d8e90744cb5..4deb36dccb73 100644 --- a/drivers/acpi/device_sysfs.c +++ b/drivers/acpi/device_sysfs.c @@ -158,8 +158,8 @@ static int create_pnp_modalias(const struct acpi_device *acpi_dev, char *modalia return 0; len = snprintf(modalias, size, "acpi:"); - if (len <= 0) - return len; + if (len >= size) + return -ENOMEM; size -= len; @@ -212,8 +212,8 @@ static int create_of_modalias(const struct acpi_device *acpi_dev, char *modalias len = snprintf(modalias, size, "of:N%sT", (char *)buf.pointer); ACPI_FREE(buf.pointer); - if (len <= 0) - return len; + if (len >= size) + return -ENOMEM; of_compatible = acpi_dev->data.of_compatible; if (of_compatible->type == ACPI_TYPE_PACKAGE) {