From nobody Sun Feb 8 14:51:19 2026 Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) (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 4D249315D29 for ; Wed, 31 Dec 2025 12:44:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767185068; cv=none; b=vB/HfuvWnrju6o+OJNIJxILnbtcXeADB6Jg7aD9I33K4KGQlgfJTHFxwpaBuk9VpKLD2mlE/VfFtJhwcWIZtKjTh/7wK7bOVVXJ9kT28xfcmIC25kFiA1CXV6DEXU0q04EMkIN4ICkpEAcD3YWADYwhJwFT+XrlxaTAYcrDmvs4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767185068; c=relaxed/simple; bh=rtQ9YOzpTI1rtYAALDX3LhmxVAFBXeE/3oqvYKuAQ8c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=kms/kmkWcTK/W5P/aGN1HYrBIUjFOS4usZemJyTgCM8td8Xb67rE08IGGqQNwWRwlnL20pLpIRBCunSg/l3sq2W6EKfhQ6nTGwjNYxUrqGUSQw9cUi2HuPX7i9KwYSqkUqG1ez0kmZSKM+u1r0mKaxP7x2vHsyTdAALA4hT4nkg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.210.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ot1-f47.google.com with SMTP id 46e09a7af769-7c7660192b0so7330592a34.0 for ; Wed, 31 Dec 2025 04:44:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767185065; x=1767789865; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=doIBT3kveDHefqqmJXIbpBpDJYXHZZ9gY6YG0CQ1W1s=; b=hcuHTBstpG7Nz7HWqQQ4vzQ2HytCL8hQxOxgoiWY63Yi33NMaXwXmWm4az9t9XgvuT CAX/HaPdippJF0KK4bWIbE0PlK15tI/mbagsD08mlqIViyV4zYujeJdKmBu19ILT/rZw DbnztT2U7BCaeNYJZehznPSOgzdPyLi+HHyxK5L826idW74KaWPwCzpH6HQZ+LeAUyEh AN/2vYxVwnuKcUFUOTxyTOMoaj6rlzKOqHArXhFkhZz0ByKUsEujIXxjBtNEKlARLAed VxluHD8NDQn8InZdr/nw6hVBii4CkYrJVcJ3oNQKME/+rWW6bJFoSOidDehmprJgAmAI DUeA== X-Forwarded-Encrypted: i=1; AJvYcCVhuTT81FtmizagLmnwBJd8OvA9DSn3Tgx+IgN3uUOsO+1AQCSmOWdkVJsEFD4v3fq5f5OEUNzQNygNVQY=@vger.kernel.org X-Gm-Message-State: AOJu0YzxjyTz5k5HpJcEge2OixE5dNGVbJeMFT6gIiGKdgOkfyGDDGwv e/b1+1TOr+Cz2z6bGdAHA1X30uByqUqjtTmO8V/5NabrqZgtuzUrYXl5 X-Gm-Gg: AY/fxX4QdOQxJ5Ubg+MqZt4EXDAozPt932pwVyvjTa1WdclvtQa8BGcZ2TPOsVJtcJy Pw6Jzvk6AsUsIYQXtAZZKrYkQ7Ue9rXQM2pcCJXbpZMnBp/5ZjWkjqAq1e9rhHBSq+41zXIlRQX VjBaxivNRwHjBTzpm+wZSUtExOXUnZjnhQ1UImrSbNmT3BrfbMMojcJDNqG57i62F7/NEbwfCao oXNfXchJS5scvq4dhzs+uV/PmUIp8Mk4iMY7F8IFLZTey+tKU2mNUV5O8ZPh0l/sgLoRA4nS3VN 8vIj0+BTKJZVkbsuPD/lJ4jISjUKz5PDY1robkZ4Ga/uFP0va1G7bZGKbuv0Ne+eJXa0jj8unbk b0xeV6HaDDaSGVCeb4VcR3PXOoIXI7CL3/uh8S66Mdu/aZpK5O1Lhemh1yv599G6/O568VTajLW AER/WHzDbQNA== X-Google-Smtp-Source: AGHT+IFVj7a9FUlEf5NH6KpIT/kaUw0oiLWglRHiOzK9tALgQw37NwF6rJUHBW5v0Oj+IkC3OkEsQw== X-Received: by 2002:a05:6830:3154:b0:7c1:12c5:334e with SMTP id 46e09a7af769-7cc66a023c7mr23119448a34.17.1767185065067; Wed, 31 Dec 2025 04:44:25 -0800 (PST) Received: from localhost ([2a03:2880:10ff::]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7cc667d6b04sm24557658a34.16.2025.12.31.04.44.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Dec 2025 04:44:24 -0800 (PST) From: Breno Leitao Date: Wed, 31 Dec 2025 04:44:05 -0800 Subject: [PATCH] arm64/mm: Fix annotated branch unbootable kernel 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: <20251231-annotated-v1-1-9db1c0d03062@debian.org> X-B4-Tracking: v=1; b=H4sIAJUaVWkC/yXMwQqEIBQF0F953HVCKhH4KzEL01e9FjaoxUD07 0O1PJtzonAWLnB0IvMhRbYER7ohhMWnmZVEOIJpTaeN1cqntFVfOaq+i2wna0PsRzSEb+ZJfs8 1fF6XfVw51DvAdf0Be9PcO20AAAA= X-Change-ID: 20251231-annotated-75de3f33cd7b To: Catalin Marinas , Will Deacon , Mark Rutland , Laura Abbott Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Steven Rostedt , Masami Hiramatsu , puranjay@kernel.org, usamaarif642@gmail.com, kernel-team@meta.com, stable@vger.kernel.org, Breno Leitao X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=openpgp-sha256; l=1769; i=leitao@debian.org; h=from:subject:message-id; bh=rtQ9YOzpTI1rtYAALDX3LhmxVAFBXeE/3oqvYKuAQ8c=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBpVRqoMlyZ1wZ3Pzr1vXtCo85272KEY4xVGFmrE b2oMh6CVkmJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaVUaqAAKCRA1o5Of/Hh3 bQZwEACnPfBsC/ChcFSyk6SAwxKoOvb1ERUF80rfaNxXBJiaA1VgbqM7C/wBw+YbXrQmhzVqY/e zB/ndUjEg1Qw/f1EkWqLpRYykPjwyQ/nZsHL8RUh+lvvsu2vH83B4FgCIL991+rvhDFZW75ecWY Wx27xdC7xpaYRNPR/lCGRyKw9GRdkZybGZhUqed7Tu0UwVGNJkdEonPSWzsyXQhxdAKqPkaTXwP yI+5HdfEAuA8nCB56AYgRaMxUUmY+Gg0JtwVD5CS/lsrFAcsngfXp0I0h2TMFDOYF1Hlwo5ZZ/z w8qA3nMwS0murcRCerIFfvy/jgPPx+OW9JE1WcwbAEDqZjXSQ/Po0ENzua7Nu8JciG9+Xf46Ikv xH/PK9ICIZQsNLJszbbllCh6smeoREyPb7MLH7utDd9lbPy0K7ALIeJJJOM77UoSBmIX3yJlEl8 8FLJGGRpDH2/y2YbFkzWthRAgG9qFm3dVwpY8HtXJsFRnxAb2lQW3w99ahtwb5b+WzXzGXSaks4 csHXIdZitAVmfvtZvoZc2hJ9fpfI2ggf5vrK2Z+gT7SN4VIA6agvZWESHTh3BpTcabZIWqPxwIl 7GUbaPEl3NeaOpCjDiB438p2p4W5UwQstGYeLrTvFjKj8PLdWHg5liU52jhLlKSvVXXC2iAk+iL +BJxQOoAcO2C7tA== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D The arm64 kernel doesn't boot with annotated branches (PROFILE_ANNOTATED_BRANCHES) enabled and CONFIG_DEBUG_VIRTUAL together. Bisecting it, I found that disabling branch profiling in arch/arm64/mm solved the problem. Narrowing down a bit further, I found that physaddr.c is the file that needs to have branch profiling disabled to get the machine to boot. I suspect that it might invoke some ftrace helper very early in the boot process and ftrace is still not enabled(!?). Disable branch profiling for physaddr.o to allow booting an arm64 machine with CONFIG_PROFILE_ANNOTATED_BRANCHES and CONFIG_DEBUG_VIRTUAL together. Cc: stable@vger.kernel.org Fixes: ec6d06efb0bac ("arm64: Add support for CONFIG_DEBUG_VIRTUAL") Signed-off-by: Breno Leitao --- Another approach is to disable profiling on all arch/arm64 code, similarly = to x86, where DISABLE_BRANCH_PROFILING is called for all arch/x86 code. See commit 2cbb20b008dba ("tracing: Disable branch profiling in noinstr code"). --- arch/arm64/mm/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/mm/Makefile b/arch/arm64/mm/Makefile index c26489cf96cd..8bfe2451ea26 100644 --- a/arch/arm64/mm/Makefile +++ b/arch/arm64/mm/Makefile @@ -14,5 +14,10 @@ obj-$(CONFIG_ARM64_MTE) +=3D mteswap.o obj-$(CONFIG_ARM64_GCS) +=3D gcs.o KASAN_SANITIZE_physaddr.o +=3D n =20 +# Branch profiling isn't noinstr-safe +ifdef CONFIG_TRACE_BRANCH_PROFILING +CFLAGS_physaddr.o +=3D -DDISABLE_BRANCH_PROFILING +endif + obj-$(CONFIG_KASAN) +=3D kasan_init.o KASAN_SANITIZE_kasan_init.o :=3D n --- base-commit: c8ebd433459bcbf068682b09544e830acd7ed222 change-id: 20251231-annotated-75de3f33cd7b Best regards, -- =20 Breno Leitao