Version: 1
-Previous: 77486c6ede973e0a301898f5b153321aa5a516ae
+Previous: be43ff1a493af0ae4c3b3cf7ce42cbe04812e944
Head: c8173d50d1a8c2bbfb0c4459e05d3941175676b2
Applied:
- librdmacm-1-8-add-foreign-opti: 715965b7231cd97d302e24c9e8ac89b2a57a57ab
- librdmacm-2-8-makefile-am-fix-: 9d2f1b068e6fcd62853fe013c7cc4316dcb3fc4b
- librdmacm-3-8-autogen-sh-use-a: f49ac33aaab147e5b126a75565f57e596600f372
- librdmacm-4-8-configure-apply-: 3edfff79d98f72b754278c854f871c4a22a7ce3c
- librdmacm-5-8-configure-use-au: e9ef6c2e2d8141dd5c32472918b8c087f745524b
- librdmacm-6-8-add-gitignore-ru: d53cd79c3bde6186bda6822a04708b9d2666f8ae
- librdmacm-8-8-open-files-with-: 3eb1704b2e11413077933d6d3a963d81d508bdf8
- filemode: 704f54358a1f74229cd9e982b530ca8327c7658e
addrtype: c8173d50d1a8c2bbfb0c4459e05d3941175676b2
Unapplied:
ex-ib: d71ebf70cf74111cfd5f0982d9abe6ec68fb38e3
+++ /dev/null
-Bottom: e14708a457c3eac12d51c437d6b9f6fac401ea73
-Top: d5960ce12fbbf29686c54212d2d4e6cc179ede2d
-Author: Yann Droneaud <ydroneaud@opteya.com>
-Date: 2013-07-16 16:03:42 -0700
-
-Remove executable mode bit on text files
-
-Source code and man page should not be executable.
-
-Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/include/rdma/rdma_cma.h b/include/rdma/rdma_cma.h
-old mode 100755
-new mode 100644
-diff --git a/man/rdma_accept.3 b/man/rdma_accept.3
-old mode 100755
-new mode 100644
-diff --git a/man/rdma_connect.3 b/man/rdma_connect.3
-old mode 100755
-new mode 100644
-diff --git a/man/rdma_create_qp.3 b/man/rdma_create_qp.3
-old mode 100755
-new mode 100644
-diff --git a/man/rdma_getaddrinfo.3 b/man/rdma_getaddrinfo.3
-old mode 100755
-new mode 100644
-diff --git a/man/rdma_join_multicast.3 b/man/rdma_join_multicast.3
-old mode 100755
-new mode 100644
-diff --git a/man/rdma_notify.3 b/man/rdma_notify.3
-old mode 100755
-new mode 100644
-diff --git a/src/acm.c b/src/acm.c
-old mode 100755
-new mode 100644
-diff --git a/src/addrinfo.c b/src/addrinfo.c
-old mode 100755
-new mode 100644
-diff --git a/src/cma.c b/src/cma.c
-old mode 100755
-new mode 100644
+++ /dev/null
-Bottom: fdd78452d7e02d706c88b4821b9ff48bc33218cb
-Top: c83d48e04218330fe3f5ceb88577e4bdec9b56c7
-Author: Bart Van Assche <bvanassche@acm.org>
-Date: 2013-07-16 23:59:45 +0200
-
-Add "foreign" option to AM_INIT_AUTOMAKE
-
-Switch to the modern form of the AM_INIT_AUTOMAKE macro and tell
-automake that the librdmacm package does not follow the GNU
-standards. This change makes it possible to use 'autoreconf' for the
-librdmacm package.
-
-Signed-off-by: Bart Van Assche <bvanassche@acm.org>
-Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/configure.ac b/configure.ac
-index 35d79dd..20c2f94 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -6,7 +6,7 @@ AC_CONFIG_SRCDIR([src/cma.c])
- AC_CONFIG_AUX_DIR(config)
- AC_CONFIG_MACRO_DIR(config)
- AC_CONFIG_HEADERS(config.h)
--AM_INIT_AUTOMAKE(librdmacm, 1.0.17)
-+AM_INIT_AUTOMAKE([foreign])
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
- AM_PROG_LIBTOOL
+++ /dev/null
-Bottom: c83d48e04218330fe3f5ceb88577e4bdec9b56c7
-Top: 2f50de65e0d7153394370c367df423c7371dbcb7
-Author: Bart Van Assche <bvanassche@acm.org>
-Date: 2013-07-16 23:59:46 +0200
-
-Makefile.am: Fix an automake warning
-
-Fix the following automake warning message:
-
- Makefile.am:1: `INCLUDES' is the old name for `AM_CPPFLAGS' (or `*_CPPFLAGS')
-
-A quote from the automake manual:
-
- INCLUDES
- This does the same job as AM_CPPFLAGS (or any per-target _CPPFLAGS variable
- if it is used). It is an older name for the same functionality. This
- variable is deprecated; we suggest using AM_CPPFLAGS and per-target
- _CPPFLAGS instead.
-
-Signed-off-by: Bart Van Assche <bvanassche@acm.org>
-Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/Makefile.am b/Makefile.am
-index 3198165..e1be9f3 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,4 +1,4 @@
--INCLUDES = -I$(srcdir)/include
-+AM_CPPFLAGS = -I$(srcdir)/include
-
- rslibdir = $(libdir)/rsocket
- lib_LTLIBRARIES = src/librdmacm.la
+++ /dev/null
-Bottom: 2f50de65e0d7153394370c367df423c7371dbcb7
-Top: 477303bbeccdf3cd3799b5729428253be585b44a
-Author: Jeff Squyres <jsquyres@cisco.com>
-Date: 2013-07-16 23:59:47 +0200
-
-autogen.sh: Use autoreconf in autogen.sh
-
-The old sequence of Autotools commands listed in autogen.sh is no
-longer correct. Instead, just use the single "autoreconf" command,
-which will invoke all the Right Autotools commands in the correct
-order.
-
-Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
-Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/autogen.sh b/autogen.sh
-index f433312..24c0a76 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -2,8 +2,4 @@
-
- set -x
- test -d ./config || mkdir ./config
--aclocal -I config
--libtoolize --force --copy
--autoheader
--automake --foreign --add-missing --copy
--autoconf
-+autoreconf -ifv -I config
+++ /dev/null
-Bottom: 477303bbeccdf3cd3799b5729428253be585b44a
-Top: 3dac81ee4b614881491d3aa3986416c935f1a78e
-Author: Yann Droneaud <ydroneaud@opteya.com>
-Date: 2013-07-16 23:59:48 +0200
-
-configure: Apply updates proposed by autoupdate
-
-'autoupdate' is a tool to help developer to update configure.ac.
-
-This patch applies a few fixes as suggested by autoupdate.
-
-Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/configure.ac b/configure.ac
-index 20c2f94..a9e95c0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,18 +1,18 @@
- dnl Process this file with autoconf to produce a configure script.
-
--AC_PREREQ(2.57)
--AC_INIT(librdmacm, 1.0.17, linux-rdma@vger.kernel.org)
-+AC_PREREQ([2.63])
-+AC_INIT([librdmacm],[1.0.17],[linux-rdma@vger.kernel.org])
- AC_CONFIG_SRCDIR([src/cma.c])
- AC_CONFIG_AUX_DIR(config)
- AC_CONFIG_MACRO_DIR(config)
--AC_CONFIG_HEADERS(config.h)
-+AC_CONFIG_HEADERS([config.h])
- AM_INIT_AUTOMAKE([foreign])
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
--AM_PROG_LIBTOOL
-+LT_INIT
-
- AC_ARG_WITH([valgrind],
-- AC_HELP_STRING([--with-valgrind],
-+ AS_HELP_STRING([--with-valgrind],
- [Enable valgrind annotations - default NO]))
-
- if test "$with_valgrind" != "" && test "$with_valgrind" != "no"; then
-@@ -50,8 +50,8 @@ AC_CHECK_MEMBER(struct ibv_path_record.service_id, [],
-
- dnl Check for gcc atomic intrinsics
- AC_MSG_CHECKING(compiler support for atomics)
--AC_TRY_LINK([int i = 0;],
-- [ return __sync_add_and_fetch(&i, 1) != __sync_sub_and_fetch(&i, 1); ],
-+AC_LINK_IFELSE([AC_LANG_PROGRAM([[int i = 0;]],
-+ [[ return __sync_add_and_fetch(&i, 1) != __sync_sub_and_fetch(&i, 1); ]])],
- [ AC_MSG_RESULT(yes) ],
- [
- AC_MSG_RESULT(no)
+++ /dev/null
-Bottom: 3dac81ee4b614881491d3aa3986416c935f1a78e
-Top: 73a7bdcd035349ed13f97d56fdb9448a2f694569
-Author: Yann Droneaud <ydroneaud@opteya.com>
-Date: 2013-07-16 23:59:49 +0200
-
-configure: Use automake's option "subdir-objects"
-
-Following advice in "Autotool Mythbuster" [1], option subdir-objects
-can be used to have Makefiles create object files in the same
-directory than theirs source files.
-
-It reduces clobbering in the build directory.
-
-[1] "Autotool Mythbuster", by Diego Elio "Flameeyes" Petten`o
-http://www.flameeyes.eu/autotools-mythbuster/automake/nonrecursive.html
-
-Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/configure.ac b/configure.ac
-index a9e95c0..807470f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -6,7 +6,7 @@ AC_CONFIG_SRCDIR([src/cma.c])
- AC_CONFIG_AUX_DIR(config)
- AC_CONFIG_MACRO_DIR(config)
- AC_CONFIG_HEADERS([config.h])
--AM_INIT_AUTOMAKE([foreign])
-+AM_INIT_AUTOMAKE([foreign subdir-objects])
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
- LT_INIT
+++ /dev/null
-Bottom: 73a7bdcd035349ed13f97d56fdb9448a2f694569
-Top: 37469bbc3efa4d1812bc642af83d056086f391e7
-Author: Yann Droneaud <ydroneaud@opteya.com>
-Date: 2013-07-16 23:59:50 +0200
-
-Add .gitignore rules
-
-Add the list of files/patterns to be exclueded from git status output.
-Additionally it will prevent such files/patterns to be added and committed.
-
-Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/.gitignore b/.gitignore
-new file mode 100644
-index 0000000..cea1f71
---- /dev/null
-+++ b/.gitignore
-@@ -0,0 +1,64 @@
-+# - see gitignore(5)
-+#
-+# http://www.kernel.org/pub/software/scm/git/docs/gitignore.html
-+# http://git-scm.com/docs/gitignore.html
-+#
-+# - ignore files in this current directory with a leading /
-+# so that files with the same name is a subdirectory
-+# would not be ignored by mistake.
-+#
-+# per directory .gitignore would be used to ignore specific
-+# files/patterns
-+#
-+# - more examples can be found at
-+#
-+# https://github.com/github/gitignore
-+# http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Ignoring-Files
-+#
-+
-+# global ignore rules:
-+#
-+# backup files
-+#
-+*~
-+
-+# local (eg. current directory) rules:
-+#
-+# /<pattern>
-+
-+#
-+# files created by autoreconf (autoconf, automake, libtool)
-+#
-+
-+/INSTALL
-+/config.guess
-+/config.sub
-+/missing
-+/depcomp
-+/install-sh
-+/configure
-+/aclocal.m4
-+/autom4te.cache/
-+/config.h.in
-+/Makefile.in
-+/compile
-+/config
-+
-+#
-+# files created by autoscan
-+#
-+
-+/autoscan.log
-+/configure.scan
-+
-+#
-+# files created by ./configure
-+#
-+
-+/config.h
-+/config.status
-+/config.log
-+/Makefile
-+/stamp-h1
-+/libtool
-+/librdmacm.spec
-diff --git a/examples/.gitignore b/examples/.gitignore
-new file mode 100644
-index 0000000..ed17494
---- /dev/null
-+++ b/examples/.gitignore
-@@ -0,0 +1,22 @@
-+# files produced by ./configure
-+/.deps
-+
-+# files produced by make (libtool)
-+/*.o
-+/*.lo
-+/*.la
-+/.libs
-+/.dirstamp
-+
-+/mckey
-+/rcopy
-+/rdma_client
-+/rdma_server
-+/rdma_xclient
-+/rdma_xserver
-+/riostream
-+/rping
-+/rstream
-+/ucmatose
-+/udaddy
-+/udpong
-diff --git a/src/.gitignore b/src/.gitignore
-new file mode 100644
-index 0000000..139417a
---- /dev/null
-+++ b/src/.gitignore
-@@ -0,0 +1,9 @@
-+# files produced by ./configure
-+/.deps
-+
-+# files produced by make (libtool)
-+/*.o
-+/*.lo
-+/*.la
-+/.libs
-+/.dirstamp
+++ /dev/null
-Bottom: 37469bbc3efa4d1812bc642af83d056086f391e7
-Top: e14708a457c3eac12d51c437d6b9f6fac401ea73
-Author: Yann Droneaud <ydroneaud@opteya.com>
-Date: 2013-07-16 23:59:52 +0200
-
-Open files with "close on exec" flag
-
-File opened by librdmacm are not supposed to be inherited across
-exec*(), most of the files are of no use for another program, and
-others cannot be used without the associated memory mapping.
-
-This patch changes fopen() open() and socket() to always set
-close on exec flag.
-
-This patch also add checks to configure to guess if fopen() supports
-"e" flag. If O_CLOEXEC and SOCK_CLOEXEC are supported, fopen() should
-support "e". If not supported, its discarded according to POSIX. Many
-operating systems have support for fopen("e").
-
-You might find more information about close on exec in the following articles:
-
-- "Excuse me son, but your code is leaking !!!" by Dan Walsh
- http://danwalsh.livejournal.com/53603.html
-
-- "Secure File Descriptor Handling" by Ulrich Drepper
- http://udrepper.livejournal.com/20407.html
-
-Note: this patch won't set close on exec flag on file descriptors
-created by the kernel for completion channel and such.
-This is addressed by another kernel patch.
-
-Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/configure.ac b/configure.ac
-index 807470f..31b1a0e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -78,6 +78,30 @@ AC_CHECK_HEADER(infiniband/acm.h,
- AC_DEFINE(DEFINE_ACM_MSG, 1, [adding ACM message definition]),
- [#include <infiniband/acm.h>]), [])
-
-+dnl Checks close on exec support
-+AC_CHECK_HEADERS([fcntl.h sys/socket.h])
-+
-+AC_CHECK_DECLS([O_CLOEXEC],,[AC_DEFINE([O_CLOEXEC],[0], [Defined to 0 if not provided])],
-+[[
-+#ifdef HAVE_FCNTL_H
-+# include <fcntl.h>
-+#endif
-+]])
-+AC_CHECK_DECLS([SOCK_CLOEXEC],,[AC_DEFINE([SOCK_CLOEXEC],[0],[Defined to 0 if not provided])],
-+[[
-+#ifdef HAVE_SYS_SOCKET_H
-+# include <sys/socket.h>
-+#endif
-+]])
-+
-+AC_CACHE_CHECK(for close on exec modifier for fopen(), ac_cv_feature_stream_cloexec_flag,
-+ [if test $ac_cv_have_decl_O_CLOEXEC = yes ; then
-+ if test $ac_cv_have_decl_SOCK_CLOEXEC = yes ; then
-+ ac_cv_feature_stream_cloexec_flag="e"
-+ fi
-+ fi])
-+AC_DEFINE_UNQUOTED([STREAM_CLOEXEC], "$ac_cv_feature_stream_cloexec_flag", [fopen() modifier for setting close on exec flag])
-+
- AC_CACHE_CHECK(whether ld accepts --version-script, ac_cv_version_script,
- if test -n "`$LD --help < /dev/null 2>/dev/null | grep version-script`"; then
- ac_cv_version_script=yes
-diff --git a/src/acm.c b/src/acm.c
-index c9ca5b5..6e8e173 100755
---- a/src/acm.c
-+++ b/src/acm.c
-@@ -80,7 +80,7 @@ static int ucma_set_server_port(void)
- {
- FILE *f;
-
-- if ((f = fopen("/var/run/ibacm.port", "r"))) {
-+ if ((f = fopen("/var/run/ibacm.port", "r" STREAM_CLOEXEC))) {
- fscanf(f, "%hu", (unsigned short *) &server_port);
- fclose(f);
- }
-@@ -100,7 +100,7 @@ void ucma_ib_init(void)
- if (!ucma_set_server_port())
- goto out;
-
-- sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
-+ sock = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP);
- if (sock < 0)
- goto out;
-
-diff --git a/src/cma.c b/src/cma.c
-index 2fb9913..baebecd 100755
---- a/src/cma.c
-+++ b/src/cma.c
-@@ -328,7 +328,7 @@ struct rdma_event_channel *rdma_create_event_channel(void)
- if (!channel)
- return NULL;
-
-- channel->fd = open("/dev/infiniband/rdma_cm", O_RDWR);
-+ channel->fd = open("/dev/infiniband/rdma_cm", O_RDWR | O_CLOEXEC);
- if (channel->fd < 0) {
- fprintf(stderr, PFX "Fatal: unable to open /dev/infiniband/rdma_cm\n");
- goto err;