[systemd-devel] [PATCH] connection: fix kernel oop when conn_name not set
Jacek Janczyk
j.janczyk at samsung.com
Mon May 12 06:24:32 PDT 2014
kernel oops when connection name (kdbus_conn.name) not set via HELLO
message but requested with attach flags KDBUS_ATTACH_CONN_NAME.
As conn.name is defined as "for debug purposes" I find it more
convenient to return generic name than to strip the field from
requested metadata or raise an error on request.
Signed-off-by: Jacek Janczyk <j.janczyk at samsung.com>
---
connection.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/connection.c b/connection.c
index 40cf133..5ae9d99 100644
--- a/connection.c
+++ b/connection.c
@@ -1941,12 +1941,10 @@ int kdbus_conn_new(struct kdbus_ep *ep,
goto exit_free_conn;
}
- if (conn_name) {
- conn->name = kstrdup(conn_name, GFP_KERNEL);
- if (!conn->name) {
- ret = -ENOMEM;
- goto exit_free_conn;
- }
+ conn->name = kstrdup(conn_name ? conn_name : "UNDEFINED", GFP_KERNEL);
+ if (!conn->name) {
+ ret = -ENOMEM;
+ goto exit_free_conn;
}
kref_init(&conn->kref);
--
1.7.9.5
More information about the systemd-devel
mailing list