lkml.org 
[lkml]   [2019]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.3 24/87] PCI: rpaphp: Avoid a sometimes-uninitialized warning
    Date
    From: Nathan Chancellor <natechancellor@gmail.com>

    [ Upstream commit 0df3e42167caaf9f8c7b64de3da40a459979afe8 ]

    When building with -Wsometimes-uninitialized, clang warns:

    drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is
    used uninitialized whenever 'for' loop exits because its condition is
    false [-Wsometimes-uninitialized]
    for (j = 0; j < entries; j++) {
    ^~~~~~~~~~~
    drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs
    here
    if (fndit)
    ^~~~~
    drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if
    it is always true
    for (j = 0; j < entries; j++) {
    ^~~~~~~~~~~
    drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable
    'fndit' to silence this warning
    int j, fndit;
    ^
    = 0

    fndit is only used to gate a sprintf call, which can be moved into the
    loop to simplify the code and eliminate the local variable, which will
    fix this warning.

    Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property")
    Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Acked-by: Tyrel Datwyler <tyreld@linux.ibm.com>
    Acked-by: Joel Savitz <jsavitz@redhat.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://github.com/ClangBuiltLinux/linux/issues/504
    Link: https://lore.kernel.org/r/20190603221157.58502-1-natechancellor@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pci/hotplug/rpaphp_core.c | 18 +++++++-----------
    1 file changed, 7 insertions(+), 11 deletions(-)

    diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c
    index bcd5d357ca238..c3899ee1db995 100644
    --- a/drivers/pci/hotplug/rpaphp_core.c
    +++ b/drivers/pci/hotplug/rpaphp_core.c
    @@ -230,7 +230,7 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name,
    struct of_drc_info drc;
    const __be32 *value;
    char cell_drc_name[MAX_DRC_NAME_LEN];
    - int j, fndit;
    + int j;

    info = of_find_property(dn->parent, "ibm,drc-info", NULL);
    if (info == NULL)
    @@ -245,17 +245,13 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name,

    /* Should now know end of current entry */

    - if (my_index > drc.last_drc_index)
    - continue;
    -
    - fndit = 1;
    - break;
    + /* Found it */
    + if (my_index <= drc.last_drc_index) {
    + sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix,
    + my_index);
    + break;
    + }
    }
    - /* Found it */
    -
    - if (fndit)
    - sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix,
    - my_index);

    if (((drc_name == NULL) ||
    (drc_name && !strcmp(drc_name, cell_drc_name))) &&
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-09-24 19:02    [W:4.191 / U:0.324 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site