From: Joerg Roedel <joro@8bytes.org>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: arnd@arndb.de, joerg.roedel@amd.com, oliver@neukum.org,
linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
mingo@redhat.com, ceggers@gmx.de, davem@davemloft.net
Subject: Re: [PATCH 09/16] dma-debug: add checking for map/unmap_page/single
Date: Sun, 25 Jan 2009 14:51:15 +0100 [thread overview]
Message-ID: <20090125135115.GA29009@8bytes.org> (raw)
In-Reply-To: <20090125221731C.fujita.tomonori@lab.ntt.co.jp>
On Sun, Jan 25, 2009 at 10:17:19PM +0900, FUJITA Tomonori wrote:
> On Fri, 23 Jan 2009 11:28:27 +0100
> Joerg Roedel <joro@8bytes.org> wrote:
>
> > On Wed, Jan 21, 2009 at 01:17:32AM +0100, Arnd Bergmann wrote:
> > > On Monday 19 January 2009, Joerg Roedel wrote:
> > > > Impact: add debug callbacks for dma_{un}map_[page|single]
> > >
> > > In the discussion about "[PATCH] usb/mcs7830: Don't use buffers from
> > > stack for USB transfers", I have raised the question of whether we can
> > > add a check for the DMA address being on the stack, I guess this would
> > > be the right place for it.
> > >
> > > Maybe you can add another check like:
> > >
> > > WARN_ON(is_kernel_stack(page_to_virt(page)));
> >
> > Good idea. This would be the right place for such a check.
> >
> > > Unfortunately, I can't think of a way to define a generic is_kernel_stack
> > > function. On most architectures (all that put thread_info at the top of the
> > > stack), something like this should work:
> > >
> > > #ifndef is_kernel_stack
> > > static inline int is_kernel_stack(void *p)
> > > {
> > > return (unsigned long)p & ~(THREAD_SIZE - 1) == current_thread_info();
> > > }
> > > #endif
> >
> > Hmm, this function is indeed required on all architectures. If you send
> > a patchset which adds it I will add the check for stack addresses to
> > this debugging code :)
>
> object_is_on_stack()
Oh cool. This function exists already. Thanks for the hint :)
Joerg
next prev parent reply other threads:[~2009-01-25 13:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-19 14:46 [PATCH 0/16] DMA-API debugging facility v3 Joerg Roedel
2009-01-19 14:46 ` [PATCH 01/16] dma-debug: add Kconfig entry Joerg Roedel
2009-01-19 14:46 ` [PATCH 02/16] dma-debug: add header file and core data structures Joerg Roedel
2009-01-19 14:46 ` [PATCH 03/16] dma-debug: add hash functions for dma_debug_entries Joerg Roedel
2009-01-19 14:46 ` [PATCH 04/16] dma-debug: add allocator code Joerg Roedel
2009-01-19 14:46 ` [PATCH 05/16] dma-debug: add initialization code Joerg Roedel
2009-01-19 14:46 ` [PATCH 06/16] dma-debug: add kernel command line parameters Joerg Roedel
2009-01-19 14:46 ` [PATCH 07/16] dma-debug: add debugfs interface Joerg Roedel
2009-01-19 14:46 ` [PATCH 08/16] dma-debug: add core checking functions Joerg Roedel
2009-02-05 21:07 ` David Woodhouse
2009-02-12 14:49 ` Joerg Roedel
2009-02-13 19:48 ` Jesse Brandeburg
2009-01-19 14:46 ` [PATCH 09/16] dma-debug: add checking for map/unmap_page/single Joerg Roedel
2009-01-21 0:17 ` Arnd Bergmann
2009-01-23 10:28 ` Joerg Roedel
2009-01-25 13:17 ` FUJITA Tomonori
2009-01-25 13:51 ` Joerg Roedel [this message]
2009-02-05 21:06 ` David Woodhouse
2009-02-12 14:52 ` Joerg Roedel
2009-01-19 14:46 ` [PATCH 10/16] dma-debug: add add checking for map/unmap_sg Joerg Roedel
2009-02-05 22:30 ` David Woodhouse
2009-02-12 14:54 ` Joerg Roedel
2009-01-19 14:46 ` [PATCH 11/16] dma-debug: add checking for [alloc|free]_coherent Joerg Roedel
2009-01-19 14:46 ` [PATCH 12/16] dma-debug: add checks for sync_single_* Joerg Roedel
2009-01-19 14:47 ` [PATCH 13/16] dma-debug: add checks for sync_single_range_* Joerg Roedel
2009-01-19 14:47 ` [PATCH 14/16] dma-debug: add checks for sync_single_sg_* Joerg Roedel
2009-01-19 14:47 ` [PATCH 15/16] dma-debug: x86 architecture bindings Joerg Roedel
2009-02-22 6:50 ` FUJITA Tomonori
2009-02-25 11:14 ` Joerg Roedel
2009-01-19 14:47 ` [PATCH 16/16] dma-debug: Documentation update Joerg Roedel
2009-02-25 7:33 ` [PATCH 0/16] DMA-API debugging facility v3 David Woodhouse
2009-02-25 10:57 ` Joerg Roedel
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=20090125135115.GA29009@8bytes.org \
--to=joro@8bytes.org \
--cc=arnd@arndb.de \
--cc=ceggers@gmx.de \
--cc=davem@davemloft.net \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=iommu@lists.linux-foundation.org \
--cc=joerg.roedel@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=oliver@neukum.org \
/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.