)]}'
{
  "log": [
    {
      "commit": "3ea9f6833c8f865a221b59ce37d7650dcf3b3e17",
      "tree": "1f304f3ef65c84c9a6446d2ad7fa3ce2e7e248ad",
      "parents": [
        "b2e4ae69757cdfef4c612a04f097c1e20489a565"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Dec 08 17:42:23 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:18:05 2010 +0100"
      },
      "message": "connector: Use this_cpu operations\n\nThe patch was originally in the use cpuops patchset but it needs an\ninc_return and is therefore dependent on an extension of the cpu ops.\nFixed up and verified that it compiles.\n\nget_seq can benefit from this_cpu_operations.  Address calculation is\navoided and the increment is done using an xadd.\n\nCc: Scott James Remnant \u003cscott@ubuntu.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "3700c3c2934467d53d443682f020cc5c1f75f1f2",
      "tree": "df312ab5702117f186cb2c1e1cbb62a24cf11c33",
      "parents": [
        "c1249c0aae4c93a753c70496ab2e9a51430a6f02"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Dec 10 12:27:49 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 12:27:49 2010 -0800"
      },
      "message": "connector: add module alias\n\nSince connector can be built as a module and uses netlink socket\nto communicate. The module should have an alias to autoload when socket\nof NETLINK_CONNECTOR type is requested.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "6cebb17beece746de86793cd549e84740896cf4a",
      "tree": "6f5a3ee1ab6ee0147688f7e2343055645f7a64e7",
      "parents": [
        "229aebb873e29726b91e076161649cf45154b0bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 14 23:55:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 24 14:20:01 2010 -0700"
      },
      "message": "connector: remove lazy workqueue creation\n\nCommit 1a5645bc (connector: create connector workqueue only while\nneeded once) implements lazy workqueue creation for connector\nworkqueue.  With cmwq now in place, lazy workqueue creation doesn\u0027t\nmake much sense while adding a lot of complexity.  Remove it and\nallocate an ordered workqueue during initialization.\n\nThis also removes a call to flush_scheduled_work() which is deprecated\nand scheduled to be removed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "f98bfbd78c37c5946cc53089da32a5f741efdeb7",
      "tree": "885c756a95f28d4d00868f6eb06ab9c45f11b2e2",
      "parents": [
        "a4c89051c83693e6cd5655b90300ec23a35e04f1"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "zbr@ioremap.net",
        "time": "Tue Feb 02 15:58:48 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 02 15:58:48 2010 -0800"
      },
      "message": "connector: Delete buggy notification code.\n\nOn Tue, Feb 02, 2010 at 02:57:14PM -0800, Greg KH (gregkh@suse.de) wrote:\n\u003e \u003e There are at least two ways to fix it: using a big cannon and a small\n\u003e \u003e one. The former way is to disable notification registration, since it is\n\u003e \u003e not used by anyone at all. Second way is to check whether calling\n\u003e \u003e process is root and its destination group is -1 (kind of priveledged\n\u003e \u003e one) before command is dispatched to workqueue.\n\u003e \n\u003e Well if no one is using it, removing it makes the most sense, right?\n\u003e \n\u003e No objection from me, care to make up a patch either way for this?\n\nGetting it is not used, let\u0027s drop support for notifications about\n(un)registered events from connector.\nAnother option was to check credentials on receiving, but we can always\nrestore it without bugs if needed, but genetlink has a wider code base\nand none complained, that userspace can not get notification when some\nother clients were (un)registered.\n\nKudos for Sebastian Krahmer \u003ckrahmer@suse.de\u003e, who found a bug in the\ncode.\n\nSigned-off-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0b25932b8e60e96f5f371b27442e560803ac6f5",
      "tree": "c04e8d202b88f79ac86b603cd135af26fee62dd4",
      "parents": [
        "a160ee69c6a4622ed30c377a978554015e9931cb"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "bebarino@gmail.com",
        "time": "Tue Oct 06 01:39:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 06 01:39:51 2009 -0700"
      },
      "message": "connector: Fix incompatible pointer type warning\n\nCommit 7069331 (connector: Provide the sender\u0027s credentials to the\ncallback, 2009-10-02) changed callbacks to take two arguments but missed\nthis one.\n\ndrivers/connector/cn_proc.c: In function ‘cn_proc_init’:\ndrivers/connector/cn_proc.c:263: warning: passing argument 3 of\n‘cn_add_callback’ from incompatible pointer type\n\nSigned-off-by: Stephen Boyd \u003cbebarino@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1489cfb173509a3c13444b46b6c989bad4f5b16",
      "tree": "cd8fc93b73081e358371b9852c7b62cb02516ded",
      "parents": [
        "18366b05a00349c1606269ba7422bf9b3a357ff2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 02 02:40:07 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 02 10:54:05 2009 -0700"
      },
      "message": "connector: Removed the destruct_data callback since it is always kfree_skb()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nAcked-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7069331dbe7155f23966f5944109f909fea0c7e4",
      "tree": "5ea80628d1bf5e776a540ee84814f085c9adff04",
      "parents": [
        "293500a23f4b0698cb04abfecfc9a954d8ab2742"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 02 02:40:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 02 10:54:01 2009 -0700"
      },
      "message": "connector: Provide the sender\u0027s credentials to the callback\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nAcked-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "293500a23f4b0698cb04abfecfc9a954d8ab2742",
      "tree": "15c873cfbdaebe5f644ae60958c656fd449061d5",
      "parents": [
        "19d5afd4f0d26201d8d8bec351ee0442775a5379"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 02 02:40:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 02 10:53:58 2009 -0700"
      },
      "message": "connector: Keep the skb in cn_callback_data\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nAcked-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02b51df1b07b4e9ca823c89284e704cadb323cd1",
      "tree": "c68de4809f261d742f597c686826cdc9d047fb4a",
      "parents": [
        "88e9d34c727883d7d6f02cf1475b3ec98b8480c7"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "scott@ubuntu.com",
        "time": "Tue Sep 22 16:43:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "proc connector: add event for process becoming session leader\n\nThe act of a process becoming a session leader is a useful signal to a\nsupervising init daemon such as Upstart.\n\nWhile a daemon will normally do this as part of the process of becoming a\ndaemon, it is rare for its children to do so.  When the children do, it is\nnearly always a sign that the child should be considered detached from the\nparent and not supervised along with it.\n\nThe poster-child example is OpenSSH; the per-login children call setsid()\nso that they may control the pty connected to them.  If the primary daemon\ndies or is restarted, we do not want to consider the per-login children\nand want to respawn the primary daemon without killing the children.\n\nThis patch adds a new PROC_SID_EVENT and associated structure to the\nproc_event event_data union, it arranges for this to be emitted when the\nspecial PIDTYPE_SID pid is set.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Scott James Remnant \u003cscott@ubuntu.com\u003e\nAcked-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74d154189d597b91da4322996dbf4f5c3d1544ab",
      "tree": "6f09861b5e2f875d2d8ea2127b16add9103221c6",
      "parents": [
        "5a6338db37885af06760d40cad589316e48431e9",
        "ffafa60d496f80c250f2ae0340ae94434c0b0b4d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 19:03:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 19:03:51 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwmc3200wifi/netdev.c\n\tnet/wireless/scan.c\n"
    },
    {
      "commit": "acb9c1b2f406d25c381de2b429f65706cc04d3b5",
      "tree": "d8b571545d6d4deca4d05eea58754e21b8cfc45b",
      "parents": [
        "87cf65601e1709e57f7e28f0f7b3eb0a992c1782"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "zbr@ioremap.net",
        "time": "Tue Jul 21 12:43:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 21 12:43:51 2009 -0700"
      },
      "message": "connector: maintainer/mail update.\n\nSigned-off-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0741241c6b80bfd58417e95de984d60c9e9ef2a0",
      "tree": "9fa70e5e918e0735c531988f64b92cb5655baf28",
      "parents": [
        "e36aa25a533962b08402530e8443ac804a454e27"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Jul 17 10:13:21 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 17 10:13:21 2009 -0700"
      },
      "message": "connector: make callback argument type explicit\n\nThe connector documentation states that the argument to the callback\nfunction is always a pointer to a struct cn_msg, but rather than encode it\nin the API itself, it uses a void pointer everywhere.  This doesn\u0027t make\nmuch sense to encode the pointer in documentation as it prevents proper C\ntype checking from occurring and can easily allow people to use the wrong\npointer type.  So convert the argument type to an explicit struct cn_msg\npointer.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4737f0978d6e64eae468e01fa181abf6499e6b84",
      "tree": "44871914422157121d4a68d376e60d1b1e7f1f92",
      "parents": [
        "3226224039c8f8cb840d236b5f27d2a1104789e2"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Fri Jun 05 00:44:53 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 18:01:50 2009 +0200"
      },
      "message": "trivial: Kconfig: .ko is normally not included in module names\n\n.ko is normally not included in Kconfig help, make it consistent.\n\nSigned-off-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "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"
    }
  ]
}
