* [pinchartl-media:media/drm/dpsub/next 5/14] drivers/dma/xilinx/xilinx_dpdma.c:389 xilinx_dpdma_debugfs_read() warn: maybe return -EFAULT instead of the bytes remaining?
@ 2020-03-12 13:56 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2020-03-12 13:56 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 3580 bytes --]
tree: git://linuxtv.org/pinchartl/media.git media/drm/dpsub/next
head: fc1d178201c64a7b0106f84de5503eead44c0586
commit: efaa5ceddb7bdb19307a215e8ec207ded1c87474 [5/14] dmaengine: xilinx: dpdma: Add debugfs support
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/dma/xilinx/xilinx_dpdma.c:389 xilinx_dpdma_debugfs_read() warn: maybe return -EFAULT instead of the bytes remaining?
git remote add pinchartl-media git://linuxtv.org/pinchartl/media.git
git remote update pinchartl-media
git checkout efaa5ceddb7bdb19307a215e8ec207ded1c87474
vim +389 drivers/dma/xilinx/xilinx_dpdma.c
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 357 static ssize_t xilinx_dpdma_debugfs_read(struct file *f, char __user *buf,
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 358 size_t size, loff_t *pos)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 359 {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 360 enum xilinx_dpdma_testcases testcase;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 361 char *kern_buff;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 362 int ret;
ret = 0;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 363
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 364 if (*pos != 0 || size <= 0)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 365 return -EINVAL;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 366
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 367 kern_buff = kzalloc(XILINX_DPDMA_DEBUGFS_READ_MAX_SIZE, GFP_KERNEL);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 368 if (!kern_buff) {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 369 dpdma_debugfs.testcase = DPDMA_TC_NONE;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 370 return -ENOMEM;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 371 }
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 372
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 373 testcase = READ_ONCE(dpdma_debugfs.testcase);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 374 if (testcase != DPDMA_TC_NONE) {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 375 ret = dpdma_debugfs_reqs[testcase].read(kern_buff);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 376 if (ret < 0)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 377 goto done;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 378 } else {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 379 strlcpy(kern_buff, "No testcase executed",
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 380 XILINX_DPDMA_DEBUGFS_READ_MAX_SIZE);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 381 }
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 382
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 383 size = min(size, strlen(kern_buff));
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 384 ret = copy_to_user(buf, kern_buff, size);
if (copy_to_user(buf, kern_buff, size))
ret = -EFAULT;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 385
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 386 done:
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 387 kfree(kern_buff);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 388 if (ret)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 @389 return ret;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 390
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 391 *pos = size + 1;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 392 return size;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 393 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pinchartl-media:media/drm/dpsub/next 5/14] drivers/dma/xilinx/xilinx_dpdma.c:389 xilinx_dpdma_debugfs_read() warn: maybe return -EFAULT instead of the bytes remaining?
@ 2020-03-12 13:56 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2020-03-12 13:56 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3580 bytes --]
tree: git://linuxtv.org/pinchartl/media.git media/drm/dpsub/next
head: fc1d178201c64a7b0106f84de5503eead44c0586
commit: efaa5ceddb7bdb19307a215e8ec207ded1c87474 [5/14] dmaengine: xilinx: dpdma: Add debugfs support
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/dma/xilinx/xilinx_dpdma.c:389 xilinx_dpdma_debugfs_read() warn: maybe return -EFAULT instead of the bytes remaining?
git remote add pinchartl-media git://linuxtv.org/pinchartl/media.git
git remote update pinchartl-media
git checkout efaa5ceddb7bdb19307a215e8ec207ded1c87474
vim +389 drivers/dma/xilinx/xilinx_dpdma.c
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 357 static ssize_t xilinx_dpdma_debugfs_read(struct file *f, char __user *buf,
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 358 size_t size, loff_t *pos)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 359 {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 360 enum xilinx_dpdma_testcases testcase;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 361 char *kern_buff;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 362 int ret;
ret = 0;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 363
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 364 if (*pos != 0 || size <= 0)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 365 return -EINVAL;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 366
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 367 kern_buff = kzalloc(XILINX_DPDMA_DEBUGFS_READ_MAX_SIZE, GFP_KERNEL);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 368 if (!kern_buff) {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 369 dpdma_debugfs.testcase = DPDMA_TC_NONE;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 370 return -ENOMEM;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 371 }
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 372
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 373 testcase = READ_ONCE(dpdma_debugfs.testcase);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 374 if (testcase != DPDMA_TC_NONE) {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 375 ret = dpdma_debugfs_reqs[testcase].read(kern_buff);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 376 if (ret < 0)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 377 goto done;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 378 } else {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 379 strlcpy(kern_buff, "No testcase executed",
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 380 XILINX_DPDMA_DEBUGFS_READ_MAX_SIZE);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 381 }
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 382
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 383 size = min(size, strlen(kern_buff));
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 384 ret = copy_to_user(buf, kern_buff, size);
if (copy_to_user(buf, kern_buff, size))
ret = -EFAULT;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 385
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 386 done:
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 387 kfree(kern_buff);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 388 if (ret)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 @389 return ret;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 390
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 391 *pos = size + 1;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 392 return size;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 393 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-03-12 13:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-12 13:56 [pinchartl-media:media/drm/dpsub/next 5/14] drivers/dma/xilinx/xilinx_dpdma.c:389 xilinx_dpdma_debugfs_read() warn: maybe return -EFAULT instead of the bytes remaining? Dan Carpenter
2020-03-12 13:56 ` Dan Carpenter
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.