public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] kbuild: switch from lz4c to lz4 for compression
@ 2024-11-14 14:56 Parth Pancholi
  2024-11-14 16:02 ` Greg KH
  2025-02-03 12:37 ` Sasha Levin
  0 siblings, 2 replies; 10+ messages in thread
From: Parth Pancholi @ 2024-11-14 14:56 UTC (permalink / raw)
  To: Masahiro Yamada, Nathan Chancellor, Nicolas Schier
  Cc: Parth Pancholi, linux-kbuild, linux-kernel, stable,
	Francesco Dolcini

From: Parth Pancholi <parth.pancholi@toradex.com>

Replace lz4c with lz4 for kernel image compression.
Although lz4 and lz4c are functionally similar, lz4c has been deprecated
upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
and lz4c have been packaged together, making it safe to update the
requirement from lz4c to lz4.

Consequently, some distributions and build systems, such as OpenEmbedded,
have fully transitioned to using lz4. OpenEmbedded core adopted this
change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
lz4c"), causing compatibility issues when building the mainline kernel
in the latest OpenEmbedded environment, as seen in the errors below.

This change also updates the LZ4 compression commands to make it backward
compatible by replacing stdin and stdout with the '-' option, due to some
unclear reason, the stdout keyword does not work for lz4 and '-' works for
both. In addition, this modifies the legacy '-c1' with '-9' which is also
compatible with both. This fixes the mainline kernel build failures with
the latest master OpenEmbedded builds associated with the mentioned
compatibility issues.

LZ4     arch/arm/boot/compressed/piggy_data
/bin/sh: 1: lz4c: not found
...
...
ERROR: oe_runmake failed

Cc: stable@vger.kernel.org
Link: https://github.com/lz4/lz4/pull/553
Suggested-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
---
v2: correct the compression command line to make it compatible with lz4
v1: https://lore.kernel.org/all/20241112150006.265900-1-parth105105@gmail.com/
---
 Makefile             | 2 +-
 scripts/Makefile.lib | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 79192a3024bf..7630f763f5b2 100644
--- a/Makefile
+++ b/Makefile
@@ -508,7 +508,7 @@ KGZIP		= gzip
 KBZIP2		= bzip2
 KLZOP		= lzop
 LZMA		= lzma
-LZ4		= lz4c
+LZ4		= lz4
 XZ		= xz
 ZSTD		= zstd
 
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 01a9f567d5af..fe5e132fcea8 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -371,10 +371,10 @@ quiet_cmd_lzo_with_size = LZO     $@
       cmd_lzo_with_size = { cat $(real-prereqs) | $(KLZOP) -9; $(size_append); } > $@
 
 quiet_cmd_lz4 = LZ4     $@
-      cmd_lz4 = cat $(real-prereqs) | $(LZ4) -l -c1 stdin stdout > $@
+      cmd_lz4 = cat $(real-prereqs) | $(LZ4) -l -9 - - > $@
 
 quiet_cmd_lz4_with_size = LZ4     $@
-      cmd_lz4_with_size = { cat $(real-prereqs) | $(LZ4) -l -c1 stdin stdout; \
+      cmd_lz4_with_size = { cat $(real-prereqs) | $(LZ4) -l -9 - -; \
                   $(size_append); } > $@
 
 # U-Boot mkimage
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2024-11-14 14:56 [PATCH v2] kbuild: switch from lz4c to lz4 for compression Parth Pancholi
@ 2024-11-14 16:02 ` Greg KH
  2024-11-15  8:39   ` Francesco Dolcini
  2025-02-03 12:37 ` Sasha Levin
  1 sibling, 1 reply; 10+ messages in thread
From: Greg KH @ 2024-11-14 16:02 UTC (permalink / raw)
  To: Parth Pancholi
  Cc: Masahiro Yamada, Nathan Chancellor, Nicolas Schier,
	Parth Pancholi, linux-kbuild, linux-kernel, stable,
	Francesco Dolcini

On Thu, Nov 14, 2024 at 03:56:44PM +0100, Parth Pancholi wrote:
> From: Parth Pancholi <parth.pancholi@toradex.com>
> 
> Replace lz4c with lz4 for kernel image compression.
> Although lz4 and lz4c are functionally similar, lz4c has been deprecated
> upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
> and lz4c have been packaged together, making it safe to update the
> requirement from lz4c to lz4.
> 
> Consequently, some distributions and build systems, such as OpenEmbedded,
> have fully transitioned to using lz4. OpenEmbedded core adopted this
> change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
> lz4c"), causing compatibility issues when building the mainline kernel
> in the latest OpenEmbedded environment, as seen in the errors below.
> 
> This change also updates the LZ4 compression commands to make it backward
> compatible by replacing stdin and stdout with the '-' option, due to some
> unclear reason, the stdout keyword does not work for lz4 and '-' works for
> both. In addition, this modifies the legacy '-c1' with '-9' which is also
> compatible with both. This fixes the mainline kernel build failures with
> the latest master OpenEmbedded builds associated with the mentioned
> compatibility issues.
> 
> LZ4     arch/arm/boot/compressed/piggy_data
> /bin/sh: 1: lz4c: not found
> ...
> ...
> ERROR: oe_runmake failed
> 
> Cc: stable@vger.kernel.org

What bug does this resolve that it needs to be backported to stable
kernels?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2024-11-14 16:02 ` Greg KH
@ 2024-11-15  8:39   ` Francesco Dolcini
  2024-11-15  9:22     ` Greg KH
  0 siblings, 1 reply; 10+ messages in thread
From: Francesco Dolcini @ 2024-11-15  8:39 UTC (permalink / raw)
  To: Greg KH
  Cc: Parth Pancholi, Masahiro Yamada, Nathan Chancellor,
	Nicolas Schier, Parth Pancholi, linux-kbuild, linux-kernel,
	stable, Francesco Dolcini

Hello Greg,

On Thu, Nov 14, 2024 at 05:02:01PM +0100, Greg KH wrote:
> On Thu, Nov 14, 2024 at 03:56:44PM +0100, Parth Pancholi wrote:
> > From: Parth Pancholi <parth.pancholi@toradex.com>
> > 
> > Replace lz4c with lz4 for kernel image compression.
> > Although lz4 and lz4c are functionally similar, lz4c has been deprecated
> > upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
> > and lz4c have been packaged together, making it safe to update the
> > requirement from lz4c to lz4.
> > 
> > Consequently, some distributions and build systems, such as OpenEmbedded,
> > have fully transitioned to using lz4. OpenEmbedded core adopted this
> > change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
> > lz4c"), causing compatibility issues when building the mainline kernel
> > in the latest OpenEmbedded environment, as seen in the errors below.
> > 
> > This change also updates the LZ4 compression commands to make it backward
> > compatible by replacing stdin and stdout with the '-' option, due to some
> > unclear reason, the stdout keyword does not work for lz4 and '-' works for
> > both. In addition, this modifies the legacy '-c1' with '-9' which is also
> > compatible with both. This fixes the mainline kernel build failures with
> > the latest master OpenEmbedded builds associated with the mentioned
> > compatibility issues.
> > 
> > LZ4     arch/arm/boot/compressed/piggy_data
> > /bin/sh: 1: lz4c: not found
> > ...
> > ...
> > ERROR: oe_runmake failed
> > 
> > Cc: stable@vger.kernel.org
> 
> What bug does this resolve that it needs to be backported to stable
> kernels?

This is not solving any existing actual bug, and therefore there is no
fixes tag.

The issue here is that the kernel build system is using lz4c, that is
deprecated since 2018, and now distributions are actively moving away from it. 

openSUSE Tumbleweed and OE already removed it, so you would not be able
to compile a stable kernel on such distribution when using lz4 unless we
backport such a patch.

Everything should be properly documented in the commit message already.

My understanding is that something like that would be a reason for
backporting to stable, if my understanding is not correct we'll remove
the cc:stable and send a v3.

Francesco


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2024-11-15  8:39   ` Francesco Dolcini
@ 2024-11-15  9:22     ` Greg KH
  2024-11-15  9:45       ` Francesco Dolcini
  0 siblings, 1 reply; 10+ messages in thread
From: Greg KH @ 2024-11-15  9:22 UTC (permalink / raw)
  To: Francesco Dolcini
  Cc: Parth Pancholi, Masahiro Yamada, Nathan Chancellor,
	Nicolas Schier, Parth Pancholi, linux-kbuild, linux-kernel,
	stable, Francesco Dolcini

On Fri, Nov 15, 2024 at 09:39:40AM +0100, Francesco Dolcini wrote:
> Hello Greg,
> 
> On Thu, Nov 14, 2024 at 05:02:01PM +0100, Greg KH wrote:
> > On Thu, Nov 14, 2024 at 03:56:44PM +0100, Parth Pancholi wrote:
> > > From: Parth Pancholi <parth.pancholi@toradex.com>
> > > 
> > > Replace lz4c with lz4 for kernel image compression.
> > > Although lz4 and lz4c are functionally similar, lz4c has been deprecated
> > > upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
> > > and lz4c have been packaged together, making it safe to update the
> > > requirement from lz4c to lz4.
> > > 
> > > Consequently, some distributions and build systems, such as OpenEmbedded,
> > > have fully transitioned to using lz4. OpenEmbedded core adopted this
> > > change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
> > > lz4c"), causing compatibility issues when building the mainline kernel
> > > in the latest OpenEmbedded environment, as seen in the errors below.
> > > 
> > > This change also updates the LZ4 compression commands to make it backward
> > > compatible by replacing stdin and stdout with the '-' option, due to some
> > > unclear reason, the stdout keyword does not work for lz4 and '-' works for
> > > both. In addition, this modifies the legacy '-c1' with '-9' which is also
> > > compatible with both. This fixes the mainline kernel build failures with
> > > the latest master OpenEmbedded builds associated with the mentioned
> > > compatibility issues.
> > > 
> > > LZ4     arch/arm/boot/compressed/piggy_data
> > > /bin/sh: 1: lz4c: not found
> > > ...
> > > ...
> > > ERROR: oe_runmake failed
> > > 
> > > Cc: stable@vger.kernel.org
> > 
> > What bug does this resolve that it needs to be backported to stable
> > kernels?
> 
> This is not solving any existing actual bug, and therefore there is no
> fixes tag.
> 
> The issue here is that the kernel build system is using lz4c, that is
> deprecated since 2018, and now distributions are actively moving away from it. 
> 
> openSUSE Tumbleweed and OE already removed it, so you would not be able
> to compile a stable kernel on such distribution when using lz4 unless we
> backport such a patch.
> 
> Everything should be properly documented in the commit message already.
> 
> My understanding is that something like that would be a reason for
> backporting to stable, if my understanding is not correct we'll remove
> the cc:stable and send a v3.

Please read:
    https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for what meets stable kernel requirements.  I don't think that this
patch is that.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2024-11-15  9:22     ` Greg KH
@ 2024-11-15  9:45       ` Francesco Dolcini
  2024-11-16  7:51         ` Masahiro Yamada
  0 siblings, 1 reply; 10+ messages in thread
From: Francesco Dolcini @ 2024-11-15  9:45 UTC (permalink / raw)
  To: Greg KH, Masahiro Yamada
  Cc: Francesco Dolcini, Parth Pancholi, Nathan Chancellor,
	Nicolas Schier, Parth Pancholi, linux-kbuild, linux-kernel,
	stable, Francesco Dolcini

On Fri, Nov 15, 2024 at 10:22:13AM +0100, Greg KH wrote:
> On Fri, Nov 15, 2024 at 09:39:40AM +0100, Francesco Dolcini wrote:
> > On Thu, Nov 14, 2024 at 05:02:01PM +0100, Greg KH wrote:
> > > On Thu, Nov 14, 2024 at 03:56:44PM +0100, Parth Pancholi wrote:
> > > > From: Parth Pancholi <parth.pancholi@toradex.com>
> > > > 
> > > > Replace lz4c with lz4 for kernel image compression.
> > > > Although lz4 and lz4c are functionally similar, lz4c has been deprecated
> > > > upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
> > > > and lz4c have been packaged together, making it safe to update the
> > > > requirement from lz4c to lz4.
> > > > 
> > > > Consequently, some distributions and build systems, such as OpenEmbedded,
> > > > have fully transitioned to using lz4. OpenEmbedded core adopted this
> > > > change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
> > > > lz4c"), causing compatibility issues when building the mainline kernel
> > > > in the latest OpenEmbedded environment, as seen in the errors below.
> > > > 
> > > > This change also updates the LZ4 compression commands to make it backward
> > > > compatible by replacing stdin and stdout with the '-' option, due to some
> > > > unclear reason, the stdout keyword does not work for lz4 and '-' works for
> > > > both. In addition, this modifies the legacy '-c1' with '-9' which is also
> > > > compatible with both. This fixes the mainline kernel build failures with
> > > > the latest master OpenEmbedded builds associated with the mentioned
> > > > compatibility issues.
> > > > 
> > > > LZ4     arch/arm/boot/compressed/piggy_data
> > > > /bin/sh: 1: lz4c: not found
> > > > ...
> > > > ...
> > > > ERROR: oe_runmake failed
> > > > 
> > > > Cc: stable@vger.kernel.org
> > > 
> > > What bug does this resolve that it needs to be backported to stable
> > > kernels?
> > 
> > This is not solving any existing actual bug, and therefore there is no
> > fixes tag.
> > 
> > The issue here is that the kernel build system is using lz4c, that is
> > deprecated since 2018, and now distributions are actively moving away from it. 
> > 
> > openSUSE Tumbleweed and OE already removed it, so you would not be able
> > to compile a stable kernel on such distribution when using lz4 unless we
> > backport such a patch.
> > 
> > Everything should be properly documented in the commit message already.
> > 
> > My understanding is that something like that would be a reason for
> > backporting to stable, if my understanding is not correct we'll remove
> > the cc:stable and send a v3.
> 
> Please read:
>     https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> for what meets stable kernel requirements.  I don't think that this
> patch is that.

Greg, ack.

Masahiro, can you please let me know if we should send a v3 with the stable
tag removed or you can remove it yourself when applying?

Francesco


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2024-11-15  9:45       ` Francesco Dolcini
@ 2024-11-16  7:51         ` Masahiro Yamada
  2025-02-02  9:00           ` Salvatore Bonaccorso
  0 siblings, 1 reply; 10+ messages in thread
From: Masahiro Yamada @ 2024-11-16  7:51 UTC (permalink / raw)
  To: Francesco Dolcini
  Cc: Greg KH, Parth Pancholi, Nathan Chancellor, Nicolas Schier,
	Parth Pancholi, linux-kbuild, linux-kernel, stable,
	Francesco Dolcini

On Fri, Nov 15, 2024 at 6:45 PM Francesco Dolcini <francesco@dolcini.it> wrote:
>
> On Fri, Nov 15, 2024 at 10:22:13AM +0100, Greg KH wrote:
> > On Fri, Nov 15, 2024 at 09:39:40AM +0100, Francesco Dolcini wrote:
> > > On Thu, Nov 14, 2024 at 05:02:01PM +0100, Greg KH wrote:
> > > > On Thu, Nov 14, 2024 at 03:56:44PM +0100, Parth Pancholi wrote:
> > > > > From: Parth Pancholi <parth.pancholi@toradex.com>
> > > > >
> > > > > Replace lz4c with lz4 for kernel image compression.
> > > > > Although lz4 and lz4c are functionally similar, lz4c has been deprecated
> > > > > upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
> > > > > and lz4c have been packaged together, making it safe to update the
> > > > > requirement from lz4c to lz4.
> > > > >
> > > > > Consequently, some distributions and build systems, such as OpenEmbedded,
> > > > > have fully transitioned to using lz4. OpenEmbedded core adopted this
> > > > > change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
> > > > > lz4c"), causing compatibility issues when building the mainline kernel
> > > > > in the latest OpenEmbedded environment, as seen in the errors below.
> > > > >
> > > > > This change also updates the LZ4 compression commands to make it backward
> > > > > compatible by replacing stdin and stdout with the '-' option, due to some
> > > > > unclear reason, the stdout keyword does not work for lz4 and '-' works for
> > > > > both. In addition, this modifies the legacy '-c1' with '-9' which is also
> > > > > compatible with both. This fixes the mainline kernel build failures with
> > > > > the latest master OpenEmbedded builds associated with the mentioned
> > > > > compatibility issues.
> > > > >
> > > > > LZ4     arch/arm/boot/compressed/piggy_data
> > > > > /bin/sh: 1: lz4c: not found
> > > > > ...
> > > > > ...
> > > > > ERROR: oe_runmake failed
> > > > >
> > > > > Cc: stable@vger.kernel.org
> > > >
> > > > What bug does this resolve that it needs to be backported to stable
> > > > kernels?
> > >
> > > This is not solving any existing actual bug, and therefore there is no
> > > fixes tag.
> > >
> > > The issue here is that the kernel build system is using lz4c, that is
> > > deprecated since 2018, and now distributions are actively moving away from it.
> > >
> > > openSUSE Tumbleweed and OE already removed it, so you would not be able
> > > to compile a stable kernel on such distribution when using lz4 unless we
> > > backport such a patch.
> > >
> > > Everything should be properly documented in the commit message already.
> > >
> > > My understanding is that something like that would be a reason for
> > > backporting to stable, if my understanding is not correct we'll remove
> > > the cc:stable and send a v3.
> >
> > Please read:
> >     https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> > for what meets stable kernel requirements.  I don't think that this
> > patch is that.
>
> Greg, ack.
>
> Masahiro, can you please let me know if we should send a v3 with the stable
> tag removed or you can remove it yourself when applying?
>

I applied this with the stable tag removed.
Thanks.

(I guess someone may want to backport this eventually,
as such distros cannot build stable kernels with ld4 compression.)



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2024-11-16  7:51         ` Masahiro Yamada
@ 2025-02-02  9:00           ` Salvatore Bonaccorso
  2025-02-03  2:44             ` Masahiro Yamada
  0 siblings, 1 reply; 10+ messages in thread
From: Salvatore Bonaccorso @ 2025-02-02  9:00 UTC (permalink / raw)
  To: Masahiro Yamada, Greg KH
  Cc: Francesco Dolcini, Parth Pancholi, Nathan Chancellor,
	Nicolas Schier, Parth Pancholi, linux-kbuild, linux-kernel,
	stable, Francesco Dolcini

Hi Greg, hi Yamada,

On Sat, Nov 16, 2024 at 04:51:48PM +0900, Masahiro Yamada wrote:
> On Fri, Nov 15, 2024 at 6:45 PM Francesco Dolcini <francesco@dolcini.it> wrote:
> >
> > On Fri, Nov 15, 2024 at 10:22:13AM +0100, Greg KH wrote:
> > > On Fri, Nov 15, 2024 at 09:39:40AM +0100, Francesco Dolcini wrote:
> > > > On Thu, Nov 14, 2024 at 05:02:01PM +0100, Greg KH wrote:
> > > > > On Thu, Nov 14, 2024 at 03:56:44PM +0100, Parth Pancholi wrote:
> > > > > > From: Parth Pancholi <parth.pancholi@toradex.com>
> > > > > >
> > > > > > Replace lz4c with lz4 for kernel image compression.
> > > > > > Although lz4 and lz4c are functionally similar, lz4c has been deprecated
> > > > > > upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
> > > > > > and lz4c have been packaged together, making it safe to update the
> > > > > > requirement from lz4c to lz4.
> > > > > >
> > > > > > Consequently, some distributions and build systems, such as OpenEmbedded,
> > > > > > have fully transitioned to using lz4. OpenEmbedded core adopted this
> > > > > > change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
> > > > > > lz4c"), causing compatibility issues when building the mainline kernel
> > > > > > in the latest OpenEmbedded environment, as seen in the errors below.
> > > > > >
> > > > > > This change also updates the LZ4 compression commands to make it backward
> > > > > > compatible by replacing stdin and stdout with the '-' option, due to some
> > > > > > unclear reason, the stdout keyword does not work for lz4 and '-' works for
> > > > > > both. In addition, this modifies the legacy '-c1' with '-9' which is also
> > > > > > compatible with both. This fixes the mainline kernel build failures with
> > > > > > the latest master OpenEmbedded builds associated with the mentioned
> > > > > > compatibility issues.
> > > > > >
> > > > > > LZ4     arch/arm/boot/compressed/piggy_data
> > > > > > /bin/sh: 1: lz4c: not found
> > > > > > ...
> > > > > > ...
> > > > > > ERROR: oe_runmake failed
> > > > > >
> > > > > > Cc: stable@vger.kernel.org
> > > > >
> > > > > What bug does this resolve that it needs to be backported to stable
> > > > > kernels?
> > > >
> > > > This is not solving any existing actual bug, and therefore there is no
> > > > fixes tag.
> > > >
> > > > The issue here is that the kernel build system is using lz4c, that is
> > > > deprecated since 2018, and now distributions are actively moving away from it.
> > > >
> > > > openSUSE Tumbleweed and OE already removed it, so you would not be able
> > > > to compile a stable kernel on such distribution when using lz4 unless we
> > > > backport such a patch.
> > > >
> > > > Everything should be properly documented in the commit message already.
> > > >
> > > > My understanding is that something like that would be a reason for
> > > > backporting to stable, if my understanding is not correct we'll remove
> > > > the cc:stable and send a v3.
> > >
> > > Please read:
> > >     https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> > > for what meets stable kernel requirements.  I don't think that this
> > > patch is that.
> >
> > Greg, ack.
> >
> > Masahiro, can you please let me know if we should send a v3 with the stable
> > tag removed or you can remove it yourself when applying?
> >
> 
> I applied this with the stable tag removed.
> Thanks.
> 
> (I guess someone may want to backport this eventually,
> as such distros cannot build stable kernels with ld4 compression.)

Yes please :)

Greg, are you willing to reconsider this and pick e397a603e49c
("kbuild: switch from lz4c to lz4 for compression") for inclusion to
at least the more recent stable series (in particular 6.12.y).

For instance Debian trixie will ship with at least lz4/1.10.0 which
does not include anymore lz4c.

In consequence our build fails now with the updated lz4 which "just"
entered Debian unstable (for the kernel aimed to be used for the
upcoming Debian trixie).

Regards:
https://salsa.debian.org/carnil/linux/-/jobs/7022458/raw

Regards,
Salvatore

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2025-02-02  9:00           ` Salvatore Bonaccorso
@ 2025-02-03  2:44             ` Masahiro Yamada
  2025-02-04 13:52               ` Greg KH
  0 siblings, 1 reply; 10+ messages in thread
From: Masahiro Yamada @ 2025-02-03  2:44 UTC (permalink / raw)
  To: Salvatore Bonaccorso
  Cc: Greg KH, Francesco Dolcini, Parth Pancholi, Nathan Chancellor,
	Nicolas Schier, Parth Pancholi, linux-kbuild, linux-kernel,
	stable, Francesco Dolcini

On Sun, Feb 2, 2025 at 6:00 PM Salvatore Bonaccorso <carnil@debian.org> wrote:
>
> Hi Greg, hi Yamada,
>
> On Sat, Nov 16, 2024 at 04:51:48PM +0900, Masahiro Yamada wrote:
> > On Fri, Nov 15, 2024 at 6:45 PM Francesco Dolcini <francesco@dolcini.it> wrote:
> > >
> > > On Fri, Nov 15, 2024 at 10:22:13AM +0100, Greg KH wrote:
> > > > On Fri, Nov 15, 2024 at 09:39:40AM +0100, Francesco Dolcini wrote:
> > > > > On Thu, Nov 14, 2024 at 05:02:01PM +0100, Greg KH wrote:
> > > > > > On Thu, Nov 14, 2024 at 03:56:44PM +0100, Parth Pancholi wrote:
> > > > > > > From: Parth Pancholi <parth.pancholi@toradex.com>
> > > > > > >
> > > > > > > Replace lz4c with lz4 for kernel image compression.
> > > > > > > Although lz4 and lz4c are functionally similar, lz4c has been deprecated
> > > > > > > upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
> > > > > > > and lz4c have been packaged together, making it safe to update the
> > > > > > > requirement from lz4c to lz4.
> > > > > > >
> > > > > > > Consequently, some distributions and build systems, such as OpenEmbedded,
> > > > > > > have fully transitioned to using lz4. OpenEmbedded core adopted this
> > > > > > > change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
> > > > > > > lz4c"), causing compatibility issues when building the mainline kernel
> > > > > > > in the latest OpenEmbedded environment, as seen in the errors below.
> > > > > > >
> > > > > > > This change also updates the LZ4 compression commands to make it backward
> > > > > > > compatible by replacing stdin and stdout with the '-' option, due to some
> > > > > > > unclear reason, the stdout keyword does not work for lz4 and '-' works for
> > > > > > > both. In addition, this modifies the legacy '-c1' with '-9' which is also
> > > > > > > compatible with both. This fixes the mainline kernel build failures with
> > > > > > > the latest master OpenEmbedded builds associated with the mentioned
> > > > > > > compatibility issues.
> > > > > > >
> > > > > > > LZ4     arch/arm/boot/compressed/piggy_data
> > > > > > > /bin/sh: 1: lz4c: not found
> > > > > > > ...
> > > > > > > ...
> > > > > > > ERROR: oe_runmake failed
> > > > > > >
> > > > > > > Cc: stable@vger.kernel.org
> > > > > >
> > > > > > What bug does this resolve that it needs to be backported to stable
> > > > > > kernels?
> > > > >
> > > > > This is not solving any existing actual bug, and therefore there is no
> > > > > fixes tag.
> > > > >
> > > > > The issue here is that the kernel build system is using lz4c, that is
> > > > > deprecated since 2018, and now distributions are actively moving away from it.
> > > > >
> > > > > openSUSE Tumbleweed and OE already removed it, so you would not be able
> > > > > to compile a stable kernel on such distribution when using lz4 unless we
> > > > > backport such a patch.
> > > > >
> > > > > Everything should be properly documented in the commit message already.
> > > > >
> > > > > My understanding is that something like that would be a reason for
> > > > > backporting to stable, if my understanding is not correct we'll remove
> > > > > the cc:stable and send a v3.
> > > >
> > > > Please read:
> > > >     https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> > > > for what meets stable kernel requirements.  I don't think that this
> > > > patch is that.
> > >
> > > Greg, ack.
> > >
> > > Masahiro, can you please let me know if we should send a v3 with the stable
> > > tag removed or you can remove it yourself when applying?
> > >
> >
> > I applied this with the stable tag removed.
> > Thanks.
> >
> > (I guess someone may want to backport this eventually,
> > as such distros cannot build stable kernels with ld4 compression.)
>
> Yes please :)

Agree.
This should be back-ported.






-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2024-11-14 14:56 [PATCH v2] kbuild: switch from lz4c to lz4 for compression Parth Pancholi
  2024-11-14 16:02 ` Greg KH
@ 2025-02-03 12:37 ` Sasha Levin
  1 sibling, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2025-02-03 12:37 UTC (permalink / raw)
  To: stable; +Cc: Parth Pancholi, Sasha Levin

[ Sasha's backport helper bot ]

Hi,

Found matching upstream commit: e397a603e49cc7c7c113fad9f55a09637f290c34

WARNING: Author mismatch between patch and found commit:
Backport author: Parth Pancholi<parth105105@gmail.com>
Commit author: Parth Pancholi<parth.pancholi@toradex.com>


Status in newer kernel trees:
6.13.y | Present (exact SHA1)

Note: The patch differs from the upstream commit:
---
Failed to apply patch cleanly, falling back to interdiff...
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.13.y       |  Failed     |  N/A       |
| stable/linux-6.12.y       |  Success    |  Success   |
| stable/linux-6.6.y        |  Success    |  Success   |
| stable/linux-6.1.y        |  Success    |  Success   |
| stable/linux-5.15.y       |  Failed     |  N/A       |
| stable/linux-5.10.y       |  Failed     |  N/A       |
| stable/linux-5.4.y        |  Failed     |  N/A       |

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] kbuild: switch from lz4c to lz4 for compression
  2025-02-03  2:44             ` Masahiro Yamada
@ 2025-02-04 13:52               ` Greg KH
  0 siblings, 0 replies; 10+ messages in thread
From: Greg KH @ 2025-02-04 13:52 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Salvatore Bonaccorso, Francesco Dolcini, Parth Pancholi,
	Nathan Chancellor, Nicolas Schier, Parth Pancholi, linux-kbuild,
	linux-kernel, stable, Francesco Dolcini

On Mon, Feb 03, 2025 at 11:44:50AM +0900, Masahiro Yamada wrote:
> On Sun, Feb 2, 2025 at 6:00 PM Salvatore Bonaccorso <carnil@debian.org> wrote:
> >
> > Hi Greg, hi Yamada,
> >
> > On Sat, Nov 16, 2024 at 04:51:48PM +0900, Masahiro Yamada wrote:
> > > On Fri, Nov 15, 2024 at 6:45 PM Francesco Dolcini <francesco@dolcini.it> wrote:
> > > >
> > > > On Fri, Nov 15, 2024 at 10:22:13AM +0100, Greg KH wrote:
> > > > > On Fri, Nov 15, 2024 at 09:39:40AM +0100, Francesco Dolcini wrote:
> > > > > > On Thu, Nov 14, 2024 at 05:02:01PM +0100, Greg KH wrote:
> > > > > > > On Thu, Nov 14, 2024 at 03:56:44PM +0100, Parth Pancholi wrote:
> > > > > > > > From: Parth Pancholi <parth.pancholi@toradex.com>
> > > > > > > >
> > > > > > > > Replace lz4c with lz4 for kernel image compression.
> > > > > > > > Although lz4 and lz4c are functionally similar, lz4c has been deprecated
> > > > > > > > upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4
> > > > > > > > and lz4c have been packaged together, making it safe to update the
> > > > > > > > requirement from lz4c to lz4.
> > > > > > > >
> > > > > > > > Consequently, some distributions and build systems, such as OpenEmbedded,
> > > > > > > > have fully transitioned to using lz4. OpenEmbedded core adopted this
> > > > > > > > change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of
> > > > > > > > lz4c"), causing compatibility issues when building the mainline kernel
> > > > > > > > in the latest OpenEmbedded environment, as seen in the errors below.
> > > > > > > >
> > > > > > > > This change also updates the LZ4 compression commands to make it backward
> > > > > > > > compatible by replacing stdin and stdout with the '-' option, due to some
> > > > > > > > unclear reason, the stdout keyword does not work for lz4 and '-' works for
> > > > > > > > both. In addition, this modifies the legacy '-c1' with '-9' which is also
> > > > > > > > compatible with both. This fixes the mainline kernel build failures with
> > > > > > > > the latest master OpenEmbedded builds associated with the mentioned
> > > > > > > > compatibility issues.
> > > > > > > >
> > > > > > > > LZ4     arch/arm/boot/compressed/piggy_data
> > > > > > > > /bin/sh: 1: lz4c: not found
> > > > > > > > ...
> > > > > > > > ...
> > > > > > > > ERROR: oe_runmake failed
> > > > > > > >
> > > > > > > > Cc: stable@vger.kernel.org
> > > > > > >
> > > > > > > What bug does this resolve that it needs to be backported to stable
> > > > > > > kernels?
> > > > > >
> > > > > > This is not solving any existing actual bug, and therefore there is no
> > > > > > fixes tag.
> > > > > >
> > > > > > The issue here is that the kernel build system is using lz4c, that is
> > > > > > deprecated since 2018, and now distributions are actively moving away from it.
> > > > > >
> > > > > > openSUSE Tumbleweed and OE already removed it, so you would not be able
> > > > > > to compile a stable kernel on such distribution when using lz4 unless we
> > > > > > backport such a patch.
> > > > > >
> > > > > > Everything should be properly documented in the commit message already.
> > > > > >
> > > > > > My understanding is that something like that would be a reason for
> > > > > > backporting to stable, if my understanding is not correct we'll remove
> > > > > > the cc:stable and send a v3.
> > > > >
> > > > > Please read:
> > > > >     https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> > > > > for what meets stable kernel requirements.  I don't think that this
> > > > > patch is that.
> > > >
> > > > Greg, ack.
> > > >
> > > > Masahiro, can you please let me know if we should send a v3 with the stable
> > > > tag removed or you can remove it yourself when applying?
> > > >
> > >
> > > I applied this with the stable tag removed.
> > > Thanks.
> > >
> > > (I guess someone may want to backport this eventually,
> > > as such distros cannot build stable kernels with ld4 compression.)
> >
> > Yes please :)
> 
> Agree.
> This should be back-ported.

Ok, now queued up, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-02-04 13:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-14 14:56 [PATCH v2] kbuild: switch from lz4c to lz4 for compression Parth Pancholi
2024-11-14 16:02 ` Greg KH
2024-11-15  8:39   ` Francesco Dolcini
2024-11-15  9:22     ` Greg KH
2024-11-15  9:45       ` Francesco Dolcini
2024-11-16  7:51         ` Masahiro Yamada
2025-02-02  9:00           ` Salvatore Bonaccorso
2025-02-03  2:44             ` Masahiro Yamada
2025-02-04 13:52               ` Greg KH
2025-02-03 12:37 ` Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox