Hi,<br><br>I think we need to check, in __get_uuid_cell() , DMF_FREEING flag, to cover the race condition that we are trying to get the device while others is freeing (or have freed) it, same check is needed in __get_name_cell()...<br><br>I noticed that the latest code does NOT check for this, does anyone know the reason for this? Or this is a potential bug?<br><br>static struct hash_cell *__get_uuid_cell(const char *str)<br>{<br> + struct mapped_device *md = NULL; <br><br> list_for_each_entry (hc, _uuid_buckets + h, uuid_list)<br> + md = hc->md; <br> + if ((!strcmp(hc->uuid, str)) &&<br> + (md)
&& (!(test_bit(DMF_FREEING, &md->flags)))) {<br><br> - if (!strcmp(hc->uuid, str)) {<br> dm_get(hc->md);<br>}<br><br>Thanks for the information<br>Mai<p>
<hr size=1>Looking for last minute shopping deals? <a href="http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsearch/category.php?category=shopping">
Find them fast with Yahoo! Search.</a>