)]}'
{
  "log": [
    {
      "commit": "1a5645bc901aea6f3f446888061b2b084bbf1ba6",
      "tree": "1100723a5bd190311eaac46ce6eff22bf69a9a86",
      "parents": [
        "f15fbcd7d857ca2ea20b57ba6dfe63aab89d0b8b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Feb 02 23:22:04 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 02 23:22:04 2009 -0800"
      },
      "message": "connector: create connector workqueue only while needed once\n\nThe netlink connector uses its own workqueue to relay the datas sent\nfrom userspace to the appropriate callback.  If you launch the test\nfrom Documentation/connector and change it a bit to send a high flow\nof data, you will see thousands of events coming to the \"cqueue\"\nworkqueue by looking at the workqueue tracer.\n\nThis flow of events can be sent very quickly. So, to not encumber the\nkevent workqueue and delay other jobs, the \"cqueue\" workqueue should\nremain.\n\nBut this workqueue is pointless most of the time, it will always be\ncreated (assuming you have built it of course) although only\ndeveloppers with specific needs will use it.\n\nSo avoid this \"most of the time useless task\", this patch proposes to\ncreate this workqueue only when needed once.  The first jobs to be\nsent to connector callbacks will be sent to kevent while the \"cqueue\"\nthread creation will be scheduled to kevent too.\n\nThe following jobs will continue to be scheduled to keventd until the\ncqueue workqueue is created, and then the rest of the jobs will\ncontinue to perform as usual, through this dedicated workqueue.\n\nEach time I tested this patch, only the first event was sent to\nkeventd, the rest has been sent to cqueue which have been created\nquickly.\n\nAlso, this patch fixes some trailing whitespaces on the connector files.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c69e8d9c01db2adc503464993c358901c9af9de4",
      "tree": "bed94aaa9aeb7a7834d1c880f72b62a11a752c78",
      "parents": [
        "86a264abe542cfececb4df129bc45a0338d8cdb9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:19 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:19 2008 +1100"
      },
      "message": "CRED: Use RCU to access another task\u0027s creds and to release a task\u0027s own creds\n\nUse RCU to access another task\u0027s creds and to release a task\u0027s own creds.\nThis means that it will be possible for the credentials of a task to be\nreplaced without another task (a) requiring a full lock to read them, and (b)\nseeing deallocated memory.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6dff3ec5e116e3af6f537d4caedcad6b9e5082a",
      "tree": "9e76f972eb7ce9b84e0146c8e4126a3f86acb428",
      "parents": [
        "15a2460ed0af7538ca8e6c610fe607a2cd9da142"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "message": "CRED: Separate task security context from task_struct\n\nSeparate the task security context from task_struct.  At this point, the\nsecurity data is temporarily embedded in the task_struct with two pointers\npointing to it.\n\nNote that the Alpha arch is altered as it refers to (E)UID and (E)GID in\nentry.S via asm-offsets.\n\nWith comment fixes Signed-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "a0a61a604c60c14accc3962ecfeee9acc7a3c08a",
      "tree": "45b9922479d2527e641b59fdbb4970ba942f3e0d",
      "parents": [
        "10b595aff138961b520bfed51d664fd99980f6e9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jun 27 20:03:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 27 20:03:24 2008 -0700"
      },
      "message": "CONNECTOR: add a proc entry to list connectors\n\nI got a problem when I wanted to check if the kernel supports process\nevent connector, and It seems there\u0027s no way to do this check.\n\nAt best I can check if the kernel supports connector or not, by looking\ninto /proc/net/netlink, or maybe checking the return value of bind() to\nsee if it\u0027s ENOENT.\n\nSo it would be useful to add /proc/net/connector to list all supported\nconnectors:\n # cat /proc/net/connector\n Name            ID\n connector       4294967295:4294967295\n cn_proc         1:1\n w1              3:1\n\nChangelog:\n- fix memory leak: s/seq_release/single_release\n- use spin_lock_bh instead of spin_lock_irqsave\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b1b366721101f2f0d2350fbdccb679f7909cf57",
      "tree": "986baf2f2b20f97505be3a18adf28dd8bb9c4000",
      "parents": [
        "dbee0d3f4603b9d0e56234a0743321fe4dad31ca"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Sun Mar 23 21:51:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 23 21:51:12 2008 -0700"
      },
      "message": "connector: convert to single-threaded workqueue\n\nFrom: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\n\nWe don\u0027t need one cqueue thread for each CPU.  cqueue is used for\nreceiving userspace datagrams, which are very rare and thus will\nhappily live with a single queue.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78374676efae525094aee45c0aab4bcab95ea9d1",
      "tree": "1635b7247e7f30d537cb8b9a96a5010e1de5bea6",
      "parents": [
        "148f97292e8fa2c35fcef60a7725cf1b073d6818"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Feb 26 18:25:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 26 18:42:44 2008 -0800"
      },
      "message": "CONNECTOR: make cn_already_initialized static\n\nIt is used in connector.c only, so make it static.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4",
      "tree": "672c08c95229a6ac242ab12a5195dceddb0f3127",
      "parents": [
        "4f84d82f7a623f8641af2574425c329431ff158f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 28 14:41:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:07 2008 -0800"
      },
      "message": "[NETNS]: Consolidate kernel netlink socket destruction.\n\nCreate a specific helper for netlink kernel socket disposal. This just\nlet the code look better and provides a ground for proper disposal\ninside a namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e32814bc89e7103e2b75b841155faf51f60a8f1",
      "tree": "8671823df2eb91152f7abd03467e6a2432da0468",
      "parents": [
        "96a899655e2c3ba53f083eda69706ee4eb05271f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jan 04 01:59:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:40 2008 -0800"
      },
      "message": "[CONNECTOR]: Cleanup struct cn_callback_entry\n\n- \u0027cb\u0027 is a fake struct member. In a previous patch struct cn_callback\nwas renamed to cn_callback_id, so \u0027cb\u0027 should have been deleted at that\ntime.\n\n- \u0027nls\u0027 isn\u0027t used and is redundant, we can retrieve this data through\ncn_callback_entry.pdev-\u003enls.\n\n- \u0027seq\u0027 and \u0027group\u0027 should be u32, as they are declared to be u32 in\nother places.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96a899655e2c3ba53f083eda69706ee4eb05271f",
      "tree": "55b305029607d712724470b6cd501c4afb168bd5",
      "parents": [
        "00f5e06c032507206c4ac0c846ad82b75ae7665b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jan 04 01:59:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:39 2008 -0800"
      },
      "message": "[CONNECTOR]: Cleanup struct cn_queue_dev\n\nStruct member netlink_groups is never used, and I don\u0027t see how it can\nbe useful.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00f5e06c032507206c4ac0c846ad82b75ae7665b",
      "tree": "90511a59a2c738601d55425a8c8c5cb6e27b1025",
      "parents": [
        "fd00eeccd92b7b4b5ca95bd988c195efb4e5ec29"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jan 04 01:55:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:38 2008 -0800"
      },
      "message": "[CONNECTOR]: clean up {,__}cn_rx_skb()\n\n- __cn_rx_skb() does nothing but calls cn_call_callback(), it doesn\u0027t\ncheck skb and msg sizes as the comment suggests, but cn_rx_skb() checks\nthose sizes.\n\n- In cn_rx_skb() Local variable \u0027len\u0027 is not used. \u0027len\u0027 is probably\nintended to be passed to skb_pull(), but here skb_pull() is not needed,\ninstead skb_free() is called.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd00eeccd92b7b4b5ca95bd988c195efb4e5ec29",
      "tree": "d2cd16e16c107f9cebc8a329c37e982ed9325930",
      "parents": [
        "74feb6e84e189707ca1324a92f7206617efbd735"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jan 04 01:54:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:37 2008 -0800"
      },
      "message": "[CONNECTOR]: add a missing break in cn_netlink_send()\n\nEach entry in the list has a unique id, so just break out of the\nloop if the matched id is found.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf585ae8ae9ac7287a6d078425ea32f22bf7f1f7",
      "tree": "6345d5ca0ae09d48ce130cdf4c11c47cf5f8489a",
      "parents": [
        "9d3e44425e3498eb33f25d94392b4fd0d56a5176"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jan 08 23:44:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:44:44 2008 -0800"
      },
      "message": "[CONNECTOR]: Don\u0027t touch queue dev after decrement of ref count.\n\ncn_queue_free_callback() will touch \u0027dev\u0027(i.e. cbq-\u003epdev), so it\nshould be called before atomic_dec(\u0026dev-\u003erefcnt).\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "134d99e302618eeb102c2a5be1f9e98696288bdd",
      "tree": "c3f3b5e7e08d43b000d2dc2db31c4111bfb4ad40",
      "parents": [
        "44344b2a85f03326c7047a8c861b0c625c674839"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jan 04 01:52:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 04 03:55:37 2008 -0800"
      },
      "message": "[CONNECTOR]: Return proper error code in cn_call_callback()\n\nError code should be set to EINVAL instead of ENODEV if !queue_work().\nThere\u0027s another call of queue_work() which may set err to EINVAL.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cf92e98a48ba4bd5aeb8932b3844d3f8eacac76",
      "tree": "c1a1c5e57339fe7f9d2a9efad92d949eecedf366",
      "parents": [
        "be48be08a829db09a4f786f44a1872ef0f533c85"
      ],
      "author": {
        "name": "Michal Januszewski",
        "email": "spock@gentoo.org",
        "time": "Tue Oct 30 20:41:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 30 21:29:47 2007 -0700"
      },
      "message": "[CONNECTOR]: Fix a spurious kfree_skb() call\n\nRemove a spurious call to kfree_skb() in the connector rx_skb handler.\n\nThis fixes a regression introduced by the \u0027[NET]: make netlink user -\u003e\nkernel interface synchronious\u0027 patch (cd40b7d3983c708aabe3d3008ec64ffce56d33b0)\n\nSigned-off-by: Michal Januszewski \u003cspock@gentoo.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd40b7d3983c708aabe3d3008ec64ffce56d33b0",
      "tree": "0d6fe9cfd2f03fdeee126e317d4bfb145afc458d",
      "parents": [
        "aed815601f3f95281ab3a01f7e2cbe1bd54285a0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "message": "[NET]: make netlink user -\u003e kernel interface synchronious\n\nThis patch make processing netlink user -\u003e kernel messages synchronious.\nThis change was inspired by the talk with Alexey Kuznetsov about current\nnetlink messages processing. He says that he was badly wrong when introduced \nasynchronious user -\u003e kernel communication.\n\nThe call netlink_unicast is the only path to send message to the kernel\nnetlink socket. But, unfortunately, it is also used to send data to the\nuser.\n\nBefore this change the user message has been attached to the socket queue\nand sk-\u003esk_data_ready was called. The process has been blocked until all\npending messages were processed. The bad thing is that this processing\nmay occur in the arbitrary process context.\n\nThis patch changes nlk-\u003edata_ready callback to get 1 skb and force packet\nprocessing right in the netlink_unicast.\n\nKernel -\u003e user path in netlink_unicast remains untouched.\n\nEINTR processing for in netlink_run_queue was changed. It forces rtnl_lock\ndrop, but the process remains in the cycle until the message will be fully\nprocessed. So, there is no need to use this kludges now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4b510290b056b86611757ce1175a230f1080f53",
      "tree": "7bd1d45855ac7457be6d50338c60751f19e436d9",
      "parents": [
        "e9dc86534051b78e41e5b746cccc291b57a3a311"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Support multiple network namespaces with netlink\n\nEach netlink socket will live in exactly one network namespace,\nthis includes the controlling kernel sockets.\n\nThis patch updates all of the existing netlink protocols\nto only support the initial network namespace.  Request\nby clients in other namespaces will get -ECONREFUSED.\nAs they would if the kernel did not have the support for\nthat netlink protocol compiled in.\n\nAs each netlink protocol is updated to be multiple network\nnamespace safe it can register multiple kernel sockets\nto acquire a presence in the rest of the network namespaces.\n\nThe implementation in af_netlink is a simple filter implementation\nat hash table insertion and hash table look up time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13591885a90f8f5e3849ad1f1973649115d5bad4",
      "tree": "7c90040cc029e2ad74ffefac1ecbec58cf93ce5f",
      "parents": [
        "7126b75c8794f9fffda227d08b7ad1e138fa2c6c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Sun Jul 15 23:39:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:40 2007 -0700"
      },
      "message": "Use menuconfig objects: connector\n\nUse menuconfigs instead of menus, so the whole menu can be disabled at once\ninstead of going through all options.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nAcked-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af65bdfce98d7965fbe93a48b8128444a2eea024",
      "tree": "e6ac5ff82a0d5067213135cdf049b912b02e824d",
      "parents": [
        "b076deb8498e26c9aa2f44046fe5e9936ae2fb5a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 20 14:14:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:03 2007 -0700"
      },
      "message": "[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it\n\nSwitch cb_lock to mutex and allow netlink kernel users to override it\nwith a subsystem specific mutex for consistent locking in dump callbacks.\nAll netlink_dump_start users have been audited not to rely on any\nside-effects of the previously used spinlock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b529ccf2799c14346d1518e9bdf1f88f03643e99",
      "tree": "f899a5a5d66d2ca21724c1871ee3afeda6c4a670",
      "parents": [
        "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 19:08:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:34 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nlmsg_hdr() helper\n\nFor the common \"(struct nlmsghdr *)skb-\u003edata\" sequence, so that we reduce the\nnumber of direct accesses to skb-\u003edata and for consistency with all the other\ncast skb member helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05e52dd7396514648fba6c275eb7b49eca333c6d",
      "tree": "144ecb4d6986128773e6d5aad4e9aae52ce554d1",
      "parents": [
        "151a99317ee9efcfd3e642da62e1edf4f47fcb3e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Mar 07 12:55:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 07 16:08:08 2007 -0800"
      },
      "message": "[CONNECTOR]: Bugfix for cn_call_callback()\n\nWhen system under heavy stress and must allocate new work\ninstead of reusing old one, new work must use correct\ncompletion callback.\n\nPatch is based on Philipp\u0027s and Lars\u0027 work.\nI only cleaned small stuff (and removed spaces instead of tabs).\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af3e095a1fb42bac32355d5d59ce93f8b4e59a3e",
      "tree": "faaf69ff1911e126bd243821d54db42c1da9e61b",
      "parents": [
        "76395d37611e8758dd8bd6c6f5bfcb31e1dc48f9"
      ],
      "author": {
        "name": "Erik Jacobson",
        "email": "erikj@sgi.com",
        "time": "Fri Jan 05 16:37:05 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:29 2007 -0800"
      },
      "message": "[PATCH] connector: some fixes for ia64 unaligned access errors\n\nOn ia64, the various functions that make up cn_proc.c cause kernel\nunaligned access errors.\n\nIf you are using these, for example, to get notification about all tasks\nforking and exiting, you get multiple unaligned access errors per process.\n\nUse put_unaligned() in the appropriate palces to fix this.\n\nSigned-off-by: Erik Jacobson \u003cerikj@sgi.com\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a240d9f1d8e6421cb970632b93e71b2f66c2cd70",
      "tree": "e3d103d3c3637c074d0a2bf48fbcb07dce04b70a",
      "parents": [
        "14fb8a764786e37ac26a2175638115f21980e5a3"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Mon Dec 18 01:53:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 18 01:53:58 2006 -0800"
      },
      "message": "[CONNECTOR]: Replace delayed work with usual work queue.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8172d822fb02d5c4f7508e41f9267428dd3d891",
      "tree": "06177452db1f52b977ca795ea0d78c4db48fdf4b",
      "parents": [
        "749494bad9ca170e404b8dcebe8422df0d79b3ac"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Sun Dec 17 17:09:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Dec 17 21:59:24 2006 -0800"
      },
      "message": "[CONNECTOR]: Fix compilation breakage introduced recently.\n\nLinus has changed work queue structure and has not tested it with\nconnector compiled in, his changes break the build.\n\nAttached patch fixes compilation error.\n\nPatch is against commit 99f5e9718185f07458ae70c2282c2153a2256c91.\n\nThanks to Toralf Förster for pointing this out.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "822cfbff2ef49a08d1b9618d50f81b475d4f936c",
      "tree": "9b8bd37b3940410a13d0c439cc585d5aea1147ac",
      "parents": [
        "2ccb48ebb4de139eef4fcefd5f2bb823cb0d81b9"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Sun Jul 30 03:03:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:36 2006 -0700"
      },
      "message": "[PATCH] Process Events: Fix biarch compatibility issue. use __u64 timestamp\n\nEvents sent by Process Events Connector from a 64-bit kernel are not binary\ncompatible with a 32-bit userspace program because the \"timestamp\" field\n(struct timespec) is not arch independent.  This affects the fields that\nfollow \"timestamp\" as they will be be off by 8 bytes.\n\nThis is a problem for 32-bit userspace programs running with 64-bit kernels\non ppc64, s390, x86-64..  any \"biarch\" system.\n\nMatt had submitted a different solution to lkml as an RFC earlier.  We have\nsince switched to a solution recommended by Evgeniy Polyakov.\n\nThis patch fixes the problem by changing the timestamp to be a __u64, which\nstores the number of nanoseconds.\n\nTested on a x86_64 system with both 32 bit application and 64 bit\napplication and on a i386 system.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "deb0e9b234af24f4a827757fae9ff5542a3d2a12",
      "tree": "5708987407378781ae22bb4c032ffb807e449e91",
      "parents": [
        "66f969d064e46e6690c3426e2af846e76fb80e83"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 02:05:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] connector-exports\n\nPut the connector exports at the functions so people can see them in context.\n\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d31a4ea8cf7a2afc7299d1d3d8732ca54a5934e",
      "tree": "74995c3163a0854d37a0a5193177928c2ded9ce8",
      "parents": [
        "368a5fa1f28589e6b54588a139ea872d5b4b1914"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Fri Jun 23 02:05:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] Process Events - Header Cleanup\n\nMove connector header include to precisely where it\u0027s needed.\n\nRemove unused time.h header file as well.  This was leftover from previous\niterations of the process events patches.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nCc: Nguyen Anh Quynh \u003caquynh@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6cc7f1a3b33c89c91b3dfce1ff053178893470e",
      "tree": "8eb8796588b53648c42378a19a6089a5b8790308",
      "parents": [
        "d3dcd4efe2ad1ad1865b2fe5c863c1ebd9482a84"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Mon Jun 19 23:42:53 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 19 23:42:53 2006 -0700"
      },
      "message": "[CONNECTOR]: Initialize subsystem earlier.\n\nAttached patch declares connector init function as subsys_init()\nand returns -EAGAIN in case connector is not initialized yet.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cec6f7f39c3db7d9f6091bf2f8fc8d520f372719",
      "tree": "08142a001fa9b010056202293697c7b5aea6bae8",
      "parents": [
        "f86502bfc177f69bbabbedb78ebf710579ae0e54"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@suse.de",
        "time": "Mon Jun 05 21:21:57 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:29:43 2006 -0700"
      },
      "message": "[CONNECTOR]: Fix warning in cn_queue.c\n\ncn_queue.c:130: warning: value computed is not used\n\nThere is no point in testing the atomic value if the result is thrown\naway.\n\nFrom Evgeniy:\n\nIt was created to put implicit smp barrier, but it is not needed there.\n\nSigned-off-by: Andreas Schwab \u003cschwab@suse.de\u003e\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ed965d612d9e9bc08805c75123f063cf6966311",
      "tree": "7a863b9cb0d408295193f888b06d40d3364a404a",
      "parents": [
        "9cdf18279d1f4a2d075ebe924d74e6e4547f6e1b"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Thu Mar 23 03:00:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:10 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: drivers: raw, connector, dcdbas, ppp_generic\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b191ba0d599928372be5a89f75486eb58efab48a",
      "tree": "a0ecc636d121126aba838d49700ad9cfbbf94733",
      "parents": [
        "0ac81ae34ec8898e7eb1388fe21e3cee7b626a88"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Mon Mar 20 22:21:40 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:21:40 2006 -0800"
      },
      "message": "[CONNECTOR]: Use netlink_has_listeners() to avoind unnecessary allocations.\n\nReturn -ESRCH from cn_netlink_send() when there are not listeners,\njust as it could be done by netlink_broadcast().  Propagate\nnetlink_broadcast() error back to the caller.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "caf3c9dc56f5758ca6016513e2790a151bf2077d",
      "tree": "a2e4abc86d44529bf24b9cfe3cb673a9ce605e02",
      "parents": [
        "69778e325c3007c8c8a653fcee2c298ffe071fd4"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Jan 09 20:52:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:39 2006 -0800"
      },
      "message": "[PATCH] Switch getnstimestamp() calls to ktime_get_ts()\n\nUse ktime_get_ts() to take the timestamp instead of getnstimestamp().  This\npatch prepares to remove getnstimestamp() by switching its only user to a\ndifferent function with almost exactly the same code.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc398c2eae35b13d77b77337136325edc6ca94ca",
      "tree": "c7b502c0cd1f51e462f1861b4c46921941689faf",
      "parents": [
        "5160ee6fc891a9ca114be0e90fa6655647bb64b2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 08 01:03:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:58 2006 -0800"
      },
      "message": "[PATCH] drivers/connector/cn_proc.c typos\n\nThe parameter to put_cpu_var() is unreferenced by the implementation, and\nthe compiler doesn\u0027t try to comprehend comments, so this wouldn\u0027t cause any\nproblem, but if bugged me enough to post a fix :-)\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5650b736ad328f7f3e4120e8790940289b8ac144",
      "tree": "fb2287d21b6f826f3e291892c3d5c6e640a13c45",
      "parents": [
        "64123fd42c7a1e4ebf6acd2399c98caddc7e0c26"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Dec 12 00:37:10 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Dec 12 08:57:42 2005 -0800"
      },
      "message": "[PATCH] Add timestamp field to process events\n\nThis adds a timestamp field to the events sent via the process event\nconnector.  The timestamp allows listeners to accurately account the\nduration(s) between a process\u0027 events and offers strong means with which\nto determine the order of events with respect to a given task while also\navoiding the addition of per-task data.\n\nThis alters the size and layout of the event structure and hence would\nbreak compatibility if process events connector as it stands in 2.6.15-rc2\nwere released as a mainline kernel.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9f46080c41d5f3f7c00b4e169ba4b0b2865258bf",
      "tree": "e2c029ef7f0cd5fb8ea9b78db3f7be5badaf59b1",
      "parents": [
        "49364ce2534418462d681ad99e52e79a00b0f40b"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Nov 07 00:59:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:35 2005 -0800"
      },
      "message": "[PATCH] Process Events Connector\n\nThis patch adds a connector that reports fork, exec, id change, and exit\nevents for all processes to userspace.  It replaces the fork_advisor patch\nthat ELSA is currently using.  Applications that may find these events\nuseful include accounting/auditing (e.g.  ELSA), system activity monitoring\n(e.g.  top), security, and resource management (e.g.  CKRM).\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "17b698856328a42d5874ac87640e2cd84a824eef",
      "tree": "f5458a111f80e8f903ed3d921c67391183a7d367",
      "parents": [
        "de54f3907d2f5d8e25cfafe513811f146b250dee"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Oct 04 22:41:16 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 04 22:41:16 2005 -0700"
      },
      "message": "[CONNECTOR]: fix sparse gfp nocast warnings\n\nFix implicit nocast warnings in connector code:\ndrivers/connector/connector.c:102:24: warning: implicit cast to nocast type\ndrivers/connector/connector.c:114:45: warning: implicit cast to nocast type\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acd042bb2de50d4e6fb969281a00cc8b8b71e46d",
      "tree": "c696f1c0bdbc6eabcb9c13d395abb73f0d08e129",
      "parents": [
        "b9d717a7b413f227ebb2d61d9c118335f7292137"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Mon Sep 26 15:06:50 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 26 15:06:50 2005 -0700"
      },
      "message": "[CONNECTOR]: async connector mode.\n\nIf input message rate from userspace is too high, do not drop them,\nbut try to deliver using work queue allocation.\n\nFailing there is some kind of congestion control.\n\nIt also removes warn_on on this condition, which scares people.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7672d0b54411371e0b6a831c1cb2f0ce615de6dc",
      "tree": "27d88da3263041b91d18346b3bcd27807d332f1a",
      "parents": [
        "357d596bd552ad157a906289ab13ea6ba7e66e3d"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Sun Sep 11 19:15:07 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 11 19:15:07 2005 -0700"
      },
      "message": "[NET]: Add netlink connector.\n\nKernel connector - new userspace \u003c-\u003e kernel space easy to use\ncommunication module which implements easy to use bidirectional\nmessage bus using netlink as it\u0027s backend.  Connector was created to\neliminate complex skb handling both in send and receive message bus\ndirection.\n\nConnector driver adds possibility to connect various agents using as\none of it\u0027s backends netlink based network.  One must register\ncallback and identifier. When driver receives special netlink message\nwith appropriate identifier, appropriate callback will be called.\n\nFrom the userspace point of view it\u0027s quite straightforward:\n\n\tsocket();\n\tbind();\n\tsend();\n\trecv();\n\nBut if kernelspace want to use full power of such connections, driver\nwriter must create special sockets, must know about struct sk_buff\nhandling...  Connector allows any kernelspace agents to use netlink\nbased networking for inter-process communication in a significantly\neasier way:\n\nint cn_add_callback(struct cb_id *id, char *name, void (*callback) (void *));\nvoid cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);\n\nstruct cb_id\n{\n\t__u32\t\t\tidx;\n\t__u32\t\t\tval;\n};\n\nidx and val are unique identifiers which must be registered in\nconnector.h for in-kernel usage.  void (*callback) (void *) - is a\ncallback function which will be called when message with above idx.val\nwill be received by connector core.\n\nUsing connector completely hides low-level transport layer from it\u0027s\nusers.\n\nConnector uses new netlink ability to have many groups in one socket.\n\n[ Incorporating many cleanups and fixes by myself and\n  Andrew Morton -DaveM ]\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
