aboutsummaryrefslogtreecommitdiffstats
path: root/0001-kdbus-interprocess-message-router.patch
diff options
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-10 12:17:28 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-10 12:17:28 -0800
commitd595c3668fb044fe1bbae7fff3a06712d938d322 (patch)
treef210e0f72e62b77d510f82071b327058eba2d36d /0001-kdbus-interprocess-message-router.patch
parent0c7ccb758abd71c92d655a242448012262e122f8 (diff)
downloadpatches-d595c3668fb044fe1bbae7fff3a06712d938d322.tar.gz
create namespaces
Diffstat (limited to '0001-kdbus-interprocess-message-router.patch')
-rw-r--r--0001-kdbus-interprocess-message-router.patch38
1 files changed, 25 insertions, 13 deletions
diff --git a/0001-kdbus-interprocess-message-router.patch b/0001-kdbus-interprocess-message-router.patch
index 7686443c33f898..b3ccd0bfc72acd 100644
--- a/0001-kdbus-interprocess-message-router.patch
+++ b/0001-kdbus-interprocess-message-router.patch
@@ -11,14 +11,14 @@ Nothing to see here, move along...
drivers/Makefile | 1
drivers/kdbus/Kconfig | 5
drivers/kdbus/Makefile | 4
- drivers/kdbus/bus.c | 117 +++++++++
+ drivers/kdbus/bus.c | 115 +++++++++
drivers/kdbus/ep.c | 189 +++++++++++++++
- drivers/kdbus/kdbus.c | 552 +++++++++++++++++++++++++++++++++++++++++++++
+ drivers/kdbus/kdbus.c | 566 +++++++++++++++++++++++++++++++++++++++++++++
drivers/kdbus/kdbus.h | 144 +++++++++++
include/uapi/kdbus/kdbus.h | 46 +++
include/uapi/linux/major.h | 2
kdbus.c | 64 +++++
- 11 files changed, 1126 insertions(+)
+ 11 files changed, 1138 insertions(+)
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -53,7 +53,7 @@ Nothing to see here, move along...
+
--- /dev/null
+++ b/drivers/kdbus/bus.c
-@@ -0,0 +1,117 @@
+@@ -0,0 +1,115 @@
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
@@ -119,11 +119,9 @@ Nothing to see here, move along...
+ list_for_each_entry_safe(ep, tmp, &bus->ep_list, bus_entry) {
+ kdbus_ep_disconnect(ep);
+ kdbus_ep_unref(ep);
-+// kdbus_ep_remove(ep);
+ }
+
-+ pr_info("closing bus %s/%s\n",
-+ bus->ns->devpath, bus->name);
++ pr_info("closing bus %s/%s\n", bus->ns->devpath, bus->name);
+}
+
+int kdbus_bus_new(struct kdbus_ns *ns, const char *name, umode_t mode,
@@ -365,7 +363,7 @@ Nothing to see here, move along...
+
--- /dev/null
+++ b/drivers/kdbus/kdbus.c
-@@ -0,0 +1,552 @@
+@@ -0,0 +1,566 @@
+/*
+ * kdbus - interprocess message routing
+ *
@@ -453,6 +451,8 @@ Nothing to see here, move along...
+ .devnode = kdbus_devnode_control,
+};
+
++/* List of all namespaces in the system */
++
+/* kdbus initial namespace */
+static struct kdbus_ns *kdbus_ns_init;
+
@@ -735,8 +735,20 @@ Nothing to see here, move along...
+ return 0;
+ }
+
-+ case KDBUS_CMD_NS_CREATE:
-+ return -ENOSYS;
++ case KDBUS_CMD_NS_CREATE: {
++ struct kdbus_ns *ns = NULL;
++
++ if (copy_from_user(&name, argp, sizeof(struct kdbus_cmd_name)))
++ return -EFAULT;
++
++ err = kdbus_ns_new(kdbus_ns_init, name.name, &ns);
++ if (err < 0) {
++ pr_err("failed to create namespace %s, err=%i\n",
++ name.name, err);
++ return err;
++ }
++ return 0;
++ }
+
+ default:
+ return -ENOTTY;
@@ -897,11 +909,11 @@ Nothing to see here, move along...
+ err = kdbus_ns_new(NULL, NULL, &kdbus_ns_init);
+ if (err < 0) {
+ bus_unregister(&kdbus_subsys);
-+ pr_err("kdbus: failed to initialize err=%i\n", err);
++ pr_err("failed to initialize err=%i\n", err);
+ return err;
+ }
+
-+ pr_info("kdbus: initialized\n");
++ pr_info("initialized\n");
+ return 0;
+}
+
@@ -909,7 +921,7 @@ Nothing to see here, move along...
+{
+ kdbus_ns_unref(kdbus_ns_init);
+ bus_unregister(&kdbus_subsys);
-+ pr_info("kdbus: unloaded\n");
++ pr_info("unloaded\n");
+}
+
+module_init(kdbus_init);