connection, names: some less BUG_ON()
authorDaniel Mack <daniel@zonque.org>
Sat, 20 Dec 2014 14:25:43 +0000 (15:25 +0100)
committerDaniel Mack <daniel@zonque.org>
Sat, 20 Dec 2014 14:25:43 +0000 (15:25 +0100)
Signed-off-by: Daniel Mack <daniel@zonque.org>
connection.c
names.c

index beb7973e6de213a7ceaaaa9aa595d994f252fe57..eae923da4da66435b118d4c029fc8d2e455dba4b 100644 (file)
@@ -148,7 +148,8 @@ kdbus_conn_reply_unref(struct kdbus_conn_reply *r)
 
 static void kdbus_conn_reply_sync(struct kdbus_conn_reply *reply, int err)
 {
-       BUG_ON(!reply->sync);
+       if (WARN_ON(!reply->sync))
+               return;
 
        list_del_init(&reply->entry);
        reply->waiting = false;
@@ -1284,8 +1285,11 @@ int kdbus_conn_move_messages(struct kdbus_conn *conn_dst,
        LIST_HEAD(msg_list);
        int ret = 0;
 
-       BUG_ON(!mutex_is_locked(&conn_dst->ep->bus->lock));
-       BUG_ON(conn_src == conn_dst);
+       if (WARN_ON(!mutex_is_locked(&conn_dst->ep->bus->lock)))
+               return -EINVAL;
+
+       if (WARN_ON(conn_src == conn_dst))
+               return -EINVAL;
 
        /* remove all messages from the source */
        mutex_lock(&conn_src->lock);
diff --git a/names.c b/names.c
index a9df981fcc868c0aa5a54607a5e5a0273eebb6ec..cab0e3d02703fb04a625c8fa87e375609a7de10b 100644 (file)
--- a/names.c
+++ b/names.c
@@ -124,8 +124,11 @@ static void kdbus_name_queue_item_free(struct kdbus_name_queue_item *q)
  */
 static void kdbus_name_entry_remove_owner(struct kdbus_name_entry *e)
 {
-       BUG_ON(!e->conn);
-       BUG_ON(!mutex_is_locked(&e->conn->lock));
+       if (WARN_ON(!e->conn))
+               return;
+
+       if (WARN_ON(!mutex_is_locked(&e->conn->lock)))
+               return;
 
        atomic_dec(&e->conn->name_count);
        list_del(&e->conn_entry);
@@ -135,8 +138,11 @@ static void kdbus_name_entry_remove_owner(struct kdbus_name_entry *e)
 static void kdbus_name_entry_set_owner(struct kdbus_name_entry *e,
                                       struct kdbus_conn *conn)
 {
-       BUG_ON(e->conn);
-       BUG_ON(!mutex_is_locked(&conn->lock));
+       if (WARN_ON(e->conn))
+               return;
+
+       if (WARN_ON(!mutex_is_locked(&conn->lock)))
+               return;
 
        e->conn = kdbus_conn_ref(conn);
        atomic_inc(&conn->name_count);
@@ -149,8 +155,11 @@ static int kdbus_name_replace_owner(struct kdbus_name_entry *e,
        struct kdbus_conn *conn_old = kdbus_conn_ref(e->conn);
        int ret;
 
-       BUG_ON(conn == conn_old);
-       BUG_ON(!conn_old);
+       if (WARN_ON(conn == conn_old))
+               return -EALREADY;
+
+       if (WARN_ON(!conn_old))
+               return -EINVAL;
 
        /* take lock of both connections in a defined order */
        if (conn < conn_old) {