From: Greg Kroah-Hartman Date: Mon, 30 Jan 2023 10:24:15 +0000 (+0100) Subject: 5.15-stable patches X-Git-Tag: v5.10.166~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7052b6df4460913eaad7f0a50a4c77beb848a921;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: block-fix-and-cleanup-bio_check_ro.patch kbuild-allow-kernel-installation-packaging-to-override-pkg-config.patch --- 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 index 00000000000..83082e35560 --- /dev/null +++ b/queue-5.15/block-fix-and-cleanup-bio_check_ro.patch @@ -0,0 +1,44 @@ +From 57e95e4670d1126c103305bcf34a9442f49f6d6a Mon Sep 17 00:00:00 2001 +From: Christoph Hellwig +Date: Fri, 4 Mar 2022 19:00:56 +0100 +Subject: block: fix and cleanup bio_check_ro + +From: Christoph Hellwig + +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 +Reviewed-by: Chaitanya Kulkarni +Reviewed-by: Johannes Thumshirn +Link: https://lore.kernel.org/r/20220304180105.409765-2-hch@lst.de +Signed-off-by: Jens Axboe +Signed-off-by: Fedor Pchelkin +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..9d7f6f851b7 --- /dev/null +++ b/queue-5.15/kbuild-allow-kernel-installation-packaging-to-override-pkg-config.patch @@ -0,0 +1,237 @@ +From d5ea4fece4508bf8e72b659cd22fa4840d8d61e5 Mon Sep 17 00:00:00 2001 +From: Chun-Tse Shao +Date: Fri, 1 Apr 2022 23:18:02 +0000 +Subject: kbuild: Allow kernel installation packaging to override pkg-config + +From: Chun-Tse Shao + +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 +Reviewed-by: Nick Desaulniers +Signed-off-by: Masahiro Yamada +[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 +Signed-off-by: Greg Kroah-Hartman +--- + 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 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) + diff --git a/queue-5.15/series b/queue-5.15/series index 31a7865f564..4b836fd5a1a 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -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