Subject: Re: [PATCH] connector: Removed the destruct_data callback since it is always kfree_skb()

From: Andrew Morton <[email-masked]>
Date: Sun, 4 Oct 2009 14:57:55 -0700

On Tue, 29 Sep 2009 16:48:11 +0200 Philipp Reisner <[email-masked]> wrote:

> Signed-off-by: Philipp Reisner <[email-masked]>
> Acked-by: Lars Ellenberg <[email-masked]>

Please don't send unchangelogged patches.

> index 163c3e3..210338e 100644
> --- a/drivers/connector/cn_queue.c
> +++ b/drivers/connector/cn_queue.c
> @@ -83,8 +83,8 @@ void cn_queue_wrapper(struct work_struct *work)
>  
>  	d->callback(msg, nsp);
>  
> -	d->destruct_data(d->ddata);
> -	d->ddata = NULL;
> +	kfree_skb(d->skb);
> +	d->skb = NULL;
>  
>  	kfree(d->free);
>  }

So..  why is this a good thing to do?  The patchset removes the option
of ever putting anything other than an skb* into the callback data, it
does this without any dicussion or justification and it does it under
the guise of "allowing permission checking in the receiver callbacks".