From: Dan Carpenter <dan.carpenter@oracle.com>
To: kernel-janitors@vger.kernel.org
Subject: [patch] Staging: lttng: dubious one-bit signed bitfields
Date: Thu, 01 Dec 2011 09:37:47 +0000 [thread overview]
Message-ID: <20111201093746.GA1250@elgon.mountain> (raw)
Sparse complains that these signed bitfields look "dubious". The
problem is that instead of being either 0 or 1 like people would expect,
signed one bit variables like this are either 0 or -1. It doesn't cause
a problem in this case but it's ugly so lets fix them.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
I just did this against linux next but it applies fine on top of
Mathieu's recent patches.
diff --git a/drivers/staging/lttng/lib/ringbuffer/backend_types.h b/drivers/staging/lttng/lib/ringbuffer/backend_types.h
index 1d301de..019929a 100644
--- a/drivers/staging/lttng/lib/ringbuffer/backend_types.h
+++ b/drivers/staging/lttng/lib/ringbuffer/backend_types.h
@@ -65,7 +65,7 @@ struct channel_backend {
* for writer.
*/
unsigned int buf_size_order; /* Order of buffer size */
- int extra_reader_sb:1; /* Bool: has extra reader subbuffer */
+ unsigned int extra_reader_sb:1; /* Bool: has extra reader subbuffer */
struct lib_ring_buffer *buf; /* Channel per-cpu buffers */
unsigned long num_subbuf; /* Number of sub-buffers for writer */
diff --git a/drivers/staging/lttng/lib/ringbuffer/frontend_types.h b/drivers/staging/lttng/lib/ringbuffer/frontend_types.h
index 5c7437f..9086c58 100644
--- a/drivers/staging/lttng/lib/ringbuffer/frontend_types.h
+++ b/drivers/staging/lttng/lib/ringbuffer/frontend_types.h
@@ -60,8 +60,8 @@ struct channel {
struct notifier_block cpu_hp_notifier; /* CPU hotplug notifier */
struct notifier_block tick_nohz_notifier; /* CPU nohz notifier */
struct notifier_block hp_iter_notifier; /* hotplug iterator notifier */
- int cpu_hp_enable:1; /* Enable CPU hotplug notif. */
- int hp_iter_enable:1; /* Enable hp iter notif. */
+ unsigned int cpu_hp_enable:1; /* Enable CPU hotplug notif. */
+ unsigned int hp_iter_enable:1; /* Enable hp iter notif. */
wait_queue_head_t read_wait; /* reader wait queue */
wait_queue_head_t hp_wait; /* CPU hotplug wait queue */
int finalized; /* Has channel been finalized */
@@ -94,8 +94,8 @@ struct lib_ring_buffer_iter {
ITER_NEXT_RECORD,
ITER_PUT_SUBBUF,
} state;
- int allocated:1;
- int read_open:1; /* Opened for reading ? */
+ unsigned int allocated:1;
+ unsigned int read_open:1; /* Opened for reading ? */
};
/* ring buffer state */
@@ -138,9 +138,9 @@ struct lib_ring_buffer {
unsigned long get_subbuf_consumed; /* Read-side consumed */
unsigned long prod_snapshot; /* Producer count snapshot */
unsigned long cons_snapshot; /* Consumer count snapshot */
- int get_subbuf:1; /* Sub-buffer being held by reader */
- int switch_timer_enabled:1; /* Protected by ring_buffer_nohz_lock */
- int read_timer_enabled:1; /* Protected by ring_buffer_nohz_lock */
+ unsigned int get_subbuf:1; /* Sub-buffer being held by reader */
+ unsigned int switch_timer_enabled:1; /* Protected by ring_buffer_nohz_lock */
+ unsigned int read_timer_enabled:1; /* Protected by ring_buffer_nohz_lock */
};
static inline
diff --git a/drivers/staging/lttng/ltt-events.h b/drivers/staging/lttng/ltt-events.h
index 36b281a..3fc355d 100644
--- a/drivers/staging/lttng/ltt-events.h
+++ b/drivers/staging/lttng/ltt-events.h
@@ -191,7 +191,7 @@ struct ltt_event {
} ftrace;
} u;
struct list_head list; /* Event list */
- int metadata_dumped:1;
+ unsigned int metadata_dumped:1;
};
struct ltt_channel_ops {
@@ -251,7 +251,7 @@ struct ltt_channel {
struct ltt_event *sc_compat_unknown;
struct ltt_event *sc_exit; /* for syscall exit */
int header_type; /* 0: unset, 1: compact, 2: large */
- int metadata_dumped:1;
+ unsigned int metadata_dumped:1;
};
struct ltt_session {
@@ -264,7 +264,7 @@ struct ltt_session {
struct list_head list; /* Session list */
unsigned int free_chan_id; /* Next chan ID to allocate */
uuid_le uuid; /* Trace session unique ID */
- int metadata_dumped:1;
+ unsigned int metadata_dumped:1;
};
struct ltt_session *ltt_session_create(void);
next reply other threads:[~2011-12-01 9:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-01 9:37 Dan Carpenter [this message]
2011-12-01 9:56 ` [patch] Staging: lttng: dubious one-bit signed bitfields walter harms
2011-12-01 14:20 ` Mathieu Desnoyers
2011-12-01 14:41 ` walter harms
2011-12-01 15:15 ` Mathieu Desnoyers
2011-12-01 18:50 ` Joe Perches
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=20111201093746.GA1250@elgon.mountain \
--to=dan.carpenter@oracle.com \
--cc=kernel-janitors@vger.kernel.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.