[kbuild] Re: [PATCH] drm/[amdgpu|radeon]: fix memset on io mem
Dan Carpenter
dan.carpenter at oracle.com
Wed Dec 16 12:52:24 UTC 2020
Hi Chen,
url: https://github.com/0day-ci/linux/commits/Chen-Li/drm-amdgpu-radeon-fix-memset-on-io-mem/20201216-165835
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d01e7f10dae29eba0f9ada82b65d24e035d5b2f9
config: x86_64-randconfig-m001-20201216 (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 at intel.com>
Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
New smatch warnings:
drivers/gpu/drm/radeon/radeon_uvd.c:805 radeon_uvd_get_create_msg() error: uninitialized symbol 'i'.
drivers/gpu/drm/radeon/radeon_uvd.c:833 radeon_uvd_get_destroy_msg() error: uninitialized symbol 'i'.
Old smatch warnings:
drivers/gpu/drm/radeon/radeon_uvd.c:568 radeon_uvd_cs_msg() warn: ignoring unreachable code.
vim +/i +805 drivers/gpu/drm/radeon/radeon_uvd.c
f2ba57b5eab8817 Christian König 2013-04-08 777 int radeon_uvd_get_create_msg(struct radeon_device *rdev, int ring,
f2ba57b5eab8817 Christian König 2013-04-08 778 uint32_t handle, struct radeon_fence **fence)
f2ba57b5eab8817 Christian König 2013-04-08 779 {
feba9b0bcf492ba Christian König 2014-08-22 780 /* we use the last page of the vcpu bo for the UVD message */
feba9b0bcf492ba Christian König 2014-08-22 781 uint64_t offs = radeon_bo_size(rdev->uvd.vcpu_bo) -
feba9b0bcf492ba Christian König 2014-08-22 782 RADEON_GPU_PAGE_SIZE;
f2ba57b5eab8817 Christian König 2013-04-08 783
feba9b0bcf492ba Christian König 2014-08-22 784 uint32_t *msg = rdev->uvd.cpu_addr + offs;
feba9b0bcf492ba Christian König 2014-08-22 785 uint64_t addr = rdev->uvd.gpu_addr + offs;
f2ba57b5eab8817 Christian König 2013-04-08 786
feba9b0bcf492ba Christian König 2014-08-22 787 int r, i;
f2ba57b5eab8817 Christian König 2013-04-08 788
feba9b0bcf492ba Christian König 2014-08-22 789 r = radeon_bo_reserve(rdev->uvd.vcpu_bo, true);
feba9b0bcf492ba Christian König 2014-08-22 790 if (r)
f2ba57b5eab8817 Christian König 2013-04-08 791 return r;
f2ba57b5eab8817 Christian König 2013-04-08 792
f2ba57b5eab8817 Christian König 2013-04-08 793 /* stitch together an UVD create msg */
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 794 msg[0] = cpu_to_le32(0x00000de4);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 795 msg[1] = cpu_to_le32(0x00000000);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 796 msg[2] = cpu_to_le32(handle);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 797 msg[3] = cpu_to_le32(0x00000000);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 798 msg[4] = cpu_to_le32(0x00000000);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 799 msg[5] = cpu_to_le32(0x00000000);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 800 msg[6] = cpu_to_le32(0x00000000);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 801 msg[7] = cpu_to_le32(0x00000780);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 802 msg[8] = cpu_to_le32(0x00000440);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 803 msg[9] = cpu_to_le32(0x00000000);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 804 msg[10] = cpu_to_le32(0x01b37000);
201257d71c519be Chen Li 2020-12-16 @805 memset_io(&msg[i], 0x0, 1013 * sizeof(uint32_t));
^^^^^^^
The "i" variable is never initialized anywhere.
f2ba57b5eab8817 Christian König 2013-04-08 806
feba9b0bcf492ba Christian König 2014-08-22 807 r = radeon_uvd_send_msg(rdev, ring, addr, fence);
feba9b0bcf492ba Christian König 2014-08-22 808 radeon_bo_unreserve(rdev->uvd.vcpu_bo);
feba9b0bcf492ba Christian König 2014-08-22 809 return r;
f2ba57b5eab8817 Christian König 2013-04-08 810 }
f2ba57b5eab8817 Christian König 2013-04-08 811
f2ba57b5eab8817 Christian König 2013-04-08 812 int radeon_uvd_get_destroy_msg(struct radeon_device *rdev, int ring,
f2ba57b5eab8817 Christian König 2013-04-08 813 uint32_t handle, struct radeon_fence **fence)
f2ba57b5eab8817 Christian König 2013-04-08 814 {
feba9b0bcf492ba Christian König 2014-08-22 815 /* we use the last page of the vcpu bo for the UVD message */
feba9b0bcf492ba Christian König 2014-08-22 816 uint64_t offs = radeon_bo_size(rdev->uvd.vcpu_bo) -
feba9b0bcf492ba Christian König 2014-08-22 817 RADEON_GPU_PAGE_SIZE;
f2ba57b5eab8817 Christian König 2013-04-08 818
feba9b0bcf492ba Christian König 2014-08-22 819 uint32_t *msg = rdev->uvd.cpu_addr + offs;
feba9b0bcf492ba Christian König 2014-08-22 820 uint64_t addr = rdev->uvd.gpu_addr + offs;
f2ba57b5eab8817 Christian König 2013-04-08 821
feba9b0bcf492ba Christian König 2014-08-22 822 int r, i;
f2ba57b5eab8817 Christian König 2013-04-08 823
feba9b0bcf492ba Christian König 2014-08-22 824 r = radeon_bo_reserve(rdev->uvd.vcpu_bo, true);
feba9b0bcf492ba Christian König 2014-08-22 825 if (r)
f2ba57b5eab8817 Christian König 2013-04-08 826 return r;
f2ba57b5eab8817 Christian König 2013-04-08 827
f2ba57b5eab8817 Christian König 2013-04-08 828 /* stitch together an UVD destroy msg */
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 829 msg[0] = cpu_to_le32(0x00000de4);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 830 msg[1] = cpu_to_le32(0x00000002);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 831 msg[2] = cpu_to_le32(handle);
9b1be4dc02bb6b9 Alex Deucher 2013-06-07 832 msg[3] = cpu_to_le32(0x00000000);
201257d71c519be Chen Li 2020-12-16 @833 memset_io(&msg[i], 0x0, 1020 * sizeof(uint32_t));
^^^^^^^
Same
f2ba57b5eab8817 Christian König 2013-04-08 834
feba9b0bcf492ba Christian König 2014-08-22 835 r = radeon_uvd_send_msg(rdev, ring, addr, fence);
feba9b0bcf492ba Christian König 2014-08-22 836 radeon_bo_unreserve(rdev->uvd.vcpu_bo);
feba9b0bcf492ba Christian König 2014-08-22 837 return r;
f2ba57b5eab8817 Christian König 2013-04-08 838 }
55b51c88c5167ba Christian König 2013-04-18 839
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 33007 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20201216/140b1a90/attachment-0001.gz>
-------------- next part --------------
_______________________________________________
kbuild mailing list -- kbuild at lists.01.org
To unsubscribe send an email to kbuild-leave at lists.01.org
More information about the dri-devel
mailing list