Re: [PATCH bpf-next v2 2/2] bpf: Warn on non-preallocated case for missed trace types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 7, 2022 at 11:45 PM Alexei Starovoitov
<alexei.starovoitov@xxxxxxxxx> wrote:
>
> On Thu, Jul 7, 2022 at 3:30 AM Yafang Shao <laoar.shao@xxxxxxxxx> wrote:
> >
> > On Thu, Jul 7, 2022 at 12:50 AM Alexei Starovoitov
> > <alexei.starovoitov@xxxxxxxxx> wrote:
> > >
> > > On Wed, Jul 6, 2022 at 8:59 AM Yafang Shao <laoar.shao@xxxxxxxxx> wrote:
> > > >
> > > > BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE and BPF_PROG_TYPE_TRACING are
> > > > trace type as well, which may also cause unexpected memory allocation if
> > > > we set BPF_F_NO_PREALLOC.
> > > > Let's also warn on both of them.
> > > >
> > > > Signed-off-by: Yafang Shao <laoar.shao@xxxxxxxxx>
> > > > ---
> > > >  kernel/bpf/verifier.c | 2 ++
> > > >  1 file changed, 2 insertions(+)
> > > >
> > > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> > > > index df3ec6b05f05..f9c0f4889a3a 100644
> > > > --- a/kernel/bpf/verifier.c
> > > > +++ b/kernel/bpf/verifier.c
> > > > @@ -12570,6 +12570,8 @@ static bool is_tracing_prog_type(enum bpf_prog_type type)
> > > >         case BPF_PROG_TYPE_TRACEPOINT:
> > > >         case BPF_PROG_TYPE_PERF_EVENT:
> > > >         case BPF_PROG_TYPE_RAW_TRACEPOINT:
> > > > +       case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE:
> > > > +       case BPF_PROG_TYPE_TRACING:
> > >
> > > BPF_TRACE_ITER should probably be excluded.
> >
> > Right, I have verified that BPF_TRACE_ITER can be excluded.
> > Will change it.
>
> Probably more than that. See that your change broke BPF CI
> and selftests are failing.
> Which means it breaks existing bpf programs.

Ah, yes, "#194 timer:FAIL" which is caused by this change.
I will be more careful here.

-- 
Regards
Yafang




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux