From: tip-bot for Dan Carpenter <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: tglx@linutronix.de, peterz@infradead.org, mingo@kernel.org,
linux-kernel@vger.kernel.org, lucien.xin@gmail.com,
luca.abeni@santannapisa.it, dan.carpenter@oracle.com,
willy@infradead.org, hpa@zytor.com,
torvalds@linux-foundation.org
Subject: [tip:sched/urgent] sched/deadline: Don't use dubious signed bitfields
Date: Tue, 21 Nov 2017 00:30:48 -0800 [thread overview]
Message-ID: <tip-aa5222e92f8000ed3c1c38dddf11c83222aadfb3@git.kernel.org> (raw)
In-Reply-To: <20171013070121.dzcncojuj2f4utij@mwanda>
Commit-ID: aa5222e92f8000ed3c1c38dddf11c83222aadfb3
Gitweb: https://git.kernel.org/tip/aa5222e92f8000ed3c1c38dddf11c83222aadfb3
Author: Dan Carpenter <dan.carpenter@oracle.com>
AuthorDate: Fri, 13 Oct 2017 10:01:22 +0300
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Tue, 21 Nov 2017 09:25:01 +0100
sched/deadline: Don't use dubious signed bitfields
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
Reported-by: Matthew Wilcox <willy@infradead.org>
Reported-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Luca Abeni <luca.abeni@santannapisa.it>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kernel-janitors@vger.kernel.org
Cc: luca abeni <luca.abeni@santannapisa.it>
Link: http://lkml.kernel.org/r/20171013070121.dzcncojuj2f4utij@mwanda
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
include/linux/sched.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index a5dc7c9..21991d6 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -473,10 +473,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
prev parent reply other threads:[~2017-11-21 8:35 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
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-bot for Dan Carpenter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-aa5222e92f8000ed3c1c38dddf11c83222aadfb3@git.kernel.org \
--to=tipbot@zytor.com \
--cc=dan.carpenter@oracle.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=luca.abeni@santannapisa.it \
--cc=lucien.xin@gmail.com \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.