lkml.org 
[lkml]   [2013]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 003/103] powerpc/hw_brk: Fix off by one error when validating DAWR region end
    Date
    3.10-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Michael Neuling <mikey@neuling.org>

    commit e2a800beaca1f580945773e57d1a0e7cd37b1056 upstream.

    The Data Address Watchpoint Register (DAWR) on POWER8 can take a 512
    byte range but this range must not cross a 512 byte boundary.

    Unfortunately we were off by one when calculating the end of the region,
    hence we were not allowing some breakpoint regions which were actually
    valid. This fixes this error.

    Signed-off-by: Michael Neuling <mikey@neuling.org>
    Reported-by: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/powerpc/kernel/hw_breakpoint.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/powerpc/kernel/hw_breakpoint.c
    +++ b/arch/powerpc/kernel/hw_breakpoint.c
    @@ -176,7 +176,7 @@ int arch_validate_hwbkpt_settings(struct
    length_max = 512 ; /* 64 doublewords */
    /* DAWR region can't cross 512 boundary */
    if ((bp->attr.bp_addr >> 10) !=
    - ((bp->attr.bp_addr + bp->attr.bp_len) >> 10))
    + ((bp->attr.bp_addr + bp->attr.bp_len - 1) >> 10))
    return -EINVAL;
    }
    if (info->len >



    \
     
     \ /
      Last update: 2013-07-24 04:21    [W:9.185 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site