From mboxrd@z Thu Jan 1 00:00:00 1970 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 1D0B71DFDE for ; Tue, 14 Jan 2025 06:32:41 +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=1736836361; cv=none; b=hG3q3Kem2KUvL6+IcyZyg6JQ5w00wMdftciH+YyJL4yPcdCst+oObnUETb3g3O4qynK/uor0mx0H/2Y7j168Hu/Q/Wf42GkR0DwLUcj/Pd1qANYC2J4J6pIkey6VXsRL1NJ+bGXv/oth2mTejMl7Im5UUQX47v6iW4TWegEEqaY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736836361; c=relaxed/simple; bh=/nnnaF1ddj4zrxDokk0uvwBXDi8Ih8rqAa+1vznvbyU=; h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References: Mime-Version:Content-Type; b=q3oGQBvaAXFIt+aM+AnwprVXCyKwsY4Bntpv0QtukfZQnj5/HbMYO44wVswowCEmQ/7yFLHLkvLSKiAVL2IjwpIJ2aq4oaQaXMMKf5MzrPuoDP8U8HMTjXCPMC7rQUZ4PG0GazodmDVDVYPh2xSFgTx5b3PDcVpoiAo8kZhp1ho= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gYHTqfVE; 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="gYHTqfVE" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 035CEC4CEDD; Tue, 14 Jan 2025 06:32:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736836360; bh=/nnnaF1ddj4zrxDokk0uvwBXDi8Ih8rqAa+1vznvbyU=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=gYHTqfVE96oFn6wUXbIGTHD2cNvPkf90ncSmrRmSCs9woKeDMZ6TWJfLLUtUUZhyb k3Lyv6FJNp65HzQPwCz/jr3kBoDTI5OjfACNCBV20zZ/nYW8NAuhZia6DMU/c3Mg5Z RX5Bqpokt6319tvPz+qRhDUjMJuLFN8fzKIX3Lkod9tKAAwW6vr8LWg9lab/QuroWS FyzMRbu3OB2WC01ax8yOEuLP4enWfz0Yle6UMHm8TBUvz1fVycv2IDpeCuqJF+xvCI GDdfagK/I+SJ7Eh5UkcDiTlK83/zrkvoUH22bkKW9iDWh0CV3XJ8jcqQinx0RMFFva YFEfBmsyVqBqQ== Date: Tue, 14 Jan 2025 15:32:37 +0900 From: Masami Hiramatsu (Google) To: Yicong Yang Cc: Qinxin Xia , , , , , , , , , , , , Subject: Re: [PATCH v6] arm64: kprobe: Enable OPTPROBE for arm64 Message-Id: <20250114153237.8a64048fe378e96f08cd1a8c@kernel.org> In-Reply-To: References: <20250103012753.66988-1-xiaqinxin@huawei.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) 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=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 14 Jan 2025 11:56:38 +0800 Yicong Yang wrote: > > diff --git a/kernel/kprobes.c b/kernel/kprobes.c > > index 62b5b08d809d..45287e185ce3 100644 > > --- a/kernel/kprobes.c > > +++ b/kernel/kprobes.c > > @@ -425,6 +425,24 @@ void opt_pre_handler(struct kprobe *p, struct pt_regs *regs) > > } > > NOKPROBE_SYMBOL(opt_pre_handler); > > > > +void optprobe_optimized_callback(struct optimized_kprobe *op, struct pt_regs *regs) > > +{ > > + if (kprobe_disabled(&op->kp)) > > + return; > > + > > + guard(preempt)(); > > + > > + if (kprobe_running()) { > > + kprobes_inc_nmissed_count(&op->kp); > > + } else { > > + __this_cpu_write(current_kprobe, &op->kp); > > + get_kprobe_ctlblk()->kprobe_status = KPROBE_HIT_ACTIVE; > > + opt_pre_handler(&op->kp, regs); > > + __this_cpu_write(current_kprobe, NULL); > > + } > > +} > > +NOKPROBE_SYMBOL(optprobe_optimized_callback) > > + > > should we make this function arch specific rather than in the framework? it's only > used in the arm64 code in this patch currently. Good catch. This should be in arch/arm64 at least in this patch. If we consolidate the optprobe callback, it should be done in a different patch. > > Thanks. > > > /* Free optimized instructions and optimized_kprobe */ > > static void free_aggr_kprobe(struct kprobe *p) > > { > > > -- Masami Hiramatsu (Google)