From nobody Thu May 2 00:49:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) client-ip=209.85.221.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620251483; cv=none; d=zohomail.com; s=zohoarc; b=IN6SkMf2BMD6uHZpuiFo1/HvzcriPdGNKBm5AMXQUDnTI6lwAeILMkkcP68OQt4KA8qp35fnZtulNXGWTKb9ubhlsRRswqwRs5EBl1QQmHGT0rqpyDQdIRGqiBWOj1SEpeQmwi+IoSOv6sQNCXa63DvCcdObsl0gXZGlIkhHFt8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620251483; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Sender:Subject:To; bh=pg4oHiP5yTuClMKy0Md71jLBxmMfsqd53OGzJZO/D38=; b=guYuJN3HxcNQeUXXYayzOOTe3slz69yzyQlRrb4/c9x4iWaG8nYUqAPDH9DMmRAvM/rXPbT+lT/cFowkOLbPqnuj6mU1UEwWwODpM0SLyW4v0Eltw+5zwWIkrTs5TTq1Ztxe+FR7Gp0VVcF4AyV80/surqF8KPgL+jMVO/fVsHk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by mx.zohomail.com with SMTPS id 1620251483546145.50826666906698; Wed, 5 May 2021 14:51:23 -0700 (PDT) Received: by mail-wr1-f46.google.com with SMTP id a4so3417029wrr.2 for ; Wed, 05 May 2021 14:51:22 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (astrasbourg-653-1-188-220.w90-13.abo.wanadoo.fr. [90.13.127.220]) by smtp.gmail.com with ESMTPSA id t17sm691954wmq.12.2021.05.05.14.51.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 May 2021 14:51:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=pg4oHiP5yTuClMKy0Md71jLBxmMfsqd53OGzJZO/D38=; b=a96Vw6UeVh+zJ4oGNtSRQj40RdWZ+2I587eZqxY2HWcbDQQLkk4poy4uzrnEO7sPBJ eGV0BSauRpNZC+YFOvj92dxmhct6L5UnPAUqQttKxuxHF3Rogbs5gPsg8H/b9okEjBfr 2jSzheshZk1RP5GBZWcxZLUDLYyJ2bZrqATyHW5lY2kNinseGLtXUz1Sj+pVvRv2bJlv 0YE/DezPpldEWQMwsjevGfNdBupDDmR1x64AD12sCH6hnHbdk8SpVQTjR1ri8vr1w5J3 tv7zwJjtRvkqfoSPXxkd6bdzO8ZpNpkW0BT+an2HtnPk1aBjmNyYfPs4yIwgqLLBk1kf XASA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=pg4oHiP5yTuClMKy0Md71jLBxmMfsqd53OGzJZO/D38=; b=eRXR1Cei3E0crXK4gIui909nNVqoE3115UwqNKOg8NoEw9H87krJnHhqiu9vGT3dkH jmrwY5/vSlDgR6eK2OhwHXMY/QEgrWRAuWivRz4Z5wW76I//7gjYy+FW1lr9X302ayGf znQVmr+GQQj1eyJ7rNhZAnYcSB5Dwx+3rnPJVmsmzO4Sq1mWZ7wImiLfHJO3h9hNPbA9 wvdZmOl5/ozpzKHQMn8mguKpN9XcahadUg7/rOMfmG5p1ASfTeyVzOw7Vkm/bWsG+4hY qsG/l0E09oCovGO5mBGrvY/bf8jagLHAguJrFZZV8ZDd7Np1jo8Rfz+QtZatmKKdDz1e /6GQ== X-Gm-Message-State: AOAM533muvfK5qFyJihMWV5R3V0DMB1gbRAe8ekh75ELclxNHWW3mW7B tMarQbV0F9vzxC/4P9paT+L5JkImxfSeWQ== X-Google-Smtp-Source: ABdhPJzoHz26Al9RavXLv94HqnHWxie04eUV0lbL2CkzAgsE74zi7FxNnR7bC27fPUynrP09AUVVGg== X-Received: by 2002:a05:6000:1143:: with SMTP id d3mr1202995wrx.404.1620251481679; Wed, 05 May 2021 14:51:21 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Aleksandar Rikalo , Richard Henderson , Aurelien Jarno Subject: [PATCH] target/mips: Fix potential integer overflow (CID 1452921) Date: Wed, 5 May 2021 23:51:19 +0200 Message-Id: <20210505215119.1517465-1-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Use the BIT_ULL() macro to ensure we use 64-bit arithmetic. This fixes the following Coverity issue (OVERFLOW_BEFORE_WIDEN): CID 1452921: Integer handling issues: Potentially overflowing expression "1 << w" with type "int" (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "uint64_t" (64 bits, unsigned). Fixes: 074cfcb4dae ("target/mips: Implement hardware page table walker") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tcg/sysemu/tlb_helper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/mips/tcg/sysemu/tlb_helper.c b/target/mips/tcg/sysemu/t= lb_helper.c index 259f780d19f..a150a014ec1 100644 --- a/target/mips/tcg/sysemu/tlb_helper.c +++ b/target/mips/tcg/sysemu/tlb_helper.c @@ -17,6 +17,7 @@ * License along with this library; if not, see . */ #include "qemu/osdep.h" +#include "qemu/bitops.h" =20 #include "cpu.h" #include "internal.h" @@ -659,7 +660,7 @@ static int walk_directory(CPUMIPSState *env, uint64_t *= vaddr, w =3D directory_index - 1; if (directory_index & 0x1) { /* Generate adjacent page from same PTE for odd TLB page */ - lsb =3D (1 << w) >> 6; + lsb =3D BIT_ULL(w) >> 6; *pw_entrylo0 =3D entry & ~lsb; /* even page */ *pw_entrylo1 =3D entry | lsb; /* odd page */ } else if (dph) { --=20 2.26.3