Skip to content
  • Kulikov Vasiliy's avatar
    dma: dmatest: fix potential sign bug · b9033e68
    Kulikov Vasiliy authored
    'cnt' is unsigned, so this code may become wrong in future as
    dmatest_add_threads() can return error code:
    
    	cnt = dmatest_add_threads(dtc, DMA_MEMCPY);
    	thread_count += cnt > 0 ? cnt : 0;
    		        ^^^^^^^
    
    Now it can return only -EINVAL if and only if second argument of
    dmatest_add_threads() is not one of DMA_MEMCPY, DMA_XOR, DMA_PQ.
    So, now it is not wrong but may become wrong in future.
    
    The semantic patch that finds this problem (many false-positive results):
    (http://coccinelle.lip6.fr/
    
    )
    
    // <smpl>
    @ r1 @
    identifier f;
    @@
    int f(...) { ... }
    
    @@
    identifier r1.f;
    type T;
    unsigned T x;
    @@
    
    *x = f(...)
     ...
    *x > 0
    
    Signed-off-by: default avatarKulikov Vasiliy <segooon@gmail.com>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    b9033e68