From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: John Moon <quic_johmoo@quicinc.com>,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Nicolas Schier <nicolas@fjasle.eu>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org,
Randy Dunlap <rdunlap@infradead.org>,
Arnd Bergmann <arnd@arndb.de>,
Bjorn Andersson <andersson@kernel.org>,
Todd Kjos <tkjos@google.com>,
Matthias Maennich <maennich@google.com>,
Giuliano Procida <gprocida@google.com>,
kernel-team@android.com, libabigail@sourceware.org,
Jordan Crouse <jorcrous@amazon.com>,
Trilok Soni <quic_tsoni@quicinc.com>,
Satya Durga Srinivasu Prabhala <quic_satyap@quicinc.com>,
Elliot Berman <quic_eberman@quicinc.com>,
Guru Das Srinagesh <quic_gurus@quicinc.com>
Subject: Re: [PATCH v5 1/2] check-uapi: Introduce check-uapi.sh
Date: Mon, 10 Apr 2023 20:45:46 +0200 [thread overview]
Message-ID: <2023041015-lunar-dandelion-1b4e@gregkh> (raw)
In-Reply-To: <CAK7LNAQQmoyUx+0Jk3c7iqY20KokrHEOPwHNb2doZOOA8RWBDA@mail.gmail.com>
On Mon, Apr 10, 2023 at 07:03:05PM +0900, Masahiro Yamada wrote:
> On Sat, Apr 8, 2023 at 5:35 AM John Moon <quic_johmoo@quicinc.com> wrote:
> >
> > While the kernel community has been good at maintaining backwards
> > compatibility with kernel UAPIs, it would be helpful to have a tool
> > to check if a commit introduces changes that break backwards
> > compatibility.
> >
> > To that end, introduce check-uapi.sh: a simple shell script that
> > checks for changes to UAPI headers using libabigail.
> >
> > libabigail is "a framework which aims at helping developers and
> > software distributors to spot some ABI-related issues like interface
> > incompatibility in ELF shared libraries by performing a static
> > analysis of the ELF binaries at hand."
> >
> > The script uses one of libabigail's tools, "abidiff", to compile the
> > changed header before and after the commit to detect any changes.
> >
> > abidiff "compares the ABI of two shared libraries in ELF format. It
> > emits a meaningful report describing the differences between the two
> > ABIs."
> >
> > The script also includes the ability to check the compatibility of
> > all UAPI headers across commits. This allows developers to inspect
> > the stability of the UAPIs over time.
> >
> > Signed-off-by: John Moon <quic_johmoo@quicinc.com>
>
>
>
> BTW, is there anybody (except the submitters) who loves this tool?
> (or anybody who has ever evaluated this?)
I evaluated the first one, and yes, I do want this, but I haven't tested
it out yet, sorry.
I get patches for header files all the time and hand-verifying that they
don't break the abi is a pain at times
> According to this tool, it looks like we broke a lot of UAPI
> headers in the previous MW (between v6.2 and v6.3-rc1).
That's not ok, and needs to be fixed, otherwise this is useless as no
one can rely on it at all.
> The script takes some time because it builds many objects
> internally.
>
> However, once this script starts running, you must not hit Ctrl-C.
> If you do it, your repository will be sprinkled with a ton
> of untracked files.
That needs to be unwound and fixed.
> CAVEAT
> This tool runs 'git checkout' a couple of times internally.
> If you interrupt it, your worktree might be messed up.
ctrl-c can be properly caught and the git state needs to be restored for
this to be able to be accepted.
thanks,
greg k-h
WARNING: multiple messages have this Message-ID (diff)
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: John Moon <quic_johmoo@quicinc.com>,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Nicolas Schier <nicolas@fjasle.eu>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org,
Randy Dunlap <rdunlap@infradead.org>,
Arnd Bergmann <arnd@arndb.de>,
Bjorn Andersson <andersson@kernel.org>,
Todd Kjos <tkjos@google.com>,
Matthias Maennich <maennich@google.com>,
Giuliano Procida <gprocida@google.com>,
kernel-team@android.com, libabigail@sourceware.org,
Jordan Crouse <jorcrous@amazon.com>,
Trilok Soni <quic_tsoni@quicinc.com>,
Satya Durga Srinivasu Prabhala <quic_satyap@quicinc.com>,
Elliot Berman <quic_eberman@quicinc.com>,
Guru Das Srinagesh <quic_gurus@quicinc.com>
Subject: Re: [PATCH v5 1/2] check-uapi: Introduce check-uapi.sh
Date: Mon, 10 Apr 2023 20:45:46 +0200 [thread overview]
Message-ID: <2023041015-lunar-dandelion-1b4e@gregkh> (raw)
In-Reply-To: <CAK7LNAQQmoyUx+0Jk3c7iqY20KokrHEOPwHNb2doZOOA8RWBDA@mail.gmail.com>
On Mon, Apr 10, 2023 at 07:03:05PM +0900, Masahiro Yamada wrote:
> On Sat, Apr 8, 2023 at 5:35 AM John Moon <quic_johmoo@quicinc.com> wrote:
> >
> > While the kernel community has been good at maintaining backwards
> > compatibility with kernel UAPIs, it would be helpful to have a tool
> > to check if a commit introduces changes that break backwards
> > compatibility.
> >
> > To that end, introduce check-uapi.sh: a simple shell script that
> > checks for changes to UAPI headers using libabigail.
> >
> > libabigail is "a framework which aims at helping developers and
> > software distributors to spot some ABI-related issues like interface
> > incompatibility in ELF shared libraries by performing a static
> > analysis of the ELF binaries at hand."
> >
> > The script uses one of libabigail's tools, "abidiff", to compile the
> > changed header before and after the commit to detect any changes.
> >
> > abidiff "compares the ABI of two shared libraries in ELF format. It
> > emits a meaningful report describing the differences between the two
> > ABIs."
> >
> > The script also includes the ability to check the compatibility of
> > all UAPI headers across commits. This allows developers to inspect
> > the stability of the UAPIs over time.
> >
> > Signed-off-by: John Moon <quic_johmoo@quicinc.com>
>
>
>
> BTW, is there anybody (except the submitters) who loves this tool?
> (or anybody who has ever evaluated this?)
I evaluated the first one, and yes, I do want this, but I haven't tested
it out yet, sorry.
I get patches for header files all the time and hand-verifying that they
don't break the abi is a pain at times
> According to this tool, it looks like we broke a lot of UAPI
> headers in the previous MW (between v6.2 and v6.3-rc1).
That's not ok, and needs to be fixed, otherwise this is useless as no
one can rely on it at all.
> The script takes some time because it builds many objects
> internally.
>
> However, once this script starts running, you must not hit Ctrl-C.
> If you do it, your repository will be sprinkled with a ton
> of untracked files.
That needs to be unwound and fixed.
> CAVEAT
> This tool runs 'git checkout' a couple of times internally.
> If you interrupt it, your worktree might be messed up.
ctrl-c can be properly caught and the git state needs to be restored for
this to be able to be accepted.
thanks,
greg k-h
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-04-10 18:45 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-07 20:34 [PATCH v5 0/2] Validating UAPI backwards compatibility John Moon
2023-04-07 20:34 ` John Moon
2023-04-07 20:34 ` [PATCH v5 1/2] check-uapi: Introduce check-uapi.sh John Moon
2023-04-07 20:34 ` John Moon
2023-04-10 10:03 ` Masahiro Yamada
2023-04-10 10:03 ` Masahiro Yamada
2023-04-10 18:45 ` Greg Kroah-Hartman [this message]
2023-04-10 18:45 ` Greg Kroah-Hartman
2023-04-10 23:32 ` John Moon
2023-04-10 23:32 ` John Moon
2023-04-11 6:34 ` Greg Kroah-Hartman
2023-04-11 6:34 ` Greg Kroah-Hartman
2023-04-11 18:36 ` John Moon
2023-04-11 18:36 ` John Moon
2023-04-12 6:14 ` Greg Kroah-Hartman
2023-04-12 6:14 ` Greg Kroah-Hartman
2023-04-12 16:37 ` John Moon
2023-04-12 16:37 ` John Moon
2023-04-12 16:43 ` Greg Kroah-Hartman
2023-04-12 16:43 ` Greg Kroah-Hartman
2023-04-13 17:07 ` John Moon
2023-04-13 17:07 ` John Moon
2023-04-13 18:22 ` Greg Kroah-Hartman
2023-04-13 18:22 ` Greg Kroah-Hartman
2023-04-13 14:37 ` Mark Wielaard
2023-04-13 14:37 ` Mark Wielaard
2023-04-13 17:12 ` Giuliano Procida
2023-04-13 17:12 ` Giuliano Procida
2023-04-13 17:15 ` John Moon
2023-04-13 17:15 ` John Moon
2023-04-13 17:03 ` Nicolas Schier
2023-04-13 17:03 ` Nicolas Schier
2023-04-13 17:33 ` John Moon
2023-04-13 17:33 ` John Moon
2023-07-20 16:10 ` [PATCH] scripts/check-uapi.sh: add stgdiff support Giuliano Procida
2023-07-20 16:10 ` Giuliano Procida
2023-07-22 19:40 ` Trilok Soni
2023-07-22 19:40 ` Trilok Soni
2023-04-07 20:34 ` [PATCH v5 2/2] docs: dev-tools: Add UAPI checker documentation John Moon
2023-04-07 20:34 ` John Moon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2023041015-lunar-dandelion-1b4e@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=andersson@kernel.org \
--cc=arnd@arndb.de \
--cc=gprocida@google.com \
--cc=jorcrous@amazon.com \
--cc=kernel-team@android.com \
--cc=libabigail@sourceware.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maennich@google.com \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
--cc=quic_eberman@quicinc.com \
--cc=quic_gurus@quicinc.com \
--cc=quic_johmoo@quicinc.com \
--cc=quic_satyap@quicinc.com \
--cc=quic_tsoni@quicinc.com \
--cc=rdunlap@infradead.org \
--cc=tkjos@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.