• Giovanni Cabiddu's avatar
    Revert "crypto: qat - reduce size of mapped region" · 9c5f21b1
    Giovanni Cabiddu authored
    This reverts commit e48767c1.
    
    In an attempt to resolve a set of warnings reported by the static
    analyzer Smatch, the reverted commit improperly reduced the sizes of the
    DMA mappings used for the input and output parameters for both RSA and
    DH creating a mismatch (map size=8 bytes, unmap size=64 bytes).
    
    This issue is reported when CONFIG_DMA_API_DEBUG is selected, when the
    crypto self test is run. The function dma_unmap_single() reports a
    warning similar to the one below, saying that the `device driver frees
    DMA memory with different size`.
    
        DMA-API: 4xxx 0000:06:00.0: device driver frees DMA memory with different size [device address=0x0000000123206c80] [map size=8 bytes] [unmap size=64 bytes]
        WARNING: CPU: 0 PID: 0 at kernel/dma/debug.c:973 check_unmap+0x3d0/0x8c0\
        ...
        Call Trace:
        <IRQ>
        debug_dma_unmap_page+0x5c/0x60
        qat_dh_cb+0xd7/0x110 [intel_qat]
        qat_alg_asym_callback+0x1a/0x30 [intel_qat]
        adf_response_handler+0xbd/0x1a0 [intel_qat]
        tasklet_action_common.constprop.0+0xcd/0xe0
        __do_softirq+0xf8/0x30c
        __irq_exit_rcu+0xbf/0x140
        common_interrupt+0xb9/0xd0
        </IRQ>
        <TASK>
    
    The original commit was correct.
    
    Cc: <stable@vger.kernel.org>
    Reported-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarGiovanni Cabiddu <giovanni.cabiddu@intel.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    9c5f21b1
qat_asym_algs.c 31.9 KB