Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp3434551rdh; Mon, 27 Nov 2023 14:23:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IEPrgQrkpEMtYN9lkPrzvFQR+ws7RxSEufdW2BkD3GsLBu42B0++omtUJbMcgFLyjxWUSr7 X-Received: by 2002:a17:90a:ca08:b0:283:967c:4e6 with SMTP id x8-20020a17090aca0800b00283967c04e6mr23645104pjt.12.1701123822911; Mon, 27 Nov 2023 14:23:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701123822; cv=none; d=google.com; s=arc-20160816; b=JhlmYiPP1NcWtyxIBIdjPyI5AHnQQSmNhKdFAIcMmP39GUnhdMQdVUcLD6IBFwbBw3 C7cAVXj79xD3YGohzYMMBxIYi9U2GFXb06dCP3FKhy3jXbqaKOaJH1WWZjkIur0aEdXK CViXiKPhTYqGKHymKw0hFF+j3c+VUzupkVYcn6D3rB4qAK5ccz+/KzDio0keC5l7ItWm ZEDxiB4Cc6BQVMUxidc+doCc5JvqdzD+AQNePrpBC5bRzNIRw3lIlJc0m3+nihyTQKJF PwUSOS7R5fA3AKocdFvLqzv57VHv9mUtBkRHp+PN1Uivhy0G9fVm0l/E97pIA2v2vZsZ Xkpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=uOCoZok9ZC4QmtYsZ8TfeK+iIljTTrbyrnD/jz9we80=; fh=Pq+6Gkd0gpA+jsv5xly3w1OybFzb1dg3rZ6jlAGp+jI=; b=lRJFhmnJb/NavEVkThEONAJyeo4oOmCMIq3Cc3v4Di1VaX+e6a3reO7heKH/u/FbLR OVVFzDq9o58+4LCC7qt6wXk6Lnfze4SP3YwHp/2gf1p5/uo2LL3ZpW2MQn3h4mIknCgr QIEmKZMcElbS8uSvLW3mGUr86GVKKMSP9eI6rViwmiuFpRb3D9pNzLVE5BQc5nRu9lIG +wz8dMRyfNUIMko454ECNqgxo13jn9ttdU+8FFa4vPxNNlk5zxREYL2GtPrgmiksA7wo q7tUMW9hsr0ywcDEcTj26uB85gDPFnMTC3PxC131b5ZcvxRlhHY6y8w7Li/p/Hyweqx3 XH9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=KSPmIhAp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id lk17-20020a17090b33d100b00285f2c4dc2csi794174pjb.144.2023.11.27.14.23.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 14:23:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=KSPmIhAp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id E25578098804; Mon, 27 Nov 2023 14:23:39 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233468AbjK0WXX (ORCPT + 99 others); Mon, 27 Nov 2023 17:23:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234208AbjK0WXD (ORCPT ); Mon, 27 Nov 2023 17:23:03 -0500 Received: from mail-oo1-xc34.google.com (mail-oo1-xc34.google.com [IPv6:2607:f8b0:4864:20::c34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49E2C26A2 for ; Mon, 27 Nov 2023 14:20:50 -0800 (PST) Received: by mail-oo1-xc34.google.com with SMTP id 006d021491bc7-586a516755aso2569324eaf.0 for ; Mon, 27 Nov 2023 14:20:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701123649; x=1701728449; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=uOCoZok9ZC4QmtYsZ8TfeK+iIljTTrbyrnD/jz9we80=; b=KSPmIhAp5y1qxCpj2vQ0V5fxZ22y8Cb67PTeKA0TdfTNRULl4gCqSTmy7ODjjc3T45 G3jUqkYEAxlAfpL5MRL4p7sob0vnew90Gjc1DYz3wqcHuS2vkx+OUiXrwVNFfLbNW4YY vTRXdMBSyQsrL9DQX0wn1S/qyj0eIau9uYg3Mvyaiu2W3kOrlfKYm45V6g2ZsCaFzAGa 3ifXrI6s8w3CblfrCq942yKIxW+cVeDjq8tv6VcI7j2QEtXvGARnNNh1H/5PRIUkJTTj U6PBH433e1fdKhJSb4TqmZ1RETxFQsUdHngH7pkp+iyIr9yl4+9YP3F2s7xbJLi4LoYJ dPfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701123649; x=1701728449; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uOCoZok9ZC4QmtYsZ8TfeK+iIljTTrbyrnD/jz9we80=; b=LYP17deBODUkhO4EvgvOqKXLWhRLD+a4Ic8OBTIa4MzEYxD2E7R4YY7tdDyfkqRt44 g3uCU68rQMeRntunuGApwS2v325EvWmZl2WOxTbIOawgVJt7uu6Sr6pkZEmQFY3wxzuv JqUA5owB9LD/dSLKbgjPDseYUhdaod9F5I3RJQdXy6Ufv6DiS5hkuXX+BVA5MVQ6tzJz 7EThbIQJsZFloCPUh/FO7ntKIYHVjJuF7XsgVgCnIp0QiXReK8+x5W7AnRcvToZmY/5W YULPLJIiZ17POFZTRVnl6aq0493ng7TwFmVOaIb1iNxAPDnPXr8GFxeFfXaCU0bYmV1q 01hQ== X-Gm-Message-State: AOJu0YwQLIocpx6N1CEwtbPBABDjAn0L6U4y/W4g5DUlz4GY427yK21H 9BRbs2Rwz5NdHgOJDlfnUtHCaU971UOTVCoh4Q8= X-Received: by 2002:a05:6870:1603:b0:1f9:eb7e:6621 with SMTP id b3-20020a056870160300b001f9eb7e6621mr6732690oae.18.1701123649584; Mon, 27 Nov 2023 14:20:49 -0800 (PST) MIME-Version: 1.0 References: <20231122093509.34302-1-yaolu@kylinos.cn> <20231123012234.5783-1-yaolu@kylinos.cn> <80ea6067-c531-4765-8576-265e565525fa@amd.com> In-Reply-To: <80ea6067-c531-4765-8576-265e565525fa@amd.com> From: Alex Deucher Date: Mon, 27 Nov 2023 17:20:38 -0500 Message-ID: Subject: Re: [PATCH v2] drm/amdgpu: Fix cat debugfs amdgpu_regs_didt causes kernel null pointer To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: Lu Yao , airlied@gmail.com, daniel@ffwll.ch, alexander.deucher@amd.com, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.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 (groat.vger.email [0.0.0.0]); Mon, 27 Nov 2023 14:23:40 -0800 (PST) Applied. Thanks! Alex On Thu, Nov 23, 2023 at 3:22=E2=80=AFAM Christian K=C3=B6nig wrote: > > Am 23.11.23 um 02:22 schrieb Lu Yao: > > For 'AMDGPU_FAMILY_SI' family cards, in 'si_common_early_init' func, in= it > > 'didt_rreg' and 'didt_wreg' to 'NULL'. But in func > > 'amdgpu_debugfs_regs_didt_read/write', using 'RREG32_DIDT' 'WREG32_DIDT= ' > > lacks of relevant judgment. And other 'amdgpu_ip_block_version' that us= e > > these two definitions won't be added for 'AMDGPU_FAMILY_SI'. > > > > So, add null pointer judgment before calling. > > > > Signed-off-by: Lu Yao > > Reviewed-by: Christian K=C3=B6nig > > > --- > > Changes in v2: > > 1. Drop dev_err message. > > 2. Change error code from 'EPERM' to 'EOPNOTSUPP' > > Link to v1: https://lore.kernel.org/all/20231122093509.34302-1-yaolu@ky= linos.cn/ > > Thanks Christian for his comments. > > --- > > drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/= drm/amd/amdgpu/amdgpu_debugfs.c > > index a53f436fa9f1..e098cd66fa2a 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > > @@ -638,6 +638,9 @@ static ssize_t amdgpu_debugfs_regs_didt_read(struct= file *f, char __user *buf, > > if (size & 0x3 || *pos & 0x3) > > return -EINVAL; > > > > + if (adev->didt_rreg =3D=3D NULL) > > + return -EOPNOTSUPP; > > + > > r =3D pm_runtime_get_sync(adev_to_drm(adev)->dev); > > if (r < 0) { > > pm_runtime_put_autosuspend(adev_to_drm(adev)->dev); > > @@ -694,6 +697,9 @@ static ssize_t amdgpu_debugfs_regs_didt_write(struc= t file *f, const char __user > > if (size & 0x3 || *pos & 0x3) > > return -EINVAL; > > > > + if (adev->didt_wreg =3D=3D NULL) > > + return -EOPNOTSUPP; > > + > > r =3D pm_runtime_get_sync(adev_to_drm(adev)->dev); > > if (r < 0) { > > pm_runtime_put_autosuspend(adev_to_drm(adev)->dev); >