lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTi==tDG6wMVNTSYjucZH+g-G3P6OiqSmHXWm8LP9@mail.gmail.com>
Date:	Thu, 24 Feb 2011 03:25:43 -0500
From:	Alex Deucher <alexdeucher@...il.com>
To:	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
Cc:	Dave Airlie <airlied@...hat.com>, dri-devel@...ts.freedesktop.org,
	Jerome Glisse <jglisse@...hat.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] radeon: DMA unmap dummy page during unload/unbind.

On Wed, Feb 23, 2011 at 3:48 PM, Konrad Rzeszutek Wilk
<konrad.wilk@...cle.com> wrote:
> git commit 82568565683b4991964a5fc89a9ca0c7122818e8 adds a dummy page
> so that if something goes wrong it will at least fetch/write data
> _only_ to this location.
>
> The radeon_gart_init sets it up.. but there is no corresponding
> free-ing of this dummy page. There is one invocation to free-ing
> the dummy page in r600.c but nothing in the radeon_gart_fini path.
>
> This patch adds in the unloading/unbind path the free-ing of said
> dummy page.

This patch looks good, but we might as go one step further and just
remove the dummy page stuff from r600.c, rv770.c and evergreen.c and
just consolidate it in gart_init() and gart_fini().  See the attached
patch.

Alex

>
> Without this patch and if we have CONFIG_DMA_API_DEBUG=y set we
> get this:
>
> [   22.113420] drm: unregistered panic notifier
> [   22.126500] [drm] radeon: finishing device.
> [   22.130868] [drm] radeon: cp finalized
> [   22.135384] [TTM] Finalizing pool allocator.
> [   22.139669] [TTM] Zone  kernel: Used memory at exit: 0 kiB.
> [   22.145229] [drm] radeon: ttm finalized
> [   22.149055] vga_switcheroo: disabled
> [   22.153393] ------------[ cut here ]------------
> [   22.158021] WARNING: at /home/konrad/ssd/linux/lib/dma-debug.c:689 dma_debug_device_change+0x12e/0x161()
> [   22.167475] Hardware name: PowerEdge T105
> [   22.171562] pci 0000:01:08.0: DMA-API: device driver has pending DMA allocations while released from device [count=1]
>
> With this patch we don't see this anymore.
>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
> ---
>  drivers/gpu/drm/radeon/radeon_gart.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c
> index 6501611..dc04c7b 100644
> --- a/drivers/gpu/drm/radeon/radeon_gart.c
> +++ b/drivers/gpu/drm/radeon/radeon_gart.c
> @@ -269,4 +269,6 @@ void radeon_gart_fini(struct radeon_device *rdev)
>        kfree(rdev->gart.pages_addr);
>        rdev->gart.pages = NULL;
>        rdev->gart.pages_addr = NULL;
> +
> +       radeon_dummy_page_fini(rdev);
>  }
> --
> 1.7.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@...ts.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>

View attachment "0001-drm-radeon-kms-clean-up-gart-dummy-page-handling.patch" of type "text/x-patch" (3338 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ