• Eric Anholt's avatar
    drm/vc4: Fix termination of the initial scan for branch targets. · dd0b0e22
    Eric Anholt authored
    commit 457e67a7 upstream.
    
    The loop is scanning until the original max_ip (size of the BO), but
    we want to not examine any code after the PROG_END's delay slots.
    There was a block trying to do that, except that we had some early
    continue statements if the signal wasn't a PROG_END or a BRANCH.
    
    The failure mode would be that a valid shader is rejected because some
    undefined memory after the PROG_END slots is parsed as a branch and
    the rest of its setup is illegal.  I haven't seen this in the wild,
    but valgrind was complaining when about this up in the userland
    simulator mode.
    Signed-off-by: default avatarEric Anholt <eric@anholt.net>
    Cc: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    dd0b0e22
vc4_validate_shaders.c 25.3 KB