diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-10 12:17:28 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-10 12:17:28 -0800 |
| commit | d595c3668fb044fe1bbae7fff3a06712d938d322 (patch) | |
| tree | f210e0f72e62b77d510f82071b327058eba2d36d | |
| parent | 0c7ccb758abd71c92d655a242448012262e122f8 (diff) | |
| download | patches-d595c3668fb044fe1bbae7fff3a06712d938d322.tar.gz | |
create namespaces
| -rw-r--r-- | 0001-kdbus-interprocess-message-router.patch | 38 |
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); |
