* drivers/gpu/drm/etnaviv/etnaviv_dump.c:213 etnaviv_core_dump() warn: should - mem_map) + << 12' be a 64 bit
@ 2021-02-15 17:02 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-02-15 17:02 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 9704 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Mike Rapoport <rppt@linux.ibm.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f40ddce88593482919761f74910f42f4b84c004b
commit: 4bfc848e0981fcd35db00fe1c6581560689f6dc7 m68k/mm: enable use of generic memory_model.h for !DISCONTIGMEM
date: 9 weeks ago
:::::: branch date: 19 hours ago
:::::: commit date: 9 weeks ago
config: m68k-randconfig-m031-20210215 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/gpu/drm/etnaviv/etnaviv_dump.c:213 etnaviv_core_dump() warn: should '(((*pages++) - mem_map) + (m68k_memory[0]->addr)) << 12' be a 64 bit type?
vim +213 drivers/gpu/drm/etnaviv/etnaviv_dump.c
a8c21a5451d831 The etnaviv authors 2015-12-03 112
9a1fdae5876016 Lucas Stach 2019-08-09 113 void etnaviv_core_dump(struct etnaviv_gem_submit *submit)
a8c21a5451d831 The etnaviv authors 2015-12-03 114 {
9a1fdae5876016 Lucas Stach 2019-08-09 115 struct etnaviv_gpu *gpu = submit->gpu;
a8c21a5451d831 The etnaviv authors 2015-12-03 116 struct core_dump_iterator iter;
a8c21a5451d831 The etnaviv authors 2015-12-03 117 struct etnaviv_gem_object *obj;
a8c21a5451d831 The etnaviv authors 2015-12-03 118 unsigned int n_obj, n_bomap_pages;
a8c21a5451d831 The etnaviv authors 2015-12-03 119 size_t file_size, mmu_size;
a8c21a5451d831 The etnaviv authors 2015-12-03 120 __le64 *bomap, *bomap_start;
9a1fdae5876016 Lucas Stach 2019-08-09 121 int i;
a8c21a5451d831 The etnaviv authors 2015-12-03 122
6d7a20c0776036 Lucas Stach 2017-12-06 123 /* Only catch the first event, or when manually re-armed */
6d7a20c0776036 Lucas Stach 2017-12-06 124 if (!etnaviv_dump_core)
6d7a20c0776036 Lucas Stach 2017-12-06 125 return;
6d7a20c0776036 Lucas Stach 2017-12-06 126 etnaviv_dump_core = false;
6d7a20c0776036 Lucas Stach 2017-12-06 127
27b67278e007b5 Lucas Stach 2019-07-05 128 mutex_lock(&gpu->mmu_context->lock);
1396500d673bd0 Lucas Stach 2019-05-21 129
27b67278e007b5 Lucas Stach 2019-07-05 130 mmu_size = etnaviv_iommu_dump_size(gpu->mmu_context);
a8c21a5451d831 The etnaviv authors 2015-12-03 131
9a1fdae5876016 Lucas Stach 2019-08-09 132 /* We always dump registers, mmu, ring, hanging cmdbuf and end marker */
9a1fdae5876016 Lucas Stach 2019-08-09 133 n_obj = 5;
a8c21a5451d831 The etnaviv authors 2015-12-03 134 n_bomap_pages = 0;
a8c21a5451d831 The etnaviv authors 2015-12-03 135 file_size = ARRAY_SIZE(etnaviv_dump_registers) *
a8c21a5451d831 The etnaviv authors 2015-12-03 136 sizeof(struct etnaviv_dump_registers) +
9a1fdae5876016 Lucas Stach 2019-08-09 137 mmu_size + gpu->buffer.size + submit->cmdbuf.size;
a8c21a5451d831 The etnaviv authors 2015-12-03 138
a8c21a5451d831 The etnaviv authors 2015-12-03 139 /* Add in the active buffer objects */
9a1fdae5876016 Lucas Stach 2019-08-09 140 for (i = 0; i < submit->nr_bos; i++) {
9a1fdae5876016 Lucas Stach 2019-08-09 141 obj = submit->bos[i].obj;
a8c21a5451d831 The etnaviv authors 2015-12-03 142 file_size += obj->base.size;
a8c21a5451d831 The etnaviv authors 2015-12-03 143 n_bomap_pages += obj->base.size >> PAGE_SHIFT;
a8c21a5451d831 The etnaviv authors 2015-12-03 144 n_obj++;
a8c21a5451d831 The etnaviv authors 2015-12-03 145 }
a8c21a5451d831 The etnaviv authors 2015-12-03 146
a8c21a5451d831 The etnaviv authors 2015-12-03 147 /* If we have any buffer objects, add a bomap object */
a8c21a5451d831 The etnaviv authors 2015-12-03 148 if (n_bomap_pages) {
a8c21a5451d831 The etnaviv authors 2015-12-03 149 file_size += n_bomap_pages * sizeof(__le64);
a8c21a5451d831 The etnaviv authors 2015-12-03 150 n_obj++;
a8c21a5451d831 The etnaviv authors 2015-12-03 151 }
a8c21a5451d831 The etnaviv authors 2015-12-03 152
a8c21a5451d831 The etnaviv authors 2015-12-03 153 /* Add the size of the headers */
a8c21a5451d831 The etnaviv authors 2015-12-03 154 file_size += sizeof(*iter.hdr) * n_obj;
a8c21a5451d831 The etnaviv authors 2015-12-03 155
a8c21a5451d831 The etnaviv authors 2015-12-03 156 /* Allocate the file in vmalloc memory, it's likely to be big */
88dca4ca5a93d2 Christoph Hellwig 2020-06-01 157 iter.start = __vmalloc(file_size, GFP_KERNEL | __GFP_NOWARN |
88dca4ca5a93d2 Christoph Hellwig 2020-06-01 158 __GFP_NORETRY);
a8c21a5451d831 The etnaviv authors 2015-12-03 159 if (!iter.start) {
27b67278e007b5 Lucas Stach 2019-07-05 160 mutex_unlock(&gpu->mmu_context->lock);
a8c21a5451d831 The etnaviv authors 2015-12-03 161 dev_warn(gpu->dev, "failed to allocate devcoredump file\n");
a8c21a5451d831 The etnaviv authors 2015-12-03 162 return;
a8c21a5451d831 The etnaviv authors 2015-12-03 163 }
a8c21a5451d831 The etnaviv authors 2015-12-03 164
a8c21a5451d831 The etnaviv authors 2015-12-03 165 /* Point the data member after the headers */
a8c21a5451d831 The etnaviv authors 2015-12-03 166 iter.hdr = iter.start;
a8c21a5451d831 The etnaviv authors 2015-12-03 167 iter.data = &iter.hdr[n_obj];
a8c21a5451d831 The etnaviv authors 2015-12-03 168
a8c21a5451d831 The etnaviv authors 2015-12-03 169 memset(iter.hdr, 0, iter.data - iter.start);
a8c21a5451d831 The etnaviv authors 2015-12-03 170
a8c21a5451d831 The etnaviv authors 2015-12-03 171 etnaviv_core_dump_registers(&iter, gpu);
27b67278e007b5 Lucas Stach 2019-07-05 172 etnaviv_core_dump_mmu(&iter, gpu->mmu_context, mmu_size);
2f9225dbc09abe Lucas Stach 2017-11-24 173 etnaviv_core_dump_mem(&iter, ETDUMP_BUF_RING, gpu->buffer.vaddr,
2f9225dbc09abe Lucas Stach 2017-11-24 174 gpu->buffer.size,
db82a0435b8be3 Lucas Stach 2019-07-05 175 etnaviv_cmdbuf_get_va(&gpu->buffer,
17e4660ae3d7e1 Lucas Stach 2019-07-05 176 &gpu->mmu_context->cmdbuf_mapping));
2f9225dbc09abe Lucas Stach 2017-11-24 177
2f9225dbc09abe Lucas Stach 2017-11-24 178 etnaviv_core_dump_mem(&iter, ETDUMP_BUF_CMD,
2f9225dbc09abe Lucas Stach 2017-11-24 179 submit->cmdbuf.vaddr, submit->cmdbuf.size,
db82a0435b8be3 Lucas Stach 2019-07-05 180 etnaviv_cmdbuf_get_va(&submit->cmdbuf,
17e4660ae3d7e1 Lucas Stach 2019-07-05 181 &gpu->mmu_context->cmdbuf_mapping));
a8c21a5451d831 The etnaviv authors 2015-12-03 182
ca8cb69580236f Lucas Stach 2019-10-16 183 mutex_unlock(&gpu->mmu_context->lock);
ca8cb69580236f Lucas Stach 2019-10-16 184
a8c21a5451d831 The etnaviv authors 2015-12-03 185 /* Reserve space for the bomap */
a8c21a5451d831 The etnaviv authors 2015-12-03 186 if (n_bomap_pages) {
a8c21a5451d831 The etnaviv authors 2015-12-03 187 bomap_start = bomap = iter.data;
a8c21a5451d831 The etnaviv authors 2015-12-03 188 memset(bomap, 0, sizeof(*bomap) * n_bomap_pages);
a8c21a5451d831 The etnaviv authors 2015-12-03 189 etnaviv_core_dump_header(&iter, ETDUMP_BUF_BOMAP,
a8c21a5451d831 The etnaviv authors 2015-12-03 190 bomap + n_bomap_pages);
a8c21a5451d831 The etnaviv authors 2015-12-03 191 } else {
a8c21a5451d831 The etnaviv authors 2015-12-03 192 /* Silence warning */
a8c21a5451d831 The etnaviv authors 2015-12-03 193 bomap_start = bomap = NULL;
a8c21a5451d831 The etnaviv authors 2015-12-03 194 }
a8c21a5451d831 The etnaviv authors 2015-12-03 195
9a1fdae5876016 Lucas Stach 2019-08-09 196 for (i = 0; i < submit->nr_bos; i++) {
9a1fdae5876016 Lucas Stach 2019-08-09 197 struct etnaviv_vram_mapping *vram;
a8c21a5451d831 The etnaviv authors 2015-12-03 198 struct page **pages;
a8c21a5451d831 The etnaviv authors 2015-12-03 199 void *vaddr;
a8c21a5451d831 The etnaviv authors 2015-12-03 200
9a1fdae5876016 Lucas Stach 2019-08-09 201 obj = submit->bos[i].obj;
9a1fdae5876016 Lucas Stach 2019-08-09 202 vram = submit->bos[i].mapping;
a8c21a5451d831 The etnaviv authors 2015-12-03 203
339073ef77e45e Lucas Stach 2016-01-22 204 mutex_lock(&obj->lock);
a8c21a5451d831 The etnaviv authors 2015-12-03 205 pages = etnaviv_gem_get_pages(obj);
339073ef77e45e Lucas Stach 2016-01-22 206 mutex_unlock(&obj->lock);
f8261c376e7f8c Dan Carpenter 2019-01-14 207 if (!IS_ERR(pages)) {
a8c21a5451d831 The etnaviv authors 2015-12-03 208 int j;
a8c21a5451d831 The etnaviv authors 2015-12-03 209
a8c21a5451d831 The etnaviv authors 2015-12-03 210 iter.hdr->data[0] = bomap - bomap_start;
a8c21a5451d831 The etnaviv authors 2015-12-03 211
a8c21a5451d831 The etnaviv authors 2015-12-03 212 for (j = 0; j < obj->base.size >> PAGE_SHIFT; j++)
a8c21a5451d831 The etnaviv authors 2015-12-03 @213 *bomap++ = cpu_to_le64(page_to_phys(*pages++));
:::::: The code at line 213 was first introduced by commit
:::::: a8c21a5451d831e67b7a6fb910f9ca8bc7b43554 drm/etnaviv: add initial etnaviv DRM driver
:::::: TO: The etnaviv authors <dri-devel@lists.freedesktop.org>
:::::: CC: Lucas Stach <l.stach@pengutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 21702 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-02-15 17:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-15 17:02 drivers/gpu/drm/etnaviv/etnaviv_dump.c:213 etnaviv_core_dump() warn: should - mem_map) + << 12' be a 64 bit kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.