Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6060c74a authored by Shan Wei's avatar Shan Wei Committed by Simon Horman
Browse files

netfilter:ipvs: use kmemdup

The semantic patch that makes this output is available
in scripts/coccinelle/api/memdup.cocci.

More information about semantic patching is available at
http://coccinelle.lip6.fr/



Signed-off-by: default avatarShan Wei <shanwei@cn.fujitsu.com>
Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
parent 4a569c0c
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -92,14 +92,13 @@ ip_vs_sip_fill_param(struct ip_vs_conn_param *p, struct sk_buff *skb)
	if (get_callid(dptr, dataoff, datalen, &matchoff, &matchlen))
		return -EINVAL;

	p->pe_data = kmalloc(matchlen, GFP_ATOMIC);
	if (!p->pe_data)
		return -ENOMEM;

	/* N.B: pe_data is only set on success,
	 * this allows fallback to the default persistence logic on failure
	 */
	memcpy(p->pe_data, dptr + matchoff, matchlen);
	p->pe_data = kmemdup(dptr + matchoff, matchlen, GFP_ATOMIC);
	if (!p->pe_data)
		return -ENOMEM;

	p->pe_data_len = matchlen;

	return 0;
+1 −2
Original line number Diff line number Diff line
@@ -697,13 +697,12 @@ ip_vs_conn_fill_param_sync(struct net *net, int af, union ip_vs_sync_conn *sc,
			return 1;
		}

		p->pe_data = kmalloc(pe_data_len, GFP_ATOMIC);
		p->pe_data = kmemdup(pe_data, pe_data_len, GFP_ATOMIC);
		if (!p->pe_data) {
			if (p->pe->module)
				module_put(p->pe->module);
			return -ENOMEM;
		}
		memcpy(p->pe_data, pe_data, pe_data_len);
		p->pe_data_len = pe_data_len;
	}
	return 0;