Fix hashtab implementation leaking illegal error codes to user space.

(Reported by Dave Airlie)
main
Thomas Hellstrom 2006-08-23 11:21:33 +02:00
parent 0316f93d51
commit 8dfe917cb2
1 changed files with 3 additions and 3 deletions

View File

@ -106,7 +106,7 @@ int drm_ht_insert_item(drm_open_hash_t *ht, drm_hash_item_t *item)
hlist_for_each(list, h_list) {
entry = hlist_entry(list, drm_hash_item_t, head);
if (entry->key == key)
return -1;
return -EINVAL;
if (entry->key > key)
break;
parent = list;
@ -154,7 +154,7 @@ int drm_ht_find_item(drm_open_hash_t *ht, unsigned long key,
list = drm_ht_find_key(ht, key);
if (!list)
return -1;
return -EINVAL;
*item = hlist_entry(list, drm_hash_item_t, head);
return 0;
@ -170,7 +170,7 @@ int drm_ht_remove_key(drm_open_hash_t *ht, unsigned long key)
ht->fill--;
return 0;
}
return -1;
return -EINVAL;
}
int drm_ht_remove_item(drm_open_hash_t *ht, drm_hash_item_t *item)