* [PATCH 1/1 net-next] net/atm/signaling.c: replace current->state by __set_current_state()
@ 2015-02-23 17:31 Fabian Frederick
2015-02-23 17:50 ` chas williams - CONTRACTOR
0 siblings, 1 reply; 3+ messages in thread
From: Fabian Frederick @ 2015-02-23 17:31 UTC (permalink / raw)
To: linux-kernel; +Cc: davem, Peter Zijlstra, Fabian Frederick, netdev
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@infradead.org>
Signed-off-by: Fabian Frederick <fabf@skynet.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) {
--
2.1.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1 net-next] net/atm/signaling.c: replace current->state by __set_current_state()
2015-02-23 17:31 [PATCH 1/1 net-next] net/atm/signaling.c: replace current->state by __set_current_state() Fabian Frederick
@ 2015-02-23 17:50 ` chas williams - CONTRACTOR
2015-02-23 22:20 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: chas williams - CONTRACTOR @ 2015-02-23 17:50 UTC (permalink / raw)
To: Fabian Frederick; +Cc: linux-kernel, davem, Peter Zijlstra, netdev
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@skynet.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@infradead.org>
> Signed-off-by: Fabian Frederick <fabf@skynet.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) {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1 net-next] net/atm/signaling.c: replace current->state by __set_current_state()
2015-02-23 17:50 ` chas williams - CONTRACTOR
@ 2015-02-23 22:20 ` David Miller
0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2015-02-23 22:20 UTC (permalink / raw)
To: chas; +Cc: fabf, linux-kernel, peterz, netdev
From: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date: Mon, 23 Feb 2015 12:50:25 -0500
> 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.
I completely agree.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-02-23 22:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-23 17:31 [PATCH 1/1 net-next] net/atm/signaling.c: replace current->state by __set_current_state() Fabian Frederick
2015-02-23 17:50 ` chas williams - CONTRACTOR
2015-02-23 22:20 ` David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.