Fix hashtab implementation leaking illegal error codes to user space.
(Reported by Dave Airlie)main
parent
0316f93d51
commit
8dfe917cb2
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue