[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKU6vyYhG20qaA1iKwD=-pZHWjZYEZvX6Qmjs=aA-uJ-uwCw7w@mail.gmail.com>
Date: Mon, 14 Sep 2020 11:52:16 -0700
From: Xi Wang <xi.wang@...il.com>
To: Ilias Apalodimas <ilias.apalodimas@...aro.org>
Cc: Jesper Dangaard Brouer <brouer@...hat.com>,
Will Deacon <will@...nel.org>, bpf@...r.kernel.org,
ardb@...nel.org, naresh.kamboju@...aro.org,
Jean-Philippe Brucker <jean-philippe@...aro.org>,
Yauheni Kaliuta <yauheni.kaliuta@...hat.com>,
Daniel Borkmann <daniel@...earbox.net>,
Alexei Starovoitov <ast@...nel.org>,
Zi Shen Lim <zlim.lnx@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
Andrii Nakryiko <andriin@...com>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...omium.org>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Jesper Dangaard Brouer <hawk@...nel.org>,
netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Anders Roxell <anders.roxell@...aro.org>,
Björn Töpel <bjorn.topel@...il.com>,
Luke Nelson <luke.r.nels@...il.com>
Subject: Re: [PATCH] arm64: bpf: Fix branch offset in JIT
On Mon, Sep 14, 2020 at 11:28 AM Ilias Apalodimas
<ilias.apalodimas@...aro.org> wrote:
> Even if that's true, is any reason at all why we should skip the first element
> of the array, that's now needed since 7c2e988f400 to jump back to the first
> instruction?
> Introducing 2 extra if conditions and hotfix the array on the fly (and for
> every future invocation of that), seems better to you?
My point was that there's no inherently correct/wrong way to construct
offsets. As Luke explained in his email, 1) there are two different
strategies used by the JITs and 2) there are likely similar bugs
beyond arm64.
Each strategy has pros and cons, and I'm fine with either. I like the
strategy used in your patch because it's more intuitive (offset[i] is
the start of the emitted instructions for BPF instruction i, rather
than the end), though the changes to the construction process are
trickier.
If we decide to patch the arm64 JIT the way you proposed, we should
consider whether to change other JITs consistently.
Powered by blists - more mailing lists