caif: move the dereference below the NULL test
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Sun, 9 Sep 2012 18:38:27 +0000 (18:38 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Sep 2012 20:13:31 +0000 (16:13 -0400)
The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/caif/cfsrvl.c

index dd485f6..ba217e9 100644 (file)
@@ -211,9 +211,10 @@ void caif_client_register_refcnt(struct cflayer *adapt_layer,
                                        void (*put)(struct cflayer *lyr))
 {
        struct cfsrvl *service;
-       service = container_of(adapt_layer->dn, struct cfsrvl, layer);
 
-       WARN_ON(adapt_layer == NULL || adapt_layer->dn == NULL);
+       if (WARN_ON(adapt_layer == NULL || adapt_layer->dn == NULL))
+               return;
+       service = container_of(adapt_layer->dn, struct cfsrvl, layer);
        service->hold = hold;
        service->put = put;
 }