On Tue, Jan 10, 2017 at 05:17:46PM +0300, Dan Carpenter wrote: > Hello Chris Wilson, > > The patch 560b32842912: "drm: kselftest for drm_mm and eviction" from > Dec 22, 2016, leads to the following static checker warning: > > drivers/gpu/drm/selftests/test-drm_mm.c:1277 evict_everything() > warn: calling list_del() inside list_for_each > > drivers/gpu/drm/selftests/test-drm_mm.c > 1260 static bool evict_everything(struct drm_mm *mm, > 1261 unsigned int total_size, > 1262 struct evict_node *nodes) > 1263 { > 1264 struct drm_mm_scan scan; > 1265 LIST_HEAD(evict_list); > 1266 struct evict_node *e; > 1267 unsigned int n; > 1268 int err; > 1269 > 1270 drm_mm_scan_init(&scan, mm, total_size, 0, 0, 0); > 1271 for (n = 0; n < total_size; n++) { > 1272 e = &nodes[n]; > 1273 list_add(&e->link, &evict_list); > 1274 if (drm_mm_scan_add_block(&scan, &e->node)) > 1275 break; > 1276 } > 1277 list_for_each_entry(e, &evict_list, link) { > 1278 if (!drm_mm_scan_remove_block(&scan, &e->node)) { > 1279 pr_err("Node %lld not marked for eviction!\n", > 1280 e->node.start); > 1281 list_del(&e->link); > > Probably this should be using list_for_each_entry_safe(), I guess? It can be a return false; (or something along those lines) since after finding the first error, there are likely plenty more. Thanks for catching this. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel