• Damian Muszynski's avatar
    crypto: qat - fix error path in add_update_sla() · 6627f03c
    Damian Muszynski authored
    The input argument `sla_in` is a pointer to a structure that contains
    the parameters of the SLA which is being added or updated.
    If this pointer is NULL, the function should return an error as
    the data required for the algorithm is not available.
    By mistake, the logic jumps to the error path which dereferences
    the pointer.
    
    This results in a warnings reported by the static analyzer Smatch when
    executed without a database:
    
        drivers/crypto/intel/qat/qat_common/adf_rl.c:871 add_update_sla()
        error: we previously assumed 'sla_in' could be null (see line 812)
    
    This issue was not found in internal testing as the pointer cannot be
    NULL. The function add_update_sla() is only called (indirectly) by
    the rate limiting sysfs interface implementation in adf_sysfs_rl.c
    which ensures that the data structure is allocated and valid. This is
    also proven by the fact that Smatch executed with a database does not
    report such error.
    
    Fix it by returning with error if the pointer `sla_in` is NULL.
    
    Fixes: d9fb8408 ("crypto: qat - add rate limiting feature to qat_4xxx")
    Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: default avatarDamian Muszynski <damian.muszynski@intel.com>
    Reviewed-by: default avatarGiovanni Cabiddu <giovanni.cabiddu@intel.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    6627f03c
adf_rl.c 29.2 KB