Received: by 2002:a05:6358:53a8:b0:117:f937:c515 with SMTP id z40csp311372rwe; Fri, 14 Apr 2023 03:16:35 -0700 (PDT) X-Google-Smtp-Source: AKy350afpMJQeL30cfoy3CLKrKrRTZd75rM1I+jZsF+cG71OHpsmB2nCrI8TZuT72MIM/ZjjGi7D X-Received: by 2002:a05:6a00:23d1:b0:63b:64f7:45a0 with SMTP id g17-20020a056a0023d100b0063b64f745a0mr2646401pfc.12.1681467394949; Fri, 14 Apr 2023 03:16:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681467394; cv=none; d=google.com; s=arc-20160816; b=qX5IudL722UTaR+hLYACOprafpbHBC2KI6fLBvoBXMe9qAkE6Msz/tvNWXojFwZ7RT qy6YlLsu3lyzZWZ2jTp3nw9oTSApcWlbXXPI5rRToxfV3NV5YfnBU/5jMjjr/29W4e8r CO7Md8bI3q428B6Sx2lkWsSPrMJfZqoyvM+uDzt86nxrkudiL0CjDIMDZEzzHOrKsYOs LWGlbrtHkfwJN5WoTsq2P9Zf1c79Sg7QWrzpLZsrIa2w+6eP8MA7Fs7W3PKOXzA4GNxS k4RlJ1ruM28NeaV1AlPKUM0h9QqOH2DldlvdkvyW2blknr20aWgGgcDrXwRloHfe6h+7 9nkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=U94eZnM3gA13CMreON9JhJbmoTl9uas932yHrjr6048=; b=FbMFk9XraRwdu3RebJVTlZ7IkCuaKEq3vUwpyrAdJkPbDk94szTQQBwufNvj+P5exl O1TLFnvmVzM3OJgu2Zbnpk7HZPRD/GJCvThuKglvCK4MKRHPl6+aIQ9USrNIk7sm654X Y8Ib8xsag4Vt9o2KdPqTW6ULzx5sJ7NAPz5mc1YJt0AD+NCzNEmWF5iwh9wrHA7UD0cn JebZLiyydDh0wzOIC6CKD0w5qmMzNMU1FgFlts/Q06ysLggqFwFadA+oo4FtF/4HkSYN +V9Qqu6PL/ssgpKKqz0qPTzVn/2T16GWfpxalo8M9mXy+ZJdKdFVA+gUl34w6/RLbCNO sCRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XBgq51UW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w8-20020aa79548000000b005907558613bsi4202770pfq.17.2023.04.14.03.16.23; Fri, 14 Apr 2023 03:16:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XBgq51UW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230017AbjDNKP7 (ORCPT + 99 others); Fri, 14 Apr 2023 06:15:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229935AbjDNKP5 (ORCPT ); Fri, 14 Apr 2023 06:15:57 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 852317EF8 for ; Fri, 14 Apr 2023 03:15:53 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 1185B6210D for ; Fri, 14 Apr 2023 10:15:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7A3AAC433EF; Fri, 14 Apr 2023 10:15:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1681467352; bh=n1MF/+Zl1HcpJDYupreCKHbSzMG3zCXIVmAO73u8PBE=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=XBgq51UWrVJndkhIDlgYKxQdYdLrv7WdtbQ2ZBJBidTew6j4DMefRmyg/YKdQaNHW rPpGheotimyJg+/5qmzEuG/vUltX982a2VfjmArmM+Iu60uLG9lgmEjTU3juWqsHQA Y6sJeH5W7XgaUhLSQhD4IwkvEua1Hc9632Y0pALqmUaByFplhIEMN7k5rfe5La2Qbd 0J3z1iSjH4WJdMO39aX+KpCQ1q/eAbsMvr3x1SNDRBMy92rG0oUfzazH8mhAaKHoDv qqQyI60Y267+TmADrlxipIA1njI7c8QLy3bgozOIGyWdg4m/if7MM/Wij8aRQJTDo7 VEUxjpEn43Vbg== Message-ID: <4d8479f20ef30866fcf73f3602f1237376110764.camel@kernel.org> Subject: Re: [PATCH] drm: make drm_dp_add_payload_part2 gracefully handle NULL state pointer From: Jeff Layton To: "Lin, Wayne" , Alex Deucher , Jani Nikula Cc: David Airlie , Daniel Vetter , "Deucher, Alexander" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" Date: Fri, 14 Apr 2023 06:15:50 -0400 In-Reply-To: References: <20230413111254.22458-1-jlayton@kernel.org> <87edooarpq.fsf@intel.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2023-04-14 at 04:40 +0000, Lin, Wayne wrote: > [Public] >=20 > Hi Jeff, >=20 > Thanks. I might need more information to understand why we can't retrieve > the drm atomic state. Also , "Failed to create MST payload for port" indi= cates > error while configuring DPCD payload ID table. Could you help to provide = log > with KMS + ATOMIC + DP debug on please? Thanks in advance! >=20 > Regards, > Wayne >=20 Possibly. I'm not that familiar with display driver debugging. Can you send me some directions on how to crank up that sort of debug logging? Note that this problem is _very_ intermittent too: I went about 2 weeks between crashes, and then I got 3 in one day. I'd rather not run with a lot of debug logging for a long time if that's what this is going to require, as this is my main workstation. The last time I got this log message, my proposed patch did prevent the box from oopsing, so I'd really like to see it go in unless it's just categorically wrong for the caller to pass down a NULL state pointer to drm_dp_add_payload_part2. > > -----Original Message----- > > From: Alex Deucher > > Sent: Thursday, April 13, 2023 8:59 PM > > To: Jani Nikula ; Lin, Wayne > > > > Cc: Jeff Layton ; David Airlie ; > > Daniel Vetter ; Deucher, Alexander > > ; linux-kernel@vger.kernel.org; dri- > > devel@lists.freedesktop.org > > Subject: Re: [PATCH] drm: make drm_dp_add_payload_part2 gracefully > > handle NULL state pointer > >=20 > > + Wayne > >=20 > > On Thu, Apr 13, 2023 at 8:31=E2=80=AFAM Jani Nikula > > wrote: > > >=20 > > > On Thu, 13 Apr 2023, Jeff Layton wrote: > > > > I've been experiencing some intermittent crashes down in the displa= y > > > > driver code. The symptoms are ususally a line like this in dmesg: > > > >=20 > > > > amdgpu 0000:30:00.0: [drm] Failed to create MST payload for por= t > > > > 000000006d3a3885: -5 > > > >=20 > > > > ...followed by an Oops due to a NULL pointer dereference. > > > >=20 > > > > The real bug is probably in the caller of this function, which is > > > > passing it a NULL state pointer, but this patch at least keeps my > > > > machine from oopsing when this occurs. > > >=20 > > > My fear is that papering over this makes the root cause harder to fin= d. > > >=20 > > > Cc: Harry, Alex > > >=20 > > >=20 > > > BR, > > > Jani. > > >=20 > > >=20 > > > >=20 > > > > Link: https://bugzilla.redhat.com/show_bug.cgi?id=3D2184855 > > > > Signed-off-by: Jeff Layton > > > > --- > > > > drivers/gpu/drm/display/drm_dp_mst_topology.c | 3 ++- > > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > >=20 > > > > diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c > > > > b/drivers/gpu/drm/display/drm_dp_mst_topology.c > > > > index 38dab76ae69e..87ad406c50f9 100644 > > > > --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c > > > > +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c > > > > @@ -3404,7 +3404,8 @@ int drm_dp_add_payload_part2(struct > > > > drm_dp_mst_topology_mgr *mgr, > > > >=20 > > > > /* Skip failed payloads */ > > > > if (payload->vc_start_slot =3D=3D -1) { > > > > - drm_dbg_kms(state->dev, "Part 1 of payload creation f= or %s > > failed, skipping part 2\n", > > > > + drm_dbg_kms(state ? state->dev : NULL, > > > > + "Part 1 of payload creation for %s failed= , > > > > + skipping part 2\n", > > > > payload->port->connector->name); > > > > return -EIO; > > > > } > > >=20 > > > -- > > > Jani Nikula, Intel Open Source Graphics Center --=20 Jeff Layton