All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <masahiroy@kernel.org>
To: Sasha Levin <sashal@kernel.org>
Cc: Michal Marek <michal.lkml@markovi.net>,
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@kernel.org
Subject: Re: [PATCH 3/3] kbuild: introduce KERNEL_VERSION2 and LINUX_VERSION_CODE2
Date: Sat, 6 Feb 2021 21:45:44 +0900	[thread overview]
Message-ID: <CAK7LNASoWNfEAzQYOo7_PqgU61iiZk8i=F-JS38yn5AnfQNhzQ@mail.gmail.com> (raw)
In-Reply-To: <20210206035033.2036180-3-sashal@kernel.org>

On Sat, Feb 6, 2021 at 12:50 PM Sasha Levin <sashal@kernel.org> wrote:
>
> SUBLEVEL only has 8 bits of space, which means that we'll overflow it
> once it reaches 256.
>
> Few of the stable branches will imminently overflow SUBLEVEL while
> there's no risk of overflowing VERSION.
>
> Thus, give SUBLEVEL 8 more bits which will be stolen from VERSION, this
> should create a better balance between the different version numbers we
> use.
>
> We can't however use the original KERNEL_VERSION and LINUX_VERSION_CODE
> as userspace has created ABI dependency on their structure, and we risk
> breaking this userspace by modifying the layout of the version integers.
>
> Cc: stable@kernel.org
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
>  Makefile                                       | 8 +++++++-
>  drivers/net/ethernet/mellanox/mlx5/core/main.c | 4 ++--
>  drivers/usb/core/hcd.c                         | 4 ++--
>  drivers/usb/gadget/udc/aspeed-vhub/hub.c       | 4 ++--
>  include/linux/usb/composite.h                  | 4 ++--
>  kernel/sys.c                                   | 2 +-
>  tools/perf/tests/bpf-script-example.c          | 2 +-
>  tools/perf/tests/bpf-script-test-kbuild.c      | 2 +-
>  tools/perf/tests/bpf-script-test-prologue.c    | 2 +-
>  9 files changed, 19 insertions(+), 13 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 157be50c691e5..2177c548e4c24 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1266,7 +1266,13 @@ define filechk_version.h
>                 expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
>         fi;                                                              \
>         echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) +  \
> -       ((c) > 255 ? 255 : (c)))'
> +       ((c) > 255 ? 255 : (c)))';                                       \
> +       echo \#define LINUX_VERSION_CODE2 $(shell                        \
> +       expr $(VERSION) \* 16777216 + 0$(PATCHLEVEL) \* 65536 + 0$(SUBLEVEL)); \


Is this needed?
No one in this patch uses LINUX_VERSION_CODE2.

The in-kernel code can use
LINUX_VERSION_MAJOR/PATCHLEVEL/SUBLEVEL directly.


Userspace does not need LINUX_VERSION_CODE2 either.

Your comment in 2/3 states that
userspace only decodes MAJOR and PATCHLEVEL fields,
so LINUX_VERSION_CODE will still do well.




> index ab4b98b3165db..a56bf381335e9 100644
> --- a/tools/perf/tests/bpf-script-example.c
> +++ b/tools/perf/tests/bpf-script-example.c
> @@ -5,7 +5,7 @@
>   */
>  #ifndef LINUX_VERSION_CODE
>  # error Need LINUX_VERSION_CODE
> -# error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x40200" into llvm section of ~/.perfconfig'
> +# error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x4020000" into llvm section of ~/.perfconfig'


Is this change needed?




>  #endif
>  #define BPF_ANY 0
>  #define BPF_MAP_TYPE_ARRAY 2
> diff --git a/tools/perf/tests/bpf-script-test-kbuild.c b/tools/perf/tests/bpf-script-test-kbuild.c
> index 219673aa278fb..21663295d5b5a 100644
> --- a/tools/perf/tests/bpf-script-test-kbuild.c
> +++ b/tools/perf/tests/bpf-script-test-kbuild.c
> @@ -5,7 +5,7 @@
>   */
>  #ifndef LINUX_VERSION_CODE
>  # error Need LINUX_VERSION_CODE
> -# error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x40200" into llvm section of ~/.perfconfig'
> +# error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x4020000" into llvm section of ~/.perfconfig'
>  #endif
>  #define SEC(NAME) __attribute__((section(NAME), used))
>
> diff --git a/tools/perf/tests/bpf-script-test-prologue.c b/tools/perf/tests/bpf-script-test-prologue.c
> index bd83d364cf30d..8db19e70813cc 100644
> --- a/tools/perf/tests/bpf-script-test-prologue.c
> +++ b/tools/perf/tests/bpf-script-test-prologue.c
> @@ -5,7 +5,7 @@
>   */
>  #ifndef LINUX_VERSION_CODE
>  # error Need LINUX_VERSION_CODE
> -# error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x40200" into llvm section of ~/.perfconfig'
> +# error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x4020000" into llvm section of ~/.perfconfig'
>  #endif
>  #define SEC(NAME) __attribute__((section(NAME), used))
>
> --
> 2.27.0
>


-- 
Best Regards
Masahiro Yamada

  parent reply	other threads:[~2021-02-06 12:47 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-06  3:50 [PATCH 1/3] Revert "kbuild: give the SUBLEVEL more room in KERNEL_VERSION" Sasha Levin
2021-02-06  3:50 ` [PATCH 2/3] kbuild: clamp SUBLEVEL to 255 Sasha Levin
2021-02-06 12:51   ` Greg KH
2021-02-07  2:52   ` Masahiro Yamada
2021-02-08 13:48   ` David Laight
2021-02-08 14:09     ` gregkh
2021-02-08 15:13       ` David Laight
2021-02-09  1:58     ` Masahiro Yamada
2021-02-06  3:50 ` [PATCH 3/3] kbuild: introduce KERNEL_VERSION2 and LINUX_VERSION_CODE2 Sasha Levin
2021-02-06  4:01   ` Sasha Levin
2021-02-06 12:45   ` Masahiro Yamada [this message]
2021-02-06 14:31     ` Sasha Levin
2021-02-06 12:53   ` Greg KH
2021-02-06 12:54   ` Greg KH
2021-02-06 12:06 ` [PATCH 1/3] Revert "kbuild: give the SUBLEVEL more room in KERNEL_VERSION" Masahiro Yamada

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='CAK7LNASoWNfEAzQYOo7_PqgU61iiZk8i=F-JS38yn5AnfQNhzQ@mail.gmail.com' \
    --to=masahiroy@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=sashal@kernel.org \
    --cc=stable@kernel.org \
    --cc=torvalds@linux-foundation.org \
    /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.