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

Commit 4b706372 authored by Neil Horman's avatar Neil Horman Committed by David S. Miller
Browse files

drop_monitor: Add error code to detect duplicate state changes



	Patch to add -EAGAIN error to dropwatch netlink message handling code.
-EAGAIN will be returned anytime userspace attempts to transition the state of
the drop monitor service to a state that its already in.  That allows user space
to detect this condition, so it doesn't wait for a success ACK that will never
arrive.  Tested successfully by me

Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d79d9913
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -223,6 +223,11 @@ static int set_all_monitor_traces(int state)

	spin_lock(&trace_state_lock);

	if (state == trace_state) {
		rc = -EAGAIN;
		goto out_unlock;
	}

	switch (state) {
	case TRACE_ON:
		rc |= register_trace_kfree_skb(trace_kfree_skb_hit, NULL);
@@ -251,11 +256,12 @@ static int set_all_monitor_traces(int state)

	if (!rc)
		trace_state = state;
	else
		rc = -EINPROGRESS;

out_unlock:
	spin_unlock(&trace_state_lock);

	if (rc)
		return -EINPROGRESS;
	return rc;
}