All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sched/deadline: Don't use dubious signed bitfields
@ 2017-10-13  7:01 ` Dan Carpenter
  0 siblings, 0 replies; 7+ messages in thread
From: Dan Carpenter @ 2017-10-13  7:01 UTC (permalink / raw)
  To: Ingo Molnar, luca abeni; +Cc: Peter Zijlstra, linux-kernel, kernel-janitors

It doesn't cause a run-time bug, but these bitfields should be unsigned.
When it's signed ->dl_throttled is set to either 0 or -1, instead of
0 and 1 as expected.  The sched.h file is included into tons of places
so Sparse generates a flood of warnings like this:

./include/linux/sched.h:477:54: error: dubious one-bit signed bitfield

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 0f897dfc195e..105eaff8a5e7 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -474,10 +474,10 @@ struct sched_dl_entity {
 	 * conditions between the inactive timer handler and the wakeup
 	 * code.
 	 */
-	int				dl_throttled      : 1;
-	int				dl_boosted        : 1;
-	int				dl_yielded        : 1;
-	int				dl_non_contending : 1;
+	unsigned int			dl_throttled      : 1;
+	unsigned int			dl_boosted        : 1;
+	unsigned int			dl_yielded        : 1;
+	unsigned int			dl_non_contending : 1;
 
 	/*
 	 * Bandwidth enforcement timer. Each -deadline task has its

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-11-21  8:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-13  7:01 [PATCH] sched/deadline: Don't use dubious signed bitfields Dan Carpenter
2017-10-13  7:01 ` Dan Carpenter
2017-10-13  7:36 ` Luca Abeni
2017-10-13  7:36   ` Luca Abeni
2017-10-13 10:36   ` Dan Carpenter
2017-10-13 10:36     ` Dan Carpenter
2017-11-21  8:30 ` [tip:sched/urgent] " tip-bot for Dan Carpenter

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.