lkml.org 
[lkml]   [2009]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] NOMMU: use copy_*_user_page() in access_process_vm()
    Date
    From: Jie Zhang <jie.zhang@analog.com>

    The mmu code uses the copy_*_user_page() variants in access_process_vm()
    rather than copy_*_user() as the former includes an icache flush. This is
    important when doing things like setting software breakpoints with gdb.
    So switch the nommu code over to do the same.

    Signed-off-by: Jie Zhang <jie.zhang@analog.com>
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    ---
    mm/nommu.c | 6 ++++--
    1 files changed, 4 insertions(+), 2 deletions(-)

    diff --git a/mm/nommu.c b/mm/nommu.c
    index 9876fa0..51ae9be 100644
    --- a/mm/nommu.c
    +++ b/mm/nommu.c
    @@ -1889,9 +1889,11 @@ int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, in

    /* only read or write mappings where it is permitted */
    if (write && vma->vm_flags & VM_MAYWRITE)
    - len -= copy_to_user((void *) addr, buf, len);
    + copy_to_user_page(vma, NULL, NULL,
    + (void *) addr, buf, len);
    else if (!write && vma->vm_flags & VM_MAYREAD)
    - len -= copy_from_user(buf, (void *) addr, len);
    + copy_from_user_page(vma, NULL, NULL,
    + buf, (void *) addr, len);
    else
    len = 0;
    } else {
    --
    1.6.5.3


    \
     
     \ /
      Last update: 2009-11-25 06:57    [W:0.022 / U:62.556 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site