CC: [email protected] CC: [email protected] TO: Jakub Jelinek <[email protected]> CC: "Peter Zijlstra (Intel)" <[email protected]> CC: Andrew Morton <[email protected]> CC: Linux Memory Management List <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 5f53fa508db098c9d372423a6dac31c8a5679cdf commit: 2f78788b55baa3410b1ec91a576286abe1ad4d6a ilog2: improve ilog2 for constant arguments date: 11 months ago :::::: branch date: 20 hours ago :::::: commit date: 11 months ago config: i386-randconfig-m021-20211116 (https://download.01.org/0day-ci/archive/20211125/[email protected]/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/gpu/drm/i915/gem/selftests/huge_pages.c:187 fake_get_huge_pages() warn: should '1 << ((__builtin_constant_p((~0))) ?((((~0)) < 2) ?0:63 - __builtin_clzll((~0))):((4 <= 4)) ?__ilog2_u32((~0)):__ilog2_u64((~0)))' be a 64 bit type? Old smatch warnings: drivers/gpu/drm/i915/gem/i915_gem_object.h:127 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 119) vim +187 drivers/gpu/drm/i915/gem/selftests/huge_pages.c 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 183 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 184 static int fake_get_huge_pages(struct drm_i915_gem_object *obj) 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 185 { 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 186 struct drm_i915_private *i915 = to_i915(obj->base.dev); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 @187 const u64 max_len = rounddown_pow_of_two(UINT_MAX); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 188 struct sg_table *st; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 189 struct scatterlist *sg; 84e8978e62fea66 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-09 190 unsigned int sg_page_sizes; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 191 u64 rem; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 192 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 193 st = kmalloc(sizeof(*st), GFP); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 194 if (!st) 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 195 return -ENOMEM; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 196 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 197 if (sg_alloc_table(st, obj->base.size >> PAGE_SHIFT, GFP)) { 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 198 kfree(st); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 199 return -ENOMEM; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 200 } 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 201 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 202 /* Use optimal page sized chunks to fill in the sg table */ 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 203 rem = obj->base.size; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 204 sg = st->sgl; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 205 st->nents = 0; 84e8978e62fea66 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-09 206 sg_page_sizes = 0; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 207 do { 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 208 unsigned int page_size = get_largest_page_size(i915, rem); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 209 unsigned int len = min(page_size * div_u64(rem, page_size), 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 210 max_len); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 211 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 212 GEM_BUG_ON(!page_size); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 213 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 214 sg->offset = 0; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 215 sg->length = len; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 216 sg_dma_len(sg) = len; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 217 sg_dma_address(sg) = page_size; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 218 84e8978e62fea66 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-09 219 sg_page_sizes |= len; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 220 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 221 st->nents++; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 222 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 223 rem -= len; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 224 if (!rem) { 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 225 sg_mark_end(sg); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 226 break; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 227 } 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 228 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 229 sg = sg_next(sg); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 230 } while (1); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 231 c6d22ab61bfdeb9 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2018-09-20 232 i915_sg_trim(st); c6d22ab61bfdeb9 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2018-09-20 233 84e8978e62fea66 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-09 234 __i915_gem_object_set_pages(obj, st, sg_page_sizes); 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 235 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 236 return 0; 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 237 } 4049866f0913110 drivers/gpu/drm/i915/selftests/huge_pages.c Matthew Auld 2017-10-06 238 :::::: The code at line 187 was first introduced by commit :::::: 4049866f0913110bf7de597c1177de7a1cc459cb drm/i915/selftests: huge page tests :::::: TO: Matthew Auld <[email protected]> :::::: CC: Chris Wilson <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
