All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Hellstrom <thellstrom@vmware.com>
To: Jonathan Morton <jonathan.morton@movial.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] ttm_get_pages() will OOPS with highmem allocation
Date: Wed, 14 Nov 2012 09:48:52 +0100	[thread overview]
Message-ID: <50A35AF4.2070908@vmware.com> (raw)
In-Reply-To: <20121113203155.0c1880d9@sd070>

On 11/13/2012 07:31 PM, Jonathan Morton wrote:
> Reposting from this kernel bug:
> https://bugzilla.kernel.org/show_bug.cgi?id=50241
>
> I've tested the patch and it solves a highly repeatable OOPS with the
> CedarView driver that I'm porting.
>
>
> >From 3552913d3a1c2d3c4ce158e91dc18cd12b522cb2 Mon Sep 17 00:00:00 2001
> From: Yakui Zhao <yakui.zhao@intel.com>
> Date: Tue, 7 Feb 2012 15:33:13 -0500
> Subject: [PATCH] Clear the ttm page allocated from high memory zone correctly
>
> The TTM page can be allocated from high memory. In such case it is
> wrong to use the page_address(page) as the virtual address for the high memory
> page.
>
> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
> ---
>   drivers/gpu/drm/ttm/ttm_page_alloc.c |    5 ++++-
>   1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c
> index d948575..df976d9 100644
> --- a/drivers/gpu/drm/ttm/ttm_page_alloc.c
> +++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c
> @@ -708,7 +708,10 @@ int ttm_get_pages(struct list_head *pages, int flags,
>   	/* clear the pages coming from the pool if requested */
>   	if (flags & TTM_PAGE_FLAG_ZERO_ALLOC) {
>   		list_for_each_entry(p, pages, lru) {
> -			clear_page(page_address(p));
> +			if (PageHighMem(p))
> +				clear_highpage(p);
> +			else
> +				clear_page(page_address(p));
>   		}
>   	}
>   

This is a pretty bad bug. I think the only reason it hasn't been hit 
more often is that TTM_PAGE_FLAG_ZERO_ALLOC may not be used that often.
Please resend this patch with

Cc: stable@vger.kernel.org
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>

Thanks,
Thomas

  reply	other threads:[~2012-11-14  8:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-13 18:31 [PATCH] ttm_get_pages() will OOPS with highmem allocation Jonathan Morton
2012-11-14  8:48 ` Thomas Hellstrom [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-11-16 17:19 Jonathan Morton
2012-11-16 17:32 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50A35AF4.2070908@vmware.com \
    --to=thellstrom@vmware.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jonathan.morton@movial.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.