From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CB0ACC433DB for ; Tue, 9 Mar 2021 16:43:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A66A265267 for ; Tue, 9 Mar 2021 16:43:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231390AbhCIQmo (ORCPT ); Tue, 9 Mar 2021 11:42:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59476 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231149AbhCIQmi (ORCPT ); Tue, 9 Mar 2021 11:42:38 -0500 Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60BACC06175F for ; Tue, 9 Mar 2021 08:42:38 -0800 (PST) Received: by mail-wr1-x435.google.com with SMTP id e10so16923708wro.12 for ; Tue, 09 Mar 2021 08:42:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=bSanhV2eM0+q0PMc4Bed4YDc78eCofTbV84wbIBdvTQ=; b=MdaSfK7UqIcJZx3XtaPeOnw6bNRyNjjsARG28v0bZgYTpkq753rOtazP9z0+YBQYDW 1gkcH/YnjhS9s2Q8smfa1hmhr5eCk6QLzxr0dnDAaBKgU+lWavthSYVk/nZG4ONbaud3 vZgXwUykJLQhXjp6E3CHaLiiiprb1iNOWgVCfSBcg1ZxgFzctdu39qe7l7Js+V3/X5nW evw/QjPEVSk+VnGw45D9dy4vqRcwEWdLpbgQfjbZtXCKQYqCIOYjmg8AuQoqnI6TNiod eO2qSjCCM5/XLsbd0waXlg46faq34YbeJlPBYXs0aFAS4yG48qxoBq7gUSxDVetL7Lzn QcZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=bSanhV2eM0+q0PMc4Bed4YDc78eCofTbV84wbIBdvTQ=; b=P1u0O4xCXgBAxVhkPB4loqwUpkOe9MygQ4ZPAL9QfPTIrcUpZevNzzjTNUrBDDDAEA QZL0sjG5N3M54PiyTX4A1g4tcg8gp1xKzUj0X3FhKbiwI+3TO5UFcdRTd1deYfLe4U3T AReivRrpYAeVUlI8ugRycMQzEifOveAUVCOhacLM/K48TfD32N90GpfKBarBISSDk+c5 G4QhJRI42PLu4aT9bYF05qoo+j44/bp9lOiDLeVERwiv7FCOtWanl96nnUAXOucDV9gQ 3y2avk6yNwPzGPS0ZAv1X/EibyLEYwEaZ/p442qIavODpFmUIp1isyBmG0xQL9VYDekX b2Pg== X-Gm-Message-State: AOAM533JBOfiXVyWkuunJbP5/zsE6ilZYqWHRL9TTlDYyJCpdxd7m/jl gSgD17+MbrXSx8kCXN9PakAxsA== X-Google-Smtp-Source: ABdhPJx/jZh5dOJrB2L22G5L2Hpp8bMWxe58wtT1PvpdZhpnqxpZvBm1xeUz6KiiTjwyWKbdbtsxTg== X-Received: by 2002:a5d:6342:: with SMTP id b2mr29169833wrw.421.1615308157151; Tue, 09 Mar 2021 08:42:37 -0800 (PST) Received: from [192.168.86.34] (cpc86377-aztw32-2-0-cust226.18-1.cable.virginm.net. [92.233.226.227]) by smtp.googlemail.com with ESMTPSA id u3sm24770935wrt.82.2021.03.09.08.42.35 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Mar 2021 08:42:36 -0800 (PST) Subject: Re: [PATCH] gpio: wcd934x: Fix shift-out-of-bounds error To: Andy Shevchenko Cc: Linus Walleij , "open list:GPIO SUBSYSTEM" , Linux Kernel Mailing List , John Stultz , amit.pundir@linaro.org, Bjorn Andersson References: <20210309101908.27688-1-srinivas.kandagatla@linaro.org> From: Srinivas Kandagatla Message-ID: Date: Tue, 9 Mar 2021 16:42:35 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/03/2021 16:31, Andy Shevchenko wrote: > On Tue, Mar 9, 2021 at 12:21 PM Srinivas Kandagatla > wrote: >> >> bit-mask for pins 0 to 4 is BIT(0) to BIT(4) however we ended up with BIT(n - 1) >> which is not right, and this was caught by below usban check > > It would be nice to reduce below to ~2-3 (significant) lines. I agree! Will do that in next version! --srini > >> UBSAN: shift-out-of-bounds in /workspace/dev/linux/drivers/gpio/gpio-wcd934x.c:34:14 >> qcom-q6v5-mss 4080000.remoteproc: failed to acquire pdc reset >> remoteproc remoteproc2: releasing 4080000.remoteproc >> shift exponent 4294967295 is too large for 64-bit type 'long unsigned int' >> CPU: 6 PID: 155 Comm: kworker/6:2 Not tainted 5.12.0-rc1-00045-g508b7280ec3d-dirty #1396 >> Hardware name: Thundercomm Dragonboard 845c (DT) >> >> Call trace: >> dump_backtrace+0x0/0x1c0 >> show_stack+0x18/0x68 >> dump_stack+0xd8/0x134 >> ubsan_epilogue+0x10/0x58 >> __ubsan_handle_shift_out_of_bounds+0xf8/0x168 >> wcd_gpio_get_direction+0xc8/0xd8 >> gpiochip_add_data_with_key+0x4ac/0xe78 >> devm_gpiochip_add_data_with_key+0x30/0x90 >> wcd_gpio_probe+0xc8/0x118 >> platform_probe+0x6c/0x118 >> really_probe+0x24c/0x418 >> driver_probe_device+0x68/0xf0 >> __device_attach_driver+0xb4/0x110 > > After addressing above, FWIW, > Reviewed-by: Andy Shevchenko > >> Fixes: 59c324683400 ("gpio: wcd934x: Add support to wcd934x gpio controller") >> Signed-off-by: Srinivas Kandagatla >> --- >> drivers/gpio/gpio-wcd934x.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpio/gpio-wcd934x.c b/drivers/gpio/gpio-wcd934x.c >> index 1cbce5990855..97e6caedf1f3 100644 >> --- a/drivers/gpio/gpio-wcd934x.c >> +++ b/drivers/gpio/gpio-wcd934x.c >> @@ -7,7 +7,7 @@ >> #include >> #include >> >> -#define WCD_PIN_MASK(p) BIT(p - 1) >> +#define WCD_PIN_MASK(p) BIT(p) >> #define WCD_REG_DIR_CTL_OFFSET 0x42 >> #define WCD_REG_VAL_CTL_OFFSET 0x43 >> #define WCD934X_NPINS 5 >> -- >> 2.21.0 >> > >