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)
|
* [arm64] nvmem: Enable NVMEM_SUNXI_SID as module (Closes: #881567)
|
||||||
* [x86] rmi4: Disable RMI4_SMB (Closes: #880471)
|
* [x86] rmi4: Disable RMI4_SMB (Closes: #880471)
|
||||||
* ALSA: timer: Avoid ABI change in 4.13.13
|
* 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
|
-- 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/keys-limit-abi-change-in-4.13.10.patch
|
||||||
debian/swap-avoid-abi-change-in-4.13.12.patch
|
debian/swap-avoid-abi-change-in-4.13.12.patch
|
||||||
debian/alsa-timer-avoid-abi-change-in-4.13.13.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