[android-goldfish:android-5.4 1/1] drivers/gpu/drm/ttm/ttm_bo_vm.c:276: undefined reference to `vmf_insert_mixed'
by kernel test robot
tree: https://android.googlesource.com/kernel/goldfish android-5.4
head: 7af30e526c2120f1f6ba4b5b19d683697e2c2833
commit: 7af30e526c2120f1f6ba4b5b19d683697e2c2833 [1/1] ANDROID: GKI: Add DRM_TTM config to GKI
config: arm-randconfig-r033-20200818 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 7af30e526c2120f1f6ba4b5b19d683697e2c2833
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arm-linux-gnueabi-ld: drivers/gpu/drm/ttm/ttm_bo_vm.o: in function `ttm_bo_vm_fault':
>> drivers/gpu/drm/ttm/ttm_bo_vm.c:276: undefined reference to `vmf_insert_mixed'
>> arm-linux-gnueabi-ld: drivers/gpu/drm/ttm/ttm_bo_vm.c:279: undefined reference to `vmf_insert_pfn'
git remote add android-goldfish https://android.googlesource.com/kernel/goldfish
git fetch --no-tags android-goldfish android-5.4
git checkout 7af30e526c2120f1f6ba4b5b19d683697e2c2833
vim +276 drivers/gpu/drm/ttm/ttm_bo_vm.c
c67fa6edc8b11a Tan Xiaojun 2017-12-25 108
4daa4fba3a3899 Souptick Joarder 2018-06-02 109 static vm_fault_t ttm_bo_vm_fault(struct vm_fault *vmf)
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 110 {
11bac80004499e Dave Jiang 2017-02-24 111 struct vm_area_struct *vma = vmf->vma;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 112 struct ttm_buffer_object *bo = (struct ttm_buffer_object *)
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 113 vma->vm_private_data;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 114 struct ttm_bo_device *bdev = bo->bdev;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 115 unsigned long page_offset;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 116 unsigned long page_last;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 117 unsigned long pfn;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 118 struct ttm_tt *ttm = NULL;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 119 struct page *page;
4daa4fba3a3899 Souptick Joarder 2018-06-02 120 int err;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 121 int i;
4daa4fba3a3899 Souptick Joarder 2018-06-02 122 vm_fault_t ret = VM_FAULT_NOPAGE;
1a29d85eb0f19b Jan Kara 2016-12-14 123 unsigned long address = vmf->address;
eba67093f53532 Thomas Hellstrom 2010-11-11 124 struct ttm_mem_type_manager *man =
eba67093f53532 Thomas Hellstrom 2010-11-11 125 &bdev->man[bo->mem.mem_type];
3943875e7b73fd Thomas Hellstrom 2013-11-06 126 struct vm_area_struct cvma;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 127
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 128 /*
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 129 * Work around locking order reversal in fault / nopfn
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 130 * between mmap_sem and bo_reserve: Perform a trylock operation
c58f009e01c918 Thomas Hellstrom 2013-11-14 131 * for reserve, and if it fails, retry the fault after waiting
c58f009e01c918 Thomas Hellstrom 2013-11-14 132 * for the buffer to become unreserved.
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 133 */
52791eeec1d9f4 Christian König 2019-08-11 134 if (unlikely(!dma_resv_trylock(bo->base.resv))) {
c58f009e01c918 Thomas Hellstrom 2013-11-14 135 if (vmf->flags & FAULT_FLAG_ALLOW_RETRY) {
c58f009e01c918 Thomas Hellstrom 2013-11-14 136 if (!(vmf->flags & FAULT_FLAG_RETRY_NOWAIT)) {
8129fdad387ae3 Thomas Zimmermann 2018-06-21 137 ttm_bo_get(bo);
11bac80004499e Dave Jiang 2017-02-24 138 up_read(&vmf->vma->vm_mm->mmap_sem);
c58f009e01c918 Thomas Hellstrom 2013-11-14 139 (void) ttm_bo_wait_unreserved(bo);
f44907593d746d Thomas Zimmermann 2018-06-21 140 ttm_bo_put(bo);
c58f009e01c918 Thomas Hellstrom 2013-11-14 141 }
c58f009e01c918 Thomas Hellstrom 2013-11-14 142
c58f009e01c918 Thomas Hellstrom 2013-11-14 143 return VM_FAULT_RETRY;
c58f009e01c918 Thomas Hellstrom 2013-11-14 144 }
c58f009e01c918 Thomas Hellstrom 2013-11-14 145
c58f009e01c918 Thomas Hellstrom 2013-11-14 146 /*
c58f009e01c918 Thomas Hellstrom 2013-11-14 147 * If we'd want to change locking order to
c58f009e01c918 Thomas Hellstrom 2013-11-14 148 * mmap_sem -> bo::reserve, we'd use a blocking reserve here
c58f009e01c918 Thomas Hellstrom 2013-11-14 149 * instead of retrying the fault...
c58f009e01c918 Thomas Hellstrom 2013-11-14 150 */
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 151 return VM_FAULT_NOPAGE;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 152 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 153
667a50db0477d4 Thomas Hellstrom 2014-01-03 154 /*
667a50db0477d4 Thomas Hellstrom 2014-01-03 155 * Refuse to fault imported pages. This should be handled
667a50db0477d4 Thomas Hellstrom 2014-01-03 156 * (if at all) by redirecting mmap to the exporter.
667a50db0477d4 Thomas Hellstrom 2014-01-03 157 */
667a50db0477d4 Thomas Hellstrom 2014-01-03 158 if (bo->ttm && (bo->ttm->page_flags & TTM_PAGE_FLAG_SG)) {
de8dfb8e3449c7 Tom St Denis 2018-01-26 159 ret = VM_FAULT_SIGBUS;
667a50db0477d4 Thomas Hellstrom 2014-01-03 160 goto out_unlock;
667a50db0477d4 Thomas Hellstrom 2014-01-03 161 }
667a50db0477d4 Thomas Hellstrom 2014-01-03 162
82c5da6bf8b55a Jerome Glisse 2010-04-09 163 if (bdev->driver->fault_reserve_notify) {
5d50fcbda7b0ac Christian König 2019-01-11 164 struct dma_fence *moving = dma_fence_get(bo->moving);
5d50fcbda7b0ac Christian König 2019-01-11 165
4daa4fba3a3899 Souptick Joarder 2018-06-02 166 err = bdev->driver->fault_reserve_notify(bo);
4daa4fba3a3899 Souptick Joarder 2018-06-02 167 switch (err) {
82c5da6bf8b55a Jerome Glisse 2010-04-09 168 case 0:
82c5da6bf8b55a Jerome Glisse 2010-04-09 169 break;
82c5da6bf8b55a Jerome Glisse 2010-04-09 170 case -EBUSY:
82c5da6bf8b55a Jerome Glisse 2010-04-09 171 case -ERESTARTSYS:
de8dfb8e3449c7 Tom St Denis 2018-01-26 172 ret = VM_FAULT_NOPAGE;
82c5da6bf8b55a Jerome Glisse 2010-04-09 173 goto out_unlock;
82c5da6bf8b55a Jerome Glisse 2010-04-09 174 default:
de8dfb8e3449c7 Tom St Denis 2018-01-26 175 ret = VM_FAULT_SIGBUS;
82c5da6bf8b55a Jerome Glisse 2010-04-09 176 goto out_unlock;
82c5da6bf8b55a Jerome Glisse 2010-04-09 177 }
5d50fcbda7b0ac Christian König 2019-01-11 178
5d50fcbda7b0ac Christian König 2019-01-11 179 if (bo->moving != moving) {
5d50fcbda7b0ac Christian König 2019-01-11 180 spin_lock(&bdev->glob->lru_lock);
5d50fcbda7b0ac Christian König 2019-01-11 181 ttm_bo_move_to_lru_tail(bo, NULL);
5d50fcbda7b0ac Christian König 2019-01-11 182 spin_unlock(&bdev->glob->lru_lock);
5d50fcbda7b0ac Christian König 2019-01-11 183 }
5d50fcbda7b0ac Christian König 2019-01-11 184 dma_fence_put(moving);
82c5da6bf8b55a Jerome Glisse 2010-04-09 185 }
e024e11070a0a0 Dave Airlie 2009-06-24 186
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 187 /*
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 188 * Wait for buffer data in transit, due to a pipelined
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 189 * move.
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 190 */
11bac80004499e Dave Jiang 2017-02-24 191 ret = ttm_bo_vm_fault_idle(bo, vmf);
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 192 if (unlikely(ret != 0)) {
de8dfb8e3449c7 Tom St Denis 2018-01-26 193 if (ret == VM_FAULT_RETRY &&
3089c1df10e293 Nicolai Hähnle 2017-02-18 194 !(vmf->flags & FAULT_FLAG_RETRY_NOWAIT)) {
3089c1df10e293 Nicolai Hähnle 2017-02-18 195 /* The BO has already been unreserved. */
de8dfb8e3449c7 Tom St Denis 2018-01-26 196 return ret;
3089c1df10e293 Nicolai Hähnle 2017-02-18 197 }
3089c1df10e293 Nicolai Hähnle 2017-02-18 198
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 199 goto out_unlock;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 200 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 201
4daa4fba3a3899 Souptick Joarder 2018-06-02 202 err = ttm_mem_io_lock(man, true);
4daa4fba3a3899 Souptick Joarder 2018-06-02 203 if (unlikely(err != 0)) {
de8dfb8e3449c7 Tom St Denis 2018-01-26 204 ret = VM_FAULT_NOPAGE;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 205 goto out_unlock;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 206 }
4daa4fba3a3899 Souptick Joarder 2018-06-02 207 err = ttm_mem_io_reserve_vm(bo);
4daa4fba3a3899 Souptick Joarder 2018-06-02 208 if (unlikely(err != 0)) {
de8dfb8e3449c7 Tom St Denis 2018-01-26 209 ret = VM_FAULT_SIGBUS;
eba67093f53532 Thomas Hellstrom 2010-11-11 210 goto out_io_unlock;
eba67093f53532 Thomas Hellstrom 2010-11-11 211 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 212
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 213 page_offset = ((address - vma->vm_start) >> PAGE_SHIFT) +
b96f3e7c8069b7 Gerd Hoffmann 2019-08-05 214 vma->vm_pgoff - drm_vma_node_start(&bo->base.vma_node);
d386735588c3e2 Thomas Hellstrom 2013-12-08 215 page_last = vma_pages(vma) + vma->vm_pgoff -
b96f3e7c8069b7 Gerd Hoffmann 2019-08-05 216 drm_vma_node_start(&bo->base.vma_node);
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 217
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 218 if (unlikely(page_offset >= bo->num_pages)) {
de8dfb8e3449c7 Tom St Denis 2018-01-26 219 ret = VM_FAULT_SIGBUS;
eba67093f53532 Thomas Hellstrom 2010-11-11 220 goto out_io_unlock;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 221 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 222
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 223 /*
3943875e7b73fd Thomas Hellstrom 2013-11-06 224 * Make a local vma copy to modify the page_prot member
3943875e7b73fd Thomas Hellstrom 2013-11-06 225 * and vm_flags if necessary. The vma parameter is protected
3943875e7b73fd Thomas Hellstrom 2013-11-06 226 * by mmap_sem in write mode.
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 227 */
3943875e7b73fd Thomas Hellstrom 2013-11-06 228 cvma = *vma;
3943875e7b73fd Thomas Hellstrom 2013-11-06 229 cvma.vm_page_prot = vm_get_page_prot(cvma.vm_flags);
3943875e7b73fd Thomas Hellstrom 2013-11-06 230
82c5da6bf8b55a Jerome Glisse 2010-04-09 231 if (bo->mem.bus.is_iomem) {
3943875e7b73fd Thomas Hellstrom 2013-11-06 232 cvma.vm_page_prot = ttm_io_prot(bo->mem.placement,
3943875e7b73fd Thomas Hellstrom 2013-11-06 233 cvma.vm_page_prot);
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 234 } else {
d0cef9fa4411eb Roger He 2017-12-21 235 struct ttm_operation_ctx ctx = {
d0cef9fa4411eb Roger He 2017-12-21 236 .interruptible = false,
aa7662b67bf6f5 Roger He 2018-01-17 237 .no_wait_gpu = false,
aa7662b67bf6f5 Roger He 2018-01-17 238 .flags = TTM_OPT_FLAG_FORCE_ALLOC
aa7662b67bf6f5 Roger He 2018-01-17 239
d0cef9fa4411eb Roger He 2017-12-21 240 };
d0cef9fa4411eb Roger He 2017-12-21 241
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 242 ttm = bo->ttm;
3943875e7b73fd Thomas Hellstrom 2013-11-06 243 cvma.vm_page_prot = ttm_io_prot(bo->mem.placement,
3943875e7b73fd Thomas Hellstrom 2013-11-06 244 cvma.vm_page_prot);
b1e5f172325547 Jerome Glisse 2011-11-02 245
b1e5f172325547 Jerome Glisse 2011-11-02 246 /* Allocate all page at once, most common usage */
25893a14c938d5 Christian König 2018-02-01 247 if (ttm_tt_populate(ttm, &ctx)) {
de8dfb8e3449c7 Tom St Denis 2018-01-26 248 ret = VM_FAULT_OOM;
b1e5f172325547 Jerome Glisse 2011-11-02 249 goto out_io_unlock;
b1e5f172325547 Jerome Glisse 2011-11-02 250 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 251 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 252
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 253 /*
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 254 * Speculatively prefault a number of pages. Only error on
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 255 * first page.
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 256 */
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 257 for (i = 0; i < TTM_BO_VM_NUM_PREFAULT; ++i) {
95cf9264d5f36c Tom Lendacky 2017-07-17 258 if (bo->mem.bus.is_iomem) {
95cf9264d5f36c Tom Lendacky 2017-07-17 259 /* Iomem should not be marked encrypted */
95cf9264d5f36c Tom Lendacky 2017-07-17 260 cvma.vm_page_prot = pgprot_decrypted(cvma.vm_page_prot);
c67fa6edc8b11a Tan Xiaojun 2017-12-25 261 pfn = ttm_bo_io_mem_pfn(bo, page_offset);
95cf9264d5f36c Tom Lendacky 2017-07-17 262 } else {
b1e5f172325547 Jerome Glisse 2011-11-02 263 page = ttm->pages[page_offset];
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 264 if (unlikely(!page && i == 0)) {
de8dfb8e3449c7 Tom St Denis 2018-01-26 265 ret = VM_FAULT_OOM;
eba67093f53532 Thomas Hellstrom 2010-11-11 266 goto out_io_unlock;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 267 } else if (unlikely(!page)) {
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 268 break;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 269 }
b96f3e7c8069b7 Gerd Hoffmann 2019-08-05 270 page->index = drm_vma_node_start(&bo->base.vma_node) +
58aa6622d32af7 Thomas Hellstrom 2014-01-03 271 page_offset;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 272 pfn = page_to_pfn(page);
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 273 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 274
7dfe8b6187f43d Thomas Hellstrom 2014-01-03 275 if (vma->vm_flags & VM_MIXEDMAP)
4daa4fba3a3899 Souptick Joarder 2018-06-02 @276 ret = vmf_insert_mixed(&cvma, address,
01c8f1c44b83a0 Dan Williams 2016-01-15 277 __pfn_to_pfn_t(pfn, PFN_DEV));
7dfe8b6187f43d Thomas Hellstrom 2014-01-03 278 else
4daa4fba3a3899 Souptick Joarder 2018-06-02 @279 ret = vmf_insert_pfn(&cvma, address, pfn);
7dfe8b6187f43d Thomas Hellstrom 2014-01-03 280
941f2f72dbbe0c Thomas Hellstrom 2019-09-12 281 /* Never error on prefaulted PTEs */
941f2f72dbbe0c Thomas Hellstrom 2019-09-12 282 if (unlikely((ret & VM_FAULT_ERROR))) {
941f2f72dbbe0c Thomas Hellstrom 2019-09-12 283 if (i == 0)
eba67093f53532 Thomas Hellstrom 2010-11-11 284 goto out_io_unlock;
941f2f72dbbe0c Thomas Hellstrom 2019-09-12 285 else
941f2f72dbbe0c Thomas Hellstrom 2019-09-12 286 break;
941f2f72dbbe0c Thomas Hellstrom 2019-09-12 287 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 288
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 289 address += PAGE_SIZE;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 290 if (unlikely(++page_offset >= page_last))
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 291 break;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 292 }
de8dfb8e3449c7 Tom St Denis 2018-01-26 293 ret = VM_FAULT_NOPAGE;
eba67093f53532 Thomas Hellstrom 2010-11-11 294 out_io_unlock:
eba67093f53532 Thomas Hellstrom 2010-11-11 295 ttm_mem_io_unlock(man);
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 296 out_unlock:
52791eeec1d9f4 Christian König 2019-08-11 297 dma_resv_unlock(bo->base.resv);
de8dfb8e3449c7 Tom St Denis 2018-01-26 298 return ret;
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 299 }
ba4e7d973dd09b Thomas Hellstrom 2009-06-10 300
:::::: The code at line 276 was first introduced by commit
:::::: 4daa4fba3a3899a3eefff26e38cf680661a931e4 gpu: drm: ttm: Adding new return type vm_fault_t
:::::: TO: Souptick Joarder <jrdr.linux(a)gmail.com>
:::::: CC: Alex Deucher <alexander.deucher(a)amd.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
arch/powerpc/include/asm/reg.h:1376:17: sparse: sparse: context imbalance in 'serial8250_console_write' - wrong count at exit
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: b020aa9d1e875c1c91b1390acdf42320e7060d84 powerpc: cleanup hw_irq.h
date: 9 months ago
config: powerpc64-randconfig-s031-20200818 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-180-g49f7e13a-dirty
git checkout b020aa9d1e875c1c91b1390acdf42320e7060d84
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/tty/serial/8250/8250_port.c: note: in included file (through include/linux/io.h, include/linux/irq.h, arch/powerpc/include/asm/hardirq.h, ...):
arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
arch/powerpc/include/asm/io.h:150:1: sparse: sparse: dereference of noderef expression
arch/powerpc/include/asm/io.h:145:1: sparse: sparse: dereference of noderef expression
drivers/tty/serial/8250/8250_port.c: note: in included file (through arch/powerpc/include/asm/processor.h, arch/powerpc/include/asm/thread_info.h, include/linux/thread_info.h, ...):
>> arch/powerpc/include/asm/reg.h:1376:17: sparse: sparse: context imbalance in 'serial8250_console_write' - wrong count at exit
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b020aa9d1e875c1c91b1390acdf42320e7060d84
vim +/serial8250_console_write +1376 arch/powerpc/include/asm/reg.h
1359
1360 #define mfspr(rn) ({unsigned long rval; \
1361 asm volatile("mfspr %0," __stringify(rn) \
1362 : "=r" (rval)); rval;})
1363 #ifndef mtspr
1364 #define mtspr(rn, v) asm volatile("mtspr " __stringify(rn) ",%0" : \
1365 : "r" ((unsigned long)(v)) \
1366 : "memory")
1367 #endif
1368 #define wrtspr(rn) asm volatile("mtspr " __stringify(rn) ",0" : \
1369 : : "memory")
1370
1371 static inline void wrtee(unsigned long val)
1372 {
1373 if (__builtin_constant_p(val))
1374 asm volatile("wrteei %0" : : "i" ((val & MSR_EE) ? 1 : 0) : "memory");
1375 else
> 1376 asm volatile("wrtee %0" : : "r" (val) : "memory");
1377 }
1378
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[jlayton:ceph-fscache-iter 7/12] fs/ceph/file.c:1224:34: error: use of undeclared identifier 'FSCACHE_INVAL_DIO_WRITE'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git ceph-fscache-iter
head: 0b5b4a5acf80bbc571fb75bcf516e7cc5180883a
commit: d0e53fb99e7e1379daa7cb9437e679b41a4b5217 [7/12] ceph: conversion to new fscache API
config: x86_64-randconfig-a002-20200818 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 790878f291fa5dc58a1c560cb6cc76fd1bfd1c5a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout d0e53fb99e7e1379daa7cb9437e679b41a4b5217
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> fs/ceph/file.c:1224:34: error: use of undeclared identifier 'FSCACHE_INVAL_DIO_WRITE'
ceph_fscache_invalidate(inode, FSCACHE_INVAL_DIO_WRITE);
^
1 error generated.
# https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git/commit/...
git remote add jlayton https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git
git fetch --no-tags jlayton ceph-fscache-iter
git checkout d0e53fb99e7e1379daa7cb9437e679b41a4b5217
vim +/FSCACHE_INVAL_DIO_WRITE +1224 fs/ceph/file.c
1190
1191 static ssize_t
1192 ceph_direct_read_write(struct kiocb *iocb, struct iov_iter *iter,
1193 struct ceph_snap_context *snapc,
1194 struct ceph_cap_flush **pcf)
1195 {
1196 struct file *file = iocb->ki_filp;
1197 struct inode *inode = file_inode(file);
1198 struct ceph_inode_info *ci = ceph_inode(inode);
1199 struct ceph_fs_client *fsc = ceph_inode_to_client(inode);
1200 struct ceph_client_metric *metric = &fsc->mdsc->metric;
1201 struct ceph_vino vino;
1202 struct ceph_osd_request *req;
1203 struct bio_vec *bvecs;
1204 struct ceph_aio_request *aio_req = NULL;
1205 int num_pages = 0;
1206 int flags;
1207 int ret = 0;
1208 struct timespec64 mtime = current_time(inode);
1209 size_t count = iov_iter_count(iter);
1210 loff_t pos = iocb->ki_pos;
1211 bool write = iov_iter_rw(iter) == WRITE;
1212 bool should_dirty = !write && iter_is_iovec(iter);
1213
1214 if (write && ceph_snap(file_inode(file)) != CEPH_NOSNAP)
1215 return -EROFS;
1216
1217 dout("sync_direct_%s on file %p %lld~%u snapc %p seq %lld\n",
1218 (write ? "write" : "read"), file, pos, (unsigned)count,
1219 snapc, snapc ? snapc->seq : 0);
1220
1221 if (write) {
1222 int ret2;
1223
> 1224 ceph_fscache_invalidate(inode, FSCACHE_INVAL_DIO_WRITE);
1225
1226 ret2 = invalidate_inode_pages2_range(inode->i_mapping,
1227 pos >> PAGE_SHIFT,
1228 (pos + count - 1) >> PAGE_SHIFT);
1229 if (ret2 < 0)
1230 dout("invalidate_inode_pages2_range returned %d\n", ret2);
1231
1232 flags = /* CEPH_OSD_FLAG_ORDERSNAP | */ CEPH_OSD_FLAG_WRITE;
1233 } else {
1234 flags = CEPH_OSD_FLAG_READ;
1235 }
1236
1237 while (iov_iter_count(iter) > 0) {
1238 u64 size = iov_iter_count(iter);
1239 ssize_t len;
1240
1241 if (write)
1242 size = min_t(u64, size, fsc->mount_options->wsize);
1243 else
1244 size = min_t(u64, size, fsc->mount_options->rsize);
1245
1246 vino = ceph_vino(inode);
1247 req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
1248 vino, pos, &size, 0,
1249 1,
1250 write ? CEPH_OSD_OP_WRITE :
1251 CEPH_OSD_OP_READ,
1252 flags, snapc,
1253 ci->i_truncate_seq,
1254 ci->i_truncate_size,
1255 false);
1256 if (IS_ERR(req)) {
1257 ret = PTR_ERR(req);
1258 break;
1259 }
1260
1261 len = iter_get_bvecs_alloc(iter, size, &bvecs, &num_pages);
1262 if (len < 0) {
1263 ceph_osdc_put_request(req);
1264 ret = len;
1265 break;
1266 }
1267 if (len != size)
1268 osd_req_op_extent_update(req, 0, len);
1269
1270 /*
1271 * To simplify error handling, allow AIO when IO within i_size
1272 * or IO can be satisfied by single OSD request.
1273 */
1274 if (pos == iocb->ki_pos && !is_sync_kiocb(iocb) &&
1275 (len == count || pos + count <= i_size_read(inode))) {
1276 aio_req = kzalloc(sizeof(*aio_req), GFP_KERNEL);
1277 if (aio_req) {
1278 aio_req->iocb = iocb;
1279 aio_req->write = write;
1280 aio_req->should_dirty = should_dirty;
1281 INIT_LIST_HEAD(&aio_req->osd_reqs);
1282 if (write) {
1283 aio_req->mtime = mtime;
1284 swap(aio_req->prealloc_cf, *pcf);
1285 }
1286 }
1287 /* ignore error */
1288 }
1289
1290 if (write) {
1291 /*
1292 * throw out any page cache pages in this range. this
1293 * may block.
1294 */
1295 truncate_inode_pages_range(inode->i_mapping, pos,
1296 PAGE_ALIGN(pos + len) - 1);
1297
1298 req->r_mtime = mtime;
1299 }
1300
1301 osd_req_op_extent_osd_data_bvecs(req, 0, bvecs, num_pages, len);
1302
1303 if (aio_req) {
1304 aio_req->total_len += len;
1305 aio_req->num_reqs++;
1306 atomic_inc(&aio_req->pending_reqs);
1307
1308 req->r_callback = ceph_aio_complete_req;
1309 req->r_inode = inode;
1310 req->r_priv = aio_req;
1311 list_add_tail(&req->r_private_item, &aio_req->osd_reqs);
1312
1313 pos += len;
1314 continue;
1315 }
1316
1317 ret = ceph_osdc_start_request(req->r_osdc, req, false);
1318 if (!ret)
1319 ret = ceph_osdc_wait_request(&fsc->client->osdc, req);
1320
1321 if (write)
1322 ceph_update_write_latency(metric, req->r_start_latency,
1323 req->r_end_latency, ret);
1324 else
1325 ceph_update_read_latency(metric, req->r_start_latency,
1326 req->r_end_latency, ret);
1327
1328 size = i_size_read(inode);
1329 if (!write) {
1330 if (ret == -ENOENT)
1331 ret = 0;
1332 if (ret >= 0 && ret < len && pos + ret < size) {
1333 struct iov_iter i;
1334 int zlen = min_t(size_t, len - ret,
1335 size - pos - ret);
1336
1337 iov_iter_bvec(&i, READ, bvecs, num_pages, len);
1338 iov_iter_advance(&i, ret);
1339 iov_iter_zero(zlen, &i);
1340 ret += zlen;
1341 }
1342 if (ret >= 0)
1343 len = ret;
1344 }
1345
1346 put_bvecs(bvecs, num_pages, should_dirty);
1347 ceph_osdc_put_request(req);
1348 if (ret < 0)
1349 break;
1350
1351 pos += len;
1352 if (!write && pos >= size)
1353 break;
1354
1355 if (write && pos > size) {
1356 if (ceph_inode_set_size(inode, pos))
1357 ceph_check_caps(ceph_inode(inode),
1358 CHECK_CAPS_AUTHONLY,
1359 NULL);
1360 }
1361 }
1362
1363 if (aio_req) {
1364 LIST_HEAD(osd_reqs);
1365
1366 if (aio_req->num_reqs == 0) {
1367 kfree(aio_req);
1368 return ret;
1369 }
1370
1371 ceph_get_cap_refs(ci, write ? CEPH_CAP_FILE_WR :
1372 CEPH_CAP_FILE_RD);
1373
1374 list_splice(&aio_req->osd_reqs, &osd_reqs);
1375 inode_dio_begin(inode);
1376 while (!list_empty(&osd_reqs)) {
1377 req = list_first_entry(&osd_reqs,
1378 struct ceph_osd_request,
1379 r_private_item);
1380 list_del_init(&req->r_private_item);
1381 if (ret >= 0)
1382 ret = ceph_osdc_start_request(req->r_osdc,
1383 req, false);
1384 if (ret < 0) {
1385 req->r_result = ret;
1386 ceph_aio_complete_req(req);
1387 }
1388 }
1389 return -EIOCBQUEUED;
1390 }
1391
1392 if (ret != -EOLDSNAPC && pos > iocb->ki_pos) {
1393 ret = pos - iocb->ki_pos;
1394 iocb->ki_pos = pos;
1395 }
1396 return ret;
1397 }
1398
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
arch/mips/include/asm/mach-loongson64/topology.h:7:27: error: implicit declaration of function 'cpu_logical_map'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: 02fce139fd14d3b0126f0a72e8c0a83b5b01f9f5 Merge tag 'mips_fixes_5.4_3' into mips-next
date: 10 months ago
config: mips-randconfig-r033-20200818 (attached as .config)
compiler: mips64el-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 02fce139fd14d3b0126f0a72e8c0a83b5b01f9f5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/mips/include/asm/topology.h:11,
from include/linux/topology.h:36,
from include/linux/gfp.h:9,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from include/crypto/hash.h:11,
from include/linux/uio.h:10,
from include/linux/socket.h:8,
from include/linux/compat.h:15,
from arch/mips/kernel/asm-offsets.c:12:
include/linux/topology.h: In function 'numa_node_id':
>> arch/mips/include/asm/mach-loongson64/topology.h:7:27: error: implicit declaration of function 'cpu_logical_map' [-Werror=implicit-function-declaration]
7 | #define cpu_to_node(cpu) (cpu_logical_map(cpu) >> 2)
| ^~~~~~~~~~~~~~~
include/linux/topology.h:119:9: note: in expansion of macro 'cpu_to_node'
119 | return cpu_to_node(raw_smp_processor_id());
| ^~~~~~~~~~~
arch/mips/kernel/asm-offsets.c: At top level:
arch/mips/kernel/asm-offsets.c:26:6: warning: no previous prototype for 'output_ptreg_defines' [-Wmissing-prototypes]
26 | void output_ptreg_defines(void)
| ^~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:78:6: warning: no previous prototype for 'output_task_defines' [-Wmissing-prototypes]
78 | void output_task_defines(void)
| ^~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:93:6: warning: no previous prototype for 'output_thread_info_defines' [-Wmissing-prototypes]
93 | void output_thread_info_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:110:6: warning: no previous prototype for 'output_thread_defines' [-Wmissing-prototypes]
110 | void output_thread_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:138:6: warning: no previous prototype for 'output_thread_fpu_defines' [-Wmissing-prototypes]
138 | void output_thread_fpu_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:181:6: warning: no previous prototype for 'output_mm_defines' [-Wmissing-prototypes]
181 | void output_mm_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:242:6: warning: no previous prototype for 'output_sc_defines' [-Wmissing-prototypes]
242 | void output_sc_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:255:6: warning: no previous prototype for 'output_signal_defined' [-Wmissing-prototypes]
255 | void output_signal_defined(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:322:6: warning: no previous prototype for 'output_pbe_defines' [-Wmissing-prototypes]
322 | void output_pbe_defines(void)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:348:6: warning: no previous prototype for 'output_kvm_defines' [-Wmissing-prototypes]
348 | void output_kvm_defines(void)
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:99: arch/mips/kernel/asm-offsets.s] Error 1
make[2]: Target 'missing-syscalls' not remade because of errors.
make[1]: *** [arch/mips/Makefile:418: archprepare] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:179: sub-make] Error 2
make: Target 'prepare' not remade because of errors.
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 02fce139fd14d3b0126f0a72e8c0a83b5b01f9f5
vim +/cpu_logical_map +7 arch/mips/include/asm/mach-loongson64/topology.h
c46173183657bb arch/mips/include/asm/mach-loongson/topology.h Huacai Chen 2014-06-26 6
ec0f8d3fbb7ea1 arch/mips/include/asm/mach-loongson/topology.h Huacai Chen 2014-11-04 @7 #define cpu_to_node(cpu) (cpu_logical_map(cpu) >> 2)
1bdb7b76705a38 arch/mips/include/asm/mach-loongson64/topology.h Jiaxun Yang 2019-10-20 8
:::::: The code at line 7 was first introduced by commit
:::::: ec0f8d3fbb7ea12cfd10083e340381b96e7c34f8 MIPS: Loongson: Allow booting from any core
:::::: TO: Huacai Chen <chenhc(a)lemote.com>
:::::: CC: Ralf Baechle <ralf(a)linux-mips.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[chrome-os:chromeos-5.4 32/59] arch/x86/include/asm/jump_label.h:25:9: sparse: sparse: context imbalance in 'nohz_newidle_balance' - unexpected unlock
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 08f8d1398111d6717028218f58d8c7e228ef4d15
commit: e76f44b723928dfde31f8b46af3fae56bfd0d508 [32/59] FROMLIST: sched: Core-wide rq->lock
config: x86_64-randconfig-s022-20200818 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-180-g49f7e13a-dirty
git checkout e76f44b723928dfde31f8b46af3fae56bfd0d508
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/sched/fair.c:5377:1: sparse: sparse: symbol '__pcpu_scope_load_balance_mask' was not declared. Should it be static?
kernel/sched/fair.c:5378:1: sparse: sparse: symbol '__pcpu_scope_select_idle_mask' was not declared. Should it be static?
kernel/sched/fair.c:6408:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/fair.c:6408:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:6408:20: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:6555:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/fair.c:6555:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:6555:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:7943:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] <asn:4> *child @@
kernel/sched/fair.c:7943:40: sparse: expected struct sched_domain *child
kernel/sched/fair.c:7943:40: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:9336:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/fair.c:9336:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:9336:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:8995:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/fair.c:8995:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:8995:44: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:9414:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/fair.c:9414:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:9414:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:10013:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/fair.c:10013:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10013:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:5796:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] <asn:4> *child @@
kernel/sched/fair.c:5796:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:5796:28: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:5802:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] <asn:4> *child @@
kernel/sched/fair.c:5802:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:5802:28: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:5809:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] <asn:4> *child @@
kernel/sched/fair.c:5809:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:5809:28: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:5817:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/fair.c:5817:17: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:5817:17: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:7985:41: sparse: sparse: dereference of noderef expression
kernel/sched/fair.c:8363:45: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] <asn:4> *child @@
kernel/sched/fair.c:8363:45: sparse: expected struct sched_domain *child
kernel/sched/fair.c:8363:45: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:9463:1: sparse: sparse: context imbalance in 'rebalance_domains' - different lock contexts for basic block
kernel/sched/fair.c: note: in included file (through include/linux/jump_label.h, include/linux/static_key.h, arch/x86/include/asm/nospec-branch.h, ...):
>> arch/x86/include/asm/jump_label.h:25:9: sparse: sparse: context imbalance in 'nohz_newidle_balance' - unexpected unlock
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout e76f44b723928dfde31f8b46af3fae56bfd0d508
vim +/nohz_newidle_balance +25 arch/x86/include/asm/jump_label.h
2671c3e4fe2a34 Andy Lutomirski 2015-11-12 22
11276d5306b8e5 Peter Zijlstra 2015-07-24 23 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
d430d3d7e646eb Jason Baron 2011-03-16 24 {
e769742d35841a Ingo Molnar 2018-12-19 @25 asm_volatile_goto("1:"
e769742d35841a Ingo Molnar 2018-12-19 26 ".byte " __stringify(STATIC_KEY_INIT_NOP) "\n\t"
e769742d35841a Ingo Molnar 2018-12-19 27 ".pushsection __jump_table, \"aw\" \n\t"
e769742d35841a Ingo Molnar 2018-12-19 28 _ASM_ALIGN "\n\t"
e769742d35841a Ingo Molnar 2018-12-19 29 ".long 1b - ., %l[l_yes] - . \n\t"
e769742d35841a Ingo Molnar 2018-12-19 30 _ASM_PTR "%c0 + %c1 - .\n\t"
e769742d35841a Ingo Molnar 2018-12-19 31 ".popsection \n\t"
d420acd816c07c Peter Zijlstra 2015-08-12 32 : : "i" (key), "i" (branch) : : l_yes);
e769742d35841a Ingo Molnar 2018-12-19 33
11276d5306b8e5 Peter Zijlstra 2015-07-24 34 return false;
11276d5306b8e5 Peter Zijlstra 2015-07-24 35 l_yes:
11276d5306b8e5 Peter Zijlstra 2015-07-24 36 return true;
11276d5306b8e5 Peter Zijlstra 2015-07-24 37 }
11276d5306b8e5 Peter Zijlstra 2015-07-24 38
:::::: The code at line 25 was first introduced by commit
:::::: e769742d35841a8198dd6af94e2931083abdee08 Revert "x86/jump-labels: Macrofy inline assembly code to work around GCC inlining bugs"
:::::: TO: Ingo Molnar <mingo(a)kernel.org>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/scsi/sg.c:1145 sg_ioctl_common() warn: inconsistent returns 'sfp->rq_list_lock'.
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: d320a9551e394cb2d842fd32d28e9805c2a18fbb compat_ioctl: scsi: move ioctl handling into drivers
date: 8 months ago
config: ia64-randconfig-m031-20200818 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
drivers/scsi/sg.c:1145 sg_ioctl_common() warn: inconsistent returns 'sfp->rq_list_lock'.
Old smatch warnings:
drivers/scsi/sg.c:1094 sg_ioctl_common() warn: inconsistent indenting
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d320a9551e394cb2d842fd32d28e9805c2a18fbb
vim +1145 drivers/scsi/sg.c
912
913 static long
914 sg_ioctl_common(struct file *filp, Sg_device *sdp, Sg_fd *sfp,
915 unsigned int cmd_in, void __user *p)
916 {
917 int __user *ip = p;
918 int result, val, read_only;
919 Sg_request *srp;
920 unsigned long iflags;
921
922 SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp,
923 "sg_ioctl: cmd=0x%x\n", (int) cmd_in));
924 read_only = (O_RDWR != (filp->f_flags & O_ACCMODE));
925
926 switch (cmd_in) {
927 case SG_IO:
928 if (atomic_read(&sdp->detaching))
929 return -ENODEV;
930 if (!scsi_block_when_processing_errors(sdp->device))
931 return -ENXIO;
932 result = sg_new_write(sfp, filp, p, SZ_SG_IO_HDR,
933 1, read_only, 1, &srp);
934 if (result < 0)
935 return result;
936 result = wait_event_interruptible(sfp->read_wait,
937 (srp_done(sfp, srp) || atomic_read(&sdp->detaching)));
938 if (atomic_read(&sdp->detaching))
939 return -ENODEV;
940 write_lock_irq(&sfp->rq_list_lock);
941 if (srp->done) {
942 srp->done = 2;
943 write_unlock_irq(&sfp->rq_list_lock);
944 result = sg_new_read(sfp, p, SZ_SG_IO_HDR, srp);
945 return (result < 0) ? result : 0;
946 }
947 srp->orphan = 1;
948 write_unlock_irq(&sfp->rq_list_lock);
949 return result; /* -ERESTARTSYS because signal hit process */
950 case SG_SET_TIMEOUT:
951 result = get_user(val, ip);
952 if (result)
953 return result;
954 if (val < 0)
955 return -EIO;
956 if (val >= mult_frac((s64)INT_MAX, USER_HZ, HZ))
957 val = min_t(s64, mult_frac((s64)INT_MAX, USER_HZ, HZ),
958 INT_MAX);
959 sfp->timeout_user = val;
960 sfp->timeout = mult_frac(val, HZ, USER_HZ);
961
962 return 0;
963 case SG_GET_TIMEOUT: /* N.B. User receives timeout as return value */
964 /* strange ..., for backward compatibility */
965 return sfp->timeout_user;
966 case SG_SET_FORCE_LOW_DMA:
967 /*
968 * N.B. This ioctl never worked properly, but failed to
969 * return an error value. So returning '0' to keep compability
970 * with legacy applications.
971 */
972 return 0;
973 case SG_GET_LOW_DMA:
974 return put_user((int) sdp->device->host->unchecked_isa_dma, ip);
975 case SG_GET_SCSI_ID:
976 {
977 sg_scsi_id_t v;
978
979 if (atomic_read(&sdp->detaching))
980 return -ENODEV;
981 memset(&v, 0, sizeof(v));
982 v.host_no = sdp->device->host->host_no;
983 v.channel = sdp->device->channel;
984 v.scsi_id = sdp->device->id;
985 v.lun = sdp->device->lun;
986 v.scsi_type = sdp->device->type;
987 v.h_cmd_per_lun = sdp->device->host->cmd_per_lun;
988 v.d_queue_depth = sdp->device->queue_depth;
989 if (copy_to_user(p, &v, sizeof(sg_scsi_id_t)))
990 return -EFAULT;
991 return 0;
992 }
993 case SG_SET_FORCE_PACK_ID:
994 result = get_user(val, ip);
995 if (result)
996 return result;
997 sfp->force_packid = val ? 1 : 0;
998 return 0;
999 case SG_GET_PACK_ID:
1000 read_lock_irqsave(&sfp->rq_list_lock, iflags);
1001 list_for_each_entry(srp, &sfp->rq_list, entry) {
1002 if ((1 == srp->done) && (!srp->sg_io_owned)) {
1003 read_unlock_irqrestore(&sfp->rq_list_lock,
1004 iflags);
1005 return put_user(srp->header.pack_id, ip);
1006 }
1007 }
1008 read_unlock_irqrestore(&sfp->rq_list_lock, iflags);
1009 return put_user(-1, ip);
1010 case SG_GET_NUM_WAITING:
1011 read_lock_irqsave(&sfp->rq_list_lock, iflags);
1012 val = 0;
1013 list_for_each_entry(srp, &sfp->rq_list, entry) {
1014 if ((1 == srp->done) && (!srp->sg_io_owned))
1015 ++val;
1016 }
1017 read_unlock_irqrestore(&sfp->rq_list_lock, iflags);
1018 return put_user(val, ip);
1019 case SG_GET_SG_TABLESIZE:
1020 return put_user(sdp->sg_tablesize, ip);
1021 case SG_SET_RESERVED_SIZE:
1022 result = get_user(val, ip);
1023 if (result)
1024 return result;
1025 if (val < 0)
1026 return -EINVAL;
1027 val = min_t(int, val,
1028 max_sectors_bytes(sdp->device->request_queue));
1029 mutex_lock(&sfp->f_mutex);
1030 if (val != sfp->reserve.bufflen) {
1031 if (sfp->mmap_called ||
1032 sfp->res_in_use) {
1033 mutex_unlock(&sfp->f_mutex);
1034 return -EBUSY;
1035 }
1036
1037 sg_remove_scat(sfp, &sfp->reserve);
1038 sg_build_reserve(sfp, val);
1039 }
1040 mutex_unlock(&sfp->f_mutex);
1041 return 0;
1042 case SG_GET_RESERVED_SIZE:
1043 val = min_t(int, sfp->reserve.bufflen,
1044 max_sectors_bytes(sdp->device->request_queue));
1045 return put_user(val, ip);
1046 case SG_SET_COMMAND_Q:
1047 result = get_user(val, ip);
1048 if (result)
1049 return result;
1050 sfp->cmd_q = val ? 1 : 0;
1051 return 0;
1052 case SG_GET_COMMAND_Q:
1053 return put_user((int) sfp->cmd_q, ip);
1054 case SG_SET_KEEP_ORPHAN:
1055 result = get_user(val, ip);
1056 if (result)
1057 return result;
1058 sfp->keep_orphan = val;
1059 return 0;
1060 case SG_GET_KEEP_ORPHAN:
1061 return put_user((int) sfp->keep_orphan, ip);
1062 case SG_NEXT_CMD_LEN:
1063 result = get_user(val, ip);
1064 if (result)
1065 return result;
1066 if (val > SG_MAX_CDB_SIZE)
1067 return -ENOMEM;
1068 sfp->next_cmd_len = (val > 0) ? val : 0;
1069 return 0;
1070 case SG_GET_VERSION_NUM:
1071 return put_user(sg_version_num, ip);
1072 case SG_GET_ACCESS_COUNT:
1073 /* faked - we don't have a real access count anymore */
1074 val = (sdp->device ? 1 : 0);
1075 return put_user(val, ip);
1076 case SG_GET_REQUEST_TABLE:
1077 {
1078 sg_req_info_t *rinfo;
1079
1080 rinfo = kcalloc(SG_MAX_QUEUE, SZ_SG_REQ_INFO,
1081 GFP_KERNEL);
1082 if (!rinfo)
1083 return -ENOMEM;
1084 read_lock_irqsave(&sfp->rq_list_lock, iflags);
1085 sg_fill_request_table(sfp, rinfo);
1086 read_unlock_irqrestore(&sfp->rq_list_lock, iflags);
1087 #ifdef CONFIG_COMPAT
1088 if (in_compat_syscall())
1089 result = put_compat_request_table(p, rinfo);
1090 else
1091 #endif
1092 result = copy_to_user(p, rinfo,
1093 SZ_SG_REQ_INFO * SG_MAX_QUEUE);
1094 result = result ? -EFAULT : 0;
1095 kfree(rinfo);
1096 return result;
1097 }
1098 case SG_EMULATED_HOST:
1099 if (atomic_read(&sdp->detaching))
1100 return -ENODEV;
1101 return put_user(sdp->device->host->hostt->emulated, ip);
1102 case SCSI_IOCTL_SEND_COMMAND:
1103 if (atomic_read(&sdp->detaching))
1104 return -ENODEV;
1105 return sg_scsi_ioctl(sdp->device->request_queue, NULL, filp->f_mode, p);
1106 case SG_SET_DEBUG:
1107 result = get_user(val, ip);
1108 if (result)
1109 return result;
1110 sdp->sgdebug = (char) val;
1111 return 0;
1112 case BLKSECTGET:
1113 return put_user(max_sectors_bytes(sdp->device->request_queue),
1114 ip);
1115 case BLKTRACESETUP:
1116 return blk_trace_setup(sdp->device->request_queue,
1117 sdp->disk->disk_name,
1118 MKDEV(SCSI_GENERIC_MAJOR, sdp->index),
1119 NULL, p);
1120 case BLKTRACESTART:
1121 return blk_trace_startstop(sdp->device->request_queue, 1);
1122 case BLKTRACESTOP:
1123 return blk_trace_startstop(sdp->device->request_queue, 0);
1124 case BLKTRACETEARDOWN:
1125 return blk_trace_remove(sdp->device->request_queue);
1126 case SCSI_IOCTL_GET_IDLUN:
1127 case SCSI_IOCTL_GET_BUS_NUMBER:
1128 case SCSI_IOCTL_PROBE_HOST:
1129 case SG_GET_TRANSFORM:
1130 case SG_SCSI_RESET:
1131 if (atomic_read(&sdp->detaching))
1132 return -ENODEV;
1133 break;
1134 default:
1135 if (read_only)
1136 return -EPERM; /* don't know so take safe approach */
1137 break;
1138 }
1139
1140 result = scsi_ioctl_block_when_processing_errors(sdp->device,
1141 cmd_in, filp->f_flags & O_NDELAY);
1142 if (result)
1143 return result;
1144
> 1145 return -ENOIOCTLCMD;
1146 }
1147
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[joro:sev-es-client-tip-5.9 49/76] arch/x86/kernel/sev-es.c:594:1: warning: no previous prototype for function 'ist_exc_vmm_communication'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git sev-es-client-tip-5.9
head: 7e2e0f5fb47e16dec0e6b81ce2ee36abb4c28eb9
commit: d77c36d3ce62e768feca12a9e9d2a8ddef7be2f8 [49/76] x86/sev-es: Add Runtime #VC Exception Handler
config: x86_64-randconfig-r002-20200818 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 790878f291fa5dc58a1c560cb6cc76fd1bfd1c5a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout d77c36d3ce62e768feca12a9e9d2a8ddef7be2f8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/x86/kernel/sev-es.c:594:1: warning: no previous prototype for function 'ist_exc_vmm_communication' [-Wmissing-prototypes]
DEFINE_IDTENTRY_VC_IST(exc_vmm_communication)
^
arch/x86/include/asm/idtentry.h:380:32: note: expanded from macro 'DEFINE_IDTENTRY_VC_IST'
DEFINE_IDTENTRY_RAW_ERRORCODE(ist_##func)
^
<scratch space>:270:1: note: expanded from here
ist_exc_vmm_communication
^
arch/x86/kernel/sev-es.c:594:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/x86/include/asm/idtentry.h:380:2: note: expanded from macro 'DEFINE_IDTENTRY_VC_IST'
DEFINE_IDTENTRY_RAW_ERRORCODE(ist_##func)
^
arch/x86/include/asm/idtentry.h:167:19: note: expanded from macro 'DEFINE_IDTENTRY_RAW_ERRORCODE'
__visible noinstr void func(struct pt_regs *regs, unsigned long error_code)
^
1 warning generated.
# https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git/commit/?id...
git remote add joro https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git
git fetch --no-tags joro sev-es-client-tip-5.9
git checkout d77c36d3ce62e768feca12a9e9d2a8ddef7be2f8
vim +/ist_exc_vmm_communication +594 arch/x86/kernel/sev-es.c
592
593 /* This handler runs on the #VC fall-back stack. It can cause further #VC exceptions */
> 594 DEFINE_IDTENTRY_VC_IST(exc_vmm_communication)
595 {
596 instrumentation_begin();
597 panic("Can't handle #VC exception from unsupported context\n");
598 instrumentation_end();
599 }
600
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[hch-misc:dma_alloc_pages 17/17] kernel/dma/mapping.c:545 dma_alloc_pages() error: uninitialized symbol 'vaddr'.
by kernel test robot
tree: git://git.infradead.org/users/hch/misc.git dma_alloc_pages
head: ebfa77e612f8650cb120011030b7a9e951ebee56
commit: ebfa77e612f8650cb120011030b7a9e951ebee56 [17/17] dma-mapping: replace DMA_ATTR_NON_CONSISTENT with dma_{alloc,free}_pages
config: i386-randconfig-m021-20200818 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
kernel/dma/mapping.c:545 dma_alloc_pages() error: uninitialized symbol 'vaddr'.
git remote add hch-misc git://git.infradead.org/users/hch/misc.git
git fetch --no-tags hch-misc dma_alloc_pages
git checkout ebfa77e612f8650cb120011030b7a9e951ebee56
vim +/vaddr +545 kernel/dma/mapping.c
524
525 void *dma_alloc_pages(struct device *dev, size_t size, dma_addr_t *dma_handle,
526 gfp_t gfp)
527 {
528 const struct dma_map_ops *ops = get_dma_ops(dev);
529 void *vaddr;
530
531 if (WARN_ON_ONCE(!dev->coherent_dma_mask))
532 return NULL;
533 if (WARN_ON_ONCE(gfp & (__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM |
534 __GFP_COMP)))
535 return NULL;
536
537 size = PAGE_ALIGN(size);
538 if (dma_alloc_direct(dev, ops))
539 vaddr = dma_direct_alloc_pages(dev, size, dma_handle, gfp);
540 else if (ops->alloc_pages)
541 vaddr = ops->alloc_pages(dev, size, dma_handle, gfp);
542 else
543 dma_simple_alloc_pages(dev, size, dma_handle, gfp);
544
> 545 return vaddr;
546 }
547 EXPORT_SYMBOL_GPL(dma_alloc_pages);
548
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[drm-tip:drm-tip 5/10] drivers/gpu/drm/qxl/qxl_display.c:187:2: error: implicit declaration of function 'drm_drv_uses_atomic_modeset'
by kernel test robot
tree: git://anongit.freedesktop.org/drm/drm-tip drm-tip
head: d6cb40f33c1b213c96924b8fb68db613862fc2c5
commit: a012dc947ede8d940b6f79de96429af04a9360c4 [5/10] Merge remote-tracking branch 'drm-misc/drm-misc-next' into drm-tip
config: x86_64-randconfig-a016-20200817 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project de71b46a519db014ce906a39f8a0e1b235ef1568)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout a012dc947ede8d940b6f79de96429af04a9360c4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/qxl/qxl_display.c:187:2: error: implicit declaration of function 'drm_drv_uses_atomic_modeset' [-Werror,-Wimplicit-function-declaration]
DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
^
include/drm/drm_modeset_lock.h:167:7: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
if (!drm_drv_uses_atomic_modeset(dev)) \
^
>> drivers/gpu/drm/qxl/qxl_display.c:189:35: error: too few arguments provided to function-like macro invocation
DRM_MODESET_LOCK_ALL_END(ctx, ret);
^
include/drm/drm_modeset_lock.h:194:9: note: macro 'DRM_MODESET_LOCK_ALL_END' defined here
#define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret) \
^
>> drivers/gpu/drm/qxl/qxl_display.c:189:2: error: use of undeclared identifier 'DRM_MODESET_LOCK_ALL_END'
DRM_MODESET_LOCK_ALL_END(ctx, ret);
^
>> drivers/gpu/drm/qxl/qxl_display.c:187:2: error: use of undeclared label 'modeset_lock_fail'
DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
^
include/drm/drm_modeset_lock.h:173:8: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
goto modeset_lock_fail;
^
drivers/gpu/drm/qxl/qxl_display.c:411:2: error: implicit declaration of function 'drm_drv_uses_atomic_modeset' [-Werror,-Wimplicit-function-declaration]
DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
^
include/drm/drm_modeset_lock.h:167:7: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
if (!drm_drv_uses_atomic_modeset(dev)) \
^
drivers/gpu/drm/qxl/qxl_display.c:434:35: error: too few arguments provided to function-like macro invocation
DRM_MODESET_LOCK_ALL_END(ctx, ret);
^
include/drm/drm_modeset_lock.h:194:9: note: macro 'DRM_MODESET_LOCK_ALL_END' defined here
#define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret) \
^
drivers/gpu/drm/qxl/qxl_display.c:434:2: error: use of undeclared identifier 'DRM_MODESET_LOCK_ALL_END'
DRM_MODESET_LOCK_ALL_END(ctx, ret);
^
drivers/gpu/drm/qxl/qxl_display.c:411:2: error: use of undeclared label 'modeset_lock_fail'
DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
^
include/drm/drm_modeset_lock.h:173:8: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
goto modeset_lock_fail;
^
8 errors generated.
git remote add drm-tip git://anongit.freedesktop.org/drm/drm-tip
git fetch --no-tags drm-tip drm-tip
git checkout a012dc947ede8d940b6f79de96429af04a9360c4
vim +/drm_drv_uses_atomic_modeset +187 drivers/gpu/drm/qxl/qxl_display.c
7dea0941f8806e Dave Airlie 2014-10-28 161
f64122c1f6ade3 Dave Airlie 2013-02-25 162 void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
f64122c1f6ade3 Dave Airlie 2013-02-25 163 {
cbdded7f8a633e Gabriel Krisman Bertazi 2017-01-26 164 struct drm_device *dev = &qdev->ddev;
bbaac1354cc984 Sidong Yang 2020-05-24 165 struct drm_modeset_acquire_ctx ctx;
bbaac1354cc984 Sidong Yang 2020-05-24 166 int status, retries, ret;
9e3b317839298a Christophe Fergeau 2016-11-08 167
9062155de0dfdc Gerd Hoffmann 2017-03-01 168 for (retries = 0; retries < 10; retries++) {
9e3b317839298a Christophe Fergeau 2016-11-08 169 status = qxl_display_copy_rom_client_monitors_config(qdev);
9062155de0dfdc Gerd Hoffmann 2017-03-01 170 if (status != MONITORS_CONFIG_BAD_CRC)
9062155de0dfdc Gerd Hoffmann 2017-03-01 171 break;
9062155de0dfdc Gerd Hoffmann 2017-03-01 172 udelay(5);
9062155de0dfdc Gerd Hoffmann 2017-03-01 173 }
66e0c8a5bcfd29 Anton Vasilyev 2018-07-27 174 if (status == MONITORS_CONFIG_ERROR) {
66e0c8a5bcfd29 Anton Vasilyev 2018-07-27 175 DRM_DEBUG_KMS("ignoring client monitors config: error");
66e0c8a5bcfd29 Anton Vasilyev 2018-07-27 176 return;
66e0c8a5bcfd29 Anton Vasilyev 2018-07-27 177 }
9062155de0dfdc Gerd Hoffmann 2017-03-01 178 if (status == MONITORS_CONFIG_BAD_CRC) {
9062155de0dfdc Gerd Hoffmann 2017-03-01 179 DRM_DEBUG_KMS("ignoring client monitors config: bad crc");
9062155de0dfdc Gerd Hoffmann 2017-03-01 180 return;
9e3b317839298a Christophe Fergeau 2016-11-08 181 }
9e3b317839298a Christophe Fergeau 2016-11-08 182 if (status == MONITORS_CONFIG_UNCHANGED) {
9062155de0dfdc Gerd Hoffmann 2017-03-01 183 DRM_DEBUG_KMS("ignoring client monitors config: unchanged");
9e3b317839298a Christophe Fergeau 2016-11-08 184 return;
f64122c1f6ade3 Dave Airlie 2013-02-25 185 }
4fdb086924db46 Marc-André Lureau 2013-10-18 186
bbaac1354cc984 Sidong Yang 2020-05-24 @187 DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
7dea0941f8806e Dave Airlie 2014-10-28 188 qxl_update_offset_props(qdev);
bbaac1354cc984 Sidong Yang 2020-05-24 @189 DRM_MODESET_LOCK_ALL_END(ctx, ret);
cbdded7f8a633e Gabriel Krisman Bertazi 2017-01-26 190 if (!drm_helper_hpd_irq_event(dev)) {
4fdb086924db46 Marc-André Lureau 2013-10-18 191 /* notify that the monitor configuration changed, to
4fdb086924db46 Marc-André Lureau 2013-10-18 192 adjust at the arbitrary resolution */
cbdded7f8a633e Gabriel Krisman Bertazi 2017-01-26 193 drm_kms_helper_hotplug_event(dev);
4fdb086924db46 Marc-André Lureau 2013-10-18 194 }
f64122c1f6ade3 Dave Airlie 2013-02-25 195 }
f64122c1f6ade3 Dave Airlie 2013-02-25 196
:::::: The code at line 187 was first introduced by commit
:::::: bbaac1354cc98415e5b4c3830d796c583ca71907 drm/qxl: Replace deprecated function in qxl_display
:::::: TO: Sidong Yang <realwakka(a)gmail.com>
:::::: CC: Gerd Hoffmann <kraxel(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month