Thread (4 messages) flat view 4 messages, 1 author, 2017-10-31

Re: [PATCH] net: caif: chnl_net: remove unnecessary null check in chnl_recv_cb

From: Gustavo A. R. Silva <hidden>
Date: 2017-10-31 02:34:01
Also in: lkml

Quoting "Gustavo A. R. Silva" [off-list ref]:
Hi,

Quoting "Gustavo A. R. Silva" [off-list ref]:
quoted
container_of is never null, so this null check is unnecessary.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <redacted>
---
net/caif/chnl_net.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/net/caif/chnl_net.c b/net/caif/chnl_net.c
index 922ac1d..489298d 100644
--- a/net/caif/chnl_net.c
+++ b/net/caif/chnl_net.c
@@ -77,8 +77,6 @@ static int chnl_recv_cb(struct cflayer *layr,  
struct cfpkt *pkt)
	u8 buf;

	priv = container_of(layr, struct chnl_net, chnl);
-	if (!priv)
-		return -EINVAL;

	skb = (struct sk_buff *) cfpkt_tonative(pkt);

--
2.7.4
Please, ignore this patch.

I just realized that function chnl_recv_cb is being called only  
during initialization:

chnl_init_module() -> rtnl_link_register() -> ipcaif_net_setup() ->  
chnl_recv_cb():
Well, here ipcaif_net_setup stores a pointer to chnl_recv_cb in a  
structure. It doesn't call it.
static void ipcaif_net_setup(struct net_device *dev)
{
[...]
	priv = netdev_priv(dev);
	priv->chnl.receive = chnl_recv_cb;

[...]
}

static struct rtnl_link_ops ipcaif_link_ops __read_mostly = {
	.kind		= "caif",
	.priv_size	= sizeof(struct chnl_net),
	.setup		= ipcaif_net_setup,
	.maxtype	= IFLA_CAIF_MAX,
	.policy		= ipcaif_policy,
	.newlink	= ipcaif_newlink,
	.changelink	= ipcaif_changelink,
	.get_size	= ipcaif_get_size,
	.fill_info	= ipcaif_fill_info,

};

static int __init chnl_init_module(void)
{
	return rtnl_link_register(&ipcaif_link_ops);
}
--
Gustavo A. R. Silva
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help