kmod: Remove compatibility for ancient hosts

Lack of be32toh() is handled upstream since 2014.

Linux 2.6.23 was released 2007, distributions with kernels
older than that are far outside the host distributions
still supported today.

(From OE-Core rev: c4d77ddd13ad43b52f22a32dc7a3d34cc2692dce)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Adrian Bunk
2019-03-06 21:21:54 +02:00
committed by Richard Purdie
parent c5882f9212
commit 28cc7b4362
4 changed files with 0 additions and 80 deletions

View File

@@ -7,9 +7,6 @@ DEPENDS += "zlib-native"
inherit native
SRC_URI += "file://Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch \
"
do_install_append (){
for tool in depmod insmod lsmod modinfo modprobe rmmod
do

View File

@@ -21,7 +21,6 @@ PV = "26"
SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \
file://depmod-search.conf \
file://avoid_parallel_tests.patch \
file://fix-O_CLOEXEC.patch \
"
S = "${WORKDIR}/git"

View File

@@ -1,40 +0,0 @@
From 38d6871d9c98e0080426ea375e390728485b2bc2 Mon Sep 17 00:00:00 2001
From: Ting Liu <b28495@freescale.com>
Date: Tue, 10 Sep 2013 06:00:20 +0000
Subject: [PATCH] Change to calling bswap_* instead of htobe* and be*toh
We can't use htobe* and be*toh functions because they are not
available on older versions of glibc, For example, shipped on Centos 5.5.
Change to directly calling bswap_* as defined in+byteswap.h.
Upstream-Status: Inappropriate
Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
libkmod/libkmod-signature.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libkmod/libkmod-signature.c b/libkmod/libkmod-signature.c
index 48d0145..dd2c6fa 100644
--- a/libkmod/libkmod-signature.c
+++ b/libkmod/libkmod-signature.c
@@ -18,6 +18,7 @@
*/
#include <endian.h>
+#include <byteswap.h>
#include <inttypes.h>
#ifdef ENABLE_OPENSSL
#include <openssl/cms.h>
@@ -343,7 +344,7 @@ bool kmod_module_signature_info(const struct kmod_file *file, struct kmod_signat
modsig->hash >= PKEY_HASH__LAST ||
modsig->id_type >= PKEY_ID_TYPE__LAST)
return false;
- sig_len = be32toh(get_unaligned(&modsig->sig_len));
+ sig_len = bswap_32(get_unaligned(&modsig->sig_len));
if (sig_len == 0 ||
size < (int64_t)(modsig->signer_len + modsig->key_id_len + sig_len))
return false;

View File

@@ -1,36 +0,0 @@
From 5f55e6806cd8ae1a6c8ec1e6cb38ad292cfc1df9 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
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 <b28495@freescale.com>"
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
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 a65ddd1..a4f4b77 100644
--- a/libkmod/libkmod-internal.h
+++ b/libkmod/libkmod-internal.h
@@ -10,6 +10,10 @@
#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, ...) {}