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

Commit ae1cfb11 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  af_key: Free dumping state on socket close
  XFRM,IPv6: initialize ip6_dst_blackhole_ops.kmem_cachep
  ipv6: NULL pointer dereferrence in tcp_v6_send_ack
  tcp: Fix NULL dereference in tcp_4_send_ack()
  sctp: Fix kernel panic while process protocol violation parameter
  iucv: Fix mismerge again.
  ipsec: Fix pskb_expand_head corruption in xfrm_state_check_space
parents de59985e 05238204
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -227,6 +227,9 @@ struct sctp_chunk *sctp_make_abort_violation(const struct sctp_association *,
				   const struct sctp_chunk *,
				   const struct sctp_chunk *,
				   const __u8 *,
				   const __u8 *,
				   const size_t );
				   const size_t );
struct sctp_chunk *sctp_make_violation_paramlen(const struct sctp_association *,
				   const struct sctp_chunk *,
				   struct sctp_paramhdr *);
struct sctp_chunk *sctp_make_heartbeat(const struct sctp_association *,
struct sctp_chunk *sctp_make_heartbeat(const struct sctp_association *,
				  const struct sctp_transport *,
				  const struct sctp_transport *,
				  const void *payload,
				  const void *payload,
+1 −1
Original line number Original line Diff line number Diff line
@@ -618,7 +618,7 @@ static void tcp_v4_send_ack(struct sk_buff *skb, u32 seq, u32 ack,
			];
			];
	} rep;
	} rep;
	struct ip_reply_arg arg;
	struct ip_reply_arg arg;
	struct net *net = dev_net(skb->dev);
	struct net *net = dev_net(skb->dst->dev);


	memset(&rep.th, 0, sizeof(struct tcphdr));
	memset(&rep.th, 0, sizeof(struct tcphdr));
	memset(&arg, 0, sizeof(arg));
	memset(&arg, 0, sizeof(arg));
+2 −0
Original line number Original line Diff line number Diff line
@@ -2688,6 +2688,8 @@ int __init ip6_route_init(void)
	if (ret)
	if (ret)
		goto out_kmem_cache;
		goto out_kmem_cache;


	ip6_dst_blackhole_ops.kmem_cachep = ip6_dst_ops_template.kmem_cachep;

	/* Registering of the loopback is done before this portion of code,
	/* Registering of the loopback is done before this portion of code,
	 * the loopback reference in rt6_info will not be taken, do it
	 * the loopback reference in rt6_info will not be taken, do it
	 * manually for init_net */
	 * manually for init_net */
+1 −1
Original line number Original line Diff line number Diff line
@@ -1050,7 +1050,7 @@ static void tcp_v6_send_ack(struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32
	struct tcphdr *th = tcp_hdr(skb), *t1;
	struct tcphdr *th = tcp_hdr(skb), *t1;
	struct sk_buff *buff;
	struct sk_buff *buff;
	struct flowi fl;
	struct flowi fl;
	struct net *net = dev_net(skb->dev);
	struct net *net = dev_net(skb->dst->dev);
	struct sock *ctl_sk = net->ipv6.tcp_sk;
	struct sock *ctl_sk = net->ipv6.tcp_sk;
	unsigned int tot_len = sizeof(struct tcphdr);
	unsigned int tot_len = sizeof(struct tcphdr);
	__be32 *topt;
	__be32 *topt;
+2 −1
Original line number Original line Diff line number Diff line
@@ -524,7 +524,6 @@ static int iucv_enable(void)
	get_online_cpus();
	get_online_cpus();
	for_each_online_cpu(cpu)
	for_each_online_cpu(cpu)
		smp_call_function_single(cpu, iucv_declare_cpu, NULL, 1);
		smp_call_function_single(cpu, iucv_declare_cpu, NULL, 1);
	preempt_enable();
	if (cpus_empty(iucv_buffer_cpumask))
	if (cpus_empty(iucv_buffer_cpumask))
		/* No cpu could declare an iucv buffer. */
		/* No cpu could declare an iucv buffer. */
		goto out_path;
		goto out_path;
@@ -547,7 +546,9 @@ static int iucv_enable(void)
 */
 */
static void iucv_disable(void)
static void iucv_disable(void)
{
{
	get_online_cpus();
	on_each_cpu(iucv_retrieve_cpu, NULL, 1);
	on_each_cpu(iucv_retrieve_cpu, NULL, 1);
	put_online_cpus();
	kfree(iucv_path_table);
	kfree(iucv_path_table);
}
}


Loading