All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: r-rivera-matos@ti.com
Cc: linux-pm@vger.kernel.org
Subject: [bug report] power: supply: bq256xx: Introduce the BQ256XX charger driver
Date: Tue, 12 Jan 2021 11:54:35 +0300	[thread overview]
Message-ID: <X/1jy5+2elOl3Lm8@mwanda> (raw)

Hello Ricardo Rivera-Matos,

The patch 32e4978bb920: "power: supply: bq256xx: Introduce the
BQ256XX charger driver" from Jan 6, 2021, leads to the following
static checker warning:

	drivers/power/supply/bq256xx_charger.c:1512 bq256xx_hw_init()
	error: buffer overflow 'bq256xx_watchdog_time' 8 <= 8

drivers/power/supply/bq256xx_charger.c
  1503  static int bq256xx_hw_init(struct bq256xx_device *bq)
  1504  {
  1505          struct power_supply_battery_info bat_info = { };
  1506          int wd_reg_val = BQ256XX_WATCHDOG_DIS;
  1507          int ret = 0;
  1508          int i;
  1509  
  1510          for (i = 0; i < BQ256XX_NUM_WD_VAL; i++) {
  1511                  if (bq->watchdog_timer > bq256xx_watchdog_time[i] &&
  1512                      bq->watchdog_timer < bq256xx_watchdog_time[i + 1])
                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The last four members of this array are all zero.

On the last iteration through the loop this will read beyond the end of
the array possibly setting "wd_reg_val = 7" uninitentionally.

  1513                          wd_reg_val = i;
  1514          }
  1515          ret = regmap_update_bits(bq->regmap, BQ256XX_CHARGER_CONTROL_1,
  1516                                   BQ256XX_WATCHDOG_MASK, wd_reg_val <<
  1517                                                  BQ256XX_WDT_BIT_SHIFT);

regards,
dan carpenter

             reply	other threads:[~2021-01-12  8:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-12  8:54 Dan Carpenter [this message]
2021-01-12 23:44 ` [EXTERNAL] [bug report] power: supply: bq256xx: Introduce the BQ256XX charger driver Ricardo Rivera-Matos
2021-01-13  9:13   ` Dan Carpenter
2021-01-13 22:51     ` Ricardo Rivera-Matos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=X/1jy5+2elOl3Lm8@mwanda \
    --to=dan.carpenter@oracle.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=r-rivera-matos@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.