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=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 9A013FC6195 for ; Fri, 8 Nov 2019 19:08:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 65684206A3 for ; Fri, 8 Nov 2019 19:08:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573240103; bh=cMt5YAt95pX48cSuDTwnwLaBMwlc6FmPpw6y1/VngAo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=l/JKUD/Em0ALeIewI3W/6MR0OnEJqYABjSIVBOTdENRfmN9YAjf20MRKYDuJOKUQ3 TGYY77N5S1NxqLSazk4vNGfZpjgrfFu+QySQtJDnpK1/BoX8UckP09Aay+xJbqk5DW rAgl6DmdPiJXRippb1jc8vrFFz2o4rRVpRV4LFEY= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732811AbfKHTIV (ORCPT ); Fri, 8 Nov 2019 14:08:21 -0500 Received: from mail.kernel.org ([198.145.29.99]:39274 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391603AbfKHTIT (ORCPT ); Fri, 8 Nov 2019 14:08:19 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6228D206A3; Fri, 8 Nov 2019 19:08:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573240098; bh=cMt5YAt95pX48cSuDTwnwLaBMwlc6FmPpw6y1/VngAo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MWwDPjb3Xxc3A78vu9uAEw8g3GTxeScDZPzFU3nPge21mxMyG4X1sXbTXd4kSMXt7 R++7ZdI+opTERxNO2JhmuPM2d8PIQFNLJdjObZTGBX/LB0sGCuaedDzmynSZdWOqCx l08HHyzOQJBJ3G52utOzIVcyq25kiNGQLmCfBSvU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Fabien Parent , Cengiz Can , Hsin-Yi Wang , Ulrich Hecht , Wolfram Sang , Sasha Levin Subject: [PATCH 5.3 071/140] i2c: mt65xx: fix NULL ptr dereference Date: Fri, 8 Nov 2019 19:49:59 +0100 Message-Id: <20191108174909.634264641@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191108174900.189064908@linuxfoundation.org> References: <20191108174900.189064908@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Fabien Parent [ Upstream commit 62931ac2f9015ea38d80494ec37658ab3df6a6d7 ] Since commit abf4923e97c3 ("i2c: mediatek: disable zero-length transfers for mt8183"), there is a NULL pointer dereference for all the SoCs that don't have any quirk. mtk_i2c_functionality is not checking that the quirks pointer is not NULL before starting to use it. This commit add a call to i2c_check_quirks which will check whether the quirks pointer is set, and if so will check if the IP has the NO_ZERO_LEN quirk. Fixes: abf4923e97c3 ("i2c: mediatek: disable zero-length transfers for mt8183") Signed-off-by: Fabien Parent Reviewed-by: Cengiz Can Reviewed-by: Hsin-Yi Wang Tested-by: Ulrich Hecht Signed-off-by: Wolfram Sang Signed-off-by: Sasha Levin --- drivers/i2c/busses/i2c-mt65xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-mt65xx.c b/drivers/i2c/busses/i2c-mt65xx.c index 29eae1bf4f861..2152ec5f535c1 100644 --- a/drivers/i2c/busses/i2c-mt65xx.c +++ b/drivers/i2c/busses/i2c-mt65xx.c @@ -875,7 +875,7 @@ static irqreturn_t mtk_i2c_irq(int irqno, void *dev_id) static u32 mtk_i2c_functionality(struct i2c_adapter *adap) { - if (adap->quirks->flags & I2C_AQ_NO_ZERO_LEN) + if (i2c_check_quirks(adap, I2C_AQ_NO_ZERO_LEN)) return I2C_FUNC_I2C | (I2C_FUNC_SMBUS_EMUL & ~I2C_FUNC_SMBUS_QUICK); else -- 2.20.1