From patchwork Fri May 3 13:53:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiang W X-Patchwork-Id: 1931043 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=lcP85Nw7; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=126.com header.i=@126.com header.a=rsa-sha256 header.s=s110527 header.b=V1a7OqWi; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VWC4b5WZhz1ybC for ; Fri, 3 May 2024 23:55:43 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=x+ygSCIXZ89OH+r2UdY2j8u5JPtH74zTLdRnlJm2mEM=; b=lcP85Nw7y3XYe+ G7v4AJ5/7Q9I9IAY23jbG3/kGvdAjf7FNKURPCaRM4zOL/fS/Rte0O8c+tw1XZcUlP/LdIeDllz8o 05S63Ky2UqMwo3NXFCYaGKHtH95Re2XImytokfG7J26doSCgjiJCvEj0oi5c0FsKY32ibnWCxsyVR wCP0bbg3nPwyqKAlpbV6mfpvxp/bLCY+h+yvGAWvqJdYORQ9S1jNg5VvHWs2UaXHvMj1p3a1D1VcX ojPHDI0j3LynzJXmjGhDb3upvAe9Ufse0RFsyDIgYoGWgyLv5nwCoABNPQnMD5QZlulIgsl3SyYX6 aLhmt+to88wwlhFrsK8A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s2tNx-0000000GkOn-3d3W; Fri, 03 May 2024 13:55:37 +0000 Received: from m16.mail.126.com ([117.135.210.9]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s2tNt-0000000GkLG-0nqa for opensbi@lists.infradead.org; Fri, 03 May 2024 13:55:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=LQBZs RVD5CD+tX7YrKmrpyf2GjbW/1lK29VD+hs+uHc=; b=V1a7OqWiG2/CBJEf/tuOG UkvKvl6HZedUx6Bm/pDer/EWQfCxftLrl8xfl7Tv0DseCJse5MFn0DZWDnmvLqee dAKUcbDRuuE7TI0zK6KFU0Hq8wTsFXdfo2y57/7WPps31XfsUF3xrPXPo5A4zYkK am6eI3uqJebCCb2qGC2i3o= Received: from T490.lan (unknown [36.153.54.93]) by gzga-smtp-mta-g1-5 (Coremail) with SMTP id _____wDnL3Fl7DRmyPi6Bg--.47168S6; Fri, 03 May 2024 21:53:45 +0800 (CST) From: Xiang W To: opensbi@lists.infradead.org Cc: Xiang W , hchauhan@ventanamicro.com, anup@brainfault.org Subject: [PATCH v3 4/6] lib: sbi: Fixed memory permission check in sbi_dbtr_setup_shmem Date: Fri, 3 May 2024 21:53:36 +0800 Message-ID: <20240503135340.310030-5-wxjstz@126.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240503135340.310030-1-wxjstz@126.com> References: <20240503135340.310030-1-wxjstz@126.com> MIME-Version: 1.0 X-CM-TRANSID: _____wDnL3Fl7DRmyPi6Bg--.47168S6 X-Coremail-Antispam: 1Uf129KBjvJXoWrKFyxCry3ZF1DuFWrGFW8Xrb_yoW8Jryfpr 4kWFyxtrW0qryIyasrK3Z5Za4jkw40ya1jga9FkFnYya1kZw18Cr4agw1q9Fy3AFykJw17 C3W8CF47ZF43XF7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0ziLSdDUUUUU= X-Originating-IP: [36.153.54.93] X-CM-SenderInfo: pz0m23b26rjloofrz/xtbBdArTOmSdL5OEgAAAsW X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240503_065534_017897_935EF606 X-CRM114-Status: UNSURE ( 7.77 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The previous code detected shmem_phys_hi and shmem_phys_lo as two addresses. fix this bug Signed-off-by: Xiang W Reviewed-by: Himanshu Chauhan --- lib/sbi/sbi_dbtr.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [wxjstz(at)126.com] X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The previous code detected shmem_phys_hi and shmem_phys_lo as two addresses. fix this bug Signed-off-by: Xiang W Reviewed-by: Himanshu Chauhan --- lib/sbi/sbi_dbtr.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/sbi/sbi_dbtr.c b/lib/sbi/sbi_dbtr.c index 94fd049..a95f087 100644 --- a/lib/sbi/sbi_dbtr.c +++ b/lib/sbi/sbi_dbtr.c @@ -293,17 +293,11 @@ int sbi_dbtr_setup_shmem(const struct sbi_domain *dom, unsigned long smode, if (shmem_phys_lo & SBI_DBTR_SHMEM_ALIGN_MASK) return SBI_ERR_INVALID_PARAM; - if (dom && !sbi_domain_check_addr(dom, shmem_phys_lo, smode, - SBI_DOMAIN_READ | SBI_DOMAIN_WRITE)) + if (dom && !sbi_domain_check_addr(dom, + DBTR_SHMEM_MAKE_PHYS(shmem_phys_hi, shmem_phys_lo), smode, + SBI_DOMAIN_READ | SBI_DOMAIN_WRITE)) return SBI_ERR_INVALID_ADDRESS; - if (shmem_phys_hi != SBI_DBTR_SHMEM_INVALID_ADDR) { - if (dom && - !sbi_domain_check_addr(dom, shmem_phys_hi, smode, - SBI_DOMAIN_READ | SBI_DOMAIN_WRITE)) - return SBI_ERR_INVALID_ADDRESS; - } - hart_state = dbtr_thishart_state_ptr(); if (!hart_state) return SBI_ERR_FAILED;