* [drm-drm-misc:drm-misc-next 4/5] drivers/gpu/drm/nouveau/nouveau_bo.c:1146 nouveau_ttm_io_mem_reserve() error: uninitialized symbol 'ret'.
@ 2020-09-04 6:57 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2020-09-04 6:57 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 9068 bytes --]
tree: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head: fe662d846c957c8861ade7170115e88f6e6e5fdd
commit: 141b15e59175aa174ca1f7596188bd15a7ca17ba [4/5] drm/nouveau: move io_reserve_lru handling into the driver v5
config: x86_64-randconfig-m001-20200903 (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@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo.c:1146 nouveau_ttm_io_mem_reserve() error: uninitialized symbol 'ret'.
Old smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo.c:432 nouveau_bo_pin() warn: should '1 << bo->mem.mem_type' be a 64 bit type?
include/drm/ttm/ttm_bo_driver.h:492 ttm_bo_reserve() warn: inconsistent returns '*bo->base.resv'.
git remote add drm-drm-misc git://anongit.freedesktop.org/drm/drm-misc
git fetch --no-tags drm-drm-misc drm-misc-next
git checkout 141b15e59175aa174ca1f7596188bd15a7ca17ba
vim +/ret +1146 drivers/gpu/drm/nouveau/nouveau_bo.c
f32f02fd81f3177 Jerome Glisse 2010-04-09 1066 static int
2966141ad2dda23 Dave Airlie 2020-08-04 1067 nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *reg)
f32f02fd81f3177 Jerome Glisse 2010-04-09 1068 {
ebb945a94bba2ce Ben Skeggs 2012-07-20 1069 struct nouveau_drm *drm = nouveau_bdev(bdev);
1167c6bc51880cb Ben Skeggs 2016-05-18 1070 struct nvkm_device *device = nvxx_device(&drm->client.device);
9ce523cc3bf2ac1 Ben Skeggs 2017-11-01 1071 struct nouveau_mem *mem = nouveau_mem(reg);
141b15e59175aa1 Christian König 2020-08-21 1072 int ret;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1073
141b15e59175aa1 Christian König 2020-08-21 1074 mutex_lock(&drm->ttm.io_reserve_mutex);
141b15e59175aa1 Christian König 2020-08-21 1075 retry:
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1076 switch (reg->mem_type) {
f32f02fd81f3177 Jerome Glisse 2010-04-09 1077 case TTM_PL_SYSTEM:
f32f02fd81f3177 Jerome Glisse 2010-04-09 1078 /* System memory */
141b15e59175aa1 Christian König 2020-08-21 1079 ret = 0;
141b15e59175aa1 Christian König 2020-08-21 1080 goto out;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1081 case TTM_PL_TT:
a7fb8a23c1afa60 Daniel Vetter 2015-09-09 1082 #if IS_ENABLED(CONFIG_AGP)
340b0e7c500a0ac Ben Skeggs 2015-08-20 1083 if (drm->agp.bridge) {
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1084 reg->bus.offset = reg->start << PAGE_SHIFT;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1085 reg->bus.base = drm->agp.base;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1086 reg->bus.is_iomem = !drm->agp.cma;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1087 }
f32f02fd81f3177 Jerome Glisse 2010-04-09 1088 #endif
141b15e59175aa1 Christian König 2020-08-21 1089 if (drm->client.mem->oclass < NVIF_CLASS_MEM_NV50 ||
141b15e59175aa1 Christian König 2020-08-21 1090 !mem->kind) {
a55409066472838 Maarten Lankhorst 2013-11-12 1091 /* untiled */
141b15e59175aa1 Christian König 2020-08-21 1092 ret = 0;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1093 break;
141b15e59175aa1 Christian König 2020-08-21 1094 }
f6e7393edefada6 Gustavo A. R. Silva 2020-07-07 1095 fallthrough; /* tiled memory */
f32f02fd81f3177 Jerome Glisse 2010-04-09 1096 case TTM_PL_VRAM:
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1097 reg->bus.offset = reg->start << PAGE_SHIFT;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1098 reg->bus.base = device->func->resource_addr(device, 1);
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1099 reg->bus.is_iomem = true;
d7722134b8254bc Ben Skeggs 2017-11-01 1100 if (drm->client.mem->oclass >= NVIF_CLASS_MEM_NV50) {
d7722134b8254bc Ben Skeggs 2017-11-01 1101 union {
d7722134b8254bc Ben Skeggs 2017-11-01 1102 struct nv50_mem_map_v0 nv50;
d7722134b8254bc Ben Skeggs 2017-11-01 1103 struct gf100_mem_map_v0 gf100;
d7722134b8254bc Ben Skeggs 2017-11-01 1104 } args;
d7722134b8254bc Ben Skeggs 2017-11-01 1105 u64 handle, length;
d7722134b8254bc Ben Skeggs 2017-11-01 1106 u32 argc = 0;
f869ef882382a4b Ben Skeggs 2010-11-15 1107
d7722134b8254bc Ben Skeggs 2017-11-01 1108 switch (mem->mem.object.oclass) {
d7722134b8254bc Ben Skeggs 2017-11-01 1109 case NVIF_CLASS_MEM_NV50:
d7722134b8254bc Ben Skeggs 2017-11-01 1110 args.nv50.version = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1111 args.nv50.ro = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1112 args.nv50.kind = mem->kind;
d7722134b8254bc Ben Skeggs 2017-11-01 1113 args.nv50.comp = mem->comp;
b554b12addf939f Thierry Reding 2018-01-19 1114 argc = sizeof(args.nv50);
d7722134b8254bc Ben Skeggs 2017-11-01 1115 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1116 case NVIF_CLASS_MEM_GF100:
d7722134b8254bc Ben Skeggs 2017-11-01 1117 args.gf100.version = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1118 args.gf100.ro = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1119 args.gf100.kind = mem->kind;
b554b12addf939f Thierry Reding 2018-01-19 1120 argc = sizeof(args.gf100);
d7722134b8254bc Ben Skeggs 2017-11-01 1121 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1122 default:
d7722134b8254bc Ben Skeggs 2017-11-01 1123 WARN_ON(1);
d7722134b8254bc Ben Skeggs 2017-11-01 1124 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1125 }
d7722134b8254bc Ben Skeggs 2017-11-01 1126
d7722134b8254bc Ben Skeggs 2017-11-01 1127 ret = nvif_object_map_handle(&mem->mem.object,
b554b12addf939f Thierry Reding 2018-01-19 1128 &args, argc,
d7722134b8254bc Ben Skeggs 2017-11-01 1129 &handle, &length);
8a39db76e79ef50 Ben Skeggs 2020-01-06 1130 if (ret != 1) {
8a39db76e79ef50 Ben Skeggs 2020-01-06 1131 if (WARN_ON(ret == 0))
141b15e59175aa1 Christian König 2020-08-21 1132 ret = -EINVAL;
141b15e59175aa1 Christian König 2020-08-21 1133 goto out;
8a39db76e79ef50 Ben Skeggs 2020-01-06 1134 }
d7722134b8254bc Ben Skeggs 2017-11-01 1135
d7722134b8254bc Ben Skeggs 2017-11-01 1136 reg->bus.base = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1137 reg->bus.offset = handle;
141b15e59175aa1 Christian König 2020-08-21 1138 ret = 0;
f869ef882382a4b Ben Skeggs 2010-11-15 1139 }
"ret" not set if mem_type is TTM_PL_VRAM and drm->client.mem->oclass
less than NVIF_CLASS_MEM_NV50.
f869ef882382a4b Ben Skeggs 2010-11-15 1140 break;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1141 default:
141b15e59175aa1 Christian König 2020-08-21 1142 ret = -EINVAL;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1143 }
141b15e59175aa1 Christian König 2020-08-21 1144
141b15e59175aa1 Christian König 2020-08-21 1145 out:
141b15e59175aa1 Christian König 2020-08-21 @1146 if (ret == -ENOSPC) {
^^^^^^^^^^^^^^
141b15e59175aa1 Christian König 2020-08-21 1147 struct nouveau_bo *nvbo;
141b15e59175aa1 Christian König 2020-08-21 1148
141b15e59175aa1 Christian König 2020-08-21 1149 nvbo = list_first_entry_or_null(&drm->ttm.io_reserve_lru,
141b15e59175aa1 Christian König 2020-08-21 1150 typeof(*nvbo),
141b15e59175aa1 Christian König 2020-08-21 1151 io_reserve_lru);
141b15e59175aa1 Christian König 2020-08-21 1152 if (nvbo) {
141b15e59175aa1 Christian König 2020-08-21 1153 list_del_init(&nvbo->io_reserve_lru);
141b15e59175aa1 Christian König 2020-08-21 1154 drm_vma_node_unmap(&nvbo->bo.base.vma_node,
141b15e59175aa1 Christian König 2020-08-21 1155 bdev->dev_mapping);
141b15e59175aa1 Christian König 2020-08-21 1156 nouveau_ttm_io_mem_free_locked(drm, &nvbo->bo.mem);
141b15e59175aa1 Christian König 2020-08-21 1157 goto retry;
141b15e59175aa1 Christian König 2020-08-21 1158 }
141b15e59175aa1 Christian König 2020-08-21 1159
141b15e59175aa1 Christian König 2020-08-21 1160 }
141b15e59175aa1 Christian König 2020-08-21 1161 mutex_unlock(&drm->ttm.io_reserve_mutex);
141b15e59175aa1 Christian König 2020-08-21 1162 return ret;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1163 }
---
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: 34842 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread* [drm-drm-misc:drm-misc-next 4/5] drivers/gpu/drm/nouveau/nouveau_bo.c:1146 nouveau_ttm_io_mem_reserve() error: uninitialized symbol 'ret'.
@ 2020-09-04 6:57 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2020-09-04 6:57 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 9068 bytes --]
tree: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head: fe662d846c957c8861ade7170115e88f6e6e5fdd
commit: 141b15e59175aa174ca1f7596188bd15a7ca17ba [4/5] drm/nouveau: move io_reserve_lru handling into the driver v5
config: x86_64-randconfig-m001-20200903 (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@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo.c:1146 nouveau_ttm_io_mem_reserve() error: uninitialized symbol 'ret'.
Old smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo.c:432 nouveau_bo_pin() warn: should '1 << bo->mem.mem_type' be a 64 bit type?
include/drm/ttm/ttm_bo_driver.h:492 ttm_bo_reserve() warn: inconsistent returns '*bo->base.resv'.
git remote add drm-drm-misc git://anongit.freedesktop.org/drm/drm-misc
git fetch --no-tags drm-drm-misc drm-misc-next
git checkout 141b15e59175aa174ca1f7596188bd15a7ca17ba
vim +/ret +1146 drivers/gpu/drm/nouveau/nouveau_bo.c
f32f02fd81f3177 Jerome Glisse 2010-04-09 1066 static int
2966141ad2dda23 Dave Airlie 2020-08-04 1067 nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *reg)
f32f02fd81f3177 Jerome Glisse 2010-04-09 1068 {
ebb945a94bba2ce Ben Skeggs 2012-07-20 1069 struct nouveau_drm *drm = nouveau_bdev(bdev);
1167c6bc51880cb Ben Skeggs 2016-05-18 1070 struct nvkm_device *device = nvxx_device(&drm->client.device);
9ce523cc3bf2ac1 Ben Skeggs 2017-11-01 1071 struct nouveau_mem *mem = nouveau_mem(reg);
141b15e59175aa1 Christian König 2020-08-21 1072 int ret;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1073
141b15e59175aa1 Christian König 2020-08-21 1074 mutex_lock(&drm->ttm.io_reserve_mutex);
141b15e59175aa1 Christian König 2020-08-21 1075 retry:
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1076 switch (reg->mem_type) {
f32f02fd81f3177 Jerome Glisse 2010-04-09 1077 case TTM_PL_SYSTEM:
f32f02fd81f3177 Jerome Glisse 2010-04-09 1078 /* System memory */
141b15e59175aa1 Christian König 2020-08-21 1079 ret = 0;
141b15e59175aa1 Christian König 2020-08-21 1080 goto out;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1081 case TTM_PL_TT:
a7fb8a23c1afa60 Daniel Vetter 2015-09-09 1082 #if IS_ENABLED(CONFIG_AGP)
340b0e7c500a0ac Ben Skeggs 2015-08-20 1083 if (drm->agp.bridge) {
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1084 reg->bus.offset = reg->start << PAGE_SHIFT;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1085 reg->bus.base = drm->agp.base;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1086 reg->bus.is_iomem = !drm->agp.cma;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1087 }
f32f02fd81f3177 Jerome Glisse 2010-04-09 1088 #endif
141b15e59175aa1 Christian König 2020-08-21 1089 if (drm->client.mem->oclass < NVIF_CLASS_MEM_NV50 ||
141b15e59175aa1 Christian König 2020-08-21 1090 !mem->kind) {
a55409066472838 Maarten Lankhorst 2013-11-12 1091 /* untiled */
141b15e59175aa1 Christian König 2020-08-21 1092 ret = 0;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1093 break;
141b15e59175aa1 Christian König 2020-08-21 1094 }
f6e7393edefada6 Gustavo A. R. Silva 2020-07-07 1095 fallthrough; /* tiled memory */
f32f02fd81f3177 Jerome Glisse 2010-04-09 1096 case TTM_PL_VRAM:
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1097 reg->bus.offset = reg->start << PAGE_SHIFT;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1098 reg->bus.base = device->func->resource_addr(device, 1);
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1099 reg->bus.is_iomem = true;
d7722134b8254bc Ben Skeggs 2017-11-01 1100 if (drm->client.mem->oclass >= NVIF_CLASS_MEM_NV50) {
d7722134b8254bc Ben Skeggs 2017-11-01 1101 union {
d7722134b8254bc Ben Skeggs 2017-11-01 1102 struct nv50_mem_map_v0 nv50;
d7722134b8254bc Ben Skeggs 2017-11-01 1103 struct gf100_mem_map_v0 gf100;
d7722134b8254bc Ben Skeggs 2017-11-01 1104 } args;
d7722134b8254bc Ben Skeggs 2017-11-01 1105 u64 handle, length;
d7722134b8254bc Ben Skeggs 2017-11-01 1106 u32 argc = 0;
f869ef882382a4b Ben Skeggs 2010-11-15 1107
d7722134b8254bc Ben Skeggs 2017-11-01 1108 switch (mem->mem.object.oclass) {
d7722134b8254bc Ben Skeggs 2017-11-01 1109 case NVIF_CLASS_MEM_NV50:
d7722134b8254bc Ben Skeggs 2017-11-01 1110 args.nv50.version = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1111 args.nv50.ro = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1112 args.nv50.kind = mem->kind;
d7722134b8254bc Ben Skeggs 2017-11-01 1113 args.nv50.comp = mem->comp;
b554b12addf939f Thierry Reding 2018-01-19 1114 argc = sizeof(args.nv50);
d7722134b8254bc Ben Skeggs 2017-11-01 1115 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1116 case NVIF_CLASS_MEM_GF100:
d7722134b8254bc Ben Skeggs 2017-11-01 1117 args.gf100.version = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1118 args.gf100.ro = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1119 args.gf100.kind = mem->kind;
b554b12addf939f Thierry Reding 2018-01-19 1120 argc = sizeof(args.gf100);
d7722134b8254bc Ben Skeggs 2017-11-01 1121 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1122 default:
d7722134b8254bc Ben Skeggs 2017-11-01 1123 WARN_ON(1);
d7722134b8254bc Ben Skeggs 2017-11-01 1124 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1125 }
d7722134b8254bc Ben Skeggs 2017-11-01 1126
d7722134b8254bc Ben Skeggs 2017-11-01 1127 ret = nvif_object_map_handle(&mem->mem.object,
b554b12addf939f Thierry Reding 2018-01-19 1128 &args, argc,
d7722134b8254bc Ben Skeggs 2017-11-01 1129 &handle, &length);
8a39db76e79ef50 Ben Skeggs 2020-01-06 1130 if (ret != 1) {
8a39db76e79ef50 Ben Skeggs 2020-01-06 1131 if (WARN_ON(ret == 0))
141b15e59175aa1 Christian König 2020-08-21 1132 ret = -EINVAL;
141b15e59175aa1 Christian König 2020-08-21 1133 goto out;
8a39db76e79ef50 Ben Skeggs 2020-01-06 1134 }
d7722134b8254bc Ben Skeggs 2017-11-01 1135
d7722134b8254bc Ben Skeggs 2017-11-01 1136 reg->bus.base = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1137 reg->bus.offset = handle;
141b15e59175aa1 Christian König 2020-08-21 1138 ret = 0;
f869ef882382a4b Ben Skeggs 2010-11-15 1139 }
"ret" not set if mem_type is TTM_PL_VRAM and drm->client.mem->oclass
less than NVIF_CLASS_MEM_NV50.
f869ef882382a4b Ben Skeggs 2010-11-15 1140 break;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1141 default:
141b15e59175aa1 Christian König 2020-08-21 1142 ret = -EINVAL;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1143 }
141b15e59175aa1 Christian König 2020-08-21 1144
141b15e59175aa1 Christian König 2020-08-21 1145 out:
141b15e59175aa1 Christian König 2020-08-21 @1146 if (ret == -ENOSPC) {
^^^^^^^^^^^^^^
141b15e59175aa1 Christian König 2020-08-21 1147 struct nouveau_bo *nvbo;
141b15e59175aa1 Christian König 2020-08-21 1148
141b15e59175aa1 Christian König 2020-08-21 1149 nvbo = list_first_entry_or_null(&drm->ttm.io_reserve_lru,
141b15e59175aa1 Christian König 2020-08-21 1150 typeof(*nvbo),
141b15e59175aa1 Christian König 2020-08-21 1151 io_reserve_lru);
141b15e59175aa1 Christian König 2020-08-21 1152 if (nvbo) {
141b15e59175aa1 Christian König 2020-08-21 1153 list_del_init(&nvbo->io_reserve_lru);
141b15e59175aa1 Christian König 2020-08-21 1154 drm_vma_node_unmap(&nvbo->bo.base.vma_node,
141b15e59175aa1 Christian König 2020-08-21 1155 bdev->dev_mapping);
141b15e59175aa1 Christian König 2020-08-21 1156 nouveau_ttm_io_mem_free_locked(drm, &nvbo->bo.mem);
141b15e59175aa1 Christian König 2020-08-21 1157 goto retry;
141b15e59175aa1 Christian König 2020-08-21 1158 }
141b15e59175aa1 Christian König 2020-08-21 1159
141b15e59175aa1 Christian König 2020-08-21 1160 }
141b15e59175aa1 Christian König 2020-08-21 1161 mutex_unlock(&drm->ttm.io_reserve_mutex);
141b15e59175aa1 Christian König 2020-08-21 1162 return ret;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1163 }
---
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: 34842 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [drm-drm-misc:drm-misc-next 4/5] drivers/gpu/drm/nouveau/nouveau_bo.c:1146 nouveau_ttm_io_mem_reserve() error: uninitialized symbol 'ret'.
@ 2020-09-03 21:22 kernel test robot
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2020-09-03 21:22 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 9184 bytes --]
CC: kbuild-all(a)lists.01.org
TO: "Christian König" <christian.koenig@amd.com>
CC: Ben Skeggs <bskeggs@redhat.com>
tree: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head: fe662d846c957c8861ade7170115e88f6e6e5fdd
commit: 141b15e59175aa174ca1f7596188bd15a7ca17ba [4/5] drm/nouveau: move io_reserve_lru handling into the driver v5
:::::: branch date: 12 hours ago
:::::: commit date: 12 hours ago
config: x86_64-randconfig-m001-20200903 (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@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo.c:1146 nouveau_ttm_io_mem_reserve() error: uninitialized symbol 'ret'.
Old smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo.c:432 nouveau_bo_pin() warn: should '1 << bo->mem.mem_type' be a 64 bit type?
include/drm/ttm/ttm_bo_driver.h:492 ttm_bo_reserve() warn: inconsistent returns '*bo->base.resv'.
git remote add drm-drm-misc git://anongit.freedesktop.org/drm/drm-misc
git fetch --no-tags drm-drm-misc drm-misc-next
git checkout 141b15e59175aa174ca1f7596188bd15a7ca17ba
vim +/ret +1146 drivers/gpu/drm/nouveau/nouveau_bo.c
141b15e59175aa1 Christian König 2020-08-21 1065
f32f02fd81f3177 Jerome Glisse 2010-04-09 1066 static int
2966141ad2dda23 Dave Airlie 2020-08-04 1067 nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *reg)
f32f02fd81f3177 Jerome Glisse 2010-04-09 1068 {
ebb945a94bba2ce Ben Skeggs 2012-07-20 1069 struct nouveau_drm *drm = nouveau_bdev(bdev);
1167c6bc51880cb Ben Skeggs 2016-05-18 1070 struct nvkm_device *device = nvxx_device(&drm->client.device);
9ce523cc3bf2ac1 Ben Skeggs 2017-11-01 1071 struct nouveau_mem *mem = nouveau_mem(reg);
141b15e59175aa1 Christian König 2020-08-21 1072 int ret;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1073
141b15e59175aa1 Christian König 2020-08-21 1074 mutex_lock(&drm->ttm.io_reserve_mutex);
141b15e59175aa1 Christian König 2020-08-21 1075 retry:
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1076 switch (reg->mem_type) {
f32f02fd81f3177 Jerome Glisse 2010-04-09 1077 case TTM_PL_SYSTEM:
f32f02fd81f3177 Jerome Glisse 2010-04-09 1078 /* System memory */
141b15e59175aa1 Christian König 2020-08-21 1079 ret = 0;
141b15e59175aa1 Christian König 2020-08-21 1080 goto out;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1081 case TTM_PL_TT:
a7fb8a23c1afa60 Daniel Vetter 2015-09-09 1082 #if IS_ENABLED(CONFIG_AGP)
340b0e7c500a0ac Ben Skeggs 2015-08-20 1083 if (drm->agp.bridge) {
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1084 reg->bus.offset = reg->start << PAGE_SHIFT;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1085 reg->bus.base = drm->agp.base;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1086 reg->bus.is_iomem = !drm->agp.cma;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1087 }
f32f02fd81f3177 Jerome Glisse 2010-04-09 1088 #endif
141b15e59175aa1 Christian König 2020-08-21 1089 if (drm->client.mem->oclass < NVIF_CLASS_MEM_NV50 ||
141b15e59175aa1 Christian König 2020-08-21 1090 !mem->kind) {
a55409066472838 Maarten Lankhorst 2013-11-12 1091 /* untiled */
141b15e59175aa1 Christian König 2020-08-21 1092 ret = 0;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1093 break;
141b15e59175aa1 Christian König 2020-08-21 1094 }
f6e7393edefada6 Gustavo A. R. Silva 2020-07-07 1095 fallthrough; /* tiled memory */
f32f02fd81f3177 Jerome Glisse 2010-04-09 1096 case TTM_PL_VRAM:
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1097 reg->bus.offset = reg->start << PAGE_SHIFT;
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1098 reg->bus.base = device->func->resource_addr(device, 1);
605f9ccd7d0ad60 Ben Skeggs 2016-05-17 1099 reg->bus.is_iomem = true;
d7722134b8254bc Ben Skeggs 2017-11-01 1100 if (drm->client.mem->oclass >= NVIF_CLASS_MEM_NV50) {
d7722134b8254bc Ben Skeggs 2017-11-01 1101 union {
d7722134b8254bc Ben Skeggs 2017-11-01 1102 struct nv50_mem_map_v0 nv50;
d7722134b8254bc Ben Skeggs 2017-11-01 1103 struct gf100_mem_map_v0 gf100;
d7722134b8254bc Ben Skeggs 2017-11-01 1104 } args;
d7722134b8254bc Ben Skeggs 2017-11-01 1105 u64 handle, length;
d7722134b8254bc Ben Skeggs 2017-11-01 1106 u32 argc = 0;
f869ef882382a4b Ben Skeggs 2010-11-15 1107
d7722134b8254bc Ben Skeggs 2017-11-01 1108 switch (mem->mem.object.oclass) {
d7722134b8254bc Ben Skeggs 2017-11-01 1109 case NVIF_CLASS_MEM_NV50:
d7722134b8254bc Ben Skeggs 2017-11-01 1110 args.nv50.version = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1111 args.nv50.ro = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1112 args.nv50.kind = mem->kind;
d7722134b8254bc Ben Skeggs 2017-11-01 1113 args.nv50.comp = mem->comp;
b554b12addf939f Thierry Reding 2018-01-19 1114 argc = sizeof(args.nv50);
d7722134b8254bc Ben Skeggs 2017-11-01 1115 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1116 case NVIF_CLASS_MEM_GF100:
d7722134b8254bc Ben Skeggs 2017-11-01 1117 args.gf100.version = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1118 args.gf100.ro = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1119 args.gf100.kind = mem->kind;
b554b12addf939f Thierry Reding 2018-01-19 1120 argc = sizeof(args.gf100);
d7722134b8254bc Ben Skeggs 2017-11-01 1121 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1122 default:
d7722134b8254bc Ben Skeggs 2017-11-01 1123 WARN_ON(1);
d7722134b8254bc Ben Skeggs 2017-11-01 1124 break;
d7722134b8254bc Ben Skeggs 2017-11-01 1125 }
d7722134b8254bc Ben Skeggs 2017-11-01 1126
d7722134b8254bc Ben Skeggs 2017-11-01 1127 ret = nvif_object_map_handle(&mem->mem.object,
b554b12addf939f Thierry Reding 2018-01-19 1128 &args, argc,
d7722134b8254bc Ben Skeggs 2017-11-01 1129 &handle, &length);
8a39db76e79ef50 Ben Skeggs 2020-01-06 1130 if (ret != 1) {
8a39db76e79ef50 Ben Skeggs 2020-01-06 1131 if (WARN_ON(ret == 0))
141b15e59175aa1 Christian König 2020-08-21 1132 ret = -EINVAL;
141b15e59175aa1 Christian König 2020-08-21 1133 goto out;
8a39db76e79ef50 Ben Skeggs 2020-01-06 1134 }
d7722134b8254bc Ben Skeggs 2017-11-01 1135
d7722134b8254bc Ben Skeggs 2017-11-01 1136 reg->bus.base = 0;
d7722134b8254bc Ben Skeggs 2017-11-01 1137 reg->bus.offset = handle;
141b15e59175aa1 Christian König 2020-08-21 1138 ret = 0;
f869ef882382a4b Ben Skeggs 2010-11-15 1139 }
f869ef882382a4b Ben Skeggs 2010-11-15 1140 break;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1141 default:
141b15e59175aa1 Christian König 2020-08-21 1142 ret = -EINVAL;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1143 }
141b15e59175aa1 Christian König 2020-08-21 1144
141b15e59175aa1 Christian König 2020-08-21 1145 out:
141b15e59175aa1 Christian König 2020-08-21 @1146 if (ret == -ENOSPC) {
141b15e59175aa1 Christian König 2020-08-21 1147 struct nouveau_bo *nvbo;
141b15e59175aa1 Christian König 2020-08-21 1148
141b15e59175aa1 Christian König 2020-08-21 1149 nvbo = list_first_entry_or_null(&drm->ttm.io_reserve_lru,
141b15e59175aa1 Christian König 2020-08-21 1150 typeof(*nvbo),
141b15e59175aa1 Christian König 2020-08-21 1151 io_reserve_lru);
141b15e59175aa1 Christian König 2020-08-21 1152 if (nvbo) {
141b15e59175aa1 Christian König 2020-08-21 1153 list_del_init(&nvbo->io_reserve_lru);
141b15e59175aa1 Christian König 2020-08-21 1154 drm_vma_node_unmap(&nvbo->bo.base.vma_node,
141b15e59175aa1 Christian König 2020-08-21 1155 bdev->dev_mapping);
141b15e59175aa1 Christian König 2020-08-21 1156 nouveau_ttm_io_mem_free_locked(drm, &nvbo->bo.mem);
141b15e59175aa1 Christian König 2020-08-21 1157 goto retry;
141b15e59175aa1 Christian König 2020-08-21 1158 }
141b15e59175aa1 Christian König 2020-08-21 1159
141b15e59175aa1 Christian König 2020-08-21 1160 }
141b15e59175aa1 Christian König 2020-08-21 1161 mutex_unlock(&drm->ttm.io_reserve_mutex);
141b15e59175aa1 Christian König 2020-08-21 1162 return ret;
f32f02fd81f3177 Jerome Glisse 2010-04-09 1163 }
f32f02fd81f3177 Jerome Glisse 2010-04-09 1164
---
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: 34842 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-09-04 6:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-04 6:57 [drm-drm-misc:drm-misc-next 4/5] drivers/gpu/drm/nouveau/nouveau_bo.c:1146 nouveau_ttm_io_mem_reserve() error: uninitialized symbol 'ret' Dan Carpenter
2020-09-04 6:57 ` Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2020-09-03 21:22 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.