netfilter: nat: Avoid ABI change in 4.13.13
This commit is contained in:
parent
7cb3e39661
commit
617046eb45
|
@ -141,6 +141,7 @@ linux (4.13.13-1) UNRELEASED; urgency=medium
|
|||
* [arm64] nvmem: Enable NVMEM_SUNXI_SID as module (Closes: #881567)
|
||||
* [x86] rmi4: Disable RMI4_SMB (Closes: #880471)
|
||||
* ALSA: timer: Avoid ABI change in 4.13.13
|
||||
* netfilter: nat: Avoid ABI change in 4.13.13
|
||||
|
||||
-- Salvatore Bonaccorso <carnil@debian.org> Sat, 04 Nov 2017 09:54:41 +0100
|
||||
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Thu, 16 Nov 2017 21:00:59 +0000
|
||||
Subject: netfilter: nat: Avoid ABI change in 4.13.13
|
||||
Forwarded: not-needed
|
||||
|
||||
Commit e1bf1687740c ("netfilter: nat: Revert "netfilter: nat: convert
|
||||
nat bysrc hash to rhashtable") changed the type of
|
||||
nf_conn::nat_bysource. Thankfully the two types are the same size,
|
||||
and nothing outside of nf_nat_core touches this field directly. Hide
|
||||
the change from genksyms but add compile-time assertions to make sure
|
||||
that this isn't an ABI change.
|
||||
|
||||
---
|
||||
--- a/include/net/netfilter/nf_conntrack.h
|
||||
+++ b/include/net/netfilter/nf_conntrack.h
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/atomic.h>
|
||||
+#include <linux/rhashtable.h>
|
||||
|
||||
#include <linux/netfilter/nf_conntrack_tcp.h>
|
||||
#include <linux/netfilter/nf_conntrack_dccp.h>
|
||||
@@ -82,7 +83,11 @@ struct nf_conn {
|
||||
possible_net_t ct_net;
|
||||
|
||||
#if IS_ENABLED(CONFIG_NF_NAT)
|
||||
+#ifndef __GENKSYMS__
|
||||
struct hlist_node nat_bysource;
|
||||
+#else
|
||||
+ struct rhlist_head nat_bysource;
|
||||
+#endif
|
||||
#endif
|
||||
/* all members below initialized via memset */
|
||||
u8 __nfct_init_offset[0];
|
||||
--- a/include/net/netfilter/nf_nat.h
|
||||
+++ b/include/net/netfilter/nf_nat.h
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef _NF_NAT_H
|
||||
#define _NF_NAT_H
|
||||
+#include <linux/rhashtable.h>
|
||||
#include <linux/netfilter_ipv4.h>
|
||||
#include <linux/netfilter/nf_nat.h>
|
||||
#include <net/netfilter/nf_conntrack_tuple.h>
|
||||
--- a/net/netfilter/nf_nat_core.c
|
||||
+++ b/net/netfilter/nf_nat_core.c
|
||||
@@ -796,6 +796,11 @@ static int __init nf_nat_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
+ /* bwh: Assert that nat_bysource hasn't changed size or alignment */
|
||||
+ BUILD_BUG_ON(sizeof(struct hlist_node) != sizeof(struct rhlist_head));
|
||||
+ BUILD_BUG_ON(__alignof__(struct hlist_node) !=
|
||||
+ __alignof__(struct rhlist_head));
|
||||
+
|
||||
/* Leave them the same for the moment. */
|
||||
nf_nat_htable_size = nf_conntrack_htable_size;
|
||||
|
|
@ -149,3 +149,4 @@ debian/mac80211-avoid-abi-change-in-4.13.5.patch
|
|||
debian/keys-limit-abi-change-in-4.13.10.patch
|
||||
debian/swap-avoid-abi-change-in-4.13.12.patch
|
||||
debian/alsa-timer-avoid-abi-change-in-4.13.13.patch
|
||||
debian/netfilter-nat-avoid-abi-change-in-4.13.13.patch
|
||||
|
|
Loading…
Reference in New Issue