[packages/ipset] - fix for missing list_last_entry macro in older kernels

baggins baggins at pld-linux.org
Wed Jan 28 19:10:52 CET 2015


commit afb9b9d5ccc597e1622b87b399b873a9b478d86b
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Wed Jan 28 19:10:32 2015 +0100

    - fix for missing list_last_entry macro in older kernels

 ipset.spec            |  2 ++
 list_last_entry.patch | 14 ++++++++++++++
 2 files changed, 16 insertions(+)
---
diff --git a/ipset.spec b/ipset.spec
index d8513e4..f1e9b9e 100644
--- a/ipset.spec
+++ b/ipset.spec
@@ -35,6 +35,7 @@ Group:		Networking/Admin
 Source0:	http://ipset.netfilter.org/%{pname}-%{version}.tar.bz2
 # Source0-md5:	8831b8f01458bf2abacc222884195a62
 Source1:	%{pname}.init
+Patch0:		list_last_entry.patch
 URL:		http://ipset.netfilter.org/
 BuildRequires:	autoconf >= 2.50
 BuildRequires:	automake
@@ -172,6 +173,7 @@ done\
 
 %prep
 %setup -q -n %{pname}-%{version}
+%patch0 -p1
 
 %build
 %if %{with userspace}
diff --git a/list_last_entry.patch b/list_last_entry.patch
new file mode 100644
index 0000000..41de94e
--- /dev/null
+++ b/list_last_entry.patch
@@ -0,0 +1,14 @@
+--- ipset/ipset-6.24/kernel/net/netfilter/ipset/ip_set_list_set.c~	2014-11-24 21:46:45.000000000 +0100
++++ ipset/ipset-6.24/kernel/net/netfilter/ipset/ip_set_list_set.c	2015-01-28 19:09:21.324834608 +0100
+@@ -280,7 +280,11 @@
+ 	if (d->before == 0) {
+ 		/* Append  */
+ 		n = list_empty(&map->members) ? NULL :
++#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0)
+ 		    list_last_entry(&map->members, struct set_elem, list);
++#else
++		    list_entry((&map->members)->prev, struct set_elem, list)
++#endif
+ 	} else if (d->before > 0) {
+ 		/* Insert after next element */
+ 		if (!list_is_last(&next->list, &map->members))
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ipset.git/commitdiff/afb9b9d5ccc597e1622b87b399b873a9b478d86b



More information about the pld-cvs-commit mailing list