Kees Cook
unread,Jun 3, 2020, 7:32:16 PM6/3/20Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message as abuse
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to linux-...@vger.kernel.org, Kees Cook, Linus Torvalds, Miguel Ojeda, Alexander Potapenko, Joe Perches, Andy Whitcroft, x...@kernel.org, drbd...@lists.linbit.com, linux...@vger.kernel.org, b43...@lists.infradead.org, net...@vger.kernel.org, linux-w...@vger.kernel.org, linu...@vger.kernel.org, linu...@vger.kernel.org, linu...@vger.kernel.org, linu...@kvack.org, clang-bu...@googlegroups.com
Using uninitialized_var() is dangerous as it papers over real bugs[1]
(or can in the future), and suppresses unrelated compiler warnings (e.g.
"unused variable"). If the compiler thinks it is uninitialized, either
simply initialize the variable or make compiler changes. As a precursor
to removing[2] this[3] macro[4], just initialize this variable to NULL.
[1]
https://lore.kernel.org/lkml/20200603174714....@google.com/
[2]
https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK...@mail.gmail.com/
[3]
https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpz...@mail.gmail.com/
[4]
https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN...@mail.gmail.com/
Signed-off-by: Kees Cook <
kees...@chromium.org>
---
drivers/block/drbd/drbd_state.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/block/drbd/drbd_state.c b/drivers/block/drbd/drbd_state.c
index eeaa3b49b264..0067d328f0b5 100644
--- a/drivers/block/drbd/drbd_state.c
+++ b/drivers/block/drbd/drbd_state.c
@@ -1604,7 +1604,7 @@ static void broadcast_state_change(struct drbd_state_change *state_change)
unsigned int n_device, n_connection, n_peer_device, n_peer_devices;
void (*last_func)(struct sk_buff *, unsigned int, void *,
enum drbd_notification_type) = NULL;
- void *uninitialized_var(last_arg);
+ void *last_arg = NULL;
#define HAS_CHANGED(state) ((state)[OLD] != (state)[NEW])
#define FINAL_STATE_CHANGE(type) \
--
2.25.1