rtlwifi: rtl8192cu: Remove uninitialized_var() usage
authorKees Cook <keescook@chromium.org>
Sat, 20 Jun 2020 03:29:56 +0000 (20:29 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 15 Jul 2020 10:36:39 +0000 (13:36 +0300)
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,
and avoid sending garbage by returning.

[1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/
[2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
[3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
[4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/

Fixes: dc0313f46664 ("rtlwifi: rtl8192cu: Add routine hw")
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Acked-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200620033007.1444705-6-keescook@chromium.org
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c

index f070f25..5b071b7 100644 (file)
@@ -592,7 +592,7 @@ static void _rtl92cu_init_chipn_one_out_ep_priority(struct ieee80211_hw *hw,
                                                    bool wmm_enable,
                                                    u8 queue_sel)
 {
-       u16 uninitialized_var(value);
+       u16 value;
 
        switch (queue_sel) {
        case TX_SELE_HQ:
@@ -606,7 +606,7 @@ static void _rtl92cu_init_chipn_one_out_ep_priority(struct ieee80211_hw *hw,
                break;
        default:
                WARN_ON(1); /* Shall not reach here! */
-               break;
+               return;
        }
        _rtl92c_init_chipn_reg_priority(hw, value, value, value, value,
                                        value, value);