From ae2b9dc782ff8e93f91650b40b0afde0cde4b030 Mon Sep 17 00:00:00 2001 From: Vladislav Bolkhovitin Date: Sat, 23 Dec 2017 04:41:26 +0000 Subject: [PATCH] Merged revisions 7272 via svnmerge from svn+ssh://svn.code.sf.net/p/scst/svn/trunk ........ r7272 | bvassche | 2017-12-19 16:35:40 +0000 (Tue, 19 Dec 2017) | 1 line iscsi-scst: UEK 4.1.12-103.9.7.el7uek.x86_64 build fix git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7289 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- iscsi-scst/Makefile | 9 ++++++++- iscsi-scst/conftest/sock_recvmsg/Makefile | 3 +++ iscsi-scst/conftest/sock_recvmsg/sock_recvmsg.c | 11 +++++++++++ iscsi-scst/kernel/Makefile | 1 + iscsi-scst/kernel/nthread.c | 2 +- 5 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 iscsi-scst/conftest/sock_recvmsg/Makefile create mode 100644 iscsi-scst/conftest/sock_recvmsg/sock_recvmsg.c diff --git a/iscsi-scst/Makefile b/iscsi-scst/Makefile index 31007ca6a..2f62dbca8 100644 --- a/iscsi-scst/Makefile +++ b/iscsi-scst/Makefile @@ -131,7 +131,8 @@ PRE_CFLAGS = $(OFED_CFLAGS) \ mods: include/iscsi_scst_itf_ver.h Modules.symvers Module.symvers \ $(CONFTEST_OUTPUTS) - $(MAKE) -C $(KDIR) SCST_INC_DIR=$(SCST_INC_DIR) SUBDIRS=$(KMOD) modules + $(MAKE) -C $(KDIR) SCST_INC_DIR=$(SCST_INC_DIR) SUBDIRS=$(KMOD) \ + PRE_CFLAGS="$(PRE_CFLAGS)" modules echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)" if $(INFINIBAND_ENABLED); then \ echo " Building against $(OFED_FLAVOR) InfiniBand kernel headers."; \ @@ -306,6 +307,12 @@ conftest/register_mad_agent/result-$(KVER).txt: \ echo "$(call run_conftest,register_mad_agent, \ -DREGISTER_MAD_AGENT_HAS_FLAGS_ARG)" >"$@" +conftest/sock_recvmsg/result-$(KVER).txt: \ + conftest/sock_recvmsg/sock_recvmsg.c \ + conftest/sock_recvmsg/Makefile + echo "$(call run_conftest_bool,sock_recvmsg, \ + SOCK_RECVMSG_HAS_FOUR_ARGS)" >"$@" + conftest/use_pre_440_wr_structure/result-$(KVER).txt: \ conftest/use_pre_440_wr_structure/use_pre_440_wr_structure.c \ conftest/use_pre_440_wr_structure/Makefile diff --git a/iscsi-scst/conftest/sock_recvmsg/Makefile b/iscsi-scst/conftest/sock_recvmsg/Makefile new file mode 100644 index 000000000..e5e1878f7 --- /dev/null +++ b/iscsi-scst/conftest/sock_recvmsg/Makefile @@ -0,0 +1,3 @@ +LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) + +obj-m += sock_recvmsg.o diff --git a/iscsi-scst/conftest/sock_recvmsg/sock_recvmsg.c b/iscsi-scst/conftest/sock_recvmsg/sock_recvmsg.c new file mode 100644 index 000000000..9336f6181 --- /dev/null +++ b/iscsi-scst/conftest/sock_recvmsg/sock_recvmsg.c @@ -0,0 +1,11 @@ +#include +#include + +static int modinit(void) +{ + int (*f)(struct socket *, struct msghdr *, size_t, int) = sock_recvmsg; + + return f != NULL; +} + +module_init(modinit); diff --git a/iscsi-scst/kernel/Makefile b/iscsi-scst/kernel/Makefile index 48549c886..a8eee62cf 100644 --- a/iscsi-scst/kernel/Makefile +++ b/iscsi-scst/kernel/Makefile @@ -28,6 +28,7 @@ EXTRA_CFLAGS += -I$(src)/../include -I$(SCST_INC_DIR) EXTRA_CFLAGS += $(call enable-Wextra,-Wextra \ $(call cc-option,-Wno-old-style-declaration) \ -Wno-unused-parameter -Wno-missing-field-initializers) +EXTRA_CFLAGS += $(PRE_CFLAGS) EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS #EXTRA_CFLAGS += -DCONFIG_SCST_TRACING diff --git a/iscsi-scst/kernel/nthread.c b/iscsi-scst/kernel/nthread.c index c8322d104..3b28c9de1 100644 --- a/iscsi-scst/kernel/nthread.c +++ b/iscsi-scst/kernel/nthread.c @@ -728,7 +728,7 @@ restart: oldfs = get_fs(); set_fs(get_ds()); res = sock_recvmsg(conn->sock, msg, -#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) +#if SOCK_RECVMSG_HAS_FOUR_ARGS read_size, #endif MSG_DONTWAIT | MSG_NOSIGNAL);