Hi "Christian, I love your patch! Perhaps something to improve: [auto build test WARNING on tegra-drm/drm/tegra/for-next] [also build test WARNING on v5.13] [cannot apply to linus/master next-20210709] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/dma-buf-fix-and-rework-dma_buf_poll-v5/20210708-192030 base: git://anongit.freedesktop.org/tegra/linux.git drm/tegra/for-next config: mips-randconfig-r032-20210709 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d69635ed9ecf36fd0ca85906bfde17949671cbe) 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 mips cross compiling tool for clang build # apt-get install binutils-mips-linux-gnu # https://github.com/0day-ci/linux/commit/07538f7542063f6043e1a5dab5f4aa572a091c96 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Christian-K-nig/dma-buf-fix-and-rework-dma_buf_poll-v5/20210708-192030 git checkout 07538f7542063f6043e1a5dab5f4aa572a091c96 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=mips SHELL=/bin/bash drivers/dma-buf/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> drivers/dma-buf/dma-buf.c:253:11: warning: unused variable 'shared_count' unsigned shared_count; ^ >> drivers/dma-buf/dma-buf.c:255:9: warning: unused variable 'i' int r, i; ^ >> drivers/dma-buf/dma-buf.c:255:6: warning: unused variable 'r' int r, i; ^ fatal error: error in backend: Nested variants found in inline asm string: ' .set push .set mips64r2 .if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/atomic.h", .line = 153, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif 1: ll $1, $2 # atomic_fetch_add addu $0, $1, $3 sc $0, $2 beqz $0, 1b .set pop move $0, $1 ' clang-13: error: clang frontend command failed with exit code 70 (use -v to see invocation) clang version 13.0.0 (git://gitmirror/llvm_project 8d69635ed9ecf36fd0ca85906bfde17949671cbe) Target: mipsel-unknown-linux-gnu Thread model: posix InstalledDir: /opt/cross/clang-8d69635ed9/bin clang-13: note: diagnostic msg: Makefile arch drivers include kernel mm scripts source usr vim +/shared_count +253 drivers/dma-buf/dma-buf.c 248 249 static __poll_t dma_buf_poll(struct file *file, poll_table *poll) 250 { 251 struct dma_buf *dmabuf; 252 struct dma_resv *resv; > 253 unsigned shared_count; 254 __poll_t events; > 255 int r, i; 256 257 dmabuf = file->private_data; 258 if (!dmabuf || !dmabuf->resv) 259 return EPOLLERR; 260 261 resv = dmabuf->resv; 262 263 poll_wait(file, &dmabuf->poll, poll); 264 265 events = poll_requested_events(poll) & (EPOLLIN | EPOLLOUT); 266 if (!events) 267 return 0; 268 269 dma_resv_lock(resv, NULL); 270 271 if (events & EPOLLOUT) { 272 struct dma_buf_poll_cb_t *dcb = &dmabuf->cb_out; 273 274 /* Check that callback isn't busy */ 275 spin_lock_irq(&dmabuf->poll.lock); 276 if (dcb->active) 277 events &= ~EPOLLOUT; 278 else 279 dcb->active = EPOLLOUT; 280 spin_unlock_irq(&dmabuf->poll.lock); 281 282 if (events & EPOLLOUT && !dma_buf_poll_shared(resv, dcb) && 283 !dma_buf_poll_excl(resv, dcb)) 284 /* No callback queued, wake up any other waiters */ 285 dma_buf_poll_cb(NULL, &dcb->cb); 286 } 287 288 if (events & EPOLLIN) { 289 struct dma_buf_poll_cb_t *dcb = &dmabuf->cb_in; 290 291 /* Check that callback isn't busy */ 292 spin_lock_irq(&dmabuf->poll.lock); 293 if (dcb->active) 294 events &= ~EPOLLIN; 295 else 296 dcb->active = EPOLLIN; 297 spin_unlock_irq(&dmabuf->poll.lock); 298 299 if (events & EPOLLIN && !dma_buf_poll_excl(resv, dcb)) 300 /* No callback queued, wake up any other waiters */ 301 dma_buf_poll_cb(NULL, &dcb->cb); 302 } 303 304 dma_resv_unlock(resv); 305 return events; 306 } 307 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip