[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150223125025.61a25b4a@thirdoffive.cmf.nrl.navy.mil>
Date: Mon, 23 Feb 2015 12:50:25 -0500
From: chas williams - CONTRACTOR <chas@....nrl.navy.mil>
To: Fabian Frederick <fabf@...net.be>
Cc: linux-kernel@...r.kernel.org, davem@...emloft.net,
Peter Zijlstra <peterz@...radead.org>, netdev@...r.kernel.org
Subject: Re: [PATCH 1/1 net-next] net/atm/signaling.c: replace
current->state by __set_current_state()
Instead of fixing code that never gets compiled/test, you could probably
just remove the #if WAIT_FOR_DAEMON code which would get rid of this
raw assignment.
See the #undef around line 268.
On Mon, 23 Feb 2015 18:31:07 +0100
Fabian Frederick <fabf@...net.be> wrote:
> Use helper functions to access current->state.
> Direct assignments are prone to races and therefore buggy.
>
> Thanks to Peter Zijlstra for the exact definition of the problem.
>
> Suggested-By: Peter Zijlstra <peterz@...radead.org>
> Signed-off-by: Fabian Frederick <fabf@...net.be>
> ---
> net/atm/signaling.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/atm/signaling.c b/net/atm/signaling.c
> index 523bce7..0140832 100644
> --- a/net/atm/signaling.c
> +++ b/net/atm/signaling.c
> @@ -40,7 +40,7 @@ static void sigd_put_skb(struct sk_buff *skb)
> pr_debug("atmsvc: waiting for signaling daemon...\n");
> schedule();
> }
> - current->state = TASK_RUNNING;
> + __set_current_state(TASK_RUNNING);
> remove_wait_queue(&sigd_sleep, &wait);
> #else
> if (!sigd) {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists