From patchwork Mon Oct 24 15:54:18 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 101616 Delivered-To: patch@linaro.org Received: by 10.140.97.247 with SMTP id m110csp2652011qge; Mon, 24 Oct 2016 08:55:02 -0700 (PDT) X-Received: by 10.99.122.6 with SMTP id v6mr7960340pgc.170.1477324502628; Mon, 24 Oct 2016 08:55:02 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d4si16029123pfd.78.2016.10.24.08.55.02; Mon, 24 Oct 2016 08:55:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S941183AbcJXPyh (ORCPT + 4 others); Mon, 24 Oct 2016 11:54:37 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:64453 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933767AbcJXPyf (ORCPT ); Mon, 24 Oct 2016 11:54:35 -0400 Received: from wuerfel.lan. ([78.43.20.153]) by mrelayeu.kundenserver.de (mreue102) with ESMTPA (Nemesis) id 0Lto5V-1cxdoz2ImD-011BrR; Mon, 24 Oct 2016 17:54:32 +0200 From: Arnd Bergmann To: netdev@vger.kernel.org Cc: Arnd Bergmann , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] kalmia: avoid potential uninitialized variable use Date: Mon, 24 Oct 2016 17:54:18 +0200 Message-Id: <20161024155430.3077348-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 MIME-Version: 1.0 X-Provags-ID: V03:K0:R7ZWjguvlwODQMsYpXyp8JDUx8zADCu+pUYtfq5b9Tdr5jFPzk5 WKHeeKWW8GVW2BfjWjZAqaUYrF395q4uh6mTBnJ3/vQVvPhYshMiGoNKWCkYV3DCpBbfDcc vd+rGL0KN2nYVxH/NgOP3Byepk2JgqYa4GgdRvTdwj+jHuibzAYK715ySuKOzPOzC+3UuSS Zk+77uc9B+s9YfA21Rztg== X-UI-Out-Filterresults: notjunk:1; V01:K0:bOkc9vzP3s8=:P7L9aLeAOZevI6AJeBMUAe Yi7KQbaVZRX5MsjvYmX6vNtt6P6w6aoyYOTX71WjqQegB40Y2/vug9sqGJg6xf//n8bmQgYqy z4j2hIwBSS8Bmq2gkNqEZRQJo0GhwfDl9L8gRKlOyQRvh+1Qczm+ejHA3Yz26mcYYJc8qITYq gVK+pRdn9rP31lto+2+qbA/7AN1LqJL37gWodSnSPOAkiGSDc2nR6lBP5m7XAxY7mNxxWdAxN 2n92u3ZYCK9sdOAJm83TwUNhatk7316D261RXbJIpN1sEysOMqSAm3ATO0zz6TKSRorGwtMgB APoululwFgZlMXQzyM7b3f/DBu+abn+i3YPsCWW4KScul7+SMH9+7kkc+SaXRuxtxYVNz3SZK QQFtKrklQ7Rg2sc22Yw30QlD+jXfZzwgNLFwXByIuv7NptTKk+URwSfr598NYE6K5my2UYBSH 7N8ZVG9H9uQn8NlJeyGgI042y7rqRWwj5XP57W/m+CXcsNyWk0hiyBkcbtXorfahOCmjhOPv+ mmZyz27FSBai0lAk64G+qNDGDzMNgvnSsjkSHP2hZqO6WuNs9B2xOonHbsyRiGWjcJQEgUAEN agU0HWkQRnaEPCuafgvKSMHI/d58lr+rhOKU620Ve6L0LxXDaDG7g3PBelk3TW/zsLG5OhTeq DVKTDtPQy3B2rvJEJBzNUx5YA+TMeJ1+6JBea+9ULaRTjA2T49H8aQBaOejOo89P1OPW09aZ+ 7zjRrd2Eg6i8axlY Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The kalmia_send_init_packet() returns zero or a negative return code, but gcc has no way of knowing that there cannot be a positive return code, so it determines that copying the ethernet address at the end of kalmia_bind() will access uninitialized data: drivers/net/usb/kalmia.c: In function ‘kalmia_bind’: arch/x86/include/asm/string_32.h:78:22: error: ‘*((void *)ðernet_addr+4)’ may be used uninitialized in this function [-Werror=maybe-uninitialized] *((short *)to + 2) = *((short *)from + 2); ^ drivers/net/usb/kalmia.c:138:5: note: ‘*((void *)ðernet_addr+4)’ was declared here This warning is harmless, but for consistency, we should make the check for the return code match what the driver does everywhere else and just progate it, which then gets rid of the warning. Signed-off-by: Arnd Bergmann --- drivers/net/usb/kalmia.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.9.0 diff --git a/drivers/net/usb/kalmia.c b/drivers/net/usb/kalmia.c index 5662babf0583..3e37724d30ae 100644 --- a/drivers/net/usb/kalmia.c +++ b/drivers/net/usb/kalmia.c @@ -151,7 +151,7 @@ kalmia_bind(struct usbnet *dev, struct usb_interface *intf) status = kalmia_init_and_get_ethernet_addr(dev, ethernet_addr); - if (status < 0) { + if (status) { usb_set_intfdata(intf, NULL); usb_driver_release_interface(driver_of(intf), intf); return status;