From patchwork Thu Jun 6 08:52:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 165958 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp8495032ili; Thu, 6 Jun 2019 01:53:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqzqbxcqsakUoGSjgzqY9o5iXtiqE42fjne3PFpYdbF7FZiqA0YXq6PQYaOKPi7omDZ/VZPl X-Received: by 2002:a17:90a:1b0c:: with SMTP id q12mr827259pjq.76.1559811224572; Thu, 06 Jun 2019 01:53:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559811224; cv=none; d=google.com; s=arc-20160816; b=Fzup1y9c3J5CSIczMZprKVQORgM5VJasYQAJv3BQ6RaBAz6kle92zoMNXkPQDSZYtq h9sQElkOgRNJG6aeiNOEKC/hwpSiy6PKzMvtYRAhEkMWL/A/N8K5CrzkBP9wwpG4NxNn n+QYPAyHj/O2rUWyDWtx6GH+eMwPBNNFWCY3t8qeaFcsu1j/GgyIKK5mN+gaI4sOOMG4 Ungf6DnASKBhFRjn9cfCxAduHcXiTyiFozgwZAymHZyAP9VOihYuEHZcLss9xebPyp2G Ta5uwjMUCak5lXgPyYOvERc5fBG1HxsllGUMXcKjwKCqwa6XaeUqr/R+C6NzyfKJIUDv TY+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=pZ4HBFAh5BtsZWFsg7wyba7v0h5C2a1XnrOWlBArZ2c=; b=whppezgnzQ7So8oYuSGwaNu99XQlkQ7OMxZb+fVrW8hdyKIOWW5xRPqjRipIqQgCUi zm4bGKUvZZZRF0djUVDARdS3D6+onsRRAq5XBFbw0785ZsM4ZJPVWV+9Q1WCA2eJuEEw m0avKZ8pwCKvdCYATdCcYMQoFv+4uc5NbxteDZRIq040aCvI6aX0+ytAxNTWqFqSQ2/o W0DiYgf7golj2QxnIRg5LC8cXj+MBpBv5tQh+aNR5Rt1BfofCHtufXKH5+m6uOdliZRL a/C0mp8RXyD90yZiPsVAwmJhv05q2gTAeCAGf577nl+oJD4ICGD9kSOzvyMdGvkTSwUd p0Xw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=SWwsdcCJ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q20si1417274pjp.24.2019.06.06.01.53.44; Thu, 06 Jun 2019 01:53:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=SWwsdcCJ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727469AbfFFIxn (ORCPT + 30 others); Thu, 6 Jun 2019 04:53:43 -0400 Received: from conuserg-10.nifty.com ([210.131.2.77]:62501 "EHLO conuserg-10.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725769AbfFFIxn (ORCPT ); Thu, 6 Jun 2019 04:53:43 -0400 Received: from localhost.localdomain (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-10.nifty.com with ESMTP id x568qm01005372; Thu, 6 Jun 2019 17:52:49 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com x568qm01005372 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1559811169; bh=pZ4HBFAh5BtsZWFsg7wyba7v0h5C2a1XnrOWlBArZ2c=; h=From:To:Cc:Subject:Date:From; b=SWwsdcCJoFRGyTO417deZc3agtRGUaLTCfCX7qbigFxKX/OhtekU/eoC3QZq/rEN3 ZbhbTxFHpqVsvui8UIwuANeKsVZe0VAzt7IQp4LTMxAmChYxRJEiM6QQHS0U1tHGSw +1VhZAEk85yUVjW9zbjcwB2HyJT1id7m2E4u93G9VfQVVO6yRiWVmwDeYqTHzXr5n3 67HiKpovypkUzYiOZ2uo8BLoh5CJdH6O0tvw+baq7uTgP/wg8igXEOn9/NuALprb2m CESNGX8KGAK1YV3cB/Ykm8q4RaXWKoaAEu5etB+rzM6bIRcHuk0B726esUfdkTXd0N qDB/GfUcOGa0A== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org Cc: Masahiro Yamada , linux-kernel@vger.kernel.org Subject: [PATCH v2] hwmon: (smsc47m1) fix (suspicious) outside array bounds warnings Date: Thu, 6 Jun 2019 17:52:42 +0900 Message-Id: <20190606085242.31347-1-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Kbuild test robot reports outside array bounds warnings. This is reproducible for ARCH=sh allmodconfig with the kernel.org toolchains available at: https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.1.0/x86_64-gcc-8.1.0-nolibc-sh4-linux.tar.xz CC [M] drivers/hwmon/smsc47m1.o drivers/hwmon/smsc47m1.c: In function 'fan_div_store': drivers/hwmon/smsc47m1.c:370:49: warning: array subscript [0, 2] is outside array bounds of 'u8[3]' {aka 'unsigned char[3]'} [-Warray-bounds] tmp = 192 - (old_div * (192 - data->fan_preload[nr]) ~~~~~~~~~~~~~~~~~^~~~ drivers/hwmon/smsc47m1.c:372:19: warning: array subscript [0, 2] is outside array bounds of 'u8[3]' {aka 'unsigned char[3]'} [-Warray-bounds] data->fan_preload[nr] = clamp_val(tmp, 0, 191); ~~~~~~~~~~~~~~~~~^~~~ drivers/hwmon/smsc47m1.c:373:53: warning: array subscript [0, 2] is outside array bounds of 'const u8[3]' {aka 'const unsigned char[3]'} [-Warray-bounds] smsc47m1_write_value(data, SMSC47M1_REG_FAN_PRELOAD[nr], ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ Looking at the code, I believe these are false positives. While it is ridiculous to patch our driver to make the insane compiler happy, clarifying the unreachable path will be helpful not only for compilers but also for humans. Reported-by: kbuild test robot Signed-off-by: Masahiro Yamada --- Changes in v2: - Use unreachable() instead of WARN_ON() - Mention that the report seems suspicious drivers/hwmon/smsc47m1.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.17.1 diff --git a/drivers/hwmon/smsc47m1.c b/drivers/hwmon/smsc47m1.c index cc6aca6e436c..6d366c9cb906 100644 --- a/drivers/hwmon/smsc47m1.c +++ b/drivers/hwmon/smsc47m1.c @@ -351,6 +351,8 @@ static ssize_t fan_div_store(struct device *dev, tmp |= data->fan_div[2] << 4; smsc47m1_write_value(data, SMSC47M2_REG_FANDIV3, tmp); break; + default: + unreachable(); } /* Preserve fan min */