Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp760557rdb; Fri, 6 Oct 2023 20:18:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFOqYULr8UOi8kkzAz9f2w69nnNeJgn0eylA/wc6egKToYRe9Cjo7UOCF8rmmqjKHoHcrbs X-Received: by 2002:a05:6358:419e:b0:14d:b8d3:97e8 with SMTP id w30-20020a056358419e00b0014db8d397e8mr10940938rwc.16.1696648737427; Fri, 06 Oct 2023 20:18:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696648737; cv=none; d=google.com; s=arc-20160816; b=GhY9FJQlEaK1EFhD5xvWEJ3kIyWzyH7izUi9UT5OTdSF+TlYmiuma+/zdpXgulXCn0 P1MXv5TCde/28PfnZcUOwzMnJ5K2bUgzKwTmioVVoXscRxRGQLjiQgltwH/OzhgAw2e8 h/ugHqA2tQ605wjki4fuE2F3B+QxpqRa5MJZSI0qlAd7uA1ohETV9EV7ivfzTyvKkY+m Xh1k2fR9kQli0MuB+VXqNYzMeqNCr04OsEiINIOAyDCRpB/1QBtGxiDtaYP3Y7qYEwgB MDp9PbAM3gEL0yh2gIWH1sK7j5fuEQnHDRLkyNaQEWOXd3rWTfZ+YSftQQ6NcC/Kk5WQ yNww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=3NUitICBhSCtbw7Vlya/QRr1+OuCRgNgVY92wWYt9kc=; fh=G+g50wo1gl6QepagBnkEwFFcjEYOLcjhq/bLug0Afmg=; b=lzLeeaQXtCs2H4atWQgERSJDHY/Hn9SrVxpLGJ59G6bzVxMTVxofn8k1nI5ijN+Wqw kohGZte2Spu8YJdA7FWo37aHaz7NGvhxKitqA70lbAL5PXO5Wcw8yaKaDiIrmorjeMAg 8sFElWKzoYZ02MlJ/pdgqG2hgDwfvjy+hotSdRdfvhFoSpxjW1q9UMyD1T39VAVJt7SZ MTIrnb2BTAoEBiQkWblx6DAqu9lJMRIQfzQb3ZRyLT4gWRT3iyb4RbRAnyIM0/XjfEI5 4ZcFcb0J1pvC7sGEATf8aW/uaoMIfIkeQplAJQxyYizxINPjrxZPU9XQXl6VRTz1IQyd fULw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b="A0/b+9/b"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id on14-20020a17090b1d0e00b002747da1ef66si5472552pjb.53.2023.10.06.20.18.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 20:18:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b="A0/b+9/b"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 3085D809B452; Fri, 6 Oct 2023 20:18:55 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343496AbjJGDSl (ORCPT + 99 others); Fri, 6 Oct 2023 23:18:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234109AbjJGDSj (ORCPT ); Fri, 6 Oct 2023 23:18:39 -0400 Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.214]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D62B0BF for ; Fri, 6 Oct 2023 20:18:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=3NUit ICBhSCtbw7Vlya/QRr1+OuCRgNgVY92wWYt9kc=; b=A0/b+9/bwMMo9z9RmveY5 Vh5zJx+MPY8ueuREbEXgcyhm5Mh6dCGoahMvd3WBpqmDj2kfkz6GMenAhGX9oDun cEo0CMLC1Y9g5y7tjvS97R+pEo+Dk68kH5it05ITg8S2Mwbly1I5WQWMOoCj+2BW Iw/SMAASS7tp/WH7jJPim4= Received: from icess-ProLiant-DL380-Gen10.. (unknown [183.174.60.14]) by zwqz-smtp-mta-g3-1 (Coremail) with SMTP id _____wDXbMK6zSBl0sglEA--.50228S4; Sat, 07 Oct 2023 11:17:23 +0800 (CST) From: Ma Ke To: airlied@gmail.com, daniel@ffwll.ch, javierm@redhat.com, lyude@redhat.com, mripard@kernel.org, u.kleine-koenig@pengutronix.de, noralf@tronnes.org, tzimmermann@suse.de, make_ruc2021@163.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/i2c/ch7006: fix a possible null pointer dereference Date: Sat, 7 Oct 2023 11:17:12 +0800 Message-Id: <20231007031712.3997144-1-make_ruc2021@163.com> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: _____wDXbMK6zSBl0sglEA--.50228S4 X-Coremail-Antispam: 1Uf129KBjvdXoWrtF1rZr4fAF1kKw1xZr45trb_yoWDGrb_u3 W0vr9xur4UZ3Z3Ar4jyFy3Ary0yF1UAFs3KrsIkay0ya9rXwnIq345Xa48XFW7uFWUAFn0 qa43CF4fAFnrGjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7xRM189JUUUUU== X-Originating-IP: [183.174.60.14] X-CM-SenderInfo: 5pdnvshuxfjiisr6il2tof0z/1tbivgMCC1ZcjAI-mQAAsW X-Spam-Status: No, score=3.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_SBL_CSS, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Fri, 06 Oct 2023 20:18:55 -0700 (PDT) X-Spam-Level: ** In ch7006_encoder_get_modes(), the return value of drm_mode_duplicate() is assigned to mode, which will lead to a NULL pointer dereference on failure of drm_mode_duplicate(). Add a check to avoid npd. Signed-off-by: Ma Ke --- drivers/gpu/drm/i2c/ch7006_drv.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c index 131512a5f3bd..27c2f02f5b43 100644 --- a/drivers/gpu/drm/i2c/ch7006_drv.c +++ b/drivers/gpu/drm/i2c/ch7006_drv.c @@ -236,8 +236,10 @@ static int ch7006_encoder_get_modes(struct drm_encoder *encoder, ~mode->valid_norms & 1<norm) continue; - drm_mode_probed_add(connector, - drm_mode_duplicate(encoder->dev, &mode->mode)); + struct drm_display_mode *encoder_mode; + encoder_mode = drm_mode_duplicate(encoder->dev, &mode->mode); + if (!mode) + continue; n++; } -- 2.37.2