Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp1365765iof; Tue, 7 Jun 2022 04:17:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz5DfuCVk6cxSzzYpVrUnRRrNu+XZWe+qU6RHQd3dqfEC47hPw6oc6nYxGoaKeYKkElkkGA X-Received: by 2002:a63:7d2:0:b0:3fc:5c30:1d95 with SMTP id 201-20020a6307d2000000b003fc5c301d95mr25412000pgh.95.1654600672894; Tue, 07 Jun 2022 04:17:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654600672; cv=none; d=google.com; s=arc-20160816; b=hOTU8rAa+nsXFqQFr69bk+2bJh9pIzfAupk/BUoLE6vJ2JJbOQrobAwzguFGzjvnrT VLjVNLHlMnjo9SeoM4YjhedDTuWGOQRe1CD/Pswm/D8aUDe34ocbIQ6bJZACXCBQGBrX Wg1oB/NWBuw+8GhypOpPWz2FU6XpuX2mo0pB9Ly3H2oYLeTdUzT1Lv89JLfy5afIsSAz NOTbSvpg4PGXwhRHFdrfHfCfrOUQsmx+GsKpNh4MfUWDvF40H8UktBBCtt2VkGrROOOh dtQMJoXycuIk1N0BJAhWy4OlZl6SSVIcy9R6LiHn4+SpPnE9LDmxLRM30sWDlXjaKyAg pWEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=U+awy/jtO8AUSyEBXiUnjG28q5KgwJhjAtwiUMCK/4w=; b=gIpBhwrxgnki2NRShkUPZ1bP5rHJjPi49Kxtm+RUb6Ce56mNdIn2hegYJZbWtvOvCU 2rZgST5GYPx8A/nISnZhZNrhdMTR+vWOmLFeguE1ZnbWC9DQAO7ixJ6FJo0LnZm6J3Dj Wa4mWr8miLyl5S6an7xYgjsT03mw1v8j97CT5DJNG2KlqXTVl2lRM2YcbU85RfqpmHGc LlLASgtQBedJnmRg74Y0rg1Bq1dLtkSXeGkMiYXGTba2QrlRQFX/XY8YyAgOo7n+gGpv W0MeaVOWmzOoQi/j8exEt0rch/gBUbImLpHqtKrXhs4PGNMhhnjozT83ggG/aVZKz7qW hL2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=L3g0r5og; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y14-20020a63ad4e000000b003fb23692294si26857920pgo.218.2022.06.07.04.17.40; Tue, 07 Jun 2022 04:17:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=L3g0r5og; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240710AbiFGKPx (ORCPT + 99 others); Tue, 7 Jun 2022 06:15:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240714AbiFGKPr (ORCPT ); Tue, 7 Jun 2022 06:15:47 -0400 Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3C2A6C9EE2; Tue, 7 Jun 2022 03:15:46 -0700 (PDT) Received: by mail-ed1-x534.google.com with SMTP id b8so5644331edj.11; Tue, 07 Jun 2022 03:15:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=U+awy/jtO8AUSyEBXiUnjG28q5KgwJhjAtwiUMCK/4w=; b=L3g0r5og4iLcJkkaEnjJHC/fhgX0jgWCgjdPwNSjvuL4JmDM2PWcq+cK6d7tvMwngt rk4aq2qJmnK6TrGT6S3H5o+TSva2V00FG4u6C09YxTViVZMaP/mXJpeI4hFUjdX3AMTD BZXZQeJA5f2MF1rFLU3FqEyOof9t+9zhtl88KuxHRQr9+WwSKSYTv6i2RL3epictTjND SSIwrFpntInEwrtWc+5RW1ry6f0lI9fAHDzt2J0LHugPhrdxaKu++qyiccv+C2Q5Z1Wk 3r/gxSK2dBPaHhzxasbLsBbsvvaYCLsJAZAZmDYEK6LY+sbv6f0U9X0G9mAoucthsmvj qktA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=U+awy/jtO8AUSyEBXiUnjG28q5KgwJhjAtwiUMCK/4w=; b=qmoX0/ClmkAA5IsjSiw9aS6SSspUcEXlTZqlE0FU/q9lhC4+YTWQEDAQmWA9fZOOOf 8IhiwbCdDvM+b5nZeJq4C+JYl0TB42ZaNARcWQhS+ie1Mr9xVyYJijoAkLk+yz/tuBke ZH1p7/+fEgpwvFr51Ba0QM1X5RpTLuhvtxOe77zkz5Ue5FmlRUKWRqTf/E+GV+8mURLK g39b/Fv8kBvrFEjyUafF5HQf/9MUVtd38mJHZL6IsvLe7FlZ4bnj8NszSJ0QWo9vooDl FqubAK/DoV1dnTmk3CR9Cpo1394ibq/y/1ZM8RadBmSKNuN5LS8Yb0zPs2jmDH+PFsl6 japA== X-Gm-Message-State: AOAM532K4Zr6ufOU/hGTKOWkX5oXApeU6RidyygdSYnbBiAIdNu3RUP/ mOx00+O/v/1FpxtQXTnxUqkr++hpXosUxYx5JCV2XdFTSK+4bQ== X-Received: by 2002:a05:6402:4390:b0:42e:b7e:e9ac with SMTP id o16-20020a056402439000b0042e0b7ee9acmr31240221edc.97.1654596944770; Tue, 07 Jun 2022 03:15:44 -0700 (PDT) MIME-Version: 1.0 References: <20220529134605.12881-1-trix@redhat.com> In-Reply-To: <20220529134605.12881-1-trix@redhat.com> From: Andy Shevchenko Date: Tue, 7 Jun 2022 12:15:08 +0200 Message-ID: Subject: Re: [PATCH] serial: core: check if uart_get_info succeeds before using To: Tom Rix Cc: Greg Kroah-Hartman , Jiri Slaby , Nathan Chancellor , Nick Desaulniers , Peter Hurley , "open list:SERIAL DRIVERS" , Linux Kernel Mailing List , llvm@lists.linux.dev Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, May 29, 2022 at 4:09 PM Tom Rix wrote: > > clang static analysis reports this representative issue > drivers/tty/serial/serial_core.c:2818:9: warning: 3rd function call argument is an uninitialized value [core.CallAndMessage] > return sprintf(buf, "%d\n", tmp.iomem_reg_shift); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > uart_get_info() is used the *show() functions. When uart_get_info() fails, what is reported in the ? > is garbage. So check if uart_get_info() succeeded. ... > - uart_get_info(port, &tmp); > + if (uart_get_info(port, &tmp)) > + return 0; I don't think this is correct. If something fails we need to inform the caller. I think more about int ret; ret = uart_get_info(...); if (ret) return ret; But I haven't looked at the uart_get_info() implementation, so the above might be wrong. > return sprintf(buf, "%d\n", tmp.baud_base * 16); Ditto for the rest. -- With Best Regards, Andy Shevchenko