Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 3 Feb 2020 17:20:02 +0000 (UTC)
From: Christopher Lameter <>
To: Kees Cook <>
cc: Jann Horn <>, 
    Christian Borntraeger <>, 
    Christoph Hellwig <>, Jiri Slaby <>, 
    Julian Wiedmann <>, Ursula Braun <>, 
    Alexander Viro <>, 
    kernel list <>, 
    David Windsor <>, Pekka Enberg <>, 
    David Rientjes <>, Joonsoo Kim <>, 
    Andrew Morton <>, Linux-MM <>,, Linus Torvalds <>, 
    Andy Lutomirski <>, "David S. Miller" <>, 
    Laura Abbott <>, Mark Rutland <>, 
    "Martin K. Petersen" <>, 
    Paolo Bonzini <>, 
    Christoffer Dall <>, 
    Dave Kleikamp <>, Jan Kara <>, 
    Luis de Bethencourt <>, 
    Marc Zyngier <>, Rik van Riel <>, 
    Matthew Garrett <>, 
    linux-fsdevel <>, 
    linux-arch <>, 
    Network Development <>, 
    Kernel Hardening <>, 
    Vlastimil Babka <>, Michal Kubecek <>
Subject: Re: [PATCH 09/38] usercopy: Mark kmalloc caches
 as usercopy caches

On Sat, 1 Feb 2020, Kees Cook wrote:
> I can't find where the address limit for dma-kmalloc is implemented.


enum zone_type {
         * ZONE_DMA and ZONE_DMA32 are used when there are peripherals not able
         * to DMA to all of the addressable memory (ZONE_NORMAL).
         * On architectures where this area covers the whole 32 bit address
         * space ZONE_DMA32 is used. ZONE_DMA is left for the ones with smaller
         * DMA addressing constraints. This distinction is important as a 32bit
         * DMA mask is assumed when ZONE_DMA32 is defined. Some 64-bit
         * platforms may need both zones as they support peripherals with
         * different DMA addressing limitations.
         * Some examples:
         *  - i386 and x86_64 have a fixed 16M ZONE_DMA and ZONE_DMA32 for the
         *    rest of the lower 4G.
         *  - arm only uses ZONE_DMA, the size, up to 4G, may vary depending on
         *    the specific device.
         *  - arm64 has a fixed 1G ZONE_DMA and ZONE_DMA32 for the rest of the
         *    lower 4G.
         *  - powerpc only uses ZONE_DMA, the size, up to 2G, may vary
         *    depending on the specific device.
         *  - s390 uses ZONE_DMA fixed to the lower 2G.
         *  - ia64 and riscv only use ZONE_DMA32.
         *  - parisc uses neither.
         * Normal addressable memory is in ZONE_NORMAL. DMA operations can
         * performed on pages in ZONE_NORMAL if the DMA devices support
         * transfers to all addressable memory.
         * A memory area that is only addressable by the kernel through
         * mapping portions into its own address space. This is for example
         * used by i386 to allow the kernel to address the memory beyond
         * 900MB. The kernel will set up special mappings (page
         * table entries on i386) for each page that the kernel needs to
         * access.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.