From 44c441222002ee0177100be0431adf91984e90d5 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Fri, 28 Mar 2014 17:42:41 +0800 Subject: kmod: fix O_CLOEXEC not supported on old kernel O_CLOEXEC is introduced from Linux 2.6.23, so old kernel doesn't have it, we need check before use. This patch is much more like a workaround, since it may need fcntl() use FD_CLOEXEC to replace. Signed-off-by: Ting Liu Signed-off-by: Robert Yang Signed-off-by: Hongxu Jia Signed-off-by: Richard Purdie --- meta/recipes-kernel/kmod/kmod.inc | 1 + meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch | 38 +++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch (limited to 'meta') diff --git a/meta/recipes-kernel/kmod/kmod.inc b/meta/recipes-kernel/kmod/kmod.inc index b7e176c876..47445eb8bf 100644 --- a/meta/recipes-kernel/kmod/kmod.inc +++ b/meta/recipes-kernel/kmod/kmod.inc @@ -25,6 +25,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \ file://run-ptest \ file://ptest.patch \ file://avoid_parallel_tests.patch \ + file://fix-O_CLOEXEC.patch \ " S = "${WORKDIR}/git" diff --git a/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch b/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch new file mode 100644 index 0000000000..8161d6128d --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch @@ -0,0 +1,38 @@ +From bd43367eee868059770188fd9e9db38520dc6fff Mon Sep 17 00:00:00 2001 +From: Robert Yang +Date: Wed, 22 Jan 2014 01:06:40 -0500 +Subject: [PATCH] libkmod/libkmod-internal.h: check whether O_CLOEXEC is + defined or not + +O_CLOEXEC is introduced from Linux 2.6.23, so old kernel doesn't have +it, we need check before use. + +This patch is much more like a workaround, since it may need fcntl() use +FD_CLOEXEC to replace. + +This problem was reported by "Ting Liu " +Signed-off-by: Robert Yang + +Upstream-Status: Pending +--- + libkmod/libkmod-internal.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/libkmod/libkmod-internal.h b/libkmod/libkmod-internal.h +index 0180124..100b40f 100644 +--- a/libkmod/libkmod-internal.h ++++ b/libkmod/libkmod-internal.h +@@ -9,6 +9,10 @@ + #include "macro.h" + #include "libkmod.h" + ++#ifndef O_CLOEXEC ++#define O_CLOEXEC 0 ++#endif ++ + static _always_inline_ _printf_format_(2, 3) void + kmod_log_null(struct kmod_ctx *ctx, const char *format, ...) {} + +-- +1.7.10.4 + -- cgit 1.2.3-korg