From nobody Mon Oct 6 06:29:00 2025 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BD5CB244664 for ; Thu, 24 Jul 2025 23:37:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753400234; cv=none; b=qtMGbhVL20vOPgC/IwIovcDGvcgfDfZLh2xB034rSQ1RkfvzPV1Xy54OLzU3Rrw2RVs8uMR7NfDrk9kKJJlTRReC5ImRYlmEB2i+ArCj1GS4D6KWlOG1/gYuqXQQffVq8c7m/cp+M5op2dnaOA+NPzS8Ko4DkF/dkiVplPzhFTI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753400234; c=relaxed/simple; bh=TX7QOESfiwCfuH+ZcQKgbvec7xRD+j3+tnkSFJsy5gU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gonGLoycTQBNf7Nd1uMWwsNZue0KAosmKdiAOws51fVV38MHTpkC/v0cnNMZVvCUSycUaxDQbMZ5XR73I1pEhHPX/I7gGGjZ0Zf3NaVCUrtPbBvRVfmTutJDdhHQl8MadvK3xrhhUV6W2EGm5da6SSTSFqXhPpxY6GxVc1LRDCo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com; spf=pass smtp.mailfrom=rivosinc.com; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b=V8nwCQMx; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b="V8nwCQMx" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2350fc2591dso19146405ad.1 for ; Thu, 24 Jul 2025 16:37:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1753400232; x=1754005032; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=OvHRga/2x06e/3IXRCXpOvSv81ZyfpTLSHYXhuUCgAU=; b=V8nwCQMxaJRaZSkE8Q9XfpchnwOAf7K/akQyDpW56n89+N2k9ODBSN94MDijgvBOFu Ul8Z8xWijZVSsxSdLy5i6EOBaUgbcZe++36xg+HxnpPeZMWmwHFA/442N0aPD5vcJRvF j5wbSly+rBBlS5RowU7VhxN6PWie+cQGkVkQtqlXjQGiOXU1n7F/KjFARXNCynoLcDLs 1fXz68Cj/Br+ycRQEMy0ca4Vp4RyK9iwg0kyBBfURBdBtyAPyMoGqQoiNEHy2WmOiVry IWfyrtBOiOWgagzJWqyjZ7BMsOmbpjPi2R77TF+PU+UUx+s1YnhA147CfLBxK3oxeE0J LCtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753400232; x=1754005032; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OvHRga/2x06e/3IXRCXpOvSv81ZyfpTLSHYXhuUCgAU=; b=MRVni5pWJLaU9NFHtL1JiI9ZMak7+0c2fVL/d6Gr4bXIXfiyBAMQk6MbC6ZPOjkmbr s4NSLaI8/vADRgL6h2KojAnMtTAl+4af63lwiZuxi8gtMe+ronsidFH0/nuDYjfGFyBA 0O2udyVVuEsJnZzHrnJltr7RcJLRjR/UBcAfBrb9sbWQ3fQXZmDuyINhIzVJ+SxXjNFU +gqzvzz+IDE6eRYa1u9Dnwmwf0rhFKNTuTDZiAGRmPBK7Fdi+StrAvpIjPJIr4Fvn73+ MapK3cB1SJR/1gIaqCU0JXixWIauztutxmwjQ+5Zym6fF83yZywO0pQIc5oN+XJNrFmB 9Llg== X-Forwarded-Encrypted: i=1; AJvYcCWcm6qyfa5MEuLUXGpC8KWuH03O9DFQBG9g2rGVbXbYDL3fhiS9eyw0JxvzEl60akgcHMppZheuqPBqZko=@vger.kernel.org X-Gm-Message-State: AOJu0Yyr2kFh2nQW4ov3LghixbKko0MmKln/LCTQTfLWRhJkcaHZhopo 82Ag9Zbwkc5AdEGa/PE2HvMmYn6C8gJg976TdYH3pz+mGYrXonj/IIbBmKOns3U1sas= X-Gm-Gg: ASbGncsRySkanBtkXE/GkIv9cCLm7XDQhORehYvFpkx0dc05y1qlm7p0dpG+4TVZiZZ dH2md8ndSvTFmbx0dokt5nQVo0n+XSWn1W1/u6ucu8Fr+xzlVcc2aPoq5OW7qKLqk/pvbTr5L8x Xyp8NIrz+y83Pm6sFy5FmXOEjuumhPMWQz88JOK18szLkO160Ic7jF0oxWzYrxDv2QGioiRoOYZ QLeILUTfcyBK4wI9ebemRlZcIpoOGPL3zMrvKzpJfZqulhLjqz7KEwOH/5GaQVScX9A4AcaJsac bVE8O30Alfa/OiFu+Eiha6LUfrmWDZeJiXJuCx+rusyvd4Ni+i+P1ggyDO517UpKQCVUYieV6CC qtb2HrMDn2yw4RptCk/xtyX0NPLYejbtF X-Google-Smtp-Source: AGHT+IHlehaeba0g7zvJWooWl20RVESgD35SdGjk7uZPTtlJW4lACDouf6PruSCC8hJSgeGX0h9FOQ== X-Received: by 2002:a17:903:28d:b0:236:15b7:62e3 with SMTP id d9443c01a7336-23fa5d12ce3mr54400555ad.9.1753400231958; Thu, 24 Jul 2025 16:37:11 -0700 (PDT) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23fa48bc706sm23598685ad.106.2025.07.24.16.37.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Jul 2025 16:37:11 -0700 (PDT) From: Deepak Gupta Date: Thu, 24 Jul 2025 16:36:56 -0700 Subject: [PATCH 03/11] riscv: indirect jmp in asm that's static in nature to use sw guarded jump Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250724-riscv_kcfi-v1-3-04b8fa44c98c@rivosinc.com> References: <20250724-riscv_kcfi-v1-0-04b8fa44c98c@rivosinc.com> In-Reply-To: <20250724-riscv_kcfi-v1-0-04b8fa44c98c@rivosinc.com> To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Masahiro Yamada , Nathan Chancellor , Nicolas Schier , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Nick Desaulniers , Bill Wendling , Monk Chiang , Kito Cheng , Justin Stitt Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-mm@kvack.org, llvm@lists.linux.dev, rick.p.edgecombe@intel.com, broonie@kernel.org, cleger@rivosinc.com, samitolvanen@google.com, apatel@ventanamicro.com, ajones@ventanamicro.com, conor.dooley@microchip.com, charlie@rivosinc.com, samuel.holland@sifive.com, bjorn@rivosinc.com, fweimer@redhat.com, jeffreyalaw@gmail.com, heinrich.schuchardt@canonical.com, andrew@sifive.com, ved@rivosinc.com, Deepak Gupta X-Mailer: b4 0.13.0 Handwritten `__memset` asm routine perform static jumps within function and uses `a5` to do that. This would require a landing pad instruction at the target. Since its static jump and no memory load is involved, use `t2` instead which is exempt from requiring a landing pad. Signed-off-by: Deepak Gupta Acked-by: Heinrich Schuchardt --- arch/riscv/lib/memset.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/riscv/lib/memset.S b/arch/riscv/lib/memset.S index da23b8347e2d..c4a318d8eef3 100644 --- a/arch/riscv/lib/memset.S +++ b/arch/riscv/lib/memset.S @@ -56,12 +56,12 @@ SYM_FUNC_START(__memset) =20 /* Jump into loop body */ /* Assumes 32-bit instruction lengths */ - la a5, 3f + la t2, 3f #ifdef CONFIG_64BIT srli a4, a4, 1 #endif - add a5, a5, a4 - jr a5 + add t2, t2, a4 + jr t2 3: REG_S a1, 0(t0) REG_S a1, SZREG(t0) --=20 2.43.0