From 08ab4d2e365c81ea50544a01b21d9ba9a052c45a Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 31 May 2020 21:45:47 +0000 Subject: [PATCH 1/8] nightly build: Update kernel versions git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8993 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- nightly/conf/nightly.conf | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index 2a549eaa6..5ccd9d616 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -3,30 +3,30 @@ ABT_DETAILS="x86_64" ABT_JOBS=5 ABT_KERNELS=" \ -5.6.14 \ +5.6.15 \ 5.5.19-nc \ -5.4.42-nc \ +5.4.43-nc \ 5.3.18-nc \ 5.2.21-nc \ 5.1.21-nc \ 5.0.21-nc \ 4.20.17-nc \ -4.19.124-nc \ +4.19.125-nc \ 4.18.20-nc \ 4.17.19-nc \ 4.16.18-nc \ 4.15.18-nc \ -4.14.181-nc \ +4.14.182-nc \ 4.13.16-nc \ 4.12.14-nc \ 4.11.12-nc \ 4.10.17-nc \ -4.9.224-nc \ +4.9.225-nc \ 4.8.17-nc \ 4.7.10-nc \ 4.6.7-nc \ 4.5.7-nc \ -4.4.224-nc \ +4.4.225-nc \ 4.3.6-nc \ 4.2.8-nc \ 4.1.52-nc \ @@ -60,11 +60,12 @@ ABT_KERNELS=" \ 2.6.33.7-nc \ 2.6.32.27-nc \ 2.6.31.14-nc \ -4.18.0-147.5.1.el8_1^CentOS^8.1.1911-nc \ +4.18.0-193.10.el8^CentOS^8.1.1911-nc \ 4.18.0-80.11.2.el8_0^CentOS^8.0.1905-nc \ 3.10.0-1127.el7^CentOS^7.8.2003-nc \ 3.10.0-1062.18.1.el7^CentOS^7.7.1908-nc \ 3.10.0-957.27.2.el7^CentOS^7.6.1810-nc \ 3.10.0-862.14.4.el7^CentOS^7.5.1804-nc \ -2.6.32-754.29.1.el6^CentOS^6.10-nc \ +2.6.32-754.29.2.el6^CentOS^6.10-nc \ +2.6.32-696.30.1.el6^CentOS^6.9-nc \ " From 7e127312825624e78eedd79144c361e1561fa771 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 1 Jun 2020 02:04:44 +0000 Subject: [PATCH 2/8] scst/include/backport.h: Improve the MIN_NICE backport git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8994 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/include/backport.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scst/include/backport.h b/scst/include/backport.h index 1b730cc41..49d278a59 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -1407,8 +1407,7 @@ static inline void sg_unmark_end(struct scatterlist *sg) * See also commit 3ee237dddcd8 ("sched/prio: Add 3 macros of MAX_NICE, * MIN_NICE and NICE_WIDTH in prio.h") # v3.15. */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && \ - (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(MIN_NICE) #define MIN_NICE -20 #endif From 5aeb06e3a80be67b59a23982bf5b95b1d26a5c05 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 1 Jun 2020 02:05:35 +0000 Subject: [PATCH 3/8] scst/include/backport.h: Improve the cpu_to_be32_array() backport git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8995 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/include/backport.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scst/include/backport.h b/scst/include/backport.h index 49d278a59..bf6f74f20 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -188,7 +188,8 @@ static inline void *bsg_job_sense(struct bsg_job *job) * from Thunderbolt to core") # v4.15. */ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) && \ - (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) + (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7 || \ + RHEL_MAJOR -0 == 7 && RHEL_MINOR -0 < 8) static inline void cpu_to_be32_array(__be32 *dst, const u32 *src, size_t len) { int i; From e05b5508177365daa9b1144dffc98bd0afa1b4d8 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 1 Jun 2020 02:06:05 +0000 Subject: [PATCH 4/8] scst/include/backport.h: Improve the FC_PORTSPEED_64GBIT backport git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8996 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/include/backport.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scst/include/backport.h b/scst/include/backport.h index bf6f74f20..39a9d03a6 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -1750,15 +1750,13 @@ enum { #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0) && \ - (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) + !defined(FC_PORTSPEED_64GBIT) /* * See also commit cc019a5a3b58 ("scsi: scsi_transport_fc: fix typos on 64/128 * GBit define names") # v4.16. */ -#ifndef FC_PORTSPEED_64GBIT #define FC_PORTSPEED_64GBIT 0x1000 #endif -#endif #ifndef FC_PORT_ROLE_UNKNOWN #define FC_PORT_ROLE_UNKNOWN 0x00 From 6c785d14b92ad5f8198c9d9c77252d468dee071e Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 1 Jun 2020 02:09:31 +0000 Subject: [PATCH 5/8] usr/fileio/fileio: Fix align_alloc() User space code must not use PAGE_SIZE but must use sysconf(_SC_PAGESIZE) instead to obtain the page size. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8997 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- usr/fileio/fileio.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/usr/fileio/fileio.c b/usr/fileio/fileio.c index 56962bcd1..a6a0f904d 100644 --- a/usr/fileio/fileio.c +++ b/usr/fileio/fileio.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -199,8 +200,13 @@ out: static void *align_alloc(size_t size) { + static uint32_t page_size; + + if (page_size == 0) + page_size = sysconf(_SC_PAGESIZE); + TRACE_MEM("Request to alloc %zdKB", size / 1024); - return memalign(PAGE_SIZE, size); + return memalign(page_size, size); } static void sigalrm_handler(int signo) From f7fe23928f68613a0934103442418ba7d1e35488 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 1 Jun 2020 02:11:16 +0000 Subject: [PATCH 6/8] Change $(MODULE_SYMVERS) into Module.symvers Or in other words, drop support for kernel versions before 2.6.18. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8998 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- fcst/Makefile | 9 ++------- iscsi-scst/Makefile | 21 ++++++++------------- qla2x00t-32gbit/Makefile | 2 +- qla2x00t-32gbit/qla2x00-target/Makefile | 9 ++------- qla2x00t/Makefile | 2 +- qla2x00t/qla2x00-target/Makefile | 11 +++-------- scst/src/Makefile | 11 +++-------- scst_local/Makefile | 9 ++------- srpt/Makefile | 11 +++-------- 9 files changed, 25 insertions(+), 60 deletions(-) diff --git a/fcst/Makefile b/fcst/Makefile index 354ab7551..03110073e 100644 --- a/fcst/Makefile +++ b/fcst/Makefile @@ -62,14 +62,9 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SCST_DIR := $(shell echo "$$PWD")/../scst/src -# The file Modules.symvers has been renamed in the 2.6.18 kernel to -# Module.symvers. Find out which name to use by looking in $(KDIR). -MODULE_SYMVERS:=$(shell if [ -e "$(KDIR)/Modules.symvers" ]; then \ - echo Modules.symvers; else echo Module.symvers; fi) - all: $(MAKE) -C $(KDIR) M=$(shell pwd) \ - KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/$(MODULE_SYMVERS) + KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/Module.symvers install: all KDIR=$(KDIR) ../scripts/sign-modules @@ -90,7 +85,7 @@ endif clean: rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ \ - $(MODULE_SYMVERS) Module.markers modules.order + Module.symvers Module.markers modules.order rm -rf .tmp_versions extraclean: clean diff --git a/iscsi-scst/Makefile b/iscsi-scst/Makefile index b935c040e..af2ce46d5 100644 --- a/iscsi-scst/Makefile +++ b/iscsi-scst/Makefile @@ -44,14 +44,9 @@ endif INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra INFINIBAND_ENABLED = $(shell syms=$$(dirname "$(KDIR)")/modules.symbols; if [ -e "$$syms" ] && grep -wq 'ib_register_client' "$$syms" || grep -q "^CONFIG_INFINIBAND=[my]$$" "$(KDIR)/.config"; then echo true; else echo false; fi) -# The file Modules.symvers has been renamed in the 2.6.18 kernel to -# Module.symvers. Find out which name to use by looking in $(KDIR). -MODULE_SYMVERS:=$(shell if [ -e "$(KDIR)/Modules.symvers" ]; then \ - echo Modules.symvers; else echo Module.symvers; fi) - all: progs mods -ISER_SYMVERS:=$(KMOD)/$(MODULE_SYMVERS) +ISER_SYMVERS:=$(KMOD)/Module.symvers OFED_CFLAGS:= OFED_FLAVOR=$(shell if [ -e /usr/bin/ofed_info ]; then /usr/bin/ofed_info 2>/dev/null | head -n1 | sed -n 's/^\(MLNX_OFED\|OFED-internal\).*/MOFED/p;s/^OFED-.*/OFED/p'; else echo in-tree; fi) @@ -84,7 +79,7 @@ ifeq ($(OFED_FLAVOR),MOFED) -include $(OFED_DIR)/include/linux/compat-2.6.h \ -DMOFED_MAJOR=$(shell echo $(OFED_VERS) | cut -f1 -d.)\ -DMOFED_MINOR=$(shell echo $(OFED_VERS) | cut -f2 -d.) - OFED_MODULE_SYMVERS:=$(OFED_DIR)/$(MODULE_SYMVERS) + OFED_MODULE_SYMVERS:=$(OFED_DIR)/Module.symvers ISER_SYMVERS:=$(ISER_SYMVERS) $(OFED_MODULE_SYMVERS) OFED_CONFIG:= CONFIG_DTRACE= else @@ -99,12 +94,12 @@ else # BACKPORT_INCLUDES. include /usr/src/ofa_kernel/config.mk OFED_CFLAGS:=$(shell echo $(BACKPORT_INCLUDES) -I/usr/src/ofa_kernel/include) - ISER_SYMVERS:=$(ISER_SYMVERS) /usr/src/ofa_kernel/$(MODULE_SYMVERS) + ISER_SYMVERS:=$(ISER_SYMVERS) /usr/src/ofa_kernel/Module.symvers endif ifeq ($(OFED_COMPAT_RDMA_DEVEL_RPM_INSTALLED),true) OFED_CFLAGS:=-I/usr/src/compat-rdma/include -include /usr/src/compat-rdma/include/linux/compat-2.6.h - ISER_SYMVERS:=$(ISER_SYMVERS) /usr/src/compat-rdma/$(MODULE_SYMVERS) + ISER_SYMVERS:=$(ISER_SYMVERS) /usr/src/compat-rdma/Module.symvers endif endif @@ -127,7 +122,7 @@ ISER_CFLAGS = $(OFED_CFLAGS) -DOFED_FLAVOR=$(OFED_FLAVOR) $(PRE_CFLAGS) mods: include/iscsi_scst_itf_ver.h $(CONFTEST_OUTPUTS) $(MAKE) -C $(KDIR) M=$(KMOD) PRE_CFLAGS="$(PRE_CFLAGS)" modules \ - KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/$(MODULE_SYMVERS) + KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/Module.symvers echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)" if $(INFINIBAND_ENABLED); then \ echo " Building against $(OFED_FLAVOR) InfiniBand kernel headers."; \ @@ -177,12 +172,12 @@ clean: $(MAKE) -C usr $@ $(MAKE) -C $(KDIR) M=$(KMOD) $@ $(MAKE) -C $(KDIR) M=$(ISERTMOD) $@ - rm -f kernel/$(MODULE_SYMVERS) \ + rm -f kernel/Module.symvers \ kernel/Module.markers kernel/modules.order \ - kernel/isert-scst/$(MODULE_SYMVERS) \ + kernel/isert-scst/Module.symvers \ kernel/isert-scst/Module.markers kernel/isert-scst/modules.order \ include/iscsi_scst_itf_ver.h - rm -rf conftest/*/*.ko conftest/*/*.mod.c conftest/*/$(MODULE_SYMVERS) conftest/*/*.o \ + rm -rf conftest/*/*.ko conftest/*/*.mod.c conftest/*/Module.symvers conftest/*/*.o \ conftest/*/*.o.cmd conftest/*/*.ko.cmd conftest/*/.*.o.cmd conftest/*/.*.ko.cmd \ conftest/*/*.order conftest/*/.*.o.d conftest/*/.tmp_versions/ \ conftest/*/result*.txt diff --git a/qla2x00t-32gbit/Makefile b/qla2x00t-32gbit/Makefile index 8a6e745a6..3c529c611 100644 --- a/qla2x00t-32gbit/Makefile +++ b/qla2x00t-32gbit/Makefile @@ -10,7 +10,7 @@ obj-$(CONFIG_SCSI_QLA_FC) += qla2xxx.o clean: rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ \ - $(MODULE_SYMVERS) Module.markers modules.order + Module.symvers Module.markers modules.order rm -rf .tmp_versions extraclean: clean diff --git a/qla2x00t-32gbit/qla2x00-target/Makefile b/qla2x00t-32gbit/qla2x00-target/Makefile index cfd3c7dfd..d37f183fe 100644 --- a/qla2x00t-32gbit/qla2x00-target/Makefile +++ b/qla2x00t-32gbit/qla2x00-target/Makefile @@ -84,14 +84,9 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SCST_DIR := $(shell echo "$$PWD/../../scst/src") -# The file Modules.symvers has been renamed in the 2.6.18 kernel to -# Module.symvers. Find out which name to use by looking in $(KDIR). -MODULE_SYMVERS:=$(shell if [ -e "$(KDIR)/Modules.symvers" ]; then \ - echo Modules.symvers; else echo Module.symvers; fi) - all: $(QLA2XXX_SCST) $(MAKE) -C $(KDIR) M=$(shell pwd) \ - KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/$(MODULE_SYMVERS) $(QLA2XXX_DIR)/$(MODULE_SYMVERS)" + KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/Module.symvers $(QLA2XXX_DIR)/Module.symvers" install: all ifneq ($(BUILD_2X_MODULE),) @@ -120,7 +115,7 @@ endif clean: rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ \ - $(MODULE_SYMVERS) Module.markers modules.order + Module.symvers Module.markers modules.order rm -rf .tmp_versions extraclean: clean diff --git a/qla2x00t/Makefile b/qla2x00t/Makefile index 42a958213..dc4be03c2 100644 --- a/qla2x00t/Makefile +++ b/qla2x00t/Makefile @@ -7,7 +7,7 @@ obj-$(CONFIG_SCSI_QLA_FC) += qla2xxx.o clean: rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ \ - $(MODULE_SYMVERS) Module.markers modules.order + Module.symvers Module.markers modules.order rm -rf .tmp_versions extraclean: clean diff --git a/qla2x00t/qla2x00-target/Makefile b/qla2x00t/qla2x00-target/Makefile index f97b1213c..5e66826f5 100644 --- a/qla2x00t/qla2x00-target/Makefile +++ b/qla2x00t/qla2x00-target/Makefile @@ -83,14 +83,9 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SCST_DIR := $(shell echo "$$PWD/../../scst/src") -# The file Modules.symvers has been renamed in the 2.6.18 kernel to -# Module.symvers. Find out which name to use by looking in $(KDIR). -MODULE_SYMVERS:=$(shell if [ -e "$(KDIR)/Modules.symvers" ]; then \ - echo Modules.symvers; else echo Module.symvers; fi) - all: $(QLA2XXX_SCST) $(MAKE) -C $(KDIR) M=$(shell pwd) \ - KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/$(MODULE_SYMVERS) $(QLA2XXX_DIR)/$(MODULE_SYMVERS)" + KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/Module.symvers $(QLA2XXX_DIR)/Module.symvers" install: all ifneq ($(BUILD_2X_MODULE),) @@ -112,7 +107,7 @@ ifneq ($(BUILD_2X_MODULE),) qla2xxx_scst: $(MAKE) BUILD_2X_MODULE=$(BUILD_2X_MODULE) CONFIG_SCSI_QLA2XXX_TARGET=y \ M=$(QLA2XXX_DIR) -C $(QLA2XXX_DIR) all \ - KBUILD_EXTRA_SYMBOLS=$(QLA2XXX_DIR)/$(MODULE_SYMVERS) + KBUILD_EXTRA_SYMBOLS=$(QLA2XXX_DIR)/Module.symvers endif ########## END OUT-OF-TREE RULES ########## @@ -120,7 +115,7 @@ endif clean: rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ \ - $(MODULE_SYMVERS) Module.markers modules.order + Module.symvers Module.markers modules.order rm -rf .tmp_versions extraclean: clean diff --git a/scst/src/Makefile b/scst/src/Makefile index 6118df09a..81eda0050 100644 --- a/scst/src/Makefile +++ b/scst/src/Makefile @@ -116,16 +116,11 @@ $(SCST_INTF_VER_FILE): $(SCST_INC_DIR)/scst.h $(SCST_INC_DIR)/scst_const.h $(SCS all: $(SCST_INTF_VER_FILE) $(MAKE) -C certs KDIR=$(KDIR) $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_DEV=m \ - KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/$(MODULE_SYMVERS) + KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/Module.symvers scst: $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_DEV=n -# The file Modules.symvers has been renamed in the 2.6.18 kernel to -# Module.symvers. Find out which name to use by looking in $(KDIR). -MODULE_SYMVERS:=$(shell if [ -e $(KDIR)/Modules.symvers ]; then \ - echo Modules.symvers; else echo Module.symvers; fi) - install: all @if [ -z "$(DESTDIR)" ] && \ { rpm -q scst || rpm -q scst-devel; } >/dev/null 2>&1; then \ @@ -146,8 +141,8 @@ install: all for h in $${header_files}; do \ install -m 644 ../include/$$h $(INSTALL_DIR_H); \ done - rm -f $(INSTALL_DIR_H)/$(MODULE_SYMVERS) - install -m 644 $(MODULE_SYMVERS) $(INSTALL_DIR_H) + rm -f $(INSTALL_DIR_H)/Module.symvers + install -m 644 Module.symvers $(INSTALL_DIR_H) mkdir -p $(DESTDIR)/var/lib/scst/pr mkdir -p $(DESTDIR)/var/lib/scst/dif_tags mkdir -p $(DESTDIR)/var/lib/scst/vdev_mode_pages diff --git a/scst_local/Makefile b/scst_local/Makefile index bddd76198..566c78df1 100644 --- a/scst_local/Makefile +++ b/scst_local/Makefile @@ -42,14 +42,9 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SCST_DIR := $(shell echo "$$PWD")/../scst/src -# The file Modules.symvers has been renamed in the 2.6.18 kernel to -# Module.symvers. Find out which name to use by looking in $(KDIR). -MODULE_SYMVERS:=$(shell if [ -e "$(KDIR)/Modules.symvers" ]; then \ - echo Modules.symvers; else echo Module.symvers; fi) - all: $(MAKE) -C $(KDIR) M=$(shell pwd) \ - KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/$(MODULE_SYMVERS) + KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/Module.symvers install: all KDIR=$(KDIR) ../scripts/sign-modules @@ -66,7 +61,7 @@ endif clean: @$(MAKE) -C $(KDIR) M=$(shell pwd) clean - @$(RM) tags $(MODULE_SYMVERS) Module.markers modules.order + @$(RM) tags Module.symvers Module.markers modules.order extraclean: clean rm -f *.orig *.rej diff --git a/srpt/Makefile b/srpt/Makefile index 1b4344a2d..499b4212a 100644 --- a/srpt/Makefile +++ b/srpt/Makefile @@ -33,11 +33,6 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SRC_FILES=$(wildcard */*.[ch]) -# The file Modules.symvers has been renamed in the 2.6.18 kernel to -# Module.symvers. Find out which name to use by looking in $(KDIR). -MODULE_SYMVERS:=$(shell if [ -e "$(KDIR)/Modules.symvers" ]; then \ - echo Modules.symvers; else echo Module.symvers; fi) - # Name of the OFED kernel package. OFED_KERNEL_IB_RPM:=$(shell for r in mlnx-ofa_kernel compat-rdma kernel-ib; do rpm -q $$r 2>/dev/null | grep -q "^$$r" && echo "$$r" && break; done) OFED_KERNEL_IB_DEB:=$(shell for p in mlnx-ofed-kernel-dkms mlnx-ofed-kernel-modules; do dpkg-query -s "$$p" >/dev/null 2>&1 && echo "$$p" && break; done) @@ -78,7 +73,7 @@ OFED_CFLAGS:=$(BACKPORT_INCLUDES) -I$(OFED_KERNEL_DIR)/include endif endif # Any OFED version -OFED_MODULE_SYMVERS:=$(OFED_KERNEL_DIR)/$(MODULE_SYMVERS) +OFED_MODULE_SYMVERS:=$(OFED_KERNEL_DIR)/Module.symvers endif # Use make instead of $(MAKE) to get rid of command-line option -i @@ -100,7 +95,7 @@ PRE_CFLAGS = $(OFED_CFLAGS) \ all: check $(CONFTEST_OUTPUTS) $(MAKE) -C $(KDIR) M=$(shell pwd)/src PRE_CFLAGS="$(PRE_CFLAGS)"\ $(OFED_CONFIG) modules\ - KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/$(MODULE_SYMVERS) $(OFED_MODULE_SYMVERS)" + KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/Module.symvers $(OFED_MODULE_SYMVERS)" install: all @[ -z "$(DESTDIR)$(INSTALL_MOD_PATH)" ] && \ @@ -141,7 +136,7 @@ clean: [ -d "$$d" ] && $(MAKE) -C $(KDIR) M=$(shell pwd)/$$d clean; \ rm -f $$d/result*.txt; \ done - rm -f src/$(MODULE_SYMVERS) src/Module.markers src/modules.order + rm -f src/Module.symvers src/Module.markers src/modules.order extraclean: clean rm -f *.orig *.rej From 80ac4d2810415175c08231af7bd0912fadf58ab5 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 1 Jun 2020 02:12:09 +0000 Subject: [PATCH 7/8] Use $(src) instead of $(KBUILD_EXTMOD) While $(src) is always defined, $(KBUILD_EXTMOD) is only defined when building code as an external module. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8999 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- fcst/Makefile | 2 +- fcst/Makefile_in-tree | 4 +--- iscsi-scst/kernel/isert-scst/Makefile | 2 +- qla2x00t-32gbit/qla2x00-target/Makefile | 4 ++-- qla2x00t/qla2x00-target/Makefile | 4 ++-- scst/src/Makefile | 2 +- scst_local/Makefile | 2 +- srpt/src/Makefile | 2 +- 8 files changed, 10 insertions(+), 12 deletions(-) diff --git a/fcst/Makefile b/fcst/Makefile index 03110073e..438e14e26 100644 --- a/fcst/Makefile +++ b/fcst/Makefile @@ -33,7 +33,7 @@ export CONFIG_FCST := m MODULE_NAME = fcst ifneq ($(KERNELRELEASE),) -include $(KBUILD_EXTMOD)/Makefile_in-tree +include $(src)/Makefile_in-tree else ######### BEGIN OUT-OF-TREE RULES ######### diff --git a/fcst/Makefile_in-tree b/fcst/Makefile_in-tree index a4a24738d..7b409947f 100644 --- a/fcst/Makefile_in-tree +++ b/fcst/Makefile_in-tree @@ -1,6 +1,4 @@ -ifneq ($(and $(KBUILD_EXTMOD),$(if $(findstring $(abspath $(srctree)),$(abspath $(KBUILD_EXTMOD))),,true)),) -ccflags-y += -I$(KBUILD_EXTMOD)/../scst/include -endif +ccflags-y += -I$(src)/../scst/include obj-$(CONFIG_FCST) += fcst.o diff --git a/iscsi-scst/kernel/isert-scst/Makefile b/iscsi-scst/kernel/isert-scst/Makefile index 3808f19d3..fd82fcd5c 100644 --- a/iscsi-scst/kernel/isert-scst/Makefile +++ b/iscsi-scst/kernel/isert-scst/Makefile @@ -21,7 +21,7 @@ # Note 2! The CFLAGS definitions are now in the main makefile. LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) -ccflags-y += -I$(src)/../../include -I$(KBUILD_EXTMOD)/../../../scst/include +ccflags-y += -I$(src)/../../include -I$(src)/../../../scst/include ccflags-y += $(call cc-option,-Wextra) \ $(call cc-option,-Wno-old-style-declaration) \ -Wno-unused-parameter -Wno-missing-field-initializers diff --git a/qla2x00t-32gbit/qla2x00-target/Makefile b/qla2x00t-32gbit/qla2x00-target/Makefile index d37f183fe..b8c7bb212 100644 --- a/qla2x00t-32gbit/qla2x00-target/Makefile +++ b/qla2x00t-32gbit/qla2x00-target/Makefile @@ -54,13 +54,13 @@ endif ifeq ($(BUILD_2X_MODULE),) QLA2XXX_INC_DIR := $(KDIR)/drivers/scsi/qla2xxx else -QLA2XXX_INC_DIR := $(KBUILD_EXTMOD)/.. +QLA2XXX_INC_DIR := $(src)/.. QLA2XXX_DIR := $(shell pwd)/.. QLA2XXX_SCST := qla2xxx_scst endif ifneq ($(PATCHLEVEL),) -ccflags-y += -I$(KBUILD_EXTMOD)/../../scst/include +ccflags-y += -I$(src)/../../scst/include ccflags-y += -W -Wno-unused-parameter -Wno-missing-field-initializers #ccflags-y += -DCONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD #ccflags-y += -DCONFIG_QLA_TGT_DEBUG_SRR diff --git a/qla2x00t/qla2x00-target/Makefile b/qla2x00t/qla2x00-target/Makefile index 5e66826f5..1facebac4 100644 --- a/qla2x00t/qla2x00-target/Makefile +++ b/qla2x00t/qla2x00-target/Makefile @@ -53,13 +53,13 @@ endif ifeq ($(BUILD_2X_MODULE),) QLA2XXX_INC_DIR := $(KDIR)/drivers/scsi/qla2xxx else -QLA2XXX_INC_DIR := $(KBUILD_EXTMOD)/.. +QLA2XXX_INC_DIR := $(src)/.. QLA2XXX_DIR := $(shell pwd)/.. QLA2XXX_SCST := qla2xxx_scst endif ifneq ($(PATCHLEVEL),) -ccflags-y += -I$(KBUILD_EXTMOD)/../../scst/include +ccflags-y += -I$(src)/../../scst/include ccflags-y += -W -Wno-unused-parameter -Wno-missing-field-initializers #ccflags-y += -DCONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD #ccflags-y += -DCONFIG_QLA_TGT_DEBUG_SRR diff --git a/scst/src/Makefile b/scst/src/Makefile index 81eda0050..86e7e5739 100644 --- a/scst/src/Makefile +++ b/scst/src/Makefile @@ -38,7 +38,7 @@ DEV_HANDLERS_DIR = dev_handlers ifneq ($(PATCHLEVEL),) # See also Documentation/core-api/symbol-namespaces.rst for more information # about DEFAULT_SYMBOL_NAMESPACE. -ccflags-y += -I$(KBUILD_EXTMOD)/../include $(call cc-option,-Wextra) \ +ccflags-y += -I$(src)/../include $(call cc-option,-Wextra) \ -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare\ -DDEFAULT_SYMBOL_NAMESPACE=SCST\ $(shell [ -n "${CONFIG_SCST_NO_DLM}" ] && echo -DCONFIG_SCST_NO_DLM) diff --git a/scst_local/Makefile b/scst_local/Makefile index 566c78df1..9d54ab5f2 100644 --- a/scst_local/Makefile +++ b/scst_local/Makefile @@ -7,7 +7,7 @@ SHELL=/bin/bash KMOD := $(shell pwd)/kernel ifneq ($(PATCHLEVEL),) -ccflags-y += -I$(KBUILD_EXTMOD)/../scst/include +ccflags-y += -I$(src)/../scst/include ccflags-y += $(call cc-option,-Wextra) -Wno-unused-parameter\ -Wno-missing-field-initializers diff --git a/srpt/src/Makefile b/srpt/src/Makefile index 519f47cb7..c38767d9f 100644 --- a/srpt/src/Makefile +++ b/srpt/src/Makefile @@ -1,6 +1,6 @@ LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) CPPFLAGS := $(PRE_CFLAGS) $(CPPFLAGS) -ccflags-y += -I$(KBUILD_EXTMOD)/../../scst/include +ccflags-y += -I$(src)/../../scst/include #ccflags-y += -Wextra -Wno-unused-parameter From 9be61ba538f6724484c61d27af20500994c69372 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 1 Jun 2020 02:15:47 +0000 Subject: [PATCH 8/8] Move KBUILD_EXTRA_SYMBOLS definitions into the kernel Makefiles $(KBUILD_EXTRA_SYMBOLS) is not only used at compile time but also at link time. Move the $(KBUILD_EXTRA_SYMBOLS) definitions such that it is available both at compile time and at link time. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9000 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- fcst/Makefile | 3 +-- fcst/Makefile_in-tree | 1 + iscsi-scst/Makefile | 9 ++------- iscsi-scst/kernel/Makefile | 2 ++ iscsi-scst/kernel/isert-scst/Makefile | 3 +++ qla2x00t-32gbit/qla2x00-target/Makefile | 6 ++++-- qla2x00t/Makefile | 2 ++ qla2x00t/qla2x00-target/Makefile | 9 +++++---- scst/src/Makefile | 3 +-- scst/src/dev_handlers/Makefile | 3 ++- scst_local/Makefile | 4 ++-- srpt/Makefile | 3 +-- srpt/src/Makefile | 3 +++ 13 files changed, 29 insertions(+), 22 deletions(-) diff --git a/fcst/Makefile b/fcst/Makefile index 438e14e26..ae40f0b92 100644 --- a/fcst/Makefile +++ b/fcst/Makefile @@ -63,8 +63,7 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SCST_DIR := $(shell echo "$$PWD")/../scst/src all: - $(MAKE) -C $(KDIR) M=$(shell pwd) \ - KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/Module.symvers + $(MAKE) -C $(KDIR) M=$(shell pwd) install: all KDIR=$(KDIR) ../scripts/sign-modules diff --git a/fcst/Makefile_in-tree b/fcst/Makefile_in-tree index 7b409947f..1954f60a5 100644 --- a/fcst/Makefile_in-tree +++ b/fcst/Makefile_in-tree @@ -1,3 +1,4 @@ +KBUILD_EXTRA_SYMBOLS=$(src)/../scst/src/Module.symvers ccflags-y += -I$(src)/../scst/include obj-$(CONFIG_FCST) += fcst.o diff --git a/iscsi-scst/Makefile b/iscsi-scst/Makefile index af2ce46d5..6e992e603 100644 --- a/iscsi-scst/Makefile +++ b/iscsi-scst/Makefile @@ -46,7 +46,6 @@ INFINIBAND_ENABLED = $(shell syms=$$(dirname "$(KDIR)")/modules.symbols; if [ -e all: progs mods -ISER_SYMVERS:=$(KMOD)/Module.symvers OFED_CFLAGS:= OFED_FLAVOR=$(shell if [ -e /usr/bin/ofed_info ]; then /usr/bin/ofed_info 2>/dev/null | head -n1 | sed -n 's/^\(MLNX_OFED\|OFED-internal\).*/MOFED/p;s/^OFED-.*/OFED/p'; else echo in-tree; fi) @@ -80,7 +79,6 @@ ifeq ($(OFED_FLAVOR),MOFED) -DMOFED_MAJOR=$(shell echo $(OFED_VERS) | cut -f1 -d.)\ -DMOFED_MINOR=$(shell echo $(OFED_VERS) | cut -f2 -d.) OFED_MODULE_SYMVERS:=$(OFED_DIR)/Module.symvers - ISER_SYMVERS:=$(ISER_SYMVERS) $(OFED_MODULE_SYMVERS) OFED_CONFIG:= CONFIG_DTRACE= else # Whether or not the OFED kernel-ib-devel RPM has been installed. @@ -94,12 +92,10 @@ else # BACKPORT_INCLUDES. include /usr/src/ofa_kernel/config.mk OFED_CFLAGS:=$(shell echo $(BACKPORT_INCLUDES) -I/usr/src/ofa_kernel/include) - ISER_SYMVERS:=$(ISER_SYMVERS) /usr/src/ofa_kernel/Module.symvers endif ifeq ($(OFED_COMPAT_RDMA_DEVEL_RPM_INSTALLED),true) OFED_CFLAGS:=-I/usr/src/compat-rdma/include -include /usr/src/compat-rdma/include/linux/compat-2.6.h - ISER_SYMVERS:=$(ISER_SYMVERS) /usr/src/compat-rdma/Module.symvers endif endif @@ -121,13 +117,12 @@ PRE_CFLAGS = $(shell \ ISER_CFLAGS = $(OFED_CFLAGS) -DOFED_FLAVOR=$(OFED_FLAVOR) $(PRE_CFLAGS) mods: include/iscsi_scst_itf_ver.h $(CONFTEST_OUTPUTS) - $(MAKE) -C $(KDIR) M=$(KMOD) PRE_CFLAGS="$(PRE_CFLAGS)" modules \ - KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/Module.symvers + $(MAKE) -C $(KDIR) M=$(KMOD) PRE_CFLAGS="$(PRE_CFLAGS)" modules echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)" if $(INFINIBAND_ENABLED); then \ echo " Building against $(OFED_FLAVOR) InfiniBand kernel headers."; \ $(MAKE) -C $(KDIR) M=$(ISERTMOD) PRE_CFLAGS="$(ISER_CFLAGS)" \ - KBUILD_EXTRA_SYMBOLS="$(ISER_SYMVERS)" $(OFED_CONFIG) modules; \ + $(OFED_CONFIG) modules; \ fi progs: include/iscsi_scst_itf_ver.h diff --git a/iscsi-scst/kernel/Makefile b/iscsi-scst/kernel/Makefile index bac58cd8b..2a8c90278 100644 --- a/iscsi-scst/kernel/Makefile +++ b/iscsi-scst/kernel/Makefile @@ -20,6 +20,8 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. +KBUILD_EXTRA_SYMBOLS = $(src)/../../scst/src/Module.symvers + ccflags-y += -I$(src)/../include -I$(src)/../../scst/include ccflags-y += $(call cc-option,-Wextra) \ $(call cc-option,-Wno-old-style-declaration) \ diff --git a/iscsi-scst/kernel/isert-scst/Makefile b/iscsi-scst/kernel/isert-scst/Makefile index fd82fcd5c..d7fb7f081 100644 --- a/iscsi-scst/kernel/isert-scst/Makefile +++ b/iscsi-scst/kernel/isert-scst/Makefile @@ -21,6 +21,9 @@ # Note 2! The CFLAGS definitions are now in the main makefile. LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) +KBUILD_EXTRA_SYMBOLS=$(src)/../../kernel/Module.symvers \ + $(shell for d in /usr/src/ofa_kernel/default/Module.symvers; do\ + [ -e $$d ] || continue; echo $$d; break; done) ccflags-y += -I$(src)/../../include -I$(src)/../../../scst/include ccflags-y += $(call cc-option,-Wextra) \ $(call cc-option,-Wno-old-style-declaration) \ diff --git a/qla2x00t-32gbit/qla2x00-target/Makefile b/qla2x00t-32gbit/qla2x00-target/Makefile index b8c7bb212..d45cfd5f2 100644 --- a/qla2x00t-32gbit/qla2x00-target/Makefile +++ b/qla2x00t-32gbit/qla2x00-target/Makefile @@ -60,6 +60,9 @@ QLA2XXX_SCST := qla2xxx_scst endif ifneq ($(PATCHLEVEL),) + +KBUILD_EXTRA_SYMBOLS = $(src)/../../scst/src/Module.symvers \ + $(src)/../Module.symvers ccflags-y += -I$(src)/../../scst/include ccflags-y += -W -Wno-unused-parameter -Wno-missing-field-initializers #ccflags-y += -DCONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD @@ -85,8 +88,7 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SCST_DIR := $(shell echo "$$PWD/../../scst/src") all: $(QLA2XXX_SCST) - $(MAKE) -C $(KDIR) M=$(shell pwd) \ - KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/Module.symvers $(QLA2XXX_DIR)/Module.symvers" + $(MAKE) -C $(KDIR) M=$(shell pwd) install: all ifneq ($(BUILD_2X_MODULE),) diff --git a/qla2x00t/Makefile b/qla2x00t/Makefile index dc4be03c2..e51634e77 100644 --- a/qla2x00t/Makefile +++ b/qla2x00t/Makefile @@ -1,5 +1,7 @@ ifeq ($(BUILD_2X_MODULE),) +KBUILD_EXTRA_SYMBOLS=$(src)/../scst/Module.symvers + qla2xxx-y := qla_os.o qla_init.o qla_mbx.o qla_iocb.o qla_isr.o qla_gs.o \ qla_dbg.o qla_sup.o qla_attr.o qla_mid.o qla_dfs.o qla_bsg.o qla_nx.o diff --git a/qla2x00t/qla2x00-target/Makefile b/qla2x00t/qla2x00-target/Makefile index 1facebac4..644d89b94 100644 --- a/qla2x00t/qla2x00-target/Makefile +++ b/qla2x00t/qla2x00-target/Makefile @@ -59,6 +59,9 @@ QLA2XXX_SCST := qla2xxx_scst endif ifneq ($(PATCHLEVEL),) + +KBUILD_EXTRA_SYMBOLS = $(src)/../../scst/src/Module.symvers \ + $(src)/../Module.symvers ccflags-y += -I$(src)/../../scst/include ccflags-y += -W -Wno-unused-parameter -Wno-missing-field-initializers #ccflags-y += -DCONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD @@ -84,8 +87,7 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SCST_DIR := $(shell echo "$$PWD/../../scst/src") all: $(QLA2XXX_SCST) - $(MAKE) -C $(KDIR) M=$(shell pwd) \ - KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/Module.symvers $(QLA2XXX_DIR)/Module.symvers" + $(MAKE) -C $(KDIR) M=$(shell pwd) install: all ifneq ($(BUILD_2X_MODULE),) @@ -106,8 +108,7 @@ endif ifneq ($(BUILD_2X_MODULE),) qla2xxx_scst: $(MAKE) BUILD_2X_MODULE=$(BUILD_2X_MODULE) CONFIG_SCSI_QLA2XXX_TARGET=y \ - M=$(QLA2XXX_DIR) -C $(QLA2XXX_DIR) all \ - KBUILD_EXTRA_SYMBOLS=$(QLA2XXX_DIR)/Module.symvers + M=$(QLA2XXX_DIR) -C $(QLA2XXX_DIR) all endif ########## END OUT-OF-TREE RULES ########## diff --git a/scst/src/Makefile b/scst/src/Makefile index 86e7e5739..dafc5cb3c 100644 --- a/scst/src/Makefile +++ b/scst/src/Makefile @@ -115,8 +115,7 @@ $(SCST_INTF_VER_FILE): $(SCST_INC_DIR)/scst.h $(SCST_INC_DIR)/scst_const.h $(SCS all: $(SCST_INTF_VER_FILE) $(MAKE) -C certs KDIR=$(KDIR) - $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_DEV=m \ - KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/Module.symvers + $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_DEV=m scst: $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_DEV=n diff --git a/scst/src/dev_handlers/Makefile b/scst/src/dev_handlers/Makefile index 034a2ccb2..157aaacd2 100644 --- a/scst/src/dev_handlers/Makefile +++ b/scst/src/dev_handlers/Makefile @@ -30,7 +30,8 @@ SHELL=/bin/bash ifneq ($(PATCHLEVEL),) -ccflags-y += -I$(KBUILD_EXTMOD)/../include \ +KBUILD_EXTRA_SYMBOLS=$(src)/../../Module.symvers +ccflags-y += -I$(src)/../../include \ $(call cc-option,-Wextra) \ -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare #ccflags-y += -DCONFIG_DEBUG_EXT_COPY_REMAP diff --git a/scst_local/Makefile b/scst_local/Makefile index 9d54ab5f2..32207ac30 100644 --- a/scst_local/Makefile +++ b/scst_local/Makefile @@ -7,6 +7,7 @@ SHELL=/bin/bash KMOD := $(shell pwd)/kernel ifneq ($(PATCHLEVEL),) +KBUILD_EXTRA_SYMBOLS=$(src)/../scst/src/Module.symvers ccflags-y += -I$(src)/../scst/include ccflags-y += $(call cc-option,-Wextra) -Wno-unused-parameter\ -Wno-missing-field-initializers @@ -43,8 +44,7 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra SCST_DIR := $(shell echo "$$PWD")/../scst/src all: - $(MAKE) -C $(KDIR) M=$(shell pwd) \ - KBUILD_EXTRA_SYMBOLS=$(SCST_DIR)/Module.symvers + $(MAKE) -C $(KDIR) M=$(shell pwd) install: all KDIR=$(KDIR) ../scripts/sign-modules diff --git a/srpt/Makefile b/srpt/Makefile index 499b4212a..67354b571 100644 --- a/srpt/Makefile +++ b/srpt/Makefile @@ -94,8 +94,7 @@ PRE_CFLAGS = $(OFED_CFLAGS) \ all: check $(CONFTEST_OUTPUTS) $(MAKE) -C $(KDIR) M=$(shell pwd)/src PRE_CFLAGS="$(PRE_CFLAGS)"\ - $(OFED_CONFIG) modules\ - KBUILD_EXTRA_SYMBOLS="$(SCST_DIR)/Module.symvers $(OFED_MODULE_SYMVERS)" + $(OFED_CONFIG) modules install: all @[ -z "$(DESTDIR)$(INSTALL_MOD_PATH)" ] && \ diff --git a/srpt/src/Makefile b/srpt/src/Makefile index c38767d9f..e5415bbbe 100644 --- a/srpt/src/Makefile +++ b/srpt/src/Makefile @@ -1,5 +1,8 @@ LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) CPPFLAGS := $(PRE_CFLAGS) $(CPPFLAGS) +KBUILD_EXTRA_SYMBOLS=$(src)/../../scst/src/Module.symvers \ + $(shell for d in /usr/src/ofa_kernel/default/Module.symvers; do\ + [ -e $$d ] || continue; echo $$d; break; done) ccflags-y += -I$(src)/../../scst/include #ccflags-y += -Wextra -Wno-unused-parameter