- Reduce scope of `owner' var to the block where it is actually used. Use conditional operator to set its value.
- Drop initialization of `dst' as it gets value later. - Drop separate exit point as we have only one use case of it. Signed-off-by: Sergei Zviagintsev <ser...@s15v.net> --- ipc/kdbus/connection.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/ipc/kdbus/connection.c b/ipc/kdbus/connection.c index 6a73ac3f444d..ace587ee951a 100644 --- a/ipc/kdbus/connection.c +++ b/ipc/kdbus/connection.c @@ -1048,10 +1048,8 @@ static int kdbus_pin_dst(struct kdbus_bus *bus, struct kdbus_conn **out_dst) { const struct kdbus_msg *msg = staging->msg; - struct kdbus_name_owner *owner = NULL; struct kdbus_name_entry *name = NULL; - struct kdbus_conn *dst = NULL; - int ret; + struct kdbus_conn *dst; lockdep_assert_held(&bus->name_registry->rwlock); @@ -1061,14 +1059,15 @@ static int kdbus_pin_dst(struct kdbus_bus *bus, return -ENXIO; if (!kdbus_conn_is_ordinary(dst)) { - ret = -ENXIO; - goto error; + kdbus_conn_unref(dst); + return -ENXIO; } } else { + struct kdbus_name_owner *owner; + name = kdbus_name_lookup_unlocked(bus->name_registry, staging->dst_name); - if (name) - owner = kdbus_name_get_owner(name); + owner = name ? kdbus_name_get_owner(name) : NULL; if (!owner) return -ESRCH; @@ -1094,10 +1093,6 @@ static int kdbus_pin_dst(struct kdbus_bus *bus, *out_name = name; *out_dst = dst; return 0; - -error: - kdbus_conn_unref(dst); - return ret; } static int kdbus_conn_reply(struct kdbus_conn *src, -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/