]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Jan 2023 10:24:15 +0000 (11:24 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Jan 2023 10:24:15 +0000 (11:24 +0100)
added patches:
block-fix-and-cleanup-bio_check_ro.patch
kbuild-allow-kernel-installation-packaging-to-override-pkg-config.patch

queue-5.15/block-fix-and-cleanup-bio_check_ro.patch [new file with mode: 0644]
queue-5.15/kbuild-allow-kernel-installation-packaging-to-override-pkg-config.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/block-fix-and-cleanup-bio_check_ro.patch b/queue-5.15/block-fix-and-cleanup-bio_check_ro.patch
new file mode 100644 (file)
index 0000000..83082e3
--- /dev/null
@@ -0,0 +1,44 @@
+From 57e95e4670d1126c103305bcf34a9442f49f6d6a Mon Sep 17 00:00:00 2001
+From: Christoph Hellwig <hch@lst.de>
+Date: Fri, 4 Mar 2022 19:00:56 +0100
+Subject: block: fix and cleanup bio_check_ro
+
+From: Christoph Hellwig <hch@lst.de>
+
+commit 57e95e4670d1126c103305bcf34a9442f49f6d6a upstream.
+
+Don't use a WARN_ON when printing a potentially user triggered
+condition.  Also don't print the partno when the block device name
+already includes it, and use the %pg specifier to simplify printing
+the block device name.
+
+Signed-off-by: Christoph Hellwig <hch@lst.de>
+Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
+Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
+Link: https://lore.kernel.org/r/20220304180105.409765-2-hch@lst.de
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ block/blk-core.c |    8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+--- a/block/blk-core.c
++++ b/block/blk-core.c
+@@ -698,14 +698,10 @@ static inline bool should_fail_request(s
+ static inline bool bio_check_ro(struct bio *bio)
+ {
+       if (op_is_write(bio_op(bio)) && bdev_read_only(bio->bi_bdev)) {
+-              char b[BDEVNAME_SIZE];
+-
+               if (op_is_flush(bio->bi_opf) && !bio_sectors(bio))
+                       return false;
+-
+-              WARN_ONCE(1,
+-                     "Trying to write to read-only block-device %s (partno %d)\n",
+-                      bio_devname(bio, b), bio->bi_bdev->bd_partno);
++              pr_warn("Trying to write to read-only block-device %pg\n",
++                      bio->bi_bdev);
+               /* Older lvm-tools actually trigger this */
+               return false;
+       }
diff --git a/queue-5.15/kbuild-allow-kernel-installation-packaging-to-override-pkg-config.patch b/queue-5.15/kbuild-allow-kernel-installation-packaging-to-override-pkg-config.patch
new file mode 100644 (file)
index 0000000..9d7f6f8
--- /dev/null
@@ -0,0 +1,237 @@
+From d5ea4fece4508bf8e72b659cd22fa4840d8d61e5 Mon Sep 17 00:00:00 2001
+From: Chun-Tse Shao <ctshao@google.com>
+Date: Fri, 1 Apr 2022 23:18:02 +0000
+Subject: kbuild: Allow kernel installation packaging to override pkg-config
+
+From: Chun-Tse Shao <ctshao@google.com>
+
+commit d5ea4fece4508bf8e72b659cd22fa4840d8d61e5 upstream.
+
+Add HOSTPKG_CONFIG to allow tooling that builds the kernel to override
+what pkg-config and parameters are used.
+
+Signed-off-by: Chun-Tse Shao <ctshao@google.com>
+Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
+Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
+[swboyd@chromium.org: Drop certs/Makefile hunk that doesn't
+apply because pkg-config isn't used there, add dtc/Makefile hunk to
+fix dtb builds]
+Signed-off-by: Stephen Boyd <swboyd@chromium.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Makefile                     |    3 ++-
+ scripts/Makefile             |    4 ++--
+ scripts/dtc/Makefile         |    6 +++---
+ scripts/kconfig/gconf-cfg.sh |   12 ++++++------
+ scripts/kconfig/mconf-cfg.sh |   16 ++++++++--------
+ scripts/kconfig/nconf-cfg.sh |   16 ++++++++--------
+ scripts/kconfig/qconf-cfg.sh |   14 +++++++-------
+ tools/objtool/Makefile       |    4 ++--
+ 8 files changed, 38 insertions(+), 37 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -430,6 +430,7 @@ else
+ HOSTCC        = gcc
+ HOSTCXX       = g++
+ endif
++HOSTPKG_CONFIG        = pkg-config
+ export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
+                             -O2 -fomit-frame-pointer -std=gnu89
+@@ -525,7 +526,7 @@ KBUILD_LDFLAGS_MODULE :=
+ KBUILD_LDFLAGS :=
+ CLANG_FLAGS :=
+-export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
++export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC HOSTPKG_CONFIG
+ export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
+ export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
+ export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
+--- a/scripts/Makefile
++++ b/scripts/Makefile
+@@ -3,8 +3,8 @@
+ # scripts contains sources for various helper programs used throughout
+ # the kernel for the build process.
+-CRYPTO_LIBS = $(shell pkg-config --libs libcrypto 2> /dev/null || echo -lcrypto)
+-CRYPTO_CFLAGS = $(shell pkg-config --cflags libcrypto 2> /dev/null)
++CRYPTO_LIBS = $(shell $(HOSTPKG_CONFIG) --libs libcrypto 2> /dev/null || echo -lcrypto)
++CRYPTO_CFLAGS = $(shell $(HOSTPKG_CONFIG) --cflags libcrypto 2> /dev/null)
+ hostprogs-always-$(CONFIG_BUILD_BIN2C)                        += bin2c
+ hostprogs-always-$(CONFIG_KALLSYMS)                   += kallsyms
+--- a/scripts/dtc/Makefile
++++ b/scripts/dtc/Makefile
+@@ -18,7 +18,7 @@ fdtoverlay-objs      := $(libfdt) fdtoverlay.
+ # Source files need to get at the userspace version of libfdt_env.h to compile
+ HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt
+-ifeq ($(shell pkg-config --exists yaml-0.1 2>/dev/null && echo yes),)
++ifeq ($(shell $(HOSTPKG_CONFIG) --exists yaml-0.1 2>/dev/null && echo yes),)
+ ifneq ($(CHECK_DT_BINDING)$(CHECK_DTBS),)
+ $(error dtc needs libyaml for DT schema validation support. \
+       Install the necessary libyaml development package.)
+@@ -27,9 +27,9 @@ HOST_EXTRACFLAGS += -DNO_YAML
+ else
+ dtc-objs      += yamltree.o
+ # To include <yaml.h> installed in a non-default path
+-HOSTCFLAGS_yamltree.o := $(shell pkg-config --cflags yaml-0.1)
++HOSTCFLAGS_yamltree.o := $(shell $(HOSTPKG_CONFIG) --cflags yaml-0.1)
+ # To link libyaml installed in a non-default path
+-HOSTLDLIBS_dtc        := $(shell pkg-config --libs yaml-0.1)
++HOSTLDLIBS_dtc        := $(shell $(HOSTPKG_CONFIG) --libs yaml-0.1)
+ endif
+ # Generated files need one more search path to include headers in source tree
+--- a/scripts/kconfig/gconf-cfg.sh
++++ b/scripts/kconfig/gconf-cfg.sh
+@@ -3,14 +3,14 @@
+ PKG="gtk+-2.0 gmodule-2.0 libglade-2.0"
+-if [ -z "$(command -v pkg-config)" ]; then
++if [ -z "$(command -v ${HOSTPKG_CONFIG})" ]; then
+       echo >&2 "*"
+-      echo >&2 "* 'make gconfig' requires 'pkg-config'. Please install it."
++      echo >&2 "* 'make gconfig' requires '${HOSTPKG_CONFIG}'. Please install it."
+       echo >&2 "*"
+       exit 1
+ fi
+-if ! pkg-config --exists $PKG; then
++if ! ${HOSTPKG_CONFIG} --exists $PKG; then
+       echo >&2 "*"
+       echo >&2 "* Unable to find the GTK+ installation. Please make sure that"
+       echo >&2 "* the GTK+ 2.0 development package is correctly installed."
+@@ -19,12 +19,12 @@ if ! pkg-config --exists $PKG; then
+       exit 1
+ fi
+-if ! pkg-config --atleast-version=2.0.0 gtk+-2.0; then
++if ! ${HOSTPKG_CONFIG} --atleast-version=2.0.0 gtk+-2.0; then
+       echo >&2 "*"
+       echo >&2 "* GTK+ is present but version >= 2.0.0 is required."
+       echo >&2 "*"
+       exit 1
+ fi
+-echo cflags=\"$(pkg-config --cflags $PKG)\"
+-echo libs=\"$(pkg-config --libs $PKG)\"
++echo cflags=\"$(${HOSTPKG_CONFIG} --cflags $PKG)\"
++echo libs=\"$(${HOSTPKG_CONFIG} --libs $PKG)\"
+--- a/scripts/kconfig/mconf-cfg.sh
++++ b/scripts/kconfig/mconf-cfg.sh
+@@ -4,16 +4,16 @@
+ PKG="ncursesw"
+ PKG2="ncurses"
+-if [ -n "$(command -v pkg-config)" ]; then
+-      if pkg-config --exists $PKG; then
+-              echo cflags=\"$(pkg-config --cflags $PKG)\"
+-              echo libs=\"$(pkg-config --libs $PKG)\"
++if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
++      if ${HOSTPKG_CONFIG} --exists $PKG; then
++              echo cflags=\"$(${HOSTPKG_CONFIG} --cflags $PKG)\"
++              echo libs=\"$(${HOSTPKG_CONFIG} --libs $PKG)\"
+               exit 0
+       fi
+-      if pkg-config --exists $PKG2; then
+-              echo cflags=\"$(pkg-config --cflags $PKG2)\"
+-              echo libs=\"$(pkg-config --libs $PKG2)\"
++      if ${HOSTPKG_CONFIG} --exists $PKG2; then
++              echo cflags=\"$(${HOSTPKG_CONFIG} --cflags $PKG2)\"
++              echo libs=\"$(${HOSTPKG_CONFIG} --libs $PKG2)\"
+               exit 0
+       fi
+ fi
+@@ -46,7 +46,7 @@ echo >&2 "* Unable to find the ncurses p
+ echo >&2 "* Install ncurses (ncurses-devel or libncurses-dev"
+ echo >&2 "* depending on your distribution)."
+ echo >&2 "*"
+-echo >&2 "* You may also need to install pkg-config to find the"
++echo >&2 "* You may also need to install ${HOSTPKG_CONFIG} to find the"
+ echo >&2 "* ncurses installed in a non-default location."
+ echo >&2 "*"
+ exit 1
+--- a/scripts/kconfig/nconf-cfg.sh
++++ b/scripts/kconfig/nconf-cfg.sh
+@@ -4,16 +4,16 @@
+ PKG="ncursesw menuw panelw"
+ PKG2="ncurses menu panel"
+-if [ -n "$(command -v pkg-config)" ]; then
+-      if pkg-config --exists $PKG; then
+-              echo cflags=\"$(pkg-config --cflags $PKG)\"
+-              echo libs=\"$(pkg-config --libs $PKG)\"
++if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
++      if ${HOSTPKG_CONFIG} --exists $PKG; then
++              echo cflags=\"$(${HOSTPKG_CONFIG} --cflags $PKG)\"
++              echo libs=\"$(${HOSTPKG_CONFIG} --libs $PKG)\"
+               exit 0
+       fi
+-      if pkg-config --exists $PKG2; then
+-              echo cflags=\"$(pkg-config --cflags $PKG2)\"
+-              echo libs=\"$(pkg-config --libs $PKG2)\"
++      if ${HOSTPKG_CONFIG} --exists $PKG2; then
++              echo cflags=\"$(${HOSTPKG_CONFIG} --cflags $PKG2)\"
++              echo libs=\"$(${HOSTPKG_CONFIG} --libs $PKG2)\"
+               exit 0
+       fi
+ fi
+@@ -44,7 +44,7 @@ echo >&2 "* Unable to find the ncurses p
+ echo >&2 "* Install ncurses (ncurses-devel or libncurses-dev"
+ echo >&2 "* depending on your distribution)."
+ echo >&2 "*"
+-echo >&2 "* You may also need to install pkg-config to find the"
++echo >&2 "* You may also need to install ${HOSTPKG_CONFIG} to find the"
+ echo >&2 "* ncurses installed in a non-default location."
+ echo >&2 "*"
+ exit 1
+--- a/scripts/kconfig/qconf-cfg.sh
++++ b/scripts/kconfig/qconf-cfg.sh
+@@ -3,22 +3,22 @@
+ PKG="Qt5Core Qt5Gui Qt5Widgets"
+-if [ -z "$(command -v pkg-config)" ]; then
++if [ -z "$(command -v ${HOSTPKG_CONFIG})" ]; then
+       echo >&2 "*"
+-      echo >&2 "* 'make xconfig' requires 'pkg-config'. Please install it."
++      echo >&2 "* 'make xconfig' requires '${HOSTPKG_CONFIG}'. Please install it."
+       echo >&2 "*"
+       exit 1
+ fi
+-if pkg-config --exists $PKG; then
+-      echo cflags=\"-std=c++11 -fPIC $(pkg-config --cflags $PKG)\"
+-      echo libs=\"$(pkg-config --libs $PKG)\"
+-      echo moc=\"$(pkg-config --variable=host_bins Qt5Core)/moc\"
++if ${HOSTPKG_CONFIG} --exists $PKG; then
++      echo cflags=\"-std=c++11 -fPIC $(${HOSTPKG_CONFIG} --cflags $PKG)\"
++      echo libs=\"$(${HOSTPKG_CONFIG} --libs $PKG)\"
++      echo moc=\"$(${HOSTPKG_CONFIG} --variable=host_bins Qt5Core)/moc\"
+       exit 0
+ fi
+ echo >&2 "*"
+-echo >&2 "* Could not find Qt5 via pkg-config."
++echo >&2 "* Could not find Qt5 via ${HOSTPKG_CONFIG}."
+ echo >&2 "* Please install Qt5 and make sure it's in PKG_CONFIG_PATH"
+ echo >&2 "*"
+ exit 1
+--- a/tools/objtool/Makefile
++++ b/tools/objtool/Makefile
+@@ -19,8 +19,8 @@ LIBSUBCMD            = $(LIBSUBCMD_OUTPUT)libsubcm
+ OBJTOOL    := $(OUTPUT)objtool
+ OBJTOOL_IN := $(OBJTOOL)-in.o
+-LIBELF_FLAGS := $(shell pkg-config libelf --cflags 2>/dev/null)
+-LIBELF_LIBS  := $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf)
++LIBELF_FLAGS := $(shell $(HOSTPKG_CONFIG) libelf --cflags 2>/dev/null)
++LIBELF_LIBS  := $(shell $(HOSTPKG_CONFIG) libelf --libs 2>/dev/null || echo -lelf)
+ all: $(OBJTOOL)
index 31a7865f5649e2e57f301020c260f8dab02d90b9..4b836fd5a1a6021fe51d6f23354c4406223f08a8 100644 (file)
@@ -197,3 +197,5 @@ tools-gpio-fix-c-option-of-gpio-event-mon.patch
 revert-input-synaptics-switch-touchpad-on-hp-laptop-15-da3001tu-to-rmi-mode.patch
 cpufreq-move-to_gov_attr_set-to-cpufreq.h.patch
 cpufreq-governor-use-kobject-release-method-to-free-dbs_data.patch
+kbuild-allow-kernel-installation-packaging-to-override-pkg-config.patch
+block-fix-and-cleanup-bio_check_ro.patch