Received: by 2002:ab2:6c55:0:b0:1fd:c486:4f03 with SMTP id v21csp254969lqp; Tue, 11 Jun 2024 23:51:29 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVKTh3bVCsTPiHNQ3QiU2Y9jINiEAwppsTMlnXyelpUT1ymFoaKyphbXt+5h0kV+SmBtutgy/YQRAlOl8+rXVyl55NzaySstePya92d8g== X-Google-Smtp-Source: AGHT+IE5qT3eMrMAHuxJQ8nOEiwIgTfNwwdOB6cOFZJNYm9zgrQq7b9JNVS5o3Uc2mEcxPKVsYBi X-Received: by 2002:a05:6358:9394:b0:19f:38a0:f51a with SMTP id e5c5f4694b2df-19f69d2e2a5mr111720755d.19.1718175088721; Tue, 11 Jun 2024 23:51:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718175088; cv=pass; d=google.com; s=arc-20160816; b=fLSI8n4qJ9VrgKa2qV3YkBkwr7gFibvpBBCFGpCgvFBUeEvhPe6Aq7KEvvcZJT7s48 jWsWxG316O9Ephoyvn+xKnl2+M/uUT4y3oXuTlfPI0bG+s1nXqQ4lF2ytfURiT0713SB k+XkyeKObhDrQFapI+EeczEqfYl/8J8CXdZfcRhXGYTSDucg2nXE9dVszjPZA5B1g55L MsFK2LqoL4VqJqKcHy9dnkWDA3jRzYtqxr/LF+DduNaJFw8osBsIjIFEDq4hD7CiYGia X0yFSlczY/4fi93512UrNfm2/h9WV4Jmq9Tf1dk0SU5/Fr41L7GtA/c6Moc8isusro7D qmcA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:date:message-id :dkim-signature:dkim-signature:dkim-signature:dkim-signature; bh=4dH3tWnemnpJL1nmAKzSLPS3Y7fqI8X4rppw+UmvOJY=; fh=wrB/d/Zqdz7pfudURTiltbN2baAOAZUZUtb/x2sXd24=; b=FgiWhqRiCb/2ucHlfSuOsS1/0VQIoqGudC0qcIxnBPIhYTuf2rVKhe1XwWJwrd/rxk 4hQoekG9dHXz5xRIcdDxKHRpvrsh2WsKL53GQi/1to1pAqxXbVDpFTk3/LnzQnb3c3+w SVPcpF5MhQ/mKn0pnF1MW06co0rbspJycGDN5ShsA/LqDSqFNRzW1HJrSTx9jxZAKRBt VcDEMaih24jfhMpEEq0MLKdZrmqRjBnb6YlDjcGdkKgnPJshfE5XqN0fJItaIpaSmVPF 6sTDudGneKu8d1M5cLrsEzbPG5/d/0FkKPbeHs60FZucyICtpCd1o9M+Nye/p670RnBD xQ4g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=kJrQvmK3; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=HXI73a8C; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1 spf=pass spfdomain=suse.de dkim=pass dkdomain=suse.de dkim=pass dkdomain=suse.de dmarc=pass fromdomain=suse.de); spf=pass (google.com: domain of linux-kernel+bounces-211003-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-211003-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id 41be03b00d2f7-6de2073caa3si6372734a12.35.2024.06.11.23.51.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jun 2024 23:51:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-211003-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=kJrQvmK3; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=HXI73a8C; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1 spf=pass spfdomain=suse.de dkim=pass dkdomain=suse.de dkim=pass dkdomain=suse.de dmarc=pass fromdomain=suse.de); spf=pass (google.com: domain of linux-kernel+bounces-211003-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-211003-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 8BC9BB22266 for ; Wed, 12 Jun 2024 06:48:45 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AC01E167DA7; Wed, 12 Jun 2024 06:48:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="kJrQvmK3"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="6UeJJvMd"; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="HXI73a8C"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="d32RWz4i" Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D90F916728E for ; Wed, 12 Jun 2024 06:48:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718174916; cv=none; b=W6poxv0SPi3i43SFh3cNuUHFYxOjLCkPU1agiYHdwB2cAmKa6Da2DoUfIMPafN9Gs2auWFdFCHzVRxMEuJIXfo8Ls0GUsGKIu6mULz0gawbbyZVWyY13XGQmnCSj8Ghkd4MlIw7Y/pFtE7lhfe/z1UdrWSop/jWWWayrX9M/fgo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718174916; c=relaxed/simple; bh=VgBKOXikcK7k8VPZ2JwewFXlsViQ9Uwefdmk0IJxOUQ=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=MxqNjr6a/hBJhexZRp13K04XAP4nIfBZ+RC5aFJZnYqN/5sVqlfBTOYVOPpCEoXRfwKiTjlzv6DwTp8Y4cBKtKE7lOsxG+JUkBv6ywof2FIX2QkyoaOzQgTlDXj09qqdH/DuN7xBLK482CIoK7YLR5E3IiyDanV5NQrbiSiP3zw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de; spf=pass smtp.mailfrom=suse.de; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=kJrQvmK3; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=6UeJJvMd; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=HXI73a8C; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=d32RWz4i; arc=none smtp.client-ip=195.135.223.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id D90771FB84; Wed, 12 Jun 2024 06:48:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1718174913; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=4dH3tWnemnpJL1nmAKzSLPS3Y7fqI8X4rppw+UmvOJY=; b=kJrQvmK3eEH7x0kTkW3m4UzgDSEPG1Uybe+XQFZN1Crx6zAz4ucYeeDN+OAmvXxdB/P7+E t1tacvyt7YVvE2VMIayMYFek5SA+w+jOV1oP5dYJBLMCXpatdDBIW6VsbuJmhEMaq929TO 63brwu8+eisAaVeFIcJeWtUsKMe/nBQ= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1718174913; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=4dH3tWnemnpJL1nmAKzSLPS3Y7fqI8X4rppw+UmvOJY=; b=6UeJJvMdvGta6L6gZmYpM+/6UY21c7sz9TJ6kx43ZfleDSvflWOh/BvYsSIu8996s5aZSn t2/vaTibEQxoKGDQ== Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1718174912; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=4dH3tWnemnpJL1nmAKzSLPS3Y7fqI8X4rppw+UmvOJY=; b=HXI73a8C8APm68RuamvtxBuBiUxrkCW+p8mMUGPt/zA/adHqbcZkeeVtUKoMCjtgQWKQvL wpvY8Tc6yhyEw96Xbp+ATBtXlwfu2tgbGxpE5+EaZ85KeDxknbfLcdirqt6jPDHSrthTE9 NfpyJCGmIEZdQ9moQGvRXTMKl6Z5pAY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1718174912; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=4dH3tWnemnpJL1nmAKzSLPS3Y7fqI8X4rppw+UmvOJY=; b=d32RWz4i5rpi3eKei/YJW0f951H58XvS+eWcyFqBv0vtzJJv25Td1TQi45Q12l762+GZ1o aCG+/6odj4bCMtDA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9C36B137DF; Wed, 12 Jun 2024 06:48:32 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 2GPmJMBEaWZWPwAAD6G6ig (envelope-from ); Wed, 12 Jun 2024 06:48:32 +0000 Message-ID: Date: Wed, 12 Jun 2024 08:48:32 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] drm/fbdev-dma: fix getting smem_start From: Thomas Zimmermann To: "Peng Fan (OSS)" , Maarten Lankhorst , Maxime Ripard , David Airlie , Daniel Vetter , Javier Martinez Canillas Cc: Peng Fan , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org References: <20240604080328.4024838-1-peng.fan@oss.nxp.com> <8f4a6d80-dd3e-422f-88af-d26f50c973ff@suse.de> Content-Language: en-US Autocrypt: addr=tzimmermann@suse.de; keydata= xsBNBFs50uABCADEHPidWt974CaxBVbrIBwqcq/WURinJ3+2WlIrKWspiP83vfZKaXhFYsdg XH47fDVbPPj+d6tQrw5lPQCyqjwrCPYnq3WlIBnGPJ4/jreTL6V+qfKRDlGLWFjZcsrPJGE0 BeB5BbqP5erN1qylK9i3gPoQjXGhpBpQYwRrEyQyjuvk+Ev0K1Jc5tVDeJAuau3TGNgah4Yc hdHm3bkPjz9EErV85RwvImQ1dptvx6s7xzwXTgGAsaYZsL8WCwDaTuqFa1d1jjlaxg6+tZsB 9GluwvIhSezPgnEmimZDkGnZRRSFiGP8yjqTjjWuf0bSj5rUnTGiyLyRZRNGcXmu6hjlABEB AAHNJ1Rob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPsLAjgQTAQgAOAIb AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftODH AAoJEGgNwR1TC3ojx1wH/0hKGWugiqDgLNXLRD/4TfHBEKmxIrmfu9Z5t7vwUKfwhFL6hqvo lXPJJKQpQ2z8+X2vZm/slsLn7J1yjrOsoJhKABDi+3QWWSGkaGwRJAdPVVyJMfJRNNNIKwVb U6B1BkX2XDKDGffF4TxlOpSQzdtNI/9gleOoUA8+jy8knnDYzjBNOZqLG2FuTdicBXblz0Mf vg41gd9kCwYXDnD91rJU8tzylXv03E75NCaTxTM+FBXPmsAVYQ4GYhhgFt8S2UWMoaaABLDe 7l5FdnLdDEcbmd8uLU2CaG4W2cLrUaI4jz2XbkcPQkqTQ3EB67hYkjiEE6Zy3ggOitiQGcqp j//OwE0EWznS4AEIAMYmP4M/V+T5RY5at/g7rUdNsLhWv1APYrh9RQefODYHrNRHUE9eosYb T6XMryR9hT8XlGOYRwKWwiQBoWSDiTMo/Xi29jUnn4BXfI2px2DTXwc22LKtLAgTRjP+qbU6 3Y0xnQN29UGDbYgyyK51DW3H0If2a3JNsheAAK+Xc9baj0LGIc8T9uiEWHBnCH+RdhgATnWW GKdDegUR5BkDfDg5O/FISymJBHx2Dyoklv5g4BzkgqTqwmaYzsl8UxZKvbaxq0zbehDda8lv hFXodNFMAgTLJlLuDYOGLK2AwbrS3Sp0AEbkpdJBb44qVlGm5bApZouHeJ/+n+7r12+lqdsA EQEAAcLAdgQYAQgAIAIbDBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftOH6AAoJEGgNwR1T C3ojVSkIALpAPkIJPQoURPb1VWjh34l0HlglmYHvZszJWTXYwavHR8+k6Baa6H7ufXNQtThR yIxJrQLW6rV5lm7TjhffEhxVCn37+cg0zZ3j7zIsSS0rx/aMwi6VhFJA5hfn3T0TtrijKP4A SAQO9xD1Zk9/61JWk8OysuIh7MXkl0fxbRKWE93XeQBhIJHQfnc+YBLprdnxR446Sh8Wn/2D Ya8cavuWf2zrB6cZurs048xe0UbSW5AOSo4V9M0jzYI4nZqTmPxYyXbm30Kvmz0rYVRaitYJ 4kyYYMhuULvrJDMjZRvaNe52tkKAvMevcGdt38H4KSVXAylqyQOW5zvPc4/sq9c= In-Reply-To: <8f4a6d80-dd3e-422f-88af-d26f50c973ff@suse.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-4.29 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; XM_UA_NO_VERSION(0.01)[]; FREEMAIL_TO(0.00)[oss.nxp.com,linux.intel.com,kernel.org,gmail.com,ffwll.ch,redhat.com]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; RCVD_TLS_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_SEVEN(0.00)[9]; MID_RHS_MATCH_FROM(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:email] X-Spam-Flag: NO X-Spam-Score: -4.29 X-Spam-Level: Hi Am 10.06.24 um 10:47 schrieb Thomas Zimmermann: > Hi > > Am 04.06.24 um 10:03 schrieb Peng Fan (OSS): >> From: Peng Fan >> >> If 'info->screen_buffer' locates in vmalloc address space, virt_to_page >> will not be able to get correct results. With CONFIG_DEBUG_VM and >> CONFIG_DEBUG_VIRTUAL enabled on ARM64, there is dump below: > > Which graphics driver triggers this bug? > >> [    3.536043] ------------[ cut here ]------------ >> [    3.540716] virt_to_phys used for non-linear address: >> 000000007fc4f540 (0xffff800086001000) >> [    3.552628] WARNING: CPU: 4 PID: 61 at arch/arm64/mm/physaddr.c:12 >> __virt_to_phys+0x68/0x98 >> [    3.565455] Modules linked in: >> [    3.568525] CPU: 4 PID: 61 Comm: kworker/u12:5 Not tainted >> 6.6.23-06226-g4986cc3e1b75-dirty #250 >> [    3.577310] Hardware name: NXP i.MX95 19X19 board (DT) >> [    3.582452] Workqueue: events_unbound deferred_probe_work_func >> [    3.588291] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS >> BTYPE=--) >> [    3.595233] pc : __virt_to_phys+0x68/0x98 >> [    3.599246] lr : __virt_to_phys+0x68/0x98 >> [    3.603276] sp : ffff800083603990 >> [    3.677939] Call trace: >> [    3.680393]  __virt_to_phys+0x68/0x98 >> [    3.684067]  drm_fbdev_dma_helper_fb_probe+0x138/0x238 >> [    3.689214] __drm_fb_helper_initial_config_and_unlock+0x2b0/0x4c0 >> [    3.695385]  drm_fb_helper_initial_config+0x4c/0x68 >> [    3.700264]  drm_fbdev_dma_client_hotplug+0x8c/0xe0 >> [    3.705161]  drm_client_register+0x60/0xb0 >> [    3.709269]  drm_fbdev_dma_setup+0x94/0x148 >> >> So add a check 'is_vmalloc_addr'. >> >> Fixes: b79fe9abd58b ("drm/fbdev-dma: Implement fbdev emulation for >> GEM DMA helpers") >> Signed-off-by: Peng Fan > > Reviewed-by: Thomas Zimmermann I'm taking back my r-b. The memory is expected to by be physically contiguous and vmalloc() won't guarantee that. Best regards Thomas > > Best regards > Thomas > >> --- >>   drivers/gpu/drm/drm_fbdev_dma.c | 7 ++++++- >>   1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/drm_fbdev_dma.c >> b/drivers/gpu/drm/drm_fbdev_dma.c >> index 6c9427bb4053..9e2eddb6eb5c 100644 >> --- a/drivers/gpu/drm/drm_fbdev_dma.c >> +++ b/drivers/gpu/drm/drm_fbdev_dma.c >> @@ -130,7 +130,12 @@ static int drm_fbdev_dma_helper_fb_probe(struct >> drm_fb_helper *fb_helper, >>           info->flags |= FBINFO_READS_FAST; /* signal caching */ >>       info->screen_size = sizes->surface_height * fb->pitches[0]; >>       info->screen_buffer = map.vaddr; >> -    info->fix.smem_start = >> page_to_phys(virt_to_page(info->screen_buffer)); >> + >> +    if (is_vmalloc_addr(info->screen_buffer)) >> +        info->fix.smem_start = >> page_to_phys(vmalloc_to_page(info->screen_buffer)); >> +    else >> +        info->fix.smem_start = >> page_to_phys(virt_to_page(info->screen_buffer)); >> + >>       info->fix.smem_len = info->screen_size; >>         return 0; > -- -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstrasse 146, 90461 Nuernberg, Germany GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman HRB 36809 (AG Nuernberg)