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

Commit 03dbe88a authored by Joseph Qi's avatar Joseph Qi Committed by Linus Torvalds
Browse files

ocfs2: avoid possible NULL pointer dereference in o2net_accept_one()



Since o2nm_get_node_by_num() may return NULL, we add this check in
o2net_accept_one() to avoid possible NULL pointer dereference.

Signed-off-by: default avatarJoseph Qi <joseph.qi@huawei.com>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 9a239e4c
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -1873,12 +1873,16 @@ static int o2net_accept_one(struct socket *sock)

	if (o2nm_this_node() >= node->nd_num) {
		local_node = o2nm_get_node_by_num(o2nm_this_node());
		printk(KERN_NOTICE "o2net: Unexpected connect attempt seen "
		       "at node '%s' (%u, %pI4:%d) from node '%s' (%u, "
		       "%pI4:%d)\n", local_node->nd_name, local_node->nd_num,
		if (local_node)
			printk(KERN_NOTICE "o2net: Unexpected connect attempt "
					"seen at node '%s' (%u, %pI4:%d) from "
					"node '%s' (%u, %pI4:%d)\n",
					local_node->nd_name, local_node->nd_num,
					&(local_node->nd_ipv4_address),
		       ntohs(local_node->nd_ipv4_port), node->nd_name,
		       node->nd_num, &sin.sin_addr.s_addr, ntohs(sin.sin_port));
					ntohs(local_node->nd_ipv4_port),
					node->nd_name,
					node->nd_num, &sin.sin_addr.s_addr,
					ntohs(sin.sin_port));
		ret = -EINVAL;
		goto out;
	}