the correct Subject of the patch is:
Subject: lockdep: annotate __icmpv6_socket
Ingo
* [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> From: Ingo Molnar <[EMAIL PROTECTED]>
>
> Split off __icmpv6_socket's sk->sk_dst_lock class, because it gets used
> from softirqs, which is safe for __icmpv6_sockets (because they never get
> directly used via userspace syscalls), but unsafe for normal sockets.
>
> Has no effect on non-lockdep kernels.
>
> Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
> Cc: "David S. Miller" <[EMAIL PROTECTED]>
> Cc: Jeff Garzik <[EMAIL PROTECTED]>
> Cc: Arjan van de Ven <[EMAIL PROTECTED]>
> Acked-by: Herbert Xu <[EMAIL PROTECTED]>
> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
> ---
>
> net/ipv6/icmp.c | 13 +
> 1 files changed, 13 insertions(+)
>
> diff -puN net/ipv6/icmp.c~lockdep-fix-sk_dst_check-deadlock net/ipv6/icmp.c
> --- a/net/ipv6/icmp.c~lockdep-fix-sk_dst_check-deadlock
> +++ a/net/ipv6/icmp.c
> @@ -712,6 +712,11 @@ discard_it:
> return 0;
> }
>
> +/*
> + * Special lock-class for __icmpv6_socket:
> + */
> +static struct lock_class_key icmpv6_socket_sk_dst_lock_key;
> +
> int __init icmpv6_init(struct net_proto_family *ops)
> {
> struct sock *sk;
> @@ -730,6 +735,14 @@ int __init icmpv6_init(struct net_proto_
>
> sk = per_cpu(__icmpv6_socket, i)->sk;
> sk->sk_allocation = GFP_ATOMIC;
> + /*
> + * Split off their lock-class, because sk->sk_dst_lock
> + * gets used from softirqs, which is safe for
> + * __icmpv6_socket (because those never get directly used
> + * via userspace syscalls), but unsafe for normal sockets.
> + */
> + lockdep_set_class(&sk->sk_dst_lock,
> + &icmpv6_socket_sk_dst_lock_key);
>
> /* Enough space for 2 64K ICMP packets, including
>* sk_buff struct overhead.
> _
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html