aboutsummaryrefslogtreecommitdiff
path: root/linux-core/drm_hashtab.c
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-08-23 11:21:33 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-08-23 11:21:33 +0200
commit8dfe917cb26bbeddda0e1b52060d8dce188468f3 (patch)
tree37b52f63d5ac60e8171a4a052e39f25ac4d9f500 /linux-core/drm_hashtab.c
parent0316f93d51abc52b816e936e0ece304ac47799c3 (diff)
Fix hashtab implementation leaking illegal error codes to user space.
(Reported by Dave Airlie)
Diffstat (limited to 'linux-core/drm_hashtab.c')
-rw-r--r--linux-core/drm_hashtab.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/linux-core/drm_hashtab.c b/linux-core/drm_hashtab.c
index 48061139..a0b2d680 100644
--- a/linux-core/drm_hashtab.c
+++ b/linux-core/drm_hashtab.c
@@ -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)