Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1323690

Re: [PATCH] clk: vt8500: don't return possibly uninitialized data

From Stephen Boyd <sboyd@codeaurora.org>
Newsgroups linux.kernel
Subject Re: [PATCH] clk: vt8500: don't return possibly uninitialized data
Date 2016-02-02 02:20 +0100
Message-ID <qXxNo-38h-11@gated-at.bofh.it> (permalink)
References <qXjU6-19m-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 02/01, Arnd Bergmann wrote:
> The clk-vt8500.c driver would previously enter an endless loop
> when invalid settings got requested, this was now fixed. However,
> the driver will now return uninitialized data for a subset of those
> cases instead, as the gcc correctly warns:
> 
> clk/clk-vt8500.c: In function 'wm8650_find_pll_bits':
> clk/clk-vt8500.c:423:12: error: 'best_div2' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>   *divisor2 = best_div2;
>             ^
> clk/clk-vt8500.c:422:12: error: 'best_div1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>   *divisor1 = best_div1;
>             ^
> clk/clk-vt8500.c:421:14: error: 'best_mul' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>   *multiplier = best_mul;
> 
> This reworks the error handling in the driver so we now return
> -EINVAL from clk_round_rate() and clk_set_rate() when we get
> impossible inputs.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 090341b0a95d ("clk: vt8500: fix sign of possible PLL values")

My compiler still gets warnings even after this patch is applied.

drivers/clk/clk-vt8500.c: In function ‘wm8750_find_pll_bits’:
drivers/clk/clk-vt8500.c:509:12: warning: ‘best_div2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/clk-vt8500.c:508:12: warning: ‘best_div1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/clk-vt8500.c:507:14: warning: ‘best_mul’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/clk-vt8500.c: In function ‘wm8650_find_pll_bits’:
drivers/clk/clk-vt8500.c:430:12: warning: ‘best_div2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/clk-vt8500.c:429:12: warning: ‘best_div1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/clk-vt8500.c:428:14: warning: ‘best_mul’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/clk-vt8500.c: In function ‘wm8850_find_pll_bits’:
drivers/clk/clk-vt8500.c:560:12: warning: ‘best_div2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/clk-vt8500.c:559:12: warning: ‘best_div1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/clk-vt8500.c:558:14: warning: ‘best_mul’ may be used uninitialized in this function [-Wmaybe-uninitialized]

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] clk: vt8500: don't return possibly uninitialized data Arnd Bergmann <arnd@arndb.de> - 2016-02-01 11:30 +0100
  Re: [PATCH] clk: vt8500: don't return possibly uninitialized data Stephen Boyd <sboyd@codeaurora.org> - 2016-02-02 02:20 +0100
    Re: [PATCH] clk: vt8500: don't return possibly uninitialized data Arnd Bergmann <arnd@arndb.de> - 2016-02-02 14:00 +0100
      Re: [PATCH] clk: vt8500: don't return possibly uninitialized data Stephen Boyd <sboyd@codeaurora.org> - 2016-02-02 20:50 +0100
        Re: [PATCH] clk: vt8500: don't return possibly uninitialized data Arnd Bergmann <arnd@arndb.de> - 2016-02-02 21:10 +0100
          Re: [PATCH] clk: vt8500: don't return possibly uninitialized data Roman Volkov <v1ron@mail.ru> - 2016-02-03 09:40 +0100
            Re: [PATCH] clk: vt8500: don't return possibly uninitialized data Arnd Bergmann <arnd@arndb.de> - 2016-02-03 10:20 +0100

csiph-web