Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IMHO, Will it be a problem that hwmp_perr_frame_process function has no rcu_read_unlock()? #68

Closed
e1001925 opened this issue Oct 30, 2017 · 1 comment

Comments

@e1001925
Copy link

e1001925 commented Oct 30, 2017

rcu_read_lock();
mpath = mesh_path_lookup(sdata, target_addr);
if (mpath) {
struct sta_info *sta;
spin_lock_bh(&mpath->state_lock);

	sta = next_hop_deref_protected(mpath);
	if (mpath->flags & MESH_PATH_ACTIVE &&
	    ether_addr_equal(ta, sta->sta.addr) &&
	    (!(mpath->flags & MESH_PATH_SN_VALID) ||
	    SN_GT(target_sn, mpath->sn))) {
		mpath->flags &= ~MESH_PATH_ACTIVE;
		mpath->sn = target_sn;
		spin_unlock_bh(&mpath->state_lock);
		if (!ifmsh->mshcfg.dot11MeshForwarding)
			goto endperr;
		mesh_path_error_tx(sdata, ttl, target_addr,
				   cpu_to_le32(target_sn),
				   cpu_to_le16(target_rcode),
				   broadcast_addr);
	} else
		spin_unlock_bh(&mpath->state_lock);
}

endperr:
rcu_read_unlock();
}

@bcopeland
Copy link
Contributor

bcopeland commented Oct 30, 2017 via email

@e1001925 e1001925 closed this as completed Nov 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants