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 5D024156F45 for ; Sat, 25 Oct 2025 00:33:21 +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=1761352401; cv=none; b=YXSUpSn3t7a6Rfjn+VdNTWt6qaFRl6FBsixt9/3p8ZOgvgrut/q7Ljkn0Swm+bwQUeat6OdxnW2L7HEgam3CRAprnnQS7xiBv77uUWCV6C8rq0smlFrwNfe+bREZENfv0xZPiOqbNOcBjWqTeKQOnnJ51+ugRd8N/RNkgZMXh5Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761352401; c=relaxed/simple; bh=PgR7lzU9RlXHT5sK4VOdFxsHQoX+25lTA+URTQprJPU=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=GCKf8+XtyXnolLhY69VEtFSsYsodkS1oodKj1WxeOYGz1CIA3FudfFpgK7Aap8pjcwqML4J3NhL1ojsPbW8PovITEQUzhGmd0E4UAXwTO54gigUGBSVP2G7jGlvabNIB7Aj9Q5TOsBSAIvLLnmEnLcU/dysxsPgxWffITBqBNpU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Nu3HjmvM; 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="Nu3HjmvM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0EDBFC116C6 for ; Sat, 25 Oct 2025 00:33:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761352401; bh=PgR7lzU9RlXHT5sK4VOdFxsHQoX+25lTA+URTQprJPU=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Nu3HjmvMYw2bBqcxpF+LkUoYKjCaF0ilugj0int+eHn0fY5Mb2/ccFSqjGvdnHyF5 4nPNYRzzh/5PADVeoux05YIIRv0ChEyS67ImGtYEKPLujUu2sd2gdjo526GT02vAxD 8cpUyBfb6Tu2L9NtF163yyxOYHyUTI1CVlHUDwyBMnUGb8SRZeimS7/+z8QXontzbJ rvCnusjOH3PV0WuHnPveQLdr2WFMwdl6idwc1qJQCXTSov3t1EUfuPEo9QBpjza1vK JynBbij7HahhilXveV1fQbnKnVm5kNlkHyPtQut/LlS3dSnsO9InMw6Nqaf8a9CPia L8JT180vyzPYQ== Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-87dfd3cfafbso26697756d6.0 for ; Fri, 24 Oct 2025 17:33:20 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCX8juBk5xmzUl5+dPjFCY8yigFd5fcl0/47iyWsW7+/kjBoQyAms40HyudvS8B+sc0Uuw0iWcHtRtidKo7FlfduJUI=@vger.kernel.org X-Gm-Message-State: AOJu0YwOHsmOrSDZDu/M/M3WRzF1SOUK6ZqWSXcPDT0757CqoXsiJhF8 uKksDYTIyCn1Kxl7DJwFYro1KYfihnaZCaxJbJilY34aLIhrdRhH34xz5kcu/zsAXAosMW8foxr wNeijc8dvlCdoDrXnn9moqfg2sbgHfAE= X-Google-Smtp-Source: AGHT+IHT9C2MVfE2QgFCOr3nqh2/Dwq2wsY4Lvxnsl+07Ia7Ig9leK6YSyrwqd3getEar74gYWLTQVaTOW7PZfw3sto= X-Received: by 2002:a05:6214:491:b0:87c:277f:8d38 with SMTP id 6a1803df08f44-87fb6458d34mr64007316d6.50.1761352400140; Fri, 24 Oct 2025 17:33:20 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-trace-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20251024182901.3247573-1-song@kernel.org> <20251024182901.3247573-3-song@kernel.org> <20251024201154.392878cd@gandalf.local.home> In-Reply-To: <20251024201154.392878cd@gandalf.local.home> From: Song Liu Date: Fri, 24 Oct 2025 17:33:09 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: AWmQ_blbqXK0qp086-ih7Y4P857Uz5YViQ9DnjYNZ4-sXHhmnxVBW6VAiaoWxio Message-ID: Subject: Re: [PATCH v2 bpf 2/3] ftrace: bpf: Fix IPMODIFY + DIRECT in modify_ftrace_direct() To: Steven Rostedt Cc: Song Liu , bpf@vger.kernel.org, linux-trace-kernel@vger.kernel.org, live-patching@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, andrey.grodzovsky@crowdstrike.com, mhiramat@kernel.org, kernel-team@meta.com, olsajiri@gmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Oct 24, 2025 at 5:11=E2=80=AFPM Steven Rostedt wrote: > > On Fri, 24 Oct 2025 11:29:00 -0700 > Song Liu wrote: > > > --- a/kernel/bpf/trampoline.c > > +++ b/kernel/bpf/trampoline.c > > @@ -221,6 +221,13 @@ static int register_fentry(struct bpf_trampoline *= tr, void *new_addr) > > > > if (tr->func.ftrace_managed) { > > ftrace_set_filter_ip(tr->fops, (unsigned long)ip, 0, 1); > > + /* > > + * Clearing fops->trampoline and fops->NULL is > > + * needed by the "goto again" case in > > + * bpf_trampoline_update(). > > + */ > > + tr->fops->trampoline =3D 0; > > + tr->fops->func =3D NULL; > > ret =3D register_ftrace_direct(tr->fops, (long)new_addr); > > } else { > > ret =3D bpf_arch_text_poke(ip, BPF_MOD_CALL, NULL, new_ad= dr); > > I ran these through my own tests and this failed to build: > > /work/build/trace/nobackup/linux-test.git/kernel/bpf/trampoline.c: In fun= ction =E2=80=98register_fentry=E2=80=99: > /work/build/trace/nobackup/linux-test.git/kernel/bpf/trampoline.c:229:25:= error: invalid use of undefined type =E2=80=98struct ftrace_ops=E2=80=99 > 229 | tr->fops->trampoline =3D 0; > | ^~ > /work/build/trace/nobackup/linux-test.git/kernel/bpf/trampoline.c:230:25:= error: invalid use of undefined type =E2=80=98struct ftrace_ops=E2=80=99 > 230 | tr->fops->func =3D NULL; > | ^~ > CC kernel/trace/rethook.o > make[5]: *** [/work/build/trace/nobackup/linux-test.git/scripts/Makefile.= build:287: kernel/bpf/trampoline.o] Error 1 > make[5]: *** Waiting for unfinished jobs.... > > Config attched. We need to guard this part with CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS. The suggestion by AI should also fix this, and give cleaner code. Thanks, Song