)]}'
{
  "log": [
    {
      "commit": "41fdc3054e23e3229edea27053522fe052d02ec2",
      "tree": "00bb62aef2288df07eae059f344d11d32b004f69",
      "parents": [
        "5afb8a3f96573f7ea018abb768f5b6ebe1a6c1a4"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Sat Jan 07 10:41:04 2012 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:03 2012 -0500"
      },
      "message": "audit: treat s_id as an untrusted string\n\nThe use of s_id should go through the untrusted string path, just to be\nextra careful.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nAcked-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5afb8a3f96573f7ea018abb768f5b6ebe1a6c1a4",
      "tree": "da5f2278624eeb9dd09c91f3e9cfb6718a4b44ac",
      "parents": [
        "10d68360871657204885371cdf2594412675d2f9"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Tue Dec 20 18:39:41 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:03 2012 -0500"
      },
      "message": "audit: fix signedness bug in audit_log_execve_info()\n\nIn the loop, a size_t \"len\" is used to hold the return value of\naudit_log_single_execve_arg(), which returns -1 on error.  In that\ncase the error handling (len \u003c\u003d 0) will be bypassed since \"len\" is\nunsigned, and the loop continues with (p +\u003d len) being wrapped.\nChange the type of \"len\" to signed int to fix the error handling.\n\n\tsize_t len;\n\t...\n\tfor (...) {\n\t\tlen \u003d audit_log_single_execve_arg(...);\n\t\tif (len \u003c\u003d 0)\n\t\t\tbreak;\n\t\tp +\u003d len;\n\t}\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "10d68360871657204885371cdf2594412675d2f9",
      "tree": "85a4fa8d3b0dc0a7bc525475325f955f75d3881d",
      "parents": [
        "4a6633ed08af5ba67790b4d1adcdeb8ceb55677e"
      ],
      "author": {
        "name": "Peter Moody",
        "email": "pmoody@google.com",
        "time": "Wed Jan 04 15:24:31 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:03 2012 -0500"
      },
      "message": "audit: comparison on interprocess fields\n\nThis allows audit to specify rules in which we compare two fields of a\nprocess.  Such as is the running process uid !\u003d to the running process\neuid?\n\nSigned-off-by: Peter Moody \u003cpmoody@google.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4a6633ed08af5ba67790b4d1adcdeb8ceb55677e",
      "tree": "8b658f732f742d3d3a40f84b39ce4aa42f70d538",
      "parents": [
        "c9fe685f7a17a0ee8bf3fbe51e40b1c8b8e65896"
      ],
      "author": {
        "name": "Peter Moody",
        "email": "pmoody@google.com",
        "time": "Tue Dec 13 16:17:51 2011 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:02 2012 -0500"
      },
      "message": "audit: implement all object interfield comparisons\n\nThis completes the matrix of interfield comparisons between uid/gid\ninformation for the current task and the uid/gid information for inodes.\naka I can audit based on differences between the euid of the process and\nthe uid of fs objects.\n\nSigned-off-by: Peter Moody \u003cpmoody@google.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c9fe685f7a17a0ee8bf3fbe51e40b1c8b8e65896",
      "tree": "510a09bc02c5dccb7ef83c88f2a00546b17e2c17",
      "parents": [
        "b34b039324bf081554ee8678f9b8c5d937e5206c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:02 2012 -0500"
      },
      "message": "audit: allow interfield comparison between gid and ogid\n\nAllow audit rules to compare the gid of the running task to the gid of the\ninode in question.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b34b039324bf081554ee8678f9b8c5d937e5206c",
      "tree": "ff454dfed0580753defbeb87652bcf19faaf7800",
      "parents": [
        "02d86a568c6d2d335256864451ac8ce781bc5652"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:02 2012 -0500"
      },
      "message": "audit: complex interfield comparison helper\n\nRather than code the same loop over and over implement a helper function which\nuses some pointer magic to make it generic enough to be used numerous places\nas we implement more audit interfield comparisons\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "02d86a568c6d2d335256864451ac8ce781bc5652",
      "tree": "3ef085bd96cc79733cff28993379dbbd4b855813",
      "parents": [
        "29ef73b7a823b77a7cd0bdd7d7cded3fb6c2587b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:01 2012 -0500"
      },
      "message": "audit: allow interfield comparison in audit rules\n\nWe wish to be able to audit when a uid\u003d500 task accesses a file which is\nuid\u003d0.  Or vice versa.  This patch introduces a new audit filter type\nAUDIT_FIELD_COMPARE which takes as an \u0027enum\u0027 which indicates which fields\nshould be compared.  At this point we only define the task-\u003euid vs\ninode-\u003euid, but other comparisons can be added.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "29ef73b7a823b77a7cd0bdd7d7cded3fb6c2587b",
      "tree": "4edfccf0b4d2b24c8e6069113eb69bb8c7a9b037",
      "parents": [
        "4043cde8ecf7f7d880eb1133c201a3d392fd68c3"
      ],
      "author": {
        "name": "Nathaniel Husted",
        "email": "nhusted@gmail.com",
        "time": "Tue Jan 03 14:23:09 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:01 2012 -0500"
      },
      "message": "Kernel: Audit Support For The ARM Platform\n\nThis patch provides functionality to audit system call events on the\nARM platform. The implementation was based off the structure of the\nMIPS platform and information in this\n(http://lists.fedoraproject.org/pipermail/arm/2009-October/000382.html)\nmailing list thread. The required audit_syscall_exit and\naudit_syscall_entry checks were added to ptrace using the standard\nregisters for system call values (r0 through r3). A thread information\nflag was added for auditing (TIF_SYSCALL_AUDIT) and a meta-flag was\nadded (_TIF_SYSCALL_WORK) to simplify modifications to the syscall\nentry/exit. Now, if either the TRACE flag is set or the AUDIT flag is\nset, the syscall_trace function will be executed. The prober changes\nwere made to Kconfig to allow CONFIG_AUDITSYSCALL to be enabled.\n\nDue to platform availability limitations, this patch was only tested\non the Android platform running the modified \"android-goldfish-2.6.29\"\nkernel. A test compile was performed using Code Sourcery\u0027s\ncross-compilation toolset and the current linux-3.0 stable kernel. The\nchanges compile without error. I\u0027m hoping, due to the simple modifications,\nthe patch is \"obviously correct\".\n\nSigned-off-by: Nathaniel Husted \u003cnhusted@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4043cde8ecf7f7d880eb1133c201a3d392fd68c3",
      "tree": "d740c60e6b56565a7e996c3d0308e66f7c8651f8",
      "parents": [
        "633b45454503489209b0d9a45f9e3cd1b852c614"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:01 2012 -0500"
      },
      "message": "audit: do not call audit_getname on error\n\nJust a code cleanup really.  We don\u0027t need to make a function call just for\nit to return on error.  This also makes the VFS function even easier to follow\nand removes a conditional on a hot path.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "633b45454503489209b0d9a45f9e3cd1b852c614",
      "tree": "591363d3be6b773f872b979727d4ac1a9691ec82",
      "parents": [
        "0a300be6d5be8f66cd96609334710c268d0bfdce"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:00 2012 -0500"
      },
      "message": "audit: only allow tasks to set their loginuid if it is -1\n\nAt the moment we allow tasks to set their loginuid if they have\nCAP_AUDIT_CONTROL.  In reality we want tasks to set the loginuid when they\nlog in and it be impossible to ever reset.  We had to make it mutable even\nafter it was once set (with the CAP) because on update and admin might have\nto restart sshd.  Now sshd would get his loginuid and the next user which\nlogged in using ssh would not be able to set his loginuid.\n\nSystemd has changed how userspace works and allowed us to make the kernel\nwork the way it should.  With systemd users (even admins) are not supposed\nto restart services directly.  The system will restart the service for\nthem.  Thus since systemd is going to loginuid\u003d\u003d-1, sshd would get -1, and\nsshd would be allowed to set a new loginuid without special permissions.\n\nIf an admin in this system were to manually start an sshd he is inserting\nhimself into the system chain of trust and thus, logically, it\u0027s his\nloginuid that should be used!  Since we have old systems I make this a\nKconfig option.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0a300be6d5be8f66cd96609334710c268d0bfdce",
      "tree": "253d0d1e0aa28a6bdf883bb92e4b62fafe263563",
      "parents": [
        "54d3218b31aee5bc9c859ae60fbde933d922448b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:00 2012 -0500"
      },
      "message": "audit: remove task argument to audit_set_loginuid\n\nThe function always deals with current.  Don\u0027t expose an option\npretending one can use it for something.  You can\u0027t.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "54d3218b31aee5bc9c859ae60fbde933d922448b",
      "tree": "ebc383920713c283133d885191d0c19cb049afd2",
      "parents": [
        "efaffd6e4417860c67576ac760dd6e8bbd15f006"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:59 2012 -0500"
      },
      "message": "audit: allow audit matching on inode gid\n\nMuch like the ability to filter audit on the uid of an inode collected, we\nshould be able to filter on the gid of the inode.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "efaffd6e4417860c67576ac760dd6e8bbd15f006",
      "tree": "a59ee886b609bbf761fb75744e5e468264c67ab5",
      "parents": [
        "6422e78de6880c66a82af512d9bd0c85eb62e661"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:59 2012 -0500"
      },
      "message": "audit: allow matching on obj_uid\n\nAllow syscall exit filter matching based on the uid of the owner of an\ninode used in a syscall.  aka:\n\nauditctl -a always,exit -S open -F obj_uid\u003d0 -F perm\u003dwa\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "6422e78de6880c66a82af512d9bd0c85eb62e661",
      "tree": "9cce4d385a6508056be7645fd3511ab019b346f4",
      "parents": [
        "7ff68e53ece8c175d2951bb8a30b3cce8f9c5579"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:59 2012 -0500"
      },
      "message": "audit: remove audit_finish_fork as it can\u0027t be called\n\nAudit entry,always rules are not allowed and are automatically changed in\nexit,always rules in userspace.  The kernel refuses to load such rules.\n\nThus a task in the middle of a syscall (and thus in audit_finish_fork())\ncan only be in one of two states: AUDIT_BUILD_CONTEXT or AUDIT_DISABLED.\nSince the current task cannot be in AUDIT_RECORD_CONTEXT we aren\u0027t every\ngoing to actually use the code in audit_finish_fork() since it will\nreturn without doing anything.  Thus drop the code.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "7ff68e53ece8c175d2951bb8a30b3cce8f9c5579",
      "tree": "cde525e879e2e2434b0e3b23248588f015f5df04",
      "parents": [
        "a4ff8dba7d8ce5ceb43fb27df66292251cc73bdc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:58 2012 -0500"
      },
      "message": "audit: reject entry,always rules\n\nWe deprecated entry,always rules a long time ago.  Reject those rules as\ninvalid.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "a4ff8dba7d8ce5ceb43fb27df66292251cc73bdc",
      "tree": "2c89a0a7a7dad853a2c2ec70417ef2f3f5a04fd4",
      "parents": [
        "38cdce53daa0408a61fe6d86fe48f31515c9b840"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:58 2012 -0500"
      },
      "message": "audit: inline audit_free to simplify the look of generic code\n\nmake the conditional a static inline instead of doing it in generic code.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "38cdce53daa0408a61fe6d86fe48f31515c9b840",
      "tree": "a08ff80a819432fa32e384e1960249a59cdb4f33",
      "parents": [
        "07c49417877f8658a6aa0ad9b4e21e4fd4df11b6"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:58 2012 -0500"
      },
      "message": "audit: drop audit_set_macxattr as it doesn\u0027t do anything\n\nunused.  deleted.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "07c49417877f8658a6aa0ad9b4e21e4fd4df11b6",
      "tree": "59a64b96c9f35b8559db4c46b5a43d2d9510c190",
      "parents": [
        "56179a6ec65a56e0279a58e35cb450d38f061b94"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:57 2012 -0500"
      },
      "message": "audit: inline checks for not needing to collect aux records\n\nA number of audit hooks make function calls before they determine that\nauxilary records do not need to be collected.  Do those checks as static\ninlines since the most common case is going to be that records are not\nneeded and we can skip the function call overhead.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "56179a6ec65a56e0279a58e35cb450d38f061b94",
      "tree": "7dc8b775719d7c731f1d2c279d5e5a105309adfb",
      "parents": [
        "997f5b6444f4608692ec807fb802fd9767c80e76"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:57 2012 -0500"
      },
      "message": "audit: drop some potentially inadvisable likely notations\n\nThe audit code makes heavy use of likely() and unlikely() macros, but they\ndon\u0027t always make sense.  Drop any that seem questionable and let the\ncomputer do it\u0027s thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "997f5b6444f4608692ec807fb802fd9767c80e76",
      "tree": "3f523cd7aa1a8ab836ad2d494752364dde5b5eac",
      "parents": [
        "b05d8447e7821695bc2fa3359431f7a664232743"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:57 2012 -0500"
      },
      "message": "audit: remove AUDIT_SETUP_CONTEXT as it isn\u0027t used\n\nAudit contexts have 3 states.  Disabled, which doesn\u0027t collect anything,\nbuild, which collects info but might not emit it, and record, which\ncollects and emits.  There is a 4th state, setup, which isn\u0027t used.  Get\nrid of it.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b05d8447e7821695bc2fa3359431f7a664232743",
      "tree": "da90e558279c6407aa2e08d36bea5d9a21cd959c",
      "parents": [
        "f031cd25568a390dc2c9c3a4015054183753449a"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:56 2012 -0500"
      },
      "message": "audit: inline audit_syscall_entry to reduce burden on archs\n\nEvery arch calls:\n\nif (unlikely(current-\u003eaudit_context))\n\taudit_syscall_entry()\n\nwhich requires knowledge about audit (the existance of audit_context) in\nthe arch code.  Just do it all in static inline in audit.h so that arch\u0027s\ncan remain blissfully ignorant.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "f031cd25568a390dc2c9c3a4015054183753449a",
      "tree": "b837ca821ea5138af2f80400afb2175fa68763f2",
      "parents": [
        "d7e7528bcd456f5c36ad4a202ccfb43c5aa98bc4"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:56 2012 -0500"
      },
      "message": "audit: ia32entry.S sign extend error codes when calling 64 bit code\n\nIn the ia32entry syscall exit audit fastpath we have assembly code which calls\n__audit_syscall_exit directly.  This code was, however, zeroes the upper 32\nbits of the return code.  It then proceeded to call code which expects longs\nto be 64bits long.  In order to handle code which expects longs to be 64bit we\nsign extend the return code if that code is an error.  Thus the\n__audit_syscall_exit function can correctly handle using the values in\nsnprintf(\"%ld\").  This fixes the regression introduced in 5cbf1565f29eb57a86a.\n\nOld record:\ntype\u003dSYSCALL msg\u003daudit(1306197182.256:281): arch\u003d40000003 syscall\u003d192 success\u003dno exit\u003d4294967283\nNew record:\ntype\u003dSYSCALL msg\u003daudit(1306197182.256:281): arch\u003d40000003 syscall\u003d192 success\u003dno exit\u003d-13\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "d7e7528bcd456f5c36ad4a202ccfb43c5aa98bc4",
      "tree": "ef49503b1dc52c52102e728dbd979c9309d5756b",
      "parents": [
        "85e7bac33b8d5edafc4e219c7dfdb3d48e0b4e31"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:56 2012 -0500"
      },
      "message": "Audit: push audit success and retcode into arch ptrace.h\n\nThe audit system previously expected arches calling to audit_syscall_exit to\nsupply as arguments if the syscall was a success and what the return code was.\nAudit also provides a helper AUDITSC_RESULT which was supposed to simplify things\nby converting from negative retcodes to an audit internal magic value stating\nsuccess or failure.  This helper was wrong and could indicate that a valid\npointer returned to userspace was a failed syscall.  The fix is to fix the\nlayering foolishness.  We now pass audit_syscall_exit a struct pt_reg and it\nin turns calls back into arch code to collect the return value and to\ndetermine if the syscall was a success or failure.  We also define a generic\nis_syscall_success() macro which determines success/failure based on if the\nvalue is \u003c -MAX_ERRNO.  This works for arches like x86 which do not use a\nseparate mechanism to indicate syscall failure.\n\nWe make both the is_syscall_success() and regs_return_value() static inlines\ninstead of macros.  The reason is because the audit function must take a void*\nfor the regs.  (uml calls theirs struct uml_pt_regs instead of just struct\npt_regs so audit_syscall_exit can\u0027t take a struct pt_regs).  Since the audit\nfunction takes a void* we need to use static inlines to cast it back to the\narch correct structure to dereference it.\n\nThe other major change is that on some arches, like ia64, MIPS and ppc, we\nchange regs_return_value() to give us the negative value on syscall failure.\nTHE only other user of this macro, kretprobe_example.c, won\u0027t notice and it\nmakes the value signed consistently for the audit functions across all archs.\n\nIn arch/sh/kernel/ptrace_64.c I see that we were using regs[9] in the old\naudit code as the return value.  But the ptrace_64.h code defined the macro\nregs_return_value() as regs[3].  I have no idea which one is correct, but this\npatch now uses the regs_return_value() function, so it now uses regs[3].\n\nFor powerpc we previously used regs-\u003eresult but now use the\nregs_return_value() function which uses regs-\u003egprs[3].  regs-\u003egprs[3] is\nalways positive so the regs_return_value(), much like ia64 makes it negative\nbefore calling the audit code when appropriate.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e [for x86 portion]\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e [for ia64]\nAcked-by: Richard Weinberger \u003crichard@nod.at\u003e [for uml]\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e [for sparc]\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e [for mips]\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e [for ppc]\n"
    },
    {
      "commit": "85e7bac33b8d5edafc4e219c7dfdb3d48e0b4e31",
      "tree": "6a1f178de829d2219a65a8563e12f2c8029d4b13",
      "parents": [
        "16c174bd95cb07c9d0ad3fcd8c70f9cea7214c9d"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:55 2012 -0500"
      },
      "message": "seccomp: audit abnormal end to a process due to seccomp\n\nThe audit system likes to collect information about processes that end\nabnormally (SIGSEGV) as this may me useful intrusion detection information.\nThis patch adds audit support to collect information when seccomp forces a\ntask to exit because of misbehavior in a similar way.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "16c174bd95cb07c9d0ad3fcd8c70f9cea7214c9d",
      "tree": "3264c533da56cc81988331fd0d3f42f3d2ba3183",
      "parents": [
        "3035c51e8ac0512686ceb9f2bd1d13bdc6e4fb29"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:55 2012 -0500"
      },
      "message": "audit: check current inode and containing object when filtering on major and minor\n\nThe audit system has the ability to filter on the major and minor number of\nthe device containing the inode being operated upon.  Lets say that\n/dev/sda1 has major,minor 8,1 and that we mount /dev/sda1 on /boot.  Now lets\nsay we add a watch with a filter on 8,1.  If we proceed to open an inode\ninside /boot, such as /vboot/vmlinuz, we will match the major,minor filter.\n\nLets instead assume that one were to use a tool like debugfs and were to\nopen /dev/sda1 directly and to modify it\u0027s contents.  We might hope that\nthis would also be logged, but it isn\u0027t.  The rules will check the\nmajor,minor of the device containing /dev/sda1.  In other words the rule\nwould match on the major/minor of the tmpfs mounted at /dev.\n\nI believe these rules should trigger on either device.  The man page is\ndevoid of useful information about the intended semantics.  It only seems\nlogical that if you want to know everything that happened on a major,minor\nthat would include things that happened to the device itself...\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3035c51e8ac0512686ceb9f2bd1d13bdc6e4fb29",
      "tree": "7c26ee810b6d6678f960cf1bb5880055ac4c793f",
      "parents": [
        "5195d8e217a78697152d64fc09a16e063a022465"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:54 2012 -0500"
      },
      "message": "audit: drop the meaningless and format breaking word \u0027user\u0027\n\nuserspace audit messages look like so:\n\ntype\u003dUSER msg\u003daudit(1271170549.415:24710): user pid\u003d14722 uid\u003d0 auid\u003d500 ses\u003d1 subj\u003dunconfined_u:unconfined_r:auditctl_t:s0-s0:c0.c1023 msg\u003d\u0027\u0027\n\nThat third field just says \u0027user\u0027.  That\u0027s useless and doesn\u0027t follow the\nkey\u003dvalue pair we are trying to enforce.  We already know it came from the\nuser based on the record type.  Kill that word.  Die.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5195d8e217a78697152d64fc09a16e063a022465",
      "tree": "6d8d980037d95740d0f64ba9491c0e5a38f31ea3",
      "parents": [
        "5ef30ee53b187786e64bdc1f8109e39d17f2ce58"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:54 2012 -0500"
      },
      "message": "audit: dynamically allocate audit_names when not enough space is in the names array\n\nThis patch does 2 things.  First it reduces the number of audit_names\nallocated in every audit context from 20 to 5.  5 should be enough for all\n\u0027normal\u0027 syscalls (rename being the worst).  Some syscalls can still touch\nmore the 5 inodes such as mount.  When rpc filesystem is mounted it will\ncreate inodes and those can exceed 5.  To handle that problem this patch will\ndynamically allocate audit_names if it needs more than 5.  This should\ndecrease the typicall memory usage while still supporting all the possible\nkernel operations.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5ef30ee53b187786e64bdc1f8109e39d17f2ce58",
      "tree": "05c5f2aebedfdaf1dc81afa0a50271a1a581a069",
      "parents": [
        "9fc5c3e3237e02a94f41cd1d2b4291593d29791d"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:54 2012 -0500"
      },
      "message": "audit: make filetype matching consistent with other filters\n\nEvery other filter that matches part of the inodes list collected by audit\nwill match against any of the inodes on that list.  The filetype matching\nhowever had a strange way of doing things.  It allowed userspace to\nindicated if it should match on the first of the second name collected by\nthe kernel.  Name collection ordering seems like a kernel internal and\nmaking userspace rules get that right just seems like a bad idea.  As it\nturns out the userspace audit writers had no idea it was doing this and\nthus never overloaded the value field.  The kernel always checked the first\nname collected which for the tested rules was always correct.\n\nThis patch just makes the filetype matching like the major, minor, inode,\nand LSM rules in that it will match against any of the names collected.  It\nalso changes the rule validation to reject the old unused rule types.\n\nNoone knew it was there.  Noone used it.  Why keep around the extra code?\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "9fc5c3e3237e02a94f41cd1d2b4291593d29791d",
      "tree": "c8823725b10bd4d36e9311ea392dfdecb4db7974",
      "parents": [
        "541048a1d31399ccdda27346a37eae4a2ad55186",
        "7c9c3a1e5fc8728e948b8fa3cbcfcfb86db3afda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:40 2012 -0800"
      },
      "message": "Merge branch \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/intel config: Fix the APB_TIMER selection\n  x86/mrst: Add additional debug prints for pb_keys\n  x86/intel config: Revamp configuration to allow for Moorestown and Medfield\n  x86/intel/scu/ipc: Match the changes in the x86 configuration\n  x86/apb: Fix configuration constraints\n  x86: Fix INTEL_MID silly\n  x86/Kconfig: Cyclone-timer depends on x86-summit\n  x86: Reduce clock calibration time during slave cpu startup\n  x86/config: Revamp configuration for MID devices\n  x86/sfi: Kill the IRQ as id hack\n"
    },
    {
      "commit": "541048a1d31399ccdda27346a37eae4a2ad55186",
      "tree": "e2a820ee478b18d4214347631b94b9a9b2d8562b",
      "parents": [
        "bcede2f64a3b5cb50c0bdec1553ab480fd75d659",
        "e58d429209105e698e9d0357481d62b37fe9a7dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:04 2012 -0800"
      },
      "message": "Merge branch \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, reboot: Fix typo in nmi reboot path\n  x86, NMI: Add to_cpumask() to silence compile warning\n  x86, NMI: NMI selftest depends on the local apic\n  x86: Add stack top margin for stack overflow checking\n  x86, NMI: NMI-selftest should handle the UP case properly\n  x86: Fix the 32-bit stackoverflow-debug build\n  x86, NMI: Add knob to disable using NMI IPIs to stop cpus\n  x86, NMI: Add NMI IPI selftest\n  x86, reboot: Use NMI instead of REBOOT_VECTOR to stop cpus\n  x86: Clean up the range of stack overflow checking\n  x86: Panic on detection of stack overflow\n  x86: Check stack overflow in detail\n"
    },
    {
      "commit": "bcede2f64a3b5cb50c0bdec1553ab480fd75d659",
      "tree": "b98e55bf2eea83bb5f6805abb210c5ea8625b550",
      "parents": [
        "d0b9706c20ebb4ba181dc26e52ac9a6861abf425",
        "2d2da60fb40a80cc59383121ccf763e0e0e8a42a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:33 2012 -0800"
      },
      "message": "Merge branch \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, efi: Break up large initrd reads\n  x86, efi: EFI boot stub support\n  efi: Add EFI file I/O data types\n  efi.h: Add boottime-\u003elocate_handle search types\n  efi.h: Add graphics protocol guids\n  efi.h: Add allocation types for boottime-\u003eallocate_pages()\n  efi.h: Add efi_image_loaded_t\n  efi.h: Add struct definition for boot time services\n  x86: Don\u0027t use magic strings for EFI loader signature\n  x86: Add missing bzImage fields to struct setup_header\n"
    },
    {
      "commit": "d0b9706c20ebb4ba181dc26e52ac9a6861abf425",
      "tree": "436e89246fd5ebcf737cae27e135a1995155329b",
      "parents": [
        "02d929502ce7b57f4835d8bb7c828d36e6d9e8ce",
        "54eed6cb16ec315565aaaf8e34252ca253a68b7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:10 2012 -0800"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/numa: Add constraints check for nid parameters\n  mm, x86: Remove debug_pagealloc_enabled\n  x86/mm: Initialize high mem before free_all_bootmem()\n  arch/x86/kernel/e820.c: quiet sparse noise about plain integer as NULL pointer\n  arch/x86/kernel/e820.c: Eliminate bubble sort from sanitize_e820_map()\n  x86: Fix mmap random address range\n  x86, mm: Unify zone_sizes_init()\n  x86, mm: Prepare zone_sizes_init() for unification\n  x86, mm: Use max_low_pfn for ZONE_NORMAL on 64-bit\n  x86, mm: Wrap ZONE_DMA32 with CONFIG_ZONE_DMA32\n  x86, mm: Use max_pfn instead of highend_pfn\n  x86, mm: Move zone init from paging_init() on 64-bit\n  x86, mm: Use MAX_DMA_PFN for ZONE_DMA on 32-bit\n"
    },
    {
      "commit": "02d929502ce7b57f4835d8bb7c828d36e6d9e8ce",
      "tree": "7bb0ca7a9bfe5c336c3125f823770934a2150ae4",
      "parents": [
        "b24ca57e7625bc304e77bc429693ad32a691eb16",
        "6c523c614c13b84a3dc64f7a56d6855b03e6b292"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:33 2012 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: (23 commits)\n  [CPUFREQ] EXYNOS: Removed useless headers and codes\n  [CPUFREQ] EXYNOS: Make EXYNOS common cpufreq driver\n  [CPUFREQ] powernow-k8: Update copyright, maintainer and documentation information\n  [CPUFREQ] powernow-k8: Fix indexing issue\n  [CPUFREQ] powernow-k8: Avoid Pstate MSR accesses on systems supporting CPB\n  [CPUFREQ] update lpj only if frequency has changed\n  [CPUFREQ] cpufreq:userspace: fix cpu_cur_freq updation\n  [CPUFREQ] Remove wall variable from cpufreq_gov_dbs_init()\n  [CPUFREQ] EXYNOS4210: cpufreq code is changed for stable working\n  [CPUFREQ] EXYNOS4210: Update frequency table for cpu divider\n  [CPUFREQ] EXYNOS4210: Remove code about bus on cpufreq\n  [CPUFREQ] s3c64xx: Use pr_fmt() for consistent log messages\n  cpufreq: OMAP: fixup for omap_device changes, include \u003clinux/module.h\u003e\n  cpufreq: OMAP: fix freq_table leak\n  cpufreq: OMAP: put clk if cpu_init failed\n  cpufreq: OMAP: only supports OPP library\n  cpufreq: OMAP: dont support !freq_table\n  cpufreq: OMAP: deny initialization if no mpudev\n  cpufreq: OMAP: move clk name decision to init\n  cpufreq: OMAP: notify even with bad boot frequency\n  ...\n"
    },
    {
      "commit": "b24ca57e7625bc304e77bc429693ad32a691eb16",
      "tree": "770aa389c6e763cf37776a35e85ff1e41958b1e9",
      "parents": [
        "6296e5d3c067df41980a5fd09ad4cc6765f79bb9",
        "913272b3864d6da89c70d9fc2c30ccb57794b369"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:05 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:05 2012 -0800"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6: (68 commits)\n  power_supply: Mark da9052 driver as broken\n  power_supply: Drop usage of nowarn variant of sysfs_create_link()\n  s3c_adc_battery: Average over more than one adc sample\n  power_supply: Add DA9052 battery driver\n  isp1704_charger: Fix missing check\n  jz4740-battery: Fix signedness bug\n  power_supply: Assume mains power by default\n  sbs-battery: Fix devicetree match table\n  ARM: rx51: Add bq27200 i2c board info\n  sbs-battery: Change power supply name\n  devicetree-bindings: Propagate bq20z75-\u003esbs rename to dt bindings\n  devicetree-bindings: Add vendor entry for Smart Battery Systems\n  sbs-battery: Rename internals to new name\n  bq20z75: Rename to sbs-battery\n  wm97xx_battery: Use DEFINE_MUTEX() for work_lock\n  max8997_charger: Remove duplicate module.h\n  lp8727_charger: Some minor fixes for the header\n  lp8727_charger: Add header file\n  power_supply: Convert drivers/power/* to use module_platform_driver()\n  power_supply: Add \"unknown\" in power supply type\n  ...\n"
    },
    {
      "commit": "6296e5d3c067df41980a5fd09ad4cc6765f79bb9",
      "tree": "ac10bc5321ac1d750612c0e0ae53d6c4097c5734",
      "parents": [
        "c086ae4ed94f9a1d283318e006813268c2dbf9fc",
        "5878cf431ca7233a56819ca6970153ac0b129599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:52:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:52:23 2012 -0800"
      },
      "message": "Merge branch \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux\n\n* \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:\n  slub: disallow changing cpu_partial from userspace for debug caches\n  slub: add missed accounting\n  slub: Extract get_freelist from __slab_alloc\n  slub: Switch per cpu partial page support off for debugging\n  slub: fix a possible memleak in __slab_alloc()\n  slub: fix slub_max_order Documentation\n  slub: add missed accounting\n  slab: add taint flag outputting to debug paths.\n  slub: add taint flag outputting to debug paths\n  slab: introduce slab_max_order kernel parameter\n  slab: rename slab_break_gfp_order to slab_max_order\n"
    },
    {
      "commit": "c086ae4ed94f9a1d283318e006813268c2dbf9fc",
      "tree": "dbabbb09ddafcb818f32af038831419702574917",
      "parents": [
        "7b67e751479d50b7f84d1a3cc5216eed5e534b66",
        "307729c8bc5b5a41361af8af95906eee7552acb1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:51:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:51:55 2012 -0800"
      },
      "message": "Merge tag \u0027md-3.3-fixes\u0027 of git://neil.brown.name/md\n\nTwo bugfixes for md.\n\nOne is a recently introduced regression that affects an unusual\nconfiguration with a guaranteed BUG_ON.  Has been tagged for -stable.\nThe other is minor missing functionality.\n\n* tag \u0027md-3.3-fixes\u0027 of git://neil.brown.name/md:\n  md/raid1: perform bad-block tests for WriteMostly devices too.\n  md: notify the \u0027degraded\u0027 sysfs attribute on failure.\n"
    },
    {
      "commit": "7b67e751479d50b7f84d1a3cc5216eed5e534b66",
      "tree": "a1a6746857cf65f04dde739fe271bf4143d55eaf",
      "parents": [
        "9f13a1fd452f11c18004ba2422a6384b424ec8a9",
        "76ccc297018d25d55b789bbd508861ef1e2cdb0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:50:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:50:26 2012 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (80 commits)\n  x86/PCI: Expand the x86_msi_ops to have a restore MSIs.\n  PCI: Increase resource array mask bit size in pcim_iomap_regions()\n  PCI: DEVICE_COUNT_RESOURCE should be equal to PCI_NUM_RESOURCES\n  PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)\n  PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB\n  x86/PCI: amd: factor out MMCONFIG discovery\n  PCI: Enable ATS at the device state restore\n  PCI: msi: fix imbalanced refcount of msi irq sysfs objects\n  PCI: kconfig: English typo in pci/pcie/Kconfig\n  PCI/PM/Runtime: make PCI traces quieter\n  PCI: remove pci_create_bus()\n  xtensa/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus()\n  x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented()\n  x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan\n  sparc32, leon/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  sparc/PCI: convert to pci_create_root_bus()\n  sh/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  powerpc/PCI: convert to pci_create_root_bus()\n  powerpc/PCI: split PHB part out of pcibios_map_io_space()\n  ...\n\nFix up conflicts in drivers/pci/msi.c and include/linux/pci_regs.h due\nto the same patches being applied in other branches.\n"
    },
    {
      "commit": "9f13a1fd452f11c18004ba2422a6384b424ec8a9",
      "tree": "6aa799a5e095f8cfa03c7386e6d0a20ebda595e4",
      "parents": [
        "024f78462c3da710642a54939888a92e28704653"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Jan 10 03:04:32 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 15:50:11 2012 -0800"
      },
      "message": "cpu: Register a generic CPU device on architectures that currently do not\n\nfrv, h8300, m68k, microblaze, openrisc, score, um and xtensa currently\ndo not register a CPU device.  Add the config option GENERIC_CPU_DEVICES\nwhich causes a generic CPU device to be registered for each present CPU,\nand make all these architectures select it.\n\nRichard Weinberger \u003crichard@nod.at\u003e covered UML and suggested using\nper_cpu.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "024f78462c3da710642a54939888a92e28704653",
      "tree": "6ff97e571b36d66256d09cf06031b56ce789ec7e",
      "parents": [
        "4f58cb90bcb04cfe18f524d1c9a65edef5eb3f51"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Jan 10 02:59:49 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 15:49:43 2012 -0800"
      },
      "message": "cpu: Do not return errors from cpu_dev_init() which will be ignored\n\ncpu_dev_init() is only called from driver_init(), which does not check\nits return value.  Therefore make cpu_dev_init() return void.\n\nWe must register the CPU subsystem, so panic if this fails.\n\nIf sched_create_sysfs_power_savings_entries() fails, the damage is\ncontained, so ignore this (as before).\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5878cf431ca7233a56819ca6970153ac0b129599",
      "tree": "e5d21d04a0b468d2dabbe3a3824f23b5537fc6a7",
      "parents": [
        "74ee4ef1f901fbb014bdcdc9171d126490ce2b62",
        "b13683d1cc14d1dd30b8e20f3ebea3f814ad029f"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Jan 11 21:11:29 2012 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Jan 11 21:11:29 2012 +0200"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 into slab/for-linus\n"
    },
    {
      "commit": "4f58cb90bcb04cfe18f524d1c9a65edef5eb3f51",
      "tree": "8c686e8b736eed7258921909282c0955543c7d2f",
      "parents": [
        "e7691a1ce341c80ed9504244a36b31c025217391",
        "08c70fc3a239475122e20b7a21dfae4c264c24f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 22:01:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 22:01:27 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (54 commits)\n  crypto: gf128mul - remove leftover \"(EXPERIMENTAL)\" in Kconfig\n  crypto: serpent-sse2 - remove unneeded LRW/XTS #ifdefs\n  crypto: serpent-sse2 - select LRW and XTS\n  crypto: twofish-x86_64-3way - remove unneeded LRW/XTS #ifdefs\n  crypto: twofish-x86_64-3way - select LRW and XTS\n  crypto: xts - remove dependency on EXPERIMENTAL\n  crypto: lrw - remove dependency on EXPERIMENTAL\n  crypto: picoxcell - fix boolean and / or confusion\n  crypto: caam - remove DECO access initialization code\n  crypto: caam - fix polarity of \"propagate error\" logic\n  crypto: caam - more desc.h cleanups\n  crypto: caam - desc.h - convert spaces to tabs\n  crypto: talitos - convert talitos_error to struct device\n  crypto: talitos - remove NO_IRQ references\n  crypto: talitos - fix bad kfree\n  crypto: convert drivers/crypto/* to use module_platform_driver()\n  char: hw_random: convert drivers/char/hw_random/* to use module_platform_driver()\n  crypto: serpent-sse2 - should select CRYPTO_CRYPTD\n  crypto: serpent - rename serpent.c to serpent_generic.c\n  crypto: serpent - cleanup checkpatch errors and warnings\n  ...\n"
    },
    {
      "commit": "e7691a1ce341c80ed9504244a36b31c025217391",
      "tree": "e9941bb350f64a726130e299c411821da6f41a53",
      "parents": [
        "5cd9599bba428762025db6027764f1c59d0b1e1b",
        "8fcc99549522fc7a0bbaeb5755855ab0d9a59ce8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security: (32 commits)\n  ima: fix invalid memory reference\n  ima: free duplicate measurement memory\n  security: update security_file_mmap() docs\n  selinux: Casting (void *) value returned by kmalloc is useless\n  apparmor: fix module parameter handling\n  Security: tomoyo: add .gitignore file\n  tomoyo: add missing rcu_dereference()\n  apparmor: add missing rcu_dereference()\n  evm: prevent racing during tfm allocation\n  evm: key must be set once during initialization\n  mpi/mpi-mpow: NULL dereference on allocation failure\n  digsig: build dependency fix\n  KEYS: Give key types their own lockdep class for key-\u003esem\n  TPM: fix transmit_cmd error logic\n  TPM: NSC and TIS drivers X86 dependency fix\n  TPM: Export wait_for_stat for other vendor specific drivers\n  TPM: Use vendor specific function for status probe\n  tpm_tis: add delay after aborting command\n  tpm_tis: Check return code from getting timeouts/durations\n  tpm: Introduce function to poll for result of self test\n  ...\n\nFix up trivial conflict in lib/Makefile due to addition of CONFIG_MPI\nand SIGSIG next to CONFIG_DQL addition.\n"
    },
    {
      "commit": "5cd9599bba428762025db6027764f1c59d0b1e1b",
      "tree": "cb59ea13f6e6de4350ca38338bf9633e89f8418a",
      "parents": [
        "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
        "d668dc56631da067540b2494d2a1f29ff7b5f15a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:46:36 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:46:36 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  autofs4: deal with autofs4_write/autofs4_write races\n  autofs4: catatonic_mode vs. notify_daemon race\n  autofs4: autofs4_wait() vs. autofs4_catatonic_mode() race\n  hfsplus: creation of hidden dir on mount can fail\n  block_dev: Suppress bdev_cache_init() kmemleak warninig\n  fix shrink_dcache_parent() livelock\n  coda: switch coda_cnode_make() to sane API as well, clean coda_lookup()\n  coda: deal correctly with allocation failure from coda_cnode_makectl()\n  securityfs: fix object creation races\n"
    },
    {
      "commit": "d668dc56631da067540b2494d2a1f29ff7b5f15a",
      "tree": "303ad17208838e8b9b1752f9427d55c84555f0f0",
      "parents": [
        "8753333266be67ff3a984ac1f6566d31c260bee4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:35:38 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:20:12 2012 -0500"
      },
      "message": "autofs4: deal with autofs4_write/autofs4_write races\n\nJust serialize the actual writing of packets into pipe on\na new mutex, independent from everything else in the locking\nhierarchy.  As soon as something has started feeding a piece\nof packet into the pipe to daemon, we *want* everything else\nabout to try the same to wait until we are done.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8753333266be67ff3a984ac1f6566d31c260bee4",
      "tree": "27a8565988791e2971d631e19c7a9a0057386668",
      "parents": [
        "4041bcdc7bef06a2fb29c57394c713a74bd13b08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:24:48 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:19:58 2012 -0500"
      },
      "message": "autofs4: catatonic_mode vs. notify_daemon race\n\nwe need to hold -\u003ewq_mutex while we are forming the packet to send,\nlest we have autofs4_catatonic_mode() setting wq-\u003ename.name to NULL\njust as autofs4_notify_daemon() decides to memcpy() from it...\n\nWe do have check for catatonic mode immediately after that (under\n-\u003ewq_mutex, as it ought to be) and packet won\u0027t be actually sent,\nbut it\u0027ll be too late for us if we oops on that memcpy() from NULL...\n\nFix is obvious - just extend the area covered by -\u003ewq_mutex over\nthat switch and check whether it\u0027s catatonic *before* doing anything\nelse.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4041bcdc7bef06a2fb29c57394c713a74bd13b08",
      "tree": "adaf5dee1b8312cdd37a2b37551770af461212a3",
      "parents": [
        "b3f2a92447b8443360ac117a3d7c06689562a70c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:20:12 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:19:12 2012 -0500"
      },
      "message": "autofs4: autofs4_wait() vs. autofs4_catatonic_mode() race\n\nWe need to recheck -\u003ecatatonic after autofs4_wait() got -\u003ewq_mutex\nfor good, or we might end up with wq inserted into queue after\nautofs4_catatonic_mode() had done its thing.  It will stick there\nforever, since there won\u0027t be anything to clear its -\u003ename.name.\n\nA bit of a complication: validate_request() drops and regains -\u003ewq_mutex.\nIt actually ends up the most convenient place to stick the check into...\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
      "tree": "46c81c6ae375b1f14e209b13c8ac020842807ece",
      "parents": [
        "06792c4dde2ad143928cc95c1ba218c6269c494b",
        "193a667fba76b3df482cbf865228e26ee246e889"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\nlib: use generic pci_iomap on all architectures\n\nMany architectures don\u0027t want to pull in iomap.c,\nso they ended up duplicating pci_iomap from that file.\nThat function isn\u0027t trivial, and we are going to modify it\nhttps://lkml.org/lkml/2011/11/14/183\nso the duplication hurts.\n\nThis reduces the scope of the problem significantly,\nby moving pci_iomap to a separate file and\nreferencing that from all architectures.\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:\n  alpha: drop pci_iomap/pci_iounmap from pci-noop.c\n  mn10300: switch to GENERIC_PCI_IOMAP\n  mn10300: add missing __iomap markers\n  frv: switch to GENERIC_PCI_IOMAP\n  tile: switch to GENERIC_PCI_IOMAP\n  tile: don\u0027t panic on iomap\n  sparc: switch to GENERIC_PCI_IOMAP\n  sh: switch to GENERIC_PCI_IOMAP\n  powerpc: switch to GENERIC_PCI_IOMAP\n  parisc: switch to GENERIC_PCI_IOMAP\n  mips: switch to GENERIC_PCI_IOMAP\n  microblaze: switch to GENERIC_PCI_IOMAP\n  arm: switch to GENERIC_PCI_IOMAP\n  alpha: switch to GENERIC_PCI_IOMAP\n  lib: add GENERIC_PCI_IOMAP\n  lib: move GENERIC_IOMAP to lib/Kconfig\n\nFix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig\n"
    },
    {
      "commit": "06792c4dde2ad143928cc95c1ba218c6269c494b",
      "tree": "92bdd4631612c9e3d8e5f6f06839f75c5473300a",
      "parents": [
        "4690dfa8cd66c37fbe99bb8cd5baa86102110776",
        "166c0eaedfc3157dc1394c27e827add19f05fb27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:39:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:39:40 2012 -0800"
      },
      "message": "Merge tag \u0027for-linux-3.3-merge-window\u0027 of git://linux-c6x.org/git/projects/linux-c6x-upstreaming\n\n* tag \u0027for-linux-3.3-merge-window\u0027 of git://linux-c6x.org/git/projects/linux-c6x-upstreaming: (29 commits)\n  C6X: replace tick_nohz_stop/restart_sched_tick calls\n  C6X: add register_cpu call\n  C6X: deal with memblock API changes\n  C6X: fix timer64 initialization\n  C6X: fix layout of EMIFA registers\n  C6X: MAINTAINERS\n  C6X: DSCR - Device State Configuration Registers\n  C6X: EMIF - External Memory Interface\n  C6X: general SoC support\n  C6X: library code\n  C6X: headers\n  C6X: ptrace support\n  C6X: loadable module support\n  C6X: cache control\n  C6X: clocks\n  C6X: build infrastructure\n  C6X: syscalls\n  C6X: interrupt handling\n  C6X: time management\n  C6X: signal management\n  ...\n"
    },
    {
      "commit": "4690dfa8cd66c37fbe99bb8cd5baa86102110776",
      "tree": "063d1f68298cab19d29a4aa689d755266ae85a7d",
      "parents": [
        "c2e08e7ce5ab25a781197a71c5241742e8c9fdfe",
        "f3aef2510e2bb28cdbf32e5f3b8f04f03336ac81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:49 2012 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.monstr.eu/linux-2.6-microblaze\n\n* \u0027next\u0027 of git://git.monstr.eu/linux-2.6-microblaze:\n  microblaze: Wire-up new system calls\n  microblaze: Remove NO_IRQ from architecture\n  input: xilinx_ps2: Don\u0027t use NO_IRQ\n  block: xsysace: Don\u0027t use NO_IRQ\n  microblaze: Trivial asm fix\n  microblaze: Fix debug message in module\n  microblaze: Remove eprintk macro\n  microblaze: Send CR before LF for early console\n  microblaze: Change NO_IRQ to 0\n  microblaze: Use irq_of_parse_and_map for timer\n  microblaze: intc: Change variable name\n  microblaze: Use of_find_compatible_node for timer and intc\n  microblaze: Add __cmpdi2\n  microblaze: Synchronize __pa __va macros\n"
    },
    {
      "commit": "c2e08e7ce5ab25a781197a71c5241742e8c9fdfe",
      "tree": "70cce0b2f4cb82b1670e987169a7790e8467cf41",
      "parents": [
        "28190145543260c155216b9bd3adf57bee50f8b2",
        "b3a0aa3ae1c0889ffe8abb2e326d5c74c7c9c097"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:20 2012 -0800"
      },
      "message": "Merge branch \u0027unicore32\u0027 of git://github.com/gxt/linux\n\n* \u0027unicore32\u0027 of git://github.com/gxt/linux:\n  rtc-puv3: solve section mismatch in rtc-puv3.c\n  rtc-puv3: using module_platform_driver()\n  i2c-puv3: using module_platform_driver()\n  rtc-puv3: irq: remove IRQF_DISABLED\n  unicore32: Remove IRQF_DISABLED\n  unicore32: Use set_current_blocked()\n  unicore32: add ioremap_nocache definition\n  unicore32: delete specified xlate_dev_mem_ptr\n  of: add include asm/setup.h in drivers/of/fdt.c\n  unicore32: standardize /proc/iomem \"Kernel code\" name\n"
    },
    {
      "commit": "28190145543260c155216b9bd3adf57bee50f8b2",
      "tree": "b79b0163158ae3fa7e0f4776fdfb64c435885608",
      "parents": [
        "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
        "dda6779f04fe7c6b61846b672b438bc08c2e08ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:36:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:36:43 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin:\n  blackfin: bf561: add adv7183 capture support\n  blackfin: bf537: add capture support\n  blackfin: bf548: add capture support\n  blackfin: time-ts: rm unused func broadcast_timer_setup()\n  blackfin: i2c-lcd: change default clock rate\n  blackfin: mac: dsa: add vlan mask in board file\n  blackfin: bf537: change num_chipselect for spi-sport\n  blackfin: serial: bfin-uart: remove unused field\n  bf54x: get mem size: missing break in switch\n  blackfin: smp: fix msg queue overflow issue\n  blackfin: config: update macro SPI_BFIN in board file\n  blackfin: config: update def config for all boards\n  blackfin: smp: cleanup smp code\n  blackfin: smp: add suspend and wakeup irq flags\n  blackfin: bf533-stamp: add missed patches for new asoc driver\n  blackfin: bf533-stamp: fix ad1836 name\n"
    },
    {
      "commit": "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
      "tree": "a76225046369c440de93739add9823f5ea060245",
      "parents": [
        "40ba587923ae67090d9f141c1d3c951be5c1420e",
        "bc31b86a5923fad5f3fbb6192f767f410241ba27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c\n  writeback: balanced_rate cannot exceed write bandwidth\n  writeback: do strict bdi dirty_exceeded\n  writeback: avoid tiny dirty poll intervals\n  writeback: max, min and target dirty pause time\n  writeback: dirty ratelimit - think time compensation\n  btrfs: fix dirtied pages accounting on sub-page writes\n  writeback: fix dirtied pages accounting on redirty\n  writeback: fix dirtied pages accounting on sub-page writes\n  writeback: charge leaked page dirties to active tasks\n  writeback: Include all dirty inodes in background writeback\n"
    },
    {
      "commit": "40ba587923ae67090d9f141c1d3c951be5c1420e",
      "tree": "342a72fc0ee13a0d2496ef970b64dfeadf1355d2",
      "parents": [
        "54c2c5761febcca46c8037d3a81612991e6c209a",
        "6b550f9495947fc279d12c38feaf98500e8d0646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (aka \"Andrew\u0027s patch-bomb\")\n\nAndrew elucidates:\n - First installmeant of MM.  We have a HUGE number of MM patches this\n   time.  It\u0027s crazy.\n - MAINTAINERS updates\n - backlight updates\n - leds\n - checkpatch updates\n - misc ELF stuff\n - rtc updates\n - reiserfs\n - procfs\n - some misc other bits\n\n* akpm: (124 commits)\n  user namespace: make signal.c respect user namespaces\n  workqueue: make alloc_workqueue() take printf fmt and args for name\n  procfs: add hidepid\u003d and gid\u003d mount options\n  procfs: parse mount options\n  procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n  procfs: make proc_get_link to use dentry instead of inode\n  signal: add block_sigmask() for adding sigmask to current-\u003eblocked\n  sparc: make SA_NOMASK a synonym of SA_NODEFER\n  reiserfs: don\u0027t lock root inode searching\n  reiserfs: don\u0027t lock journal_init()\n  reiserfs: delay reiserfs lock until journal initialization\n  reiserfs: delete comments referring to the BKL\n  drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range\n  drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030\n  drivers/rtc/: remove redundant spi driver bus initialization\n  drivers/rtc/rtc-jz4740.c: make jz4740_rtc_driver static\n  drivers/rtc/rtc-mc13xxx.c: make mc13xxx_rtc_idtable static\n  rtc: convert drivers/rtc/* to use module_platform_driver()\n  drivers/rtc/rtc-wm831x.c: convert to devm_kzalloc()\n  drivers/rtc/rtc-wm831x.c: remove unused period IRQ handler\n  ...\n"
    },
    {
      "commit": "6b550f9495947fc279d12c38feaf98500e8d0646",
      "tree": "ab018bd7e2f8c2c594252f35ffa7c413f86519cf",
      "parents": [
        "b196be89cdc14a88cc637cdad845a75c5886c82d"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Tue Jan 10 15:11:37 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "user namespace: make signal.c respect user namespaces\n\nipc/mqueue.c: for __SI_MESQ, convert the uid being sent to recipient\u0027s\nuser namespace. (new, thanks Oleg)\n\n__send_signal: convert current\u0027s uid to the recipient\u0027s user namespace\nfor any siginfo which is not SI_FROMKERNEL (patch from Oleg, thanks\nagain :)\n\ndo_notify_parent and do_notify_parent_cldstop: map task\u0027s uid to parent\u0027s\nuser namespace\n\nptrace_signal maps parent\u0027s uid into current\u0027s user namespace before\nincluding in signal to current.  IIUC Oleg has argued that this shouldn\u0027t\nmatter as the debugger will play with it, but it seems like not converting\nthe value currently being set is misleading.\n\nChangelog:\nSep 20: Inspired by Oleg\u0027s suggestion, define map_cred_ns() helper to\n\tsimplify callers and help make clear what we are translating\n        (which uid into which namespace).  Passing the target task would\n\tmake callers even easier to read, but we pass in user_ns because\n\tcurrent_user_ns() !\u003d task_cred_xxx(current, user_ns).\nSep 20: As recommended by Oleg, also put task_pid_vnr() under rcu_read_lock\n\tin ptrace_signal().\nSep 23: In send_signal(), detect when (user) signal is coming from an\n\tancestor or unrelated user namespace.  Pass that on to __send_signal,\n\twhich sets si_uid to 0 or overflowuid if needed.\nOct 12: Base on Oleg\u0027s fixup_uid() patch.  On top of that, handle all\n\tSI_FROMKERNEL cases at callers, because we can\u0027t assume sender is\n\tcurrent in those cases.\nNov 10: (mhelsley) rename fixup_uid to more meaningful usern_fixup_signal_uid\nNov 10: (akpm) make the !CONFIG_USER_NS case clearer\n\nSigned-off-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nFrom: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSubject: __send_signal: pass q-\u003einfo, not info, to userns_fixup_signal_uid (v2)\n\nEric Biederman pointed out that passing info is a bug and could lead to a\nNULL pointer deref to boot.\n\nA collection of signal, securebits, filecaps, cap_bounds, and a few other\nltp tests passed with this kernel.\n\nChangelog:\n    Nov 18: previous patch missed a leading \u0027\u0026\u0027\n\nSigned-off-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nFrom: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSubject: ipc/mqueue: lock() \u003d\u003e unlock() typo\n\nThere was a double lock typo introduced in b085f4bd6b21 \"user namespace:\nmake signal.c respect user namespaces\"\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Serge Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b196be89cdc14a88cc637cdad845a75c5886c82d",
      "tree": "195816e6ab82362969409b3317d223421502224a",
      "parents": [
        "0499680a42141d86417a8fbaa8c8db806bea1201"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 10 15:11:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "workqueue: make alloc_workqueue() take printf fmt and args for name\n\nalloc_workqueue() currently expects the passed in @name pointer to remain\naccessible.  This is inconvenient and a bit silly given that the whole wq\nis being dynamically allocated.  This patch updates alloc_workqueue() and\nfriends to take printf format string instead of opaque string and matching\nvarargs at the end.  The name is allocated together with the wq and\nformatted.\n\nalloc_ordered_workqueue() is converted to a macro to unify varargs\nhandling with alloc_workqueue(), and, while at it, add comment to\nalloc_workqueue().\n\nNone of the current in-kernel users pass in string with \u0027%\u0027 as constant\nname and this change shouldn\u0027t cause any problem.\n\n[akpm@linux-foundation.org: use __printf]\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSuggested-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0499680a42141d86417a8fbaa8c8db806bea1201",
      "tree": "eb2aeb559bf5418476319aa81fa4f6ed3659bbc0",
      "parents": [
        "97412950b10e64f347aec4a9b759395c2465adf6"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Tue Jan 10 15:11:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: add hidepid\u003d and gid\u003d mount options\n\nAdd support for mount options to restrict access to /proc/PID/\ndirectories.  The default backward-compatible \"relaxed\" behaviour is left\nuntouched.\n\nThe first mount option is called \"hidepid\" and its value defines how much\ninfo about processes we want to be available for non-owners:\n\nhidepid\u003d0 (default) means the old behavior - anybody may read all\nworld-readable /proc/PID/* files.\n\nhidepid\u003d1 means users may not access any /proc/\u003cpid\u003e/ directories, but\ntheir own.  Sensitive files like cmdline, sched*, status are now protected\nagainst other users.  As permission checking done in proc_pid_permission()\nand files\u0027 permissions are left untouched, programs expecting specific\nfiles\u0027 modes are not confused.\n\nhidepid\u003d2 means hidepid\u003d1 plus all /proc/PID/ will be invisible to other\nusers.  It doesn\u0027t mean that it hides whether a process exists (it can be\nlearned by other means, e.g.  by kill -0 $PID), but it hides process\u0027 euid\nand egid.  It compicates intruder\u0027s task of gathering info about running\nprocesses, whether some daemon runs with elevated privileges, whether\nanother user runs some sensitive program, whether other users run any\nprogram at all, etc.\n\ngid\u003dXXX defines a group that will be able to gather all processes\u0027 info\n(as in hidepid\u003d0 mode).  This group should be used instead of putting\nnonroot user in sudoers file or something.  However, untrusted users (like\ndaemons, etc.) which are not supposed to monitor the tasks in the whole\nsystem should not be added to the group.\n\nhidepid\u003d1 or higher is designed to restrict access to procfs files, which\nmight reveal some sensitive private information like precise keystrokes\ntimings:\n\nhttp://www.openwall.com/lists/oss-security/2011/11/05/3\n\nhidepid\u003d1/2 doesn\u0027t break monitoring userspace tools.  ps, top, pgrep, and\nconky gracefully handle EPERM/ENOENT and behave as if the current user is\nthe only user running processes.  pstree shows the process subtree which\ncontains \"pstree\" process.\n\nNote: the patch doesn\u0027t deal with setuid/setgid issues of keeping\npreopened descriptors of procfs files (like\nhttps://lkml.org/lkml/2011/2/7/368).  We rely on that the leaked\ninformation like the scheduling counters of setuid apps doesn\u0027t threaten\nanybody\u0027s privacy - only the user started the setuid program may read the\ncounters.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Theodore Tso \u003ctytso@MIT.EDU\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97412950b10e64f347aec4a9b759395c2465adf6",
      "tree": "1b68e499cb9fcda81f88d6d0ee57826f4a6d7a56",
      "parents": [
        "640708a2cff7f81e246243b0073c66e6ece7e53e"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Tue Jan 10 15:11:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: parse mount options\n\nAdd support for procfs mount options.  Actual mount options are coming in\nthe next patches.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Theodore Tso \u003ctytso@MIT.EDU\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "640708a2cff7f81e246243b0073c66e6ece7e53e",
      "tree": "8cc00ae2b374bf6750ad9ca20da3566e28cfc9ff",
      "parents": [
        "7773fbc54182a90cd248656619c7d33859e5f91d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Jan 10 15:11:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n\nThis one behaves similarly to the /proc/\u003cpid\u003e/fd/ one - it contains\nsymlinks one for each mapping with file, the name of a symlink is\n\"vma-\u003evm_start-vma-\u003evm_end\", the target is the file.  Opening a symlink\nresults in a file that point exactly to the same inode as them vma\u0027s one.\n\nFor example the ls -l of some arbitrary /proc/\u003cpid\u003e/map_files/\n\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80403000-7f8f80404000 -\u003e /lib64/libc-2.5.so\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f8061e000-7f8f80620000 -\u003e /lib64/libselinux.so.1\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80826000-7f8f80827000 -\u003e /lib64/libacl.so.1.1.0\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80a2f000-7f8f80a30000 -\u003e /lib64/librt-2.5.so\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80a30000-7f8f80a4c000 -\u003e /lib64/ld-2.5.so\n\nThis *helps* checkpointing process in three ways:\n\n1. When dumping a task mappings we do know exact file that is mapped\n   by particular region.  We do this by opening\n   /proc/$pid/map_files/$address symlink the way we do with file\n   descriptors.\n\n2. This also helps in determining which anonymous shared mappings are\n   shared with each other by comparing the inodes of them.\n\n3. When restoring a set of processes in case two of them has a mapping\n   shared, we map the memory by the 1st one and then open its\n   /proc/$pid/map_files/$address file and map it by the 2nd task.\n\nUsing /proc/$pid/maps for this is quite inconvenient since it brings\nrepeatable re-reading and reparsing for this text file which slows down\nrestore procedure significantly.  Also as being pointed in (3) it is a way\neasier to use top level shared mapping in children as\n/proc/$pid/map_files/$address when needed.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[gorcunov@openvz.org: make map_files depend on CHECKPOINT_RESTORE]\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nReviewed-by: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7773fbc54182a90cd248656619c7d33859e5f91d",
      "tree": "1fe1cc91e194164c19675a588dad0efb3a8c8007",
      "parents": [
        "5e6292c0f28f03dfdb8ea3d685f0b838a23bfba4"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Tue Jan 10 15:11:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: make proc_get_link to use dentry instead of inode\n\nPrepare the ground for the next \"map_files\" patch which needs a name of a\nlink file to analyse.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e6292c0f28f03dfdb8ea3d685f0b838a23bfba4",
      "tree": "8684833680054ab48f9da2bbc36c93e3d00a3391",
      "parents": [
        "f350b1778f1b7713ef54fbc7e079e09e2fe098b9"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Jan 10 15:11:17 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "signal: add block_sigmask() for adding sigmask to current-\u003eblocked\n\nAbstract the code sequence for adding a signal handler\u0027s sa_mask to\ncurrent-\u003eblocked because the sequence is identical for all architectures.\nFurthermore, in the past some architectures actually got this code wrong,\nso introduce a wrapper that all architectures can use.\n\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"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": "f350b1778f1b7713ef54fbc7e079e09e2fe098b9",
      "tree": "8f14a0c2d4ebbc4aab33b14facff2e321f15938d",
      "parents": [
        "9b467e6ebebbe75288aeb7e816ffbb5d35d6eaa3"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Jan 10 15:11:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "sparc: make SA_NOMASK a synonym of SA_NODEFER\n\nUnlike other architectures, sparc currently has no SA_NODEFER definition\nbut only the older SA_NOMASK.  Since SA_NOMASK is the historical name for\nSA_NODEFER, add SA_NODEFER and copy what other architectures do by making\nSA_NOMASK a synonym for SA_NODEFER.\n\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"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": "9b467e6ebebbe75288aeb7e816ffbb5d35d6eaa3",
      "tree": "c4ef186bd143aaa47b5745235452e9e2345d8f20",
      "parents": [
        "37c69b98d0dca54d9eb72226bbf2e211aaaf126e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 10 15:11:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "reiserfs: don\u0027t lock root inode searching\n\nNothing requires that we lock the filesystem until the root inode is\nprovided.\n\nAlso iget5_locked() triggers a warning because we are holding the\nfilesystem lock while allocating the inode, which result in a lockdep\nsuspicion that we have a lock inversion against the reclaim path:\n\n[ 1986.896979] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1986.896990] [ INFO: inconsistent lock state ]\n[ 1986.896997] 3.1.1-main #8\n[ 1986.897001] ---------------------------------\n[ 1986.897007] inconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n[ 1986.897016] kswapd0/16 [HC0[0]:SC0[0]:HE1:SE1] takes:\n[ 1986.897023]  (\u0026REISERFS_SB(s)-\u003elock){+.+.?.}, at: [\u003cc01f8bd4\u003e] reiserfs_write_lock+0x20/0x2a\n[ 1986.897044] {RECLAIM_FS-ON-W} state was registered at:\n[ 1986.897050]   [\u003cc014a5b9\u003e] mark_held_locks+0xae/0xd0\n[ 1986.897060]   [\u003cc014aab3\u003e] lockdep_trace_alloc+0x7d/0x91\n[ 1986.897068]   [\u003cc0190ee0\u003e] kmem_cache_alloc+0x1a/0x93\n[ 1986.897078]   [\u003cc01e7728\u003e] reiserfs_alloc_inode+0x13/0x3d\n[ 1986.897088]   [\u003cc01a5b06\u003e] alloc_inode+0x14/0x5f\n[ 1986.897097]   [\u003cc01a5cb9\u003e] iget5_locked+0x62/0x13a\n[ 1986.897106]   [\u003cc01e99e0\u003e] reiserfs_fill_super+0x410/0x8b9\n[ 1986.897114]   [\u003cc01953da\u003e] mount_bdev+0x10b/0x159\n[ 1986.897123]   [\u003cc01e764d\u003e] get_super_block+0x10/0x12\n[ 1986.897131]   [\u003cc0195b38\u003e] mount_fs+0x59/0x12d\n[ 1986.897138]   [\u003cc01a80d1\u003e] vfs_kern_mount+0x45/0x7a\n[ 1986.897147]   [\u003cc01a83e3\u003e] do_kern_mount+0x2f/0xb0\n[ 1986.897155]   [\u003cc01a987a\u003e] do_mount+0x5c2/0x612\n[ 1986.897163]   [\u003cc01a9a72\u003e] sys_mount+0x61/0x8f\n[ 1986.897170]   [\u003cc044060c\u003e] sysenter_do_call+0x12/0x32\n[ 1986.897181] irq event stamp: 7509691\n[ 1986.897186] hardirqs last  enabled at (7509691): [\u003cc0190f34\u003e] kmem_cache_alloc+0x6e/0x93\n[ 1986.897197] hardirqs last disabled at (7509690): [\u003cc0190eea\u003e] kmem_cache_alloc+0x24/0x93\n[ 1986.897209] softirqs last  enabled at (7508896): [\u003cc01294bd\u003e] __do_softirq+0xee/0xfd\n[ 1986.897222] softirqs last disabled at (7508859): [\u003cc01030ed\u003e] do_softirq+0x50/0x9d\n[ 1986.897234]\n[ 1986.897235] other info that might help us debug this:\n[ 1986.897242]  Possible unsafe locking scenario:\n[ 1986.897244]\n[ 1986.897250]        CPU0\n[ 1986.897254]        ----\n[ 1986.897257]   lock(\u0026REISERFS_SB(s)-\u003elock);\n[ 1986.897265] \u003cInterrupt\u003e\n[ 1986.897269]     lock(\u0026REISERFS_SB(s)-\u003elock);\n[ 1986.897276]\n[ 1986.897277]  *** DEADLOCK ***\n[ 1986.897278]\n[ 1986.897286] no locks held by kswapd0/16.\n[ 1986.897291]\n[ 1986.897292] stack backtrace:\n[ 1986.897299] Pid: 16, comm: kswapd0 Not tainted 3.1.1-main #8\n[ 1986.897306] Call Trace:\n[ 1986.897314]  [\u003cc0439e76\u003e] ? printk+0xf/0x11\n[ 1986.897324]  [\u003cc01482d1\u003e] print_usage_bug+0x20e/0x21a\n[ 1986.897332]  [\u003cc01479b8\u003e] ? print_irq_inversion_bug+0x172/0x172\n[ 1986.897341]  [\u003cc014855c\u003e] mark_lock+0x27f/0x483\n[ 1986.897349]  [\u003cc0148d88\u003e] __lock_acquire+0x628/0x1472\n[ 1986.897358]  [\u003cc0149fae\u003e] lock_acquire+0x47/0x5e\n[ 1986.897366]  [\u003cc01f8bd4\u003e] ? reiserfs_write_lock+0x20/0x2a\n[ 1986.897384]  [\u003cc01f8bd4\u003e] ? reiserfs_write_lock+0x20/0x2a\n[ 1986.897397]  [\u003cc043b5ef\u003e] mutex_lock_nested+0x35/0x26f\n[ 1986.897409]  [\u003cc01f8bd4\u003e] ? reiserfs_write_lock+0x20/0x2a\n[ 1986.897421]  [\u003cc01f8bd4\u003e] reiserfs_write_lock+0x20/0x2a\n[ 1986.897433]  [\u003cc01e2edd\u003e] map_block_for_writepage+0xc9/0x590\n[ 1986.897448]  [\u003cc01b1706\u003e] ? create_empty_buffers+0x33/0x8f\n[ 1986.897461]  [\u003cc0121124\u003e] ? get_parent_ip+0xb/0x31\n[ 1986.897472]  [\u003cc043ef7f\u003e] ? sub_preempt_count+0x81/0x8e\n[ 1986.897485]  [\u003cc043cae0\u003e] ? _raw_spin_unlock+0x27/0x3d\n[ 1986.897496]  [\u003cc0121124\u003e] ? get_parent_ip+0xb/0x31\n[ 1986.897508]  [\u003cc01e355d\u003e] reiserfs_writepage+0x1b9/0x3e7\n[ 1986.897521]  [\u003cc0173b40\u003e] ? clear_page_dirty_for_io+0xcb/0xde\n[ 1986.897533]  [\u003cc014a6e3\u003e] ? trace_hardirqs_on_caller+0x108/0x138\n[ 1986.897546]  [\u003cc014a71e\u003e] ? trace_hardirqs_on+0xb/0xd\n[ 1986.897559]  [\u003cc0177b38\u003e] shrink_page_list+0x34f/0x5e2\n[ 1986.897572]  [\u003cc01780a7\u003e] shrink_inactive_list+0x172/0x22c\n[ 1986.897585]  [\u003cc0178464\u003e] shrink_zone+0x303/0x3b1\n[ 1986.897597]  [\u003cc043cae0\u003e] ? _raw_spin_unlock+0x27/0x3d\n[ 1986.897611]  [\u003cc01788c9\u003e] kswapd+0x3b7/0x5f2\n\nThe deadlock shouldn\u0027t happen since we are doing that allocation in the\nmount path, the filesystem is not available for any reclaim.  Still the\nwarning is annoying.\n\nTo solve this, acquire the lock later only where we need it, right before\ncalling reiserfs_read_locked_inode() that wants to lock to walk the tree.\n\nReported-by: Knut Petersen \u003cKnut_Petersen@t-online.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37c69b98d0dca54d9eb72226bbf2e211aaaf126e",
      "tree": "249277ba7072933b760164bfac713140c0438745",
      "parents": [
        "f32485be8397ad811312bc055d2e2a5906bc7576"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 10 15:11:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "reiserfs: don\u0027t lock journal_init()\n\njournal_init() doesn\u0027t need the lock since no operation on the filesystem\nis involved there.  journal_read() and get_list_bitmap() have yet to be\nreviewed carefully though before removing the lock there.  Just keep the\nit around these two calls for safety.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f32485be8397ad811312bc055d2e2a5906bc7576",
      "tree": "3f3ca7a7d8395253189def7742fbd43698dce996",
      "parents": [
        "b18c1c6e0c90cbcd38ba879bd63a44c94e4f7301"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 10 15:11:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "reiserfs: delay reiserfs lock until journal initialization\n\nIn the mount path, transactions that are made before journal\ninitialization don\u0027t involve the filesystem.  We can delay the reiserfs\nlock until we play with the journal.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b18c1c6e0c90cbcd38ba879bd63a44c94e4f7301",
      "tree": "125638b5d0654dab6063a8171d9be821b03688d2",
      "parents": [
        "e74a8f2edb92cb690b467cea0ab652c509e9f624"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "dave@gnu.org",
        "time": "Tue Jan 10 15:11:05 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "reiserfs: delete comments referring to the BKL\n\nSigned-off-by: Davidlohr Bueso \u003cdave@gnu.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e74a8f2edb92cb690b467cea0ab652c509e9f624",
      "tree": "346aa7fc0b5d6ad1d52c8fc1de883fb085d94daa",
      "parents": [
        "948170f8944dfd29d13612fff48110a9814daeb1"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Jan 10 15:11:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range\n\nCommit f44f7f96a20a (\"RTC: Initialize kernel state from RTC\") introduced a\npotential infinite loop.  If an alarm time contains a wildcard month and\nan invalid day (\u003e 31), or a wildcard year and an invalid month (\u003e\u003d 12),\nthe loop searching for the next matching date will never terminate.  Treat\nthe invalid values as wildcards.\n\nFixes \u003chttp://bugs.debian.org/646429\u003e, \u003chttp://bugs.debian.org/653331\u003e\n\nReported-by: leo weppelman \u003cleoweppelman@googlemail.com\u003e\nReported-by: \"P. van Gaans\" \u003cmailme667@yahoo.co.uk\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "948170f8944dfd29d13612fff48110a9814daeb1",
      "tree": "6d88f55925e407c096db6a6bc4df4ad3b5c2448d",
      "parents": [
        "6c3fb55793f79bc975df0494c4d56ea6f0b0cc45"
      ],
      "author": {
        "name": "Benoit Cousson",
        "email": "b-cousson@ti.com",
        "time": "Tue Jan 10 15:10:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030\n\nAdd the DT support for the TI rtc-twl present in the twl4030 and twl6030\ndevices.\n\nSigned-off-by: Benoit Cousson \u003cb-cousson@ti.com\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c3fb55793f79bc975df0494c4d56ea6f0b0cc45",
      "tree": "066d5bd1fff16e0109999a9fabd51c4a346d7c62",
      "parents": [
        "681d0378a9057a92b9e6e51c2112e53d920a092d"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Tue Jan 10 15:10:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "drivers/rtc/: remove redundant spi driver bus initialization\n\nIn ancient times it was necessary to manually initialize the bus field of\nan spi_driver to spi_bus_type.  These days this is done in\nspi_driver_register(), so we can drop the manual assignment.\n\nThe patch was generated using the following coccinelle semantic patch:\n// \u003csmpl\u003e\n@@\nidentifier _driver;\n@@\nstruct spi_driver _driver \u003d {\n\t.driver \u003d {\n-\t\t.bus \u003d \u0026spi_bus_type,\n\t},\n};\n// \u003c/smpl\u003e\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "681d0378a9057a92b9e6e51c2112e53d920a092d",
      "tree": "ec33c3354ef30d3e34557fb1b6a4a98e8f88e32f",
      "parents": [
        "a46481d7af1e6c59c03f3ddac400d9054f804952"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Jan 10 15:10:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "drivers/rtc/rtc-jz4740.c: make jz4740_rtc_driver static\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a46481d7af1e6c59c03f3ddac400d9054f804952",
      "tree": "9e0aa62c215bfb578c5f36ed3b6e1bd536ba436e",
      "parents": [
        "0c4eae66591a292fee70051ea363a8d27aa54102"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Jan 10 15:10:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "drivers/rtc/rtc-mc13xxx.c: make mc13xxx_rtc_idtable static\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c4eae66591a292fee70051ea363a8d27aa54102",
      "tree": "8dce311ce5149432eee9e55a2a7f4c58aaa239fa",
      "parents": [
        "5f85d20d04cdc4c6ed15022a5ed76907ad88d4ae"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Jan 10 15:10:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "rtc: convert drivers/rtc/* to use module_platform_driver()\n\nThis patch converts the drivers in drivers/rtc/* to use the\nmodule_platform_driver() macro which makes the code smaller and a bit\nsimpler.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Srinidhi Kasagar \u003csrinidhi.kasagar@stericsson.com\u003e\nCc: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nCc: Ben Dooks \u003cben@simtec.co.uk\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f85d20d04cdc4c6ed15022a5ed76907ad88d4ae",
      "tree": "5f470974850b61582320c4ba5a47a17337b97874",
      "parents": [
        "2d65943e55bdd538640d0908bc9f3ead138b0431"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 10 15:10:44 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "drivers/rtc/rtc-wm831x.c: convert to devm_kzalloc()\n\nMarginally less code and eliminate the possibility of memory leaks.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d65943e55bdd538640d0908bc9f3ead138b0431",
      "tree": "45f76efff8ba8d2e4f52b6d930b1a1771abe6bc7",
      "parents": [
        "dda367ac064d7473d397b1965019fb3be7cfb6b0"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 10 15:10:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "drivers/rtc/rtc-wm831x.c: remove unused period IRQ handler\n\nDue to changes in the RTC core the period interrupt is now unused so\ndelete the code managing it.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dda367ac064d7473d397b1965019fb3be7cfb6b0",
      "tree": "332b14ebfc6340c6941be7ec64250093ee631f3d",
      "parents": [
        "012e52e15e7ebbc7b08165e8f4b10f71a3e6810b"
      ],
      "author": {
        "name": "Mark Godfrey",
        "email": "mark.godfrey@stericsson.com",
        "time": "Tue Jan 10 15:10:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "rtc/ab8500: add calibration attribute to AB8500 RTC\n\nThe rtc_calibration attribute allows user-space to get and set the\nAB8500\u0027s RtcCalibration register.  The AB8500 will then use the value in\nthis register to compensate for RTC drift every 60 seconds.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Mark Godfrey \u003cmark.godfrey@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nAcked-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "012e52e15e7ebbc7b08165e8f4b10f71a3e6810b",
      "tree": "83b34597c52f4bb13f9a7341321e5cc7cedf5680",
      "parents": [
        "b62581e6241c33b9fef45117f86830058738371f"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Jan 10 15:10:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "drivers/rtc/rtc-ab8500.c: change msleep() to usleep_range()\n\nThe resolution of msleep is related to HZ, so with HZ set to 100 any\nmsleep of less than 10ms will become ~10ms.  This is not what we want.\nUse the hrtimer-based usleep_range() and allow for some slack in the\nnon-critical path so we have more control of what is happening here.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Jonas Aaberg \u003cjonas.aberg@stericsson.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b62581e6241c33b9fef45117f86830058738371f",
      "tree": "41507fcead5502264742448d13c0a2552d6fa03a",
      "parents": [
        "10d065e65b0be33e868f9c6da67026b5111480d8"
      ],
      "author": {
        "name": "Andrew Lynn",
        "email": "andrew.lynn@stericsson.com",
        "time": "Tue Jan 10 15:10:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "rtc/ab8500: set can_wake flag\n\nSet can_wake flag so wakealarm property is visible in sysfs.\n\nSigned-off-by: Andrew Lynn \u003candrew.lynn@stericsson.com\u003e\nReviewed-by: Jonas ABERG \u003cjonas.aberg@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10d065e65b0be33e868f9c6da67026b5111480d8",
      "tree": "8cd847ee24e44791c9d214af5ad6772072872c5f",
      "parents": [
        "c92182ee0b5a33c74e4b6c0ded36166e4ef3bc3e"
      ],
      "author": {
        "name": "Robert Marklund",
        "email": "robert.marklund@stericsson.com",
        "time": "Tue Jan 10 15:10:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "rtc/ab8500: don\u0027t disable IRQ:s when suspending\n\nWe want this driver to be able to wake up the system.\n\nSigned-off-by: Robert Marklund \u003crobert.marklund@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c92182ee0b5a33c74e4b6c0ded36166e4ef3bc3e",
      "tree": "4583c06816318f4e4b4216239f83d91aa11b5fbe",
      "parents": [
        "7287be1d0ac8c82999b67c2a33517c6ec9cfdbe7"
      ],
      "author": {
        "name": "Yauhen Kharuzhy",
        "email": "jekhor@gmail.com",
        "time": "Tue Jan 10 15:10:34 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "drivers/rtc/rtc-mxc.c: make alarm work\n\nFix alarm IRQ handling, make the alarm one-shot.  Cleanup black magick\nwith a validation of already validated time data.\n\nAdd ability to wake the system with alarm.\n\n[akpm@linux-foundation.org: fix CONFIG_PM\u003dn build]\nSigned-off-by: Yauhen Kharuzhy \u003cjekhor@gmail.com\u003e\nCc: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7287be1d0ac8c82999b67c2a33517c6ec9cfdbe7",
      "tree": "7ed79d428bec700c2288c83cf3d685f87aa7019a",
      "parents": [
        "b43c1ea4d622b6951377de92edfb219d893e23ef"
      ],
      "author": {
        "name": "Yauhen Kharuzhy",
        "email": "jekhor@gmail.com",
        "time": "Tue Jan 10 15:10:32 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "drivers/rtc/rtc-mxc.c: fix setting time for MX1 SoC\n\nThere is no way to track year in the i.MX1 RTC: Days Counter register is\n9-bit wide only.  Attempt to save date after 1970-01-01 plus 512 days\ncauses endless loop in mxc_rtc_set_mmss().  Fix this by resetting year to\n1970.\n\n[akpm@linux-foundation.org: use conventional comment layout]\nSigned-off-by: Yauhen Kharuzhy \u003cjekhor@gmail.com\u003e\nCc: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b43c1ea4d622b6951377de92edfb219d893e23ef",
      "tree": "9275010ed3f8a4eb521e2ceafe1ef2605b7b9b3b",
      "parents": [
        "e26d196cc88c5436ca93532cabce87dbd8bf49b4"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Tue Jan 10 15:10:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:52 2012 -0800"
      },
      "message": "drivers/rtc/rtc-cmos.c: fix broken NVRAM bank 2 writing\n\nFix writing to NVRAM bank 2 in rtc-cmos driver.  It never worked since its\nintroduction in 2.6.28 because of a typo.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e26d196cc88c5436ca93532cabce87dbd8bf49b4",
      "tree": "7aafb2985451ea59598fb49bb71641b552cc080a",
      "parents": [
        "e39f560239984c3098237ad94c9449b1494163f8"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney.cavm@gmail.com",
        "time": "Tue Jan 10 15:10:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "MIPS: randomize PIE load address\n\n... by selecting ARCH_BINFMT_ELF_RANDOMIZE_PIE\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e39f560239984c3098237ad94c9449b1494163f8",
      "tree": "c86d9f84a3cb706813919ec7472fb75207bc9c8c",
      "parents": [
        "5742332dea5560d6c449b007d9539dbdc8ee531b"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney.cavm@gmail.com",
        "time": "Tue Jan 10 15:10:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "fs: binfmt_elf: create Kconfig variable for PIE randomization\n\nRandomization of PIE load address is hard coded in binfmt_elf.c for X86\nand ARM.  Create a new Kconfig variable\n(CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE) for this and use it instead.  Thus\narchitecture specific policy is pushed out of the generic binfmt_elf.c and\ninto the architecture Kconfig files.\n\nX86 and ARM Kconfigs are modified to select the new variable so there is\nno change in behavior.  A follow on patch will select it for MIPS too.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5742332dea5560d6c449b007d9539dbdc8ee531b",
      "tree": "64f4516b733638c966d6e66613e6ae016839d3f2",
      "parents": [
        "bfcb2cc798a14230d22b6dd999e2e680623de622"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Tue Jan 10 15:10:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "crc32: optimize inner loop\n\nTaking a pointer reference to each row in the crc table matrix, one can\nreduce the inner loop with a few insn\u0027s\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nCc: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nCc: Frank Zago \u003cfzago@systemfabricworks.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bfcb2cc798a14230d22b6dd999e2e680623de622",
      "tree": "dfa486a04620bd02e58b3cdcb8b06ee5da3014ac",
      "parents": [
        "6b48db24e30d371bc54566667b82ca3d64aab80a"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "checkpatch: catch all occurences of type and cast spacing errors per line\n\nFix up type and cast spacing checks such that all occurences on a line are\nexamined and reported.  For example the line below has a valid cast and a\nbad type, but currently we check the cast first which is good and stop:\n\n    u16* bar \u003d (u16 *)baz;\n\nWe will also only report one of the errors in this example:\n\n    u16* bar \u003d (u16*)bad;\n\nMove to iterating across all casts and all types, reporting any failure.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b48db24e30d371bc54566667b82ca3d64aab80a",
      "tree": "4532e530d3e97917dc8a82bfc1f23f91e9627150",
      "parents": [
        "addcdcea99514bee64b5bf091ac9fd2fc5da65cf"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "checkpatch: typeof may have more complex arguments\n\ntypeof may have various more complex forms as its arguement, not just an\nidentifier.  For now allow us to leak to the first close perenthesis \u0027)\u0027.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "addcdcea99514bee64b5bf091ac9fd2fc5da65cf",
      "tree": "effbf409bfc451203c0051f130ff263c52aa356e",
      "parents": [
        "c81769fdc84ed7c6eb3cc5cecb194324a5e4c8ad"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "checkpatch: ensure cast type is unique in the context parser\n\nEnsure the cast type is unique in the context parser, we do not want them\nto detect as a comma \u0027,\u0027.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c81769fdc84ed7c6eb3cc5cecb194324a5e4c8ad",
      "tree": "bfa7973e16263c7993a54bd53e7a00f350f7d5cc",
      "parents": [
        "e01886ada28741d7cb2cfb3224e9caccfbc1a2d5"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "checkpatch: fix complex macros handling of square brackets\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e01886ada28741d7cb2cfb3224e9caccfbc1a2d5",
      "tree": "ba401dddad6fffc2dc079e1449f20c2091195a41",
      "parents": [
        "72f115f94d500fc72f78c5df8104a98f8b9cc273"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "checkpatch: fix \u0027return is not a function\u0027 square bracket handling\n\nWe are incorrectly matching square brackets \u0027[\u0027 and \u0027]\u0027 leading to false\npositives on more complex functions as below:\n\n    return (dt3155_fbuffer[m]-\u003eready_head -\n\tdt3155_fbuffer[m]-\u003eready_len +\n\tdt3155_fbuffer[m]-\u003enbuffers)%\n\t(dt3155_fbuffer[m]-\u003enbuffers);\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72f115f94d500fc72f78c5df8104a98f8b9cc273",
      "tree": "3c6b37bebd9b1f1671df4f8d0dcbe0f625b4a6a0",
      "parents": [
        "87a53877185627b49a903023255425bda78f890c"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "checkpatch: complex macro should allow the empty do while loop\n\nIt is common to stub out a function as below, this is triggering a complex\nmacro format incorrectly.  Sort this out:\n\n    #define cma_early_regions_reserve(reserve)   do { } while (0)\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87a53877185627b49a903023255425bda78f890c",
      "tree": "47809b22567658e1e17be1603358d06f79a8e99f",
      "parents": [
        "a13858033a3a993147d190317cc9d709f0a1b819"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: fix EXPORT_SYMBOL handling following a function\n\nThe following fragment defeats the DEVICE_ATTR style handing, check for\nand ignore the close brace \u0027}\u0027 in this context:\n\n    int foo()\n    {\n    }\n    DEVICE_ATTR(link_power_management_policy, S_IRUGO | S_IWUSR,\n                ata_scsi_lpm_show, ata_scsi_lpm_put);\n    EXPORT_SYMBOL_GPL(dev_attr_link_power_management_policy);\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a13858033a3a993147d190317cc9d709f0a1b819",
      "tree": "2d82b609eeafc484a046faa4616f4ed67a31c27f",
      "parents": [
        "3e469cdc08ac5d84b220f8fb76a090d158d5114f"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:03 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: only apply kconfig help checks for options which prompt\n\nThe intent of this check is to catch the options which the user will see\nand ensure they are properly described.  It is also common for internal\nonly options to have a brief description.  Allow this form.\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e469cdc08ac5d84b220f8fb76a090d158d5114f",
      "tree": "fc35a9ca8593ddd2bf0e07ceb2f39e83ff06ff4c",
      "parents": [
        "89a883530fe79939384a6c6ed893c719762c7c9c"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: optimise statement scanner when mid-statement\n\nIn the middle of a long definition or similar, there is no possibility of\nfinding a smaller sub-statement.  Optimise this case by skipping statement\naquirey where there are no starts of statement (open brace \u0027{\u0027 or\nsemi-colon \u0027;\u0027).  We are likely to scan slightly more than needed still\nbut this is safest.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89a883530fe79939384a6c6ed893c719762c7c9c",
      "tree": "49d1dd395c3029ab6261c8d217f53642d77bdc0f",
      "parents": [
        "d7c76ba7e58bc3ca674f20759c686535db484749"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:10:00 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: ## is not a valid modifier\n\nInserting a # into the modifiers list will incorrectly add the null string\nto the modifiers list, leading to an infinite loop.  As neither of these\nis a valid modifier form simply ignore them.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nReported-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7c76ba7e58bc3ca674f20759c686535db484749",
      "tree": "26066daabbfd375eb984da2d8d773ef230f62ddb",
      "parents": [
        "554e165cf32610ec9596a183fa1b54a5707fc3cb"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Jan 10 15:09:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: improve memset and min/max with cast checking\n\nImprove the checking of arguments to memset and min/max tests.\n\nMove the checking of min/max to statement blocks instead of single line.\nChange $Constant to allow any case type 0x initiator and trailing ul\nspecifier.  Add $FuncArg type as any function argument with or without a\ncast.  Print the whole statement when showing memset or min/max messages.\nImprove the memset with 0 as 3rd argument error message.\n\nThere are still weaknesses in the $FuncArg and $Constant code as arbitrary\nparentheses and negative signs are not generically supported.\n\n[akpm@linux-foundation.org: fix per Andy]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "554e165cf32610ec9596a183fa1b54a5707fc3cb",
      "tree": "027354f186b71c033929a5ecf8df80f131c9ce7b",
      "parents": [
        "f74bd1942e04a0cedd1e9c8b331141e75add49c0"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:09:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: check for common memset parameter issues against statments\n\nMove the memset checks over to work against the statement.  Also add\nchecks for 0 and 1 used as lengths.  Generally these indicate badly\nordered parameters.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f74bd1942e04a0cedd1e9c8b331141e75add49c0",
      "tree": "76e1f8b1fdf0c1be748304d14f9aed353932fc26",
      "parents": [
        "5f14d3bd87ef5f979ea64c1f0862534d71786db7"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Jan 10 15:09:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: correctly track the end of preprocessor commands in context\n\nWhen looking for a statement we currently run on through preprocessor\ncommands.  This means that a header file with just definitions is parsed\nover and over again combining all of the lines from the current line to\nthe end of file leading to severe performance issues.\n\nFix up context accumulation to track preprocessor commands and stop when\nreaching the end of them.  At the same time vastly simplify the #define\nhandling.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f14d3bd87ef5f979ea64c1f0862534d71786db7",
      "tree": "88982b950031e877156bf17c3755d9a128b336f8",
      "parents": [
        "270c49a088ae58d4b817861bb04bfec63b0966db"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Jan 10 15:09:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: prefer __printf over __attribute__((format(printf,...)))\n\nAdd a warn for not using __printf.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "270c49a088ae58d4b817861bb04bfec63b0966db",
      "tree": "4c08b86b0be13a7d256e1f7a83f87ebca9d20b9d",
      "parents": [
        "96b62067f970ff529c98913311d33f4b57b453dc"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Jan 10 15:09:50 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:50 2012 -0800"
      },
      "message": "checkpatch: update signature \"might be better as\" warning\n\nemail header lines can look like signature tags.  It\u0027s valid to have\nmultiple email recipients on a single line but not valid to have multiple\nsignatures on a single line.\n\nValidate signatures only when not in the email headers.\n\nClear the $in_commit_log flag when the patch filename appears.\n\nAdd \u0027-\u0027 to the valid chars in a message header for headers\nlike \"Message-Id:\" and \"In-Reply-To:\".\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nReported-by: Julia Lawall \u003cjulia.lawall@lip6.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96b62067f970ff529c98913311d33f4b57b453dc",
      "tree": "4e696c155b2cce6fd0068a9be2a0c09e42bb38d6",
      "parents": [
        "c957b614bde8539416dcde8d702370ff30b1c662"
      ],
      "author": {
        "name": "Steve Hodgson",
        "email": "steve@purestorage.com",
        "time": "Tue Jan 10 15:09:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:49 2012 -0800"
      },
      "message": "btree: export btree_get_prev() so modules can use btree_for_each\n\nThe btree_for_each API is implemented with macros that internally call\nbtree_get_prev(), so if btree_get_prev() isn\u0027t exported then modules fail\nto link if they try to use one of the btree_for_each macros.  Since the\nrest of the btree API is exported, we should keep things orthogonal and\nmake this work too.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Steve Hodgson \u003csteve@purestorage.com\u003e\nAcked-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c957b614bde8539416dcde8d702370ff30b1c662",
      "tree": "06b97ffc49747d3410616c32de8a39a8cdc6129f",
      "parents": [
        "1713cb9d6069fac581fcea928f65ca6ca7c9facf"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 10 15:09:46 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:49 2012 -0800"
      },
      "message": "leds: convert wm8350 driver to devm_kzalloc()\n\nSaves a small amount of code and systematically eliminates leaks.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "1713cb9d6069fac581fcea928f65ca6ca7c9facf"
}
