Received: by 2002:a89:413:0:b0:1fd:dba5:e537 with SMTP id m19csp88108lqs; Thu, 13 Jun 2024 04:56:59 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWHOMoost/c+obmilyeRkWmtzgSbH8giXLcTIGuOUXUqTul9AwRpmschM/43UqCHrIFxH+NVWtFsKOpiSGBt6kMEFOaf8y7LZtp2v4WkQ== X-Google-Smtp-Source: AGHT+IGqctoilLuU0RuXFunfKWxCQZiUb4skTAB441JQ6IvCm89G+E7yTkyqh+J+FmnHvUY8TS/4 X-Received: by 2002:a25:db03:0:b0:dfa:49dd:c55e with SMTP id 3f1490d57ef6-dfe68d071bamr4289990276.62.1718279819037; Thu, 13 Jun 2024 04:56:59 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718279819; cv=pass; d=google.com; s=arc-20160816; b=HknXfroyx24xzt12Od8sFU+7zVMsccZ4rRGdU7s1wtrfkppv5tDWLHdLTvs//R3C4w iA1fEdNecOOgBa2msXBa0dML6k/OW+xm6VSuwfSLb6p5KYJDDkOIE0AID3SYmaw2fzji 4Vv1/UHTylGPiHjaT94O6JM5nTVzdF+lqXKdM2JUeqcSLeEehLJG1khksk5TFKuAXcOb VcZU6OARN/0K1Rys3OsCoTto5fy9lcE27ZWwz+EK659mgmCLSQ8DNV+Cm0wFYRPFEuom 8gjdZ2zE9Wmfh511RydOwXH5JMrFDGGhxh6N8n6rXkqQbTA9dgj3YTqjx0XTnwi3t//3 ADUg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=9WQJKGGQ63IpYpwAqks0j3zwgngy8EFW/hBQkkDLpOw=; fh=aUnYeM03luLERYbhZvmIPb1DRBf3CEUEXapkSf7dS7c=; b=H5W4jr1GL5hMYdYtM7JU1iIVTokPJZD9yayFH2UxQf/qjxS1MItSGxRU7p9lt9rz0Z ZqzdykV6LeAg7zY+tzbq14T0pSF4ugFCOPcGyU9myMEX+Y+PKeQIu2a19XvWBUSfQcs0 LsYOilzByW2vMgPKjDAQ7kRke7hlOS73JMLOy4on8bOCFOQqHLTVBt8t0O3UYjZaFKMv npdB70cN497nfRufF0nx2bRD6dDYf0y+syHz4spiL2YzKphuoKXmTrYsCkuzSbbjhERU GJDzgKOlXi8aRP9QRsHO1j8cS4XW1Xr7ynUM6kduajOPp0J23hXRtEompX984ylkYJKf G5zg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=iJdn2JSK; arc=pass (i=1 spf=pass spfdomain=redhat.com dkim=pass dkdomain=redhat.com dmarc=pass fromdomain=redhat.com); spf=pass (google.com: domain of linux-kernel+bounces-213143-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-213143-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id 6a1803df08f44-6b2a5b859fcsi12764006d6.536.2024.06.13.04.56.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Jun 2024 04:56:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-213143-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=iJdn2JSK; arc=pass (i=1 spf=pass spfdomain=redhat.com dkim=pass dkdomain=redhat.com dmarc=pass fromdomain=redhat.com); spf=pass (google.com: domain of linux-kernel+bounces-213143-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-213143-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com 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 ny.mirrors.kernel.org (Postfix) with ESMTPS id ADE2E1C20A47 for ; Thu, 13 Jun 2024 11:56:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 600E614A092; Thu, 13 Jun 2024 11:51:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="iJdn2JSK" Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9E7F2149C41 for ; Thu, 13 Jun 2024 11:51:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718279464; cv=none; b=T6sVCp74F+BgTQA22fvfct6E9tWolzx+Oem54YRVN2Crie9T7xAgyaNPibGDaYgGyldIvz6DwPmyW6Aoiq4axju29Bx2zA0fypeeLg24w+LVvqUFC1BdGaHNbXZ/PIdeQ6vxB3deSsPaajQ2URmJvM6klJ8qrtdgAILfz7WocRU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718279464; c=relaxed/simple; bh=iGO9d2tDV8jgMXAb9ljo4BmxYhAXls7ncq8pchC9GTM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=n8vmr/dnBK3qiBveU1jV/fUqDdUczZlFjNgfOIQgMBmeUUrByw/z8GSXFG+v7+9udrgEYwjM5cZjt5NOQ8tJn5cEr1bJmnxjfB9K8OQSD4ydmVUP8nNlzvy246ocUQ9OD6WA48Jo/EwFTDaXa1+Aydl0JFGg5hKA9lpPG87QYeU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=iJdn2JSK; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1718279461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9WQJKGGQ63IpYpwAqks0j3zwgngy8EFW/hBQkkDLpOw=; b=iJdn2JSKo5UmFrR0ugN7WDNJnADI+q/iHS3wsxwrBwj0luJgq6wF2hvbiW1zzZZ+ymA6Wz BukKK2Twj8vyoNVea4PtlWEJ7+8+ZXyUV/BEQ64F5VHv5KngFs0QzmihAov9VIH7jq2Cpg qqx75VA8vuHAGvh64DHELqNCkzwrGmk= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-35-EwyvKO4VMD2z4flqWhLWnQ-1; Thu, 13 Jun 2024 07:51:00 -0400 X-MC-Unique: EwyvKO4VMD2z4flqWhLWnQ-1 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-36073543200so107649f8f.3 for ; Thu, 13 Jun 2024 04:51:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718279459; x=1718884259; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9WQJKGGQ63IpYpwAqks0j3zwgngy8EFW/hBQkkDLpOw=; b=mpXvRBPiGuUgletKKDPnfibWNflYy8LlHmlU6wi4wAM2QWVfBn9TLHh5XFbVSiJZaD lqZ07RgyUTmu9Bxu9Phn9muc4mb/0rbdTl0B6uqCB1NW3W1D1RVNTt4uIbUeRfjJRDdH 6sg4mlVrnE97m0bsioSQW/IU8dSDStbOtII/O2kGwodfGfJmEmawygbZ9ttrclWtwFio A40IyD2UPJO5nfslLwHVzCq0TWpfcN9KXeTxcI6dpWT3tK5VcCEggpRHPokFeGmZfYUi aOO5qhdjT1U92VegZOr24HgDAgJf/Cl+MQMJCmHEJmCsPJLmYNCsZPmyC7CFpwz3lC1c 9BXg== X-Forwarded-Encrypted: i=1; AJvYcCX87m7Vyfxd8+/+c+MsbaWPnWPQ/wmjz1GXXedZCG9AAWQwTkDVugvUdJJcpj+xfTkMso6DVEM3Je/b7FE=@vger.kernel.org X-Gm-Message-State: AOJu0YwlXjiSle2UPxLbTv4FhCru8Wsmm9fdo/lcuBwgYc1XQrdRsb7P FwklV/07v0Yr9INWFvHiRm/RcJOY89XKLN+o3SUZSa1DQAIhOsKvuEilonwQJm1kT6lFCSNWDGs Bz/AOyWfTuPkyzMOlYoRo41DxZHdaEG0firvXSrX5vf+VDfWpvGSqI8Lyp44Tzg== X-Received: by 2002:a5d:6da4:0:b0:35f:2584:7714 with SMTP id ffacd0b85a97d-36079a55d96mr164404f8f.5.1718279459403; Thu, 13 Jun 2024 04:50:59 -0700 (PDT) X-Received: by 2002:a5d:6da4:0:b0:35f:2584:7714 with SMTP id ffacd0b85a97d-36079a55d96mr164394f8f.5.1718279459138; Thu, 13 Jun 2024 04:50:59 -0700 (PDT) Received: from pstanner-thinkpadt14sgen1.remote.csb (nat-pool-muc-t.redhat.com. [149.14.88.26]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3607509c883sm1510620f8f.29.2024.06.13.04.50.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Jun 2024 04:50:58 -0700 (PDT) From: Philipp Stanner To: Hans de Goede , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Bjorn Helgaas , Sam Ravnborg , dakr@redhat.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, Philipp Stanner Subject: [PATCH v9 13/13] drm/vboxvideo: fix mapping leaks Date: Thu, 13 Jun 2024 13:50:26 +0200 Message-ID: <20240613115032.29098-14-pstanner@redhat.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240613115032.29098-1-pstanner@redhat.com> References: <20240613115032.29098-1-pstanner@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit When the PCI devres API was introduced to this driver, it was wrongly assumed that initializing the device with pcim_enable_device() instead of pci_enable_device() will make all PCI functions managed. This is wrong and was caused by the quite confusing PCI devres API in which some, but not all, functions become managed that way. The function pci_iomap_range() is never managed. Replace pci_iomap_range() with the actually managed function pcim_iomap_range(). Fixes: 8558de401b5f ("drm/vboxvideo: use managed pci functions") Signed-off-by: Philipp Stanner Reviewed-by: Hans de Goede --- drivers/gpu/drm/vboxvideo/vbox_main.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/vboxvideo/vbox_main.c b/drivers/gpu/drm/vboxvideo/vbox_main.c index 42c2d8a99509..d4ade9325401 100644 --- a/drivers/gpu/drm/vboxvideo/vbox_main.c +++ b/drivers/gpu/drm/vboxvideo/vbox_main.c @@ -42,12 +42,11 @@ static int vbox_accel_init(struct vbox_private *vbox) /* Take a command buffer for each screen from the end of usable VRAM. */ vbox->available_vram_size -= vbox->num_crtcs * VBVA_MIN_BUFFER_SIZE; - vbox->vbva_buffers = pci_iomap_range(pdev, 0, - vbox->available_vram_size, - vbox->num_crtcs * - VBVA_MIN_BUFFER_SIZE); - if (!vbox->vbva_buffers) - return -ENOMEM; + vbox->vbva_buffers = pcim_iomap_range( + pdev, 0, vbox->available_vram_size, + vbox->num_crtcs * VBVA_MIN_BUFFER_SIZE); + if (IS_ERR(vbox->vbva_buffers)) + return PTR_ERR(vbox->vbva_buffers); for (i = 0; i < vbox->num_crtcs; ++i) { vbva_setup_buffer_context(&vbox->vbva_info[i], @@ -116,11 +115,10 @@ int vbox_hw_init(struct vbox_private *vbox) DRM_INFO("VRAM %08x\n", vbox->full_vram_size); /* Map guest-heap at end of vram */ - vbox->guest_heap = - pci_iomap_range(pdev, 0, GUEST_HEAP_OFFSET(vbox), - GUEST_HEAP_SIZE); - if (!vbox->guest_heap) - return -ENOMEM; + vbox->guest_heap = pcim_iomap_range(pdev, 0, + GUEST_HEAP_OFFSET(vbox), GUEST_HEAP_SIZE); + if (IS_ERR(vbox->guest_heap)) + return PTR_ERR(vbox->guest_heap); /* Create guest-heap mem-pool use 2^4 = 16 byte chunks */ vbox->guest_pool = devm_gen_pool_create(vbox->ddev.dev, 4, -1, -- 2.45.0