== Series Details == Series: Fixes integer overflow or integer truncation issues in page lookups, ttm place configuration and scatterlist creation (rev3) URL : https://patchwork.freedesktop.org/series/104704/ State : warning == Summary == Error: dim checkpatch failed a9f2e87eee8d drm: Move and add a few utility macros into drm util header 6d3ba3e26e48 drm/i915/gem: Typecheck page lookups -:89: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects? #89: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:374: +#define __i915_gem_object_get_sg(obj, it, n, offset) ({ \ + exactly_pgoff_t(n); \ + (__i915_gem_object_get_sg)(obj, it, n, offset); \ +}) -:104: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects? #104: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:386: +#define i915_gem_object_get_sg(obj, n, offset) ({ \ + exactly_pgoff_t(n); \ + (i915_gem_object_get_sg)(obj, n, offset); \ +}) -:119: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects? #119: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:398: +#define i915_gem_object_get_sg_dma(obj, n, offset) ({ \ + exactly_pgoff_t(n); \ + (i915_gem_object_get_sg_dma)(obj, n, offset); \ +}) -:129: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects? #129: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:406: +#define i915_gem_object_get_page(obj, n) ({ \ + exactly_pgoff_t(n); \ + (i915_gem_object_get_page)(obj, n); \ +}) -:139: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects? #139: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:414: +#define i915_gem_object_get_dirty_page(obj, n) ({ \ + exactly_pgoff_t(n); \ + (i915_gem_object_get_dirty_page)(obj, n); \ +}) -:150: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects? #150: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:423: +#define i915_gem_object_get_dma_address_len(obj, n, len) ({ \ + exactly_pgoff_t(n); \ + (i915_gem_object_get_dma_address_len)(obj, n, len); \ +}) -:160: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects? #160: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:431: +#define i915_gem_object_get_dma_address(obj, n) ({ \ + exactly_pgoff_t(n); \ + (i915_gem_object_get_dma_address)(obj, n); \ +}) total: 0 errors, 0 warnings, 7 checks, 391 lines checked 26cca639bed5 drm/i915: Check for integer truncation on scatterlist creation -:199: WARNING:NEW_TYPEDEFS: do not add new typedefs #199: FILE: drivers/gpu/drm/i915/i915_scatterlist.h:222: +typedef unsigned int __sg_size_t; /* see linux/scatterlist.h */ -:200: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #200: FILE: drivers/gpu/drm/i915/i915_scatterlist.h:223: +#define sg_alloc_table(sgt, nents, gfp) \ + overflows_type(nents, __sg_size_t) ? -E2BIG : (sg_alloc_table)(sgt, (__sg_size_t)(nents), gfp) -:200: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'nents' - possible side-effects? #200: FILE: drivers/gpu/drm/i915/i915_scatterlist.h:223: +#define sg_alloc_table(sgt, nents, gfp) \ + overflows_type(nents, __sg_size_t) ? -E2BIG : (sg_alloc_table)(sgt, (__sg_size_t)(nents), gfp) -:201: WARNING:LONG_LINE: line length of 102 exceeds 100 columns #201: FILE: drivers/gpu/drm/i915/i915_scatterlist.h:224: + overflows_type(nents, __sg_size_t) ? -E2BIG : (sg_alloc_table)(sgt, (__sg_size_t)(nents), gfp) -:203: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #203: FILE: drivers/gpu/drm/i915/i915_scatterlist.h:226: +#define sg_alloc_table_from_pages_segment(sgt, pages, npages, offset, size, max_segment, gfp) \ + overflows_type(npages, __sg_size_t) ? -E2BIG : (sg_alloc_table_from_pages_segment)(sgt, pages, (__sg_size_t)(npages), offset, size, max_segment, gfp) -:203: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'npages' - possible side-effects? #203: FILE: drivers/gpu/drm/i915/i915_scatterlist.h:226: +#define sg_alloc_table_from_pages_segment(sgt, pages, npages, offset, size, max_segment, gfp) \ + overflows_type(npages, __sg_size_t) ? -E2BIG : (sg_alloc_table_from_pages_segment)(sgt, pages, (__sg_size_t)(npages), offset, size, max_segment, gfp) -:204: WARNING:LONG_LINE: line length of 157 exceeds 100 columns #204: FILE: drivers/gpu/drm/i915/i915_scatterlist.h:227: + overflows_type(npages, __sg_size_t) ? -E2BIG : (sg_alloc_table_from_pages_segment)(sgt, pages, (__sg_size_t)(npages), offset, size, max_segment, gfp) total: 2 errors, 3 warnings, 2 checks, 123 lines checked 97ac44a48866 drm/i915: Check for integer truncation on the configuration of ttm place -:33: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ptr' - possible side-effects? #33: FILE: drivers/gpu/drm/i915/gem/i915_gem_ttm.c:140: +#define SAFE_CONVERSION(ptr, value) ({ \ + if (!safe_conversion(ptr, value)) { \ + GEM_BUG_ON(overflows_type(value, *ptr)); \ + } \ +}) -:33: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'value' - possible side-effects? #33: FILE: drivers/gpu/drm/i915/gem/i915_gem_ttm.c:140: +#define SAFE_CONVERSION(ptr, value) ({ \ + if (!safe_conversion(ptr, value)) { \ + GEM_BUG_ON(overflows_type(value, *ptr)); \ + } \ +}) -:66: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ptr' - possible side-effects? #66: FILE: drivers/gpu/drm/i915/intel_region_ttm.c:205: +#define SAFE_CONVERSION(ptr, value) ({ \ + if (!safe_conversion(ptr, value)) { \ + GEM_BUG_ON(overflows_type(value, *ptr)); \ + ret = -E2BIG; \ + goto out; \ + } \ +}) -:66: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'value' - possible side-effects? #66: FILE: drivers/gpu/drm/i915/intel_region_ttm.c:205: +#define SAFE_CONVERSION(ptr, value) ({ \ + if (!safe_conversion(ptr, value)) { \ + GEM_BUG_ON(overflows_type(value, *ptr)); \ + ret = -E2BIG; \ + goto out; \ + } \ +}) -:66: WARNING:MACRO_WITH_FLOW_CONTROL: Macros with flow control statements should be avoided #66: FILE: drivers/gpu/drm/i915/intel_region_ttm.c:205: +#define SAFE_CONVERSION(ptr, value) ({ \ + if (!safe_conversion(ptr, value)) { \ + GEM_BUG_ON(overflows_type(value, *ptr)); \ + ret = -E2BIG; \ + goto out; \ + } \ +}) total: 0 errors, 1 warnings, 4 checks, 65 lines checked 312aff1f2799 drm/i915: Check if the size is too big while creating shmem file af0e92722339 drm/i915: Use error code as -E2BIG when the size of gem ttm object is too large -:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #11: to add vma. The direct function that returns -ENOSPC is drm_mm_insert_node_in_range(). total: 0 errors, 1 warnings, 0 checks, 17 lines checked 9ed7d10f87ba drm/i915: Remove truncation warning for large objects