Gentoo Archives: gentoo-commits

From: Sergey Popov <pinkbyte@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-dialup/accel-ppp/files/, net-dialup/accel-ppp/
Date: Thu, 09 Jan 2020 12:25:53
Message-Id: 1578572734.8405112f9e37d099beb627a54af37cae60647ec3.pinkbyte@gentoo
1 commit: 8405112f9e37d099beb627a54af37cae60647ec3
2 Author: Sergey Popov <pinkbyte <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jan 9 12:22:49 2020 +0000
4 Commit: Sergey Popov <pinkbyte <AT> gentoo <DOT> org>
5 CommitDate: Thu Jan 9 12:25:34 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8405112f
7
8 net-dialup/accel-ppp: backport compatibility patch for new kernels
9
10 Closes: https://bugs.gentoo.org/704306
11 Signed-off-by: Sergey Popov <pinkbyte <AT> gentoo.org>
12 Package-Manager: Portage-2.3.66, Repoman-2.3.11
13
14 net-dialup/accel-ppp/Manifest | 1 -
15 net-dialup/accel-ppp/accel-ppp-1.12.0.ebuild | 3 +-
16 .../files/accel-ppp-1.12.0-kernel-5.2.patch | 282 +++++++++++++++++++++
17 3 files changed, 284 insertions(+), 2 deletions(-)
18
19 diff --git a/net-dialup/accel-ppp/Manifest b/net-dialup/accel-ppp/Manifest
20 index e8ecf5cc9a3..2272c95bf67 100644
21 --- a/net-dialup/accel-ppp/Manifest
22 +++ b/net-dialup/accel-ppp/Manifest
23 @@ -1,2 +1 @@
24 -DIST accel-ppp-1.11.1_p20180320.tar.bz2 1634359 BLAKE2B 97ca709ef3740c2ac1d75f6fba3acbf9229c3cb48f3a55735eaa14b74c2b0af96d637cbb145bc9e98a5b245704806cdc3d8f9d8692809626e0f73d73702c4a0a SHA512 a8a2420332c02087e45bbaab25831ae5d2d370fd56b29db77c267083badc22b90ca4b0ec7335e13250ac8f150002b2a3c343cfba6c2378932778777dc936d914
25 DIST accel-ppp-1.12.0.tar 6758400 BLAKE2B 776c0946decec2d88a0dfeb8e840573ae8d53d53d0fe921604667eaf4a5658e7d0cfa57f0b54eb61fcdf62b7a62a94ee405a01ad2a66ab76042d59cc3f79d42b SHA512 f1d3b31ca36395a429214b7599a43755317d89391c5631dfd02df79ed8dd51c39f75fc56ac625fbc6e7d5b0f9c85699c5da612eb4e8af9eae8ad2d9b13a187ba
26
27 diff --git a/net-dialup/accel-ppp/accel-ppp-1.12.0.ebuild b/net-dialup/accel-ppp/accel-ppp-1.12.0.ebuild
28 index f2e7d2b54cc..e60b57f2e25 100644
29 --- a/net-dialup/accel-ppp/accel-ppp-1.12.0.ebuild
30 +++ b/net-dialup/accel-ppp/accel-ppp-1.12.0.ebuild
31 @@ -1,4 +1,4 @@
32 -# Copyright 1999-2019 Gentoo Authors
33 +# Copyright 1999-2020 Gentoo Authors
34 # Distributed under the terms of the GNU General Public License v2
35
36 EAPI=7
37 @@ -31,6 +31,7 @@ REQUIRED_USE="valgrind? ( debug )"
38
39 PATCHES=(
40 "${FILESDIR}/${PN}-1.11.1-socklen.patch"
41 + "${FILESDIR}/${PV}-kernel-5.2.patch"
42 )
43
44 pkg_setup() {
45
46 diff --git a/net-dialup/accel-ppp/files/accel-ppp-1.12.0-kernel-5.2.patch b/net-dialup/accel-ppp/files/accel-ppp-1.12.0-kernel-5.2.patch
47 new file mode 100644
48 index 00000000000..8300908a2d2
49 --- /dev/null
50 +++ b/net-dialup/accel-ppp/files/accel-ppp-1.12.0-kernel-5.2.patch
51 @@ -0,0 +1,282 @@
52 +From 4d837cc3bd92493732f2c598560e9e83c82f9b9e Mon Sep 17 00:00:00 2001
53 +From: Dmitry Kozlov <xeb@××××.ru>
54 +Date: Tue, 24 Dec 2019 14:50:04 +0300
55 +Subject: [PATCH] ipoe,vlan_mon: add support for kernels 5.2+
56 +
57 +---
58 + drivers/ipoe/ipoe.c | 58 +++++++++++++++++++++++++++++--------
59 + drivers/vlan_mon/vlan_mon.c | 37 +++++++++++++++++------
60 + 2 files changed, 74 insertions(+), 21 deletions(-)
61 +
62 +diff --git a/drivers/ipoe/ipoe.c b/drivers/ipoe/ipoe.c
63 +index f3acb3f5..6ac6d77a 100644
64 +--- a/drivers/ipoe/ipoe.c
65 ++++ b/drivers/ipoe/ipoe.c
66 +@@ -174,6 +174,10 @@ static struct genl_multicast_group ipoe_nl_mcg;
67 + #define NETIF_F_HW_VLAN_FILTER NETIF_F_HW_VLAN_CTAG_FILTER
68 + #endif
69 +
70 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
71 ++#define nla_nest_start_noflag(skb, attr) nla_nest_start(skb, attr)
72 ++#endif
73 ++
74 + static inline int hash_addr(__be32 addr)
75 + {
76 + #ifdef __LITTLE_ENDIAN
77 +@@ -255,8 +259,13 @@ static int check_nat_required(struct sk_buff *skb, struct net_device *link)
78 + if (IS_ERR(rt))
79 + return 0;
80 +
81 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
82 + if (rt->rt_gateway || (rt->dst.dev != link && rt->dst.dev != skb->dev))
83 + r = 1;
84 ++#else
85 ++ if (rt->rt_gw4 || (rt->dst.dev != link && rt->dst.dev != skb->dev))
86 ++ r = 1;
87 ++#endif
88 +
89 + ip_rt_put(rt);
90 +
91 +@@ -616,7 +625,7 @@ static void ipoe_process_queue(struct work_struct *w)
92 + }
93 +
94 + if (report_skb) {
95 +- ns = nla_nest_start(report_skb, id++);
96 ++ ns = nla_nest_start_noflag(report_skb, id++);
97 + if (!ns)
98 + goto nl_err;
99 +
100 +@@ -1729,7 +1738,7 @@ static int ipoe_nl_cmd_del_net(struct sk_buff *skb, struct genl_info *info)
101 + return 0;
102 + }
103 +
104 +-static struct nla_policy ipoe_nl_policy[IPOE_ATTR_MAX + 1] = {
105 ++static const struct nla_policy ipoe_nl_policy[IPOE_ATTR_MAX + 1] = {
106 + [IPOE_ATTR_NONE] = { .type = NLA_UNSPEC, },
107 + [IPOE_ATTR_ADDR] = { .type = NLA_U32, },
108 + [IPOE_ATTR_PEER_ADDR] = { .type = NLA_U32, },
109 +@@ -1741,71 +1750,93 @@ static struct nla_policy ipoe_nl_policy[IPOE_ATTR_MAX + 1] = {
110 + [IPOE_ATTR_LINK_IFINDEX]= { .type = NLA_U32, },
111 + };
112 +
113 +-static struct genl_ops ipoe_nl_ops[] = {
114 ++static const struct genl_ops ipoe_nl_ops[] = {
115 + {
116 + .cmd = IPOE_CMD_NOOP,
117 + .doit = ipoe_nl_cmd_noop,
118 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
119 + .policy = ipoe_nl_policy,
120 ++#endif
121 + /* can be retrieved by unprivileged users */
122 + },
123 + {
124 + .cmd = IPOE_CMD_CREATE,
125 + .doit = ipoe_nl_cmd_create,
126 +- .policy = ipoe_nl_policy,
127 + .flags = GENL_ADMIN_PERM,
128 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
129 ++ .policy = ipoe_nl_policy,
130 ++#endif
131 + },
132 + {
133 + .cmd = IPOE_CMD_DELETE,
134 + .doit = ipoe_nl_cmd_delete,
135 +- .policy = ipoe_nl_policy,
136 + .flags = GENL_ADMIN_PERM,
137 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
138 ++ .policy = ipoe_nl_policy,
139 ++#endif
140 + },
141 + {
142 + .cmd = IPOE_CMD_MODIFY,
143 + .doit = ipoe_nl_cmd_modify,
144 +- .policy = ipoe_nl_policy,
145 + .flags = GENL_ADMIN_PERM,
146 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
147 ++ .policy = ipoe_nl_policy,
148 ++#endif
149 + },
150 + {
151 + .cmd = IPOE_CMD_GET,
152 + .dumpit = ipoe_nl_cmd_dump_sessions,
153 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
154 + .policy = ipoe_nl_policy,
155 ++#endif
156 + },
157 + {
158 + .cmd = IPOE_CMD_ADD_IF,
159 + .doit = ipoe_nl_cmd_add_interface,
160 +- .policy = ipoe_nl_policy,
161 + .flags = GENL_ADMIN_PERM,
162 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
163 ++ .policy = ipoe_nl_policy,
164 ++#endif
165 + },
166 + {
167 + .cmd = IPOE_CMD_DEL_IF,
168 + .doit = ipoe_nl_cmd_del_interface,
169 +- .policy = ipoe_nl_policy,
170 + .flags = GENL_ADMIN_PERM,
171 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
172 ++ .policy = ipoe_nl_policy,
173 ++#endif
174 + },
175 + {
176 + .cmd = IPOE_CMD_ADD_EXCLUDE,
177 + .doit = ipoe_nl_cmd_add_exclude,
178 +- .policy = ipoe_nl_policy,
179 + .flags = GENL_ADMIN_PERM,
180 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
181 ++ .policy = ipoe_nl_policy,
182 ++#endif
183 + },
184 + {
185 + .cmd = IPOE_CMD_DEL_EXCLUDE,
186 + .doit = ipoe_nl_cmd_del_exclude,
187 +- .policy = ipoe_nl_policy,
188 + .flags = GENL_ADMIN_PERM,
189 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
190 ++ .policy = ipoe_nl_policy,
191 ++#endif
192 + },
193 + {
194 + .cmd = IPOE_CMD_ADD_NET,
195 + .doit = ipoe_nl_cmd_add_net,
196 +- .policy = ipoe_nl_policy,
197 + .flags = GENL_ADMIN_PERM,
198 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
199 ++ .policy = ipoe_nl_policy,
200 ++#endif
201 + },
202 + {
203 + .cmd = IPOE_CMD_DEL_NET,
204 + .doit = ipoe_nl_cmd_del_net,
205 +- .policy = ipoe_nl_policy,
206 + .flags = GENL_ADMIN_PERM,
207 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
208 ++ .policy = ipoe_nl_policy,
209 ++#endif
210 + },
211 + };
212 +
213 +@@ -1834,6 +1865,9 @@ static struct genl_family ipoe_nl_family = {
214 + .mcgrps = ipoe_nl_mcgs,
215 + .n_mcgrps = ARRAY_SIZE(ipoe_nl_mcgs),
216 + #endif
217 ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0)
218 ++ .policy = ipoe_nl_policy,
219 ++#endif
220 + };
221 +
222 + static const struct net_device_ops ipoe_netdev_ops = {
223 +diff --git a/drivers/vlan_mon/vlan_mon.c b/drivers/vlan_mon/vlan_mon.c
224 +index b6476d4c..271f2ff1 100644
225 +--- a/drivers/vlan_mon/vlan_mon.c
226 ++++ b/drivers/vlan_mon/vlan_mon.c
227 +@@ -43,6 +43,10 @@
228 + #define vlan_tx_tag_present(skb) skb_vlan_tag_present(skb)
229 + #endif
230 +
231 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
232 ++#define nla_nest_start_noflag(skb, attr) nla_nest_start(skb, attr)
233 ++#endif
234 ++
235 + struct vlan_dev {
236 + unsigned int magic;
237 + int ifindex;
238 +@@ -198,13 +202,13 @@ static void vlan_do_notify(struct work_struct *w)
239 + #if LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0) && RHEL_MAJOR < 7
240 + header = genlmsg_put(report_skb, 0, vlan_mon_nl_mcg.id, &vlan_mon_nl_family, 0, VLAN_MON_NOTIFY);
241 + #else
242 +- header = genlmsg_put(report_skb, 0, vlan_mon_nl_family.mcgrp_offset, &vlan_mon_nl_family, 0, VLAN_MON_NOTIFY);
243 ++ header = genlmsg_put(report_skb, 0, 0, &vlan_mon_nl_family, 0, VLAN_MON_NOTIFY);
244 + #endif
245 + }
246 +
247 + //pr_info("notify %i vlan %i\n", id, n->vid);
248 +
249 +- ns = nla_nest_start(report_skb, id++);
250 ++ ns = nla_nest_start_noflag(report_skb, id++);
251 + if (!ns)
252 + goto nl_err;
253 +
254 +@@ -616,7 +620,7 @@ static int vlan_mon_nl_cmd_check_busy(struct sk_buff *skb, struct genl_info *inf
255 + return ret;
256 + }
257 +
258 +-static struct nla_policy vlan_mon_nl_policy[VLAN_MON_ATTR_MAX + 1] = {
259 ++static const struct nla_policy vlan_mon_nl_policy[VLAN_MON_ATTR_MAX + 1] = {
260 + [VLAN_MON_ATTR_NONE] = { .type = NLA_UNSPEC, },
261 + [VLAN_MON_ATTR_VLAN_MASK] = { .type = NLA_BINARY, .len = 4096/8 },
262 + [VLAN_MON_ATTR_PROTO] = { .type = NLA_U16, },
263 +@@ -624,42 +628,54 @@ static struct nla_policy vlan_mon_nl_policy[VLAN_MON_ATTR_MAX + 1] = {
264 + [VLAN_MON_ATTR_VID] = { .type = NLA_U16, },
265 + };
266 +
267 +-static struct genl_ops vlan_mon_nl_ops[] = {
268 ++static const struct genl_ops vlan_mon_nl_ops[] = {
269 + {
270 + .cmd = VLAN_MON_CMD_NOOP,
271 + .doit = vlan_mon_nl_cmd_noop,
272 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
273 + .policy = vlan_mon_nl_policy,
274 ++#endif
275 + /* can be retrieved by unprivileged users */
276 + },
277 + {
278 + .cmd = VLAN_MON_CMD_ADD,
279 + .doit = vlan_mon_nl_cmd_add_vlan_mon,
280 +- .policy = vlan_mon_nl_policy,
281 + .flags = GENL_ADMIN_PERM,
282 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
283 ++ .policy = vlan_mon_nl_policy,
284 ++#endif
285 + },
286 + {
287 + .cmd = VLAN_MON_CMD_ADD_VID,
288 + .doit = vlan_mon_nl_cmd_add_vlan_mon_vid,
289 +- .policy = vlan_mon_nl_policy,
290 + .flags = GENL_ADMIN_PERM,
291 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
292 ++ .policy = vlan_mon_nl_policy,
293 ++#endif
294 + },
295 + {
296 + .cmd = VLAN_MON_CMD_DEL,
297 + .doit = vlan_mon_nl_cmd_del_vlan_mon,
298 +- .policy = vlan_mon_nl_policy,
299 + .flags = GENL_ADMIN_PERM,
300 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
301 ++ .policy = vlan_mon_nl_policy,
302 ++#endif
303 + },
304 + {
305 + .cmd = VLAN_MON_CMD_CHECK_BUSY,
306 + .doit = vlan_mon_nl_cmd_check_busy,
307 +- .policy = vlan_mon_nl_policy,
308 + .flags = GENL_ADMIN_PERM,
309 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
310 ++ .policy = vlan_mon_nl_policy,
311 ++#endif
312 + },
313 + {
314 + .cmd = VLAN_MON_CMD_DEL_VID,
315 + .doit = vlan_mon_nl_cmd_del_vlan_mon_vid,
316 +- .policy = vlan_mon_nl_policy,
317 + .flags = GENL_ADMIN_PERM,
318 ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0)
319 ++ .policy = vlan_mon_nl_policy,
320 ++#endif
321 + },
322 + };
323 +
324 +@@ -688,6 +704,9 @@ static struct genl_family vlan_mon_nl_family = {
325 + .mcgrps = vlan_mon_nl_mcgs,
326 + .n_mcgrps = ARRAY_SIZE(vlan_mon_nl_mcgs),
327 + #endif
328 ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0)
329 ++ .policy = vlan_mon_nl_policy,
330 ++#endif
331 + };
332 +
333 + static struct packet_type vlan_pt __read_mostly = {