From nobody Wed Oct 1 20:28:49 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 54DE32EDD58; Wed, 1 Oct 2025 13:25:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759325104; cv=none; b=LU3y02ba2y7OUPKqXUoBjeZVXkUFSw2aHBnQSKmET99CvSW++NobVbe0QsDuNXkHSGimc99bpZ/xcNNM5fGeqQGubXg4qVtWcw06wx/GtdSJLqvMkphXIngfoloJulf70c5yr03j33IXqF93f0qpoHZ1spr78pNvsgMZNrfjgTY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759325104; c=relaxed/simple; bh=rYRmOvRAy3y6trXdNjOAD8/jcxxPvin79sxszfYgSHw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SUHe1da9xROfNlChv2cur/KRWfpLd2Gzu+5O4sOw/1VKdkui+X0kmdsHQxED41lHvPibN/nFuJKiCxRv6XUwsiRnL9HZIQY0dT8T4nO4PkOKSTKLgKfPWdoRyU/2fmJma0Lkqpa5UcK/w7v4VrznEATm7NRRe2kNaBhK7erfyl4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kGgJx34f; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kGgJx34f" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1F121C4CEF4; Wed, 1 Oct 2025 13:24:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1759325103; bh=rYRmOvRAy3y6trXdNjOAD8/jcxxPvin79sxszfYgSHw=; h=From:To:Cc:Subject:Date:From; b=kGgJx34fBTBXASzijvpxyYx1/WPJYi5J1P/i77kiz0DWCgVgvPC3LnnXiOG0lKhaF 5I2g/cv7LsrLIlo9P+p4eQkA1+/Yq/fh3Gm4ODQ4lrXLmLaA/sC3lfR0YV858I6eTw CA7QnbLV8C7/UhLBgq4uaEBie8bBEeZDolrA5KcYrcTsI7lyd9zsY8BdtEpA/q6wZc myLF12gigeHJa99zvfGziMvkg7mVZmcnGArZZjBeVATZmZ5eEW9PHeL2LAGfAzHRQb dnej4iBl1/ngejhmcjwunNdEEP52c42s7MknGPpDSVHq4oi/wNXEebiq1vd7af/pwu MkoP1gnb/fz0g== From: Jiri Olsa To: Oleg Nesterov , Peter Zijlstra , Andrii Nakryiko Cc: Linus Torvalds , bpf@vger.kernel.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, x86@kernel.org, Song Liu , Yonghong Song , John Fastabend , Hao Luo , Steven Rostedt , Masami Hiramatsu , Alan Maguire , David Laight , =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= , Ingo Molnar , Jann Horn , Alejandro Colomar Subject: [PATCH] uprobe: Move arch_uprobe_optimize right after handlers execution Date: Wed, 1 Oct 2025 15:24:49 +0200 Message-ID: <20251001132449.178759-1-jolsa@kernel.org> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's less confusing to optimize uprobe right after handlers execution and before we do the check for changed ip register to avoid situations where changed ip register would skip uprobe optimization. Suggested-by: Linus Torvalds Signed-off-by: Jiri Olsa Acked-by: Andrii Nakryiko --- kernel/events/uprobes.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 5dcf927310fd..c14ec27b976d 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -2765,6 +2765,9 @@ static void handle_swbp(struct pt_regs *regs) =20 handler_chain(uprobe, regs); =20 + /* Try to optimize after first hit. */ + arch_uprobe_optimize(&uprobe->arch, bp_vaddr); + /* * If user decided to take execution elsewhere, it makes little sense * to execute the original instruction, so let's skip it. @@ -2772,9 +2775,6 @@ static void handle_swbp(struct pt_regs *regs) if (instruction_pointer(regs) !=3D bp_vaddr) goto out; =20 - /* Try to optimize after first hit. */ - arch_uprobe_optimize(&uprobe->arch, bp_vaddr); - if (arch_uprobe_skip_sstep(&uprobe->arch, regs)) goto out; =20 --=20 2.51.0