)]}'
{
  "log": [
    {
      "commit": "e6a2d71f2fd88aaeadfcc7d5abfeabfdde954479",
      "tree": "e855c40bdcd4cb91c052f97ee09b14d592f45a72",
      "parents": [
        "2b4666d0b3725571719245abb3d6de292c814440"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 17 23:12:53 2012 -0400"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:29 2017 -0400"
      },
      "message": "alarmtimer: Use hrtimer per-alarm instead of per-base\n\nArve Hjønnevåg reported numerous crashes from the\n\"BUG_ON(timer-\u003estate !\u003d HRTIMER_STATE_CALLBACK)\" check\nin __run_hrtimer after it called alarmtimer_fired.\n\nIt ends up the alarmtimer code was not properly handling\npossible failures of hrtimer_try_to_cancel, and because\nthese faulres occur when the underlying base hrtimer is\nbeing run, this limits the ability to properly handle\nmodifications to any alarmtimers on that base.\n\nBecause much of the logic duplicates the hrtimer logic,\nit seems that we might as well have a per-alarmtimer\nhrtimer, and avoid the extra complextity of trying to\nmultiplex many alarmtimers off of one hrtimer.\n\nThus this patch moves the hrtimer to the alarm structure\nand simplifies the management logic.\n\nChange-Id: I54b2d718ed1d39598e321eacf88c3335284d4cea\nCc: Arve Hjønnevåg \u003carve@android.com\u003e\nCc: Colin Cross \u003cccross@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "2b4666d0b3725571719245abb3d6de292c814440",
      "tree": "31501c76ff01169f484632340b0cf81cfe678c86",
      "parents": [
        "a0b341a7e0e9620c728fa910b997a5d9bf2588ff"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Tue Aug 07 17:14:52 2012 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:28 2017 -0400"
      },
      "message": "alarmtimer: implement minimum alarm interval for allowing suspend\n\nalarmtimer suspend return -EBUSY if the next alarm will fire in less\nthan 2 seconds.  This allows one RTC seconds tick to occur subsequent\nto this check before the alarm wakeup time is set, ensuring the wakeup\ntime is still in the future (assuming the RTC does not tick one more\nsecond prior to setting the alarm).  If suspend is rejected, hold a\nwakeup source for 2 seconds to process the alarm prior to reattempting\nsuspend.\n\nChange-Id: If38e2568da0ea01dfee6e00323ce7e2c00f2f110\nSigned-off-by: Todd Poynor \u003ctoddpoynor@google.com\u003e\n"
    },
    {
      "commit": "a0b341a7e0e9620c728fa910b997a5d9bf2588ff",
      "tree": "e9ca46ad3ac20909b7135590ba8e1e9a1f2ac0c9",
      "parents": [
        "2bee42a584c84e1e10c819b0dcecae9bb47bb8ff"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Tue Jul 22 21:20:01 2014 +0900"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:28 2017 -0400"
      },
      "message": "BACKPORT: commoncap: don\u0027t alloc the credential unless needed in cap_task_prctl\n\nIn function cap_task_prctl(), we would allocate a credential\nunconditionally and then check if we support the requested function.\nIf not we would release this credential with abort_creds() by using\nRCU method. But on some archs such as powerpc, the sys_prctl is heavily\nused to get/set the floating point exception mode. So the unnecessary\nallocating/releasing of credential not only introduce runtime overhead\nbut also do cause OOM due to the RCU implementation.\n\nThis patch removes abort_creds() from cap_task_prctl() by calling\nprepare_creds() only when we need to modify it.\n\nReported-by: Kevin Hao \u003chaokexin@gmail.com\u003e\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nReviewed-by: Paul Moore \u003cpaul@paul-moore.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge.hallyn@ubuntu.com\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: James Morris \u003cjames.l.morris@oracle.com\u003e\n(cherry picked from commit 6d6f3328422a3bc56b0d8dd026a5de845d2abfa7)\n\nBug: 35074030\nTest: Builds.\nChange-Id: I6f8136b017fd0dcafbf82553e64fbf002a268f20\nSigned-off-by: Jorge Lucangeli Obes \u003cjorgelo@google.com\u003e\n"
    },
    {
      "commit": "2bee42a584c84e1e10c819b0dcecae9bb47bb8ff",
      "tree": "778234dfe2e27f3b12e1955445e738ae5a703e52",
      "parents": [
        "d928192dc4d5e3b001411401097903b2091af43d"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@kernel.org",
        "time": "Fri Sep 04 15:42:45 2015 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:27 2017 -0400"
      },
      "message": "UPSTREAM: capabilities: ambient capabilities\n\nCredit where credit is due: this idea comes from Christoph Lameter with\na lot of valuable input from Serge Hallyn.  This patch is heavily based\non Christoph\u0027s patch.\n\n\u003d\u003d\u003d\u003d\u003d The status quo \u003d\u003d\u003d\u003d\u003d\n\nOn Linux, there are a number of capabilities defined by the kernel.  To\nperform various privileged tasks, processes can wield capabilities that\nthey hold.\n\nEach task has four capability masks: effective (pE), permitted (pP),\ninheritable (pI), and a bounding set (X).  When the kernel checks for a\ncapability, it checks pE.  The other capability masks serve to modify\nwhat capabilities can be in pE.\n\nAny task can remove capabilities from pE, pP, or pI at any time.  If a\ntask has a capability in pP, it can add that capability to pE and/or pI.\nIf a task has CAP_SETPCAP, then it can add any capability to pI, and it\ncan remove capabilities from X.\n\nTasks are not the only things that can have capabilities; files can also\nhave capabilities.  A file can have no capabilty information at all [1].\nIf a file has capability information, then it has a permitted mask (fP)\nand an inheritable mask (fI) as well as a single effective bit (fE) [2].\nFile capabilities modify the capabilities of tasks that execve(2) them.\n\nA task that successfully calls execve has its capabilities modified for\nthe file ultimately being excecuted (i.e.  the binary itself if that\nbinary is ELF or for the interpreter if the binary is a script.) [3] In\nthe capability evolution rules, for each mask Z, pZ represents the old\nvalue and pZ\u0027 represents the new value.  The rules are:\n\n  pP\u0027 \u003d (X \u0026 fP) | (pI \u0026 fI)\n  pI\u0027 \u003d pI\n  pE\u0027 \u003d (fE ? pP\u0027 : 0)\n  X is unchanged\n\nFor setuid binaries, fP, fI, and fE are modified by a moderately\ncomplicated set of rules that emulate POSIX behavior.  Similarly, if\neuid \u003d\u003d 0 or ruid \u003d\u003d 0, then fP, fI, and fE are modified differently\n(primary, fP and fI usually end up being the full set).  For nonroot\nusers executing binaries with neither setuid nor file caps, fI and fP\nare empty and fE is false.\n\nAs an extra complication, if you execute a process as nonroot and fE is\nset, then the \"secure exec\" rules are in effect: AT_SECURE gets set,\nLD_PRELOAD doesn\u0027t work, etc.\n\nThis is rather messy.  We\u0027ve learned that making any changes is\ndangerous, though: if a new kernel version allows an unprivileged\nprogram to change its security state in a way that persists cross\nexecution of a setuid program or a program with file caps, this\npersistent state is surprisingly likely to allow setuid or file-capped\nprograms to be exploited for privilege escalation.\n\n\u003d\u003d\u003d\u003d\u003d The problem \u003d\u003d\u003d\u003d\u003d\n\nCapability inheritance is basically useless.\n\nIf you aren\u0027t root and you execute an ordinary binary, fI is zero, so\nyour capabilities have no effect whatsoever on pP\u0027.  This means that you\ncan\u0027t usefully execute a helper process or a shell command with elevated\ncapabilities if you aren\u0027t root.\n\nOn current kernels, you can sort of work around this by setting fI to\nthe full set for most or all non-setuid executable files.  This causes\npP\u0027 \u003d pI for nonroot, and inheritance works.  No one does this because\nit\u0027s a PITA and it isn\u0027t even supported on most filesystems.\n\nIf you try this, you\u0027ll discover that every nonroot program ends up with\nsecure exec rules, breaking many things.\n\nThis is a problem that has bitten many people who have tried to use\ncapabilities for anything useful.\n\n\u003d\u003d\u003d\u003d\u003d The proposed change \u003d\u003d\u003d\u003d\u003d\n\nThis patch adds a fifth capability mask called the ambient mask (pA).\npA does what most people expect pI to do.\n\npA obeys the invariant that no bit can ever be set in pA if it is not\nset in both pP and pI.  Dropping a bit from pP or pI drops that bit from\npA.  This ensures that existing programs that try to drop capabilities\nstill do so, with a complication.  Because capability inheritance is so\nbroken, setting KEEPCAPS, using setresuid to switch to nonroot uids, and\nthen calling execve effectively drops capabilities.  Therefore,\nsetresuid from root to nonroot conditionally clears pA unless\nSECBIT_NO_SETUID_FIXUP is set.  Processes that don\u0027t like this can\nre-add bits to pA afterwards.\n\nThe capability evolution rules are changed:\n\n  pA\u0027 \u003d (file caps or setuid or setgid ? 0 : pA)\n  pP\u0027 \u003d (X \u0026 fP) | (pI \u0026 fI) | pA\u0027\n  pI\u0027 \u003d pI\n  pE\u0027 \u003d (fE ? pP\u0027 : pA\u0027)\n  X is unchanged\n\nIf you are nonroot but you have a capability, you can add it to pA.  If\nyou do so, your children get that capability in pA, pP, and pE.  For\nexample, you can set pA \u003d CAP_NET_BIND_SERVICE, and your children can\nautomatically bind low-numbered ports.  Hallelujah!\n\nUnprivileged users can create user namespaces, map themselves to a\nnonzero uid, and create both privileged (relative to their namespace)\nand unprivileged process trees.  This is currently more or less\nimpossible.  Hallelujah!\n\nYou cannot use pA to try to subvert a setuid, setgid, or file-capped\nprogram: if you execute any such program, pA gets cleared and the\nresulting evolution rules are unchanged by this patch.\n\nUsers with nonzero pA are unlikely to unintentionally leak that\ncapability.  If they run programs that try to drop privileges, dropping\nprivileges will still work.\n\nIt\u0027s worth noting that the degree of paranoia in this patch could\npossibly be reduced without causing serious problems.  Specifically, if\nwe allowed pA to persist across executing non-pA-aware setuid binaries\nand across setresuid, then, naively, the only capabilities that could\nleak as a result would be the capabilities in pA, and any attacker\n*already* has those capabilities.  This would make me nervous, though --\nsetuid binaries that tried to privilege-separate might fail to do so,\nand putting CAP_DAC_READ_SEARCH or CAP_DAC_OVERRIDE into pA could have\nunexpected side effects.  (Whether these unexpected side effects would\nbe exploitable is an open question.) I\u0027ve therefore taken the more\nparanoid route.  We can revisit this later.\n\nAn alternative would be to require PR_SET_NO_NEW_PRIVS before setting\nambient capabilities.  I think that this would be annoying and would\nmake granting otherwise unprivileged users minor ambient capabilities\n(CAP_NET_BIND_SERVICE or CAP_NET_RAW for example) much less useful than\nit is with this patch.\n\n\u003d\u003d\u003d\u003d\u003d Footnotes \u003d\u003d\u003d\u003d\u003d\n\n[1] Files that are missing the \"security.capability\" xattr or that have\nunrecognized values for that xattr end up with has_cap set to false.\nThe code that does that appears to be complicated for no good reason.\n\n[2] The libcap capability mask parsers and formatters are dangerously\nmisleading and the documentation is flat-out wrong.  fE is *not* a mask;\nit\u0027s a single bit.  This has probably confused every single person who\nhas tried to use file capabilities.\n\n[3] Linux very confusingly processes both the script and the interpreter\nif applicable, for reasons that elude me.  The results from thinking\nabout a script\u0027s file capabilities and/or setuid bits are mostly\ndiscarded.\n\nPreliminary userspace code is here, but it needs updating:\nhttps://git.kernel.org/cgit/linux/kernel/git/luto/util-linux-playground.git/commit/?h\u003dcap_ambient\u0026id\u003d7f5afbd175d2\n\nHere is a test program that can be used to verify the functionality\n(from Christoph):\n\n/*\n * Test program for the ambient capabilities. This program spawns a shell\n * that allows running processes with a defined set of capabilities.\n *\n * (C) 2015 Christoph Lameter \u003ccl@linux.com\u003e\n * Released under: GPL v3 or later.\n *\n *\n * Compile using:\n *\n *\tgcc -o ambient_test ambient_test.o -lcap-ng\n *\n * This program must have the following capabilities to run properly:\n * Permissions for CAP_NET_RAW, CAP_NET_ADMIN, CAP_SYS_NICE\n *\n * A command to equip the binary with the right caps is:\n *\n *\tsetcap cap_net_raw,cap_net_admin,cap_sys_nice+p ambient_test\n *\n *\n * To get a shell with additional caps that can be inherited by other processes:\n *\n *\t./ambient_test /bin/bash\n *\n *\n * Verifying that it works:\n *\n * From the bash spawed by ambient_test run\n *\n *\tcat /proc/$$/status\n *\n * and have a look at the capabilities.\n */\n\n/*\n * Definitions from the kernel header files. These are going to be removed\n * when the /usr/include files have these defined.\n */\n\nstatic void set_ambient_cap(int cap)\n{\n\tint rc;\n\n\tcapng_get_caps_process();\n\trc \u003d capng_update(CAPNG_ADD, CAPNG_INHERITABLE, cap);\n\tif (rc) {\n\t\tprintf(\"Cannot add inheritable cap\\n\");\n\t\texit(2);\n\t}\n\tcapng_apply(CAPNG_SELECT_CAPS);\n\n\t/* Note the two 0s at the end. Kernel checks for these */\n\tif (prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_RAISE, cap, 0, 0)) {\n\t\tperror(\"Cannot set cap\");\n\t\texit(1);\n\t}\n}\n\nint main(int argc, char **argv)\n{\n\tint rc;\n\n\tset_ambient_cap(CAP_NET_RAW);\n\tset_ambient_cap(CAP_NET_ADMIN);\n\tset_ambient_cap(CAP_SYS_NICE);\n\n\tprintf(\"Ambient_test forking shell\\n\");\n\tif (execv(argv[1], argv + 1))\n\t\tperror(\"Cannot exec\");\n\n\treturn 0;\n}\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e # Original author\nSigned-off-by: Andy Lutomirski \u003cluto@kernel.org\u003e\nAcked-by: Serge E. Hallyn \u003cserge.hallyn@ubuntu.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Aaron Jones \u003caaronmdjones@gmail.com\u003e\nCc: Ted Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Mimi Zohar \u003czohar@linux.vnet.ibm.com\u003e\nCc: Austin S Hemmelgarn \u003cahferroin7@gmail.com\u003e\nCc: Markku Savela \u003cmsa@moth.iki.fi\u003e\nCc: Jarkko Sakkinen \u003cjarkko.sakkinen@linux.intel.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n(cherry picked from commit 58319057b7847667f0c9585b9de0e8932b0fdb08)\n\nBug: 31038224\nChange-Id: I88bc5caa782dc6be23dc7e839ff8e11b9a903f8c\nSigned-off-by: Jorge Lucangeli Obes \u003cjorgelo@google.com\u003e\n"
    },
    {
      "commit": "d928192dc4d5e3b001411401097903b2091af43d",
      "tree": "eaf31882ec5dccf0c73fe7f8e4d03288af28311a",
      "parents": [
        "6640a2ba0852aafa26c329ae379a8fa75c130771"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 17 01:59:07 2011 -0800"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:27 2017 -0400"
      },
      "message": "userns: Start out with a full set of capabilities.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "6640a2ba0852aafa26c329ae379a8fa75c130771",
      "tree": "177650e384901e68a380301562a796af31eb9626",
      "parents": [
        "62a901c37982831b208807bb8a3e4eedea745412"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Sat Jul 22 05:29:44 2017 +0000"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:26 2017 -0400"
      },
      "message": "ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES.\n\nThese will be required going forward.\n\nChange-Id: I8f24e1e9f87a6773bd84fb9f173a3725c376c692\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\n"
    },
    {
      "commit": "62a901c37982831b208807bb8a3e4eedea745412",
      "tree": "b93eabb7725cce877be3e393120786c4d544cd22",
      "parents": [
        "ab227695e9765f5b7b378e111424ad8605bce9ac"
      ],
      "author": {
        "name": "Todd Kjos",
        "email": "tkjos@google.com",
        "time": "Mon Mar 06 12:23:40 2017 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:26 2017 -0400"
      },
      "message": "binder: use group leader instead of open thread\n\nThe binder allocator assumes that the thread that\ncalled binder_open will never die for the lifetime of\nthat proc. That thread is normally the group_leader,\nhowever it may not be. Use the group_leader instead\nof current.\n\nBug: 35707103\nTest: Created test case to open with temporary thread\nChange-Id: Id693f74b3591f3524a8c6e9508e70f3e5a80c588\nSigned-off-by: Todd Kjos \u003ctkjos@google.com\u003e\n"
    },
    {
      "commit": "ab227695e9765f5b7b378e111424ad8605bce9ac",
      "tree": "ace03a948cbd60511dc586df9351603bedc28e7a",
      "parents": [
        "96db96e4b4b86a9994f7926dc4f14d178f721102"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 15 18:23:36 2012 -0400"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:25 2017 -0400"
      },
      "message": "binder: don\u0027t allow mmap() by process other than proc-\u003etsk\n\nwe really shouldn\u0027t do get_files_struct() on a different process\nand use it to modify the sucker later on.\n\nChange-Id: I2be2b99395b6efa85a007317b25e6e9e7953c47a\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "96db96e4b4b86a9994f7926dc4f14d178f721102",
      "tree": "df548b7c5516ab5ec7778c7cf66a09c1816850c8",
      "parents": [
        "81ec74bbacd4f172213f975e942af500f920b1c6"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Oct 18 13:58:55 2016 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:24 2017 -0400"
      },
      "message": "android: binder: support for file-descriptor arrays.\n\nThis patch introduces a new binder_fd_array object,\nthat allows us to support one or more file descriptors\nembedded in a buffer that is scatter-gathered.\n\nChange-Id: I647a53cf0d905c7be0dfd9333806982def68dd74\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\n"
    },
    {
      "commit": "81ec74bbacd4f172213f975e942af500f920b1c6",
      "tree": "5dd2b38d81ae66c4fe10c05d86e31442fa5f3386",
      "parents": [
        "1847db4fd448aff072118ca574a29574f8bfa686"
      ],
      "author": {
        "name": "Adrian DC",
        "email": "radian.dc@gmail.com",
        "time": "Sun Apr 16 02:18:10 2017 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:24 2017 -0400"
      },
      "message": "android: binder: Fix binder_transaction with \"scatter-gather\"\n\n * Due to commit Ibe17f4f5629d1d541a03f1e826cfd153b64f0d8c,\n    a log containing extra_buffers_size to an \"lld\" was added\n    without the required (u64) typecast for ARM 32 bits support\n\nChange-Id: Icdf378dc6cfa6502d2c067cad2c39a37589895d6\nSigned-off-by: Adrian DC \u003cradian.dc@gmail.com\u003e\n"
    },
    {
      "commit": "1847db4fd448aff072118ca574a29574f8bfa686",
      "tree": "4bd354a549f329155fc9c7c7603a2e3eebc0fa71",
      "parents": [
        "1ed5ba4dbb3ea3e335f11d69d64a750eadfa8968"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Sep 30 14:10:07 2016 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:23 2017 -0400"
      },
      "message": "android: binder: support for scatter-gather.\n\nPreviously all data passed over binder needed\nto be serialized, with the exception of Binder\nobjects and file descriptors.\n\nThis patchs adds support for scatter-gathering raw\nmemory buffers into a binder transaction, avoiding\nthe need to first serialize them into a Parcel.\n\nTo remain backwards compatibile with existing\nbinder clients, it introduces two new command\nioctls for this purpose - BC_TRANSACTION_SG and\nBC_REPLY_SG. These commands may only be used with\nthe new binder_transaction_data_sg structure,\nwhich adds a field for the total size of the\nbuffers we are scatter-gathering.\n\nBecause memory buffers may contain pointers to\nother buffers, we allow callers to specify\na parent buffer and an offset into it, to indicate\nthis is a location pointing to the buffer that\nwe are fixing up. The kernel will then take care\nof fixing up the pointer to that buffer as well.\n\nChange-Id: Ibe17f4f5629d1d541a03f1e826cfd153b64f0d8c\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\n"
    },
    {
      "commit": "1ed5ba4dbb3ea3e335f11d69d64a750eadfa8968",
      "tree": "d9bea901a7acaedf16f3352b4eea8ecd609534fa",
      "parents": [
        "4707c0b00cb3b33c84e8653a23372d628ad7901b"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Sep 30 14:05:40 2016 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:23 2017 -0400"
      },
      "message": "android: binder: add extra size to allocator.\n\nThe binder_buffer allocator currently only allocates\nspace for the data and offsets buffers of a Parcel.\nThis change allows for requesting an additional chunk\nof data in the buffer, which can for example be used\nto hold additional meta-data about the transaction\n(eg a security context).\n\nChange-Id: I58ab9c383a2e1a3057aae6adaa596ce867f1b157\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\n"
    },
    {
      "commit": "4707c0b00cb3b33c84e8653a23372d628ad7901b",
      "tree": "d17a3512ab3345240046892b7209311307332971",
      "parents": [
        "80ec9320b82d8419916a6c6dc0b53b5b7c0f5320"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Sep 29 15:38:14 2016 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:22 2017 -0400"
      },
      "message": "android: binder: refactor binder_transact()\n\nMoved handling of fixup for binder objects,\nhandles and file descriptors into separate\nfunctions.\n\nChange-Id: If6849f1caee3834aa87d0ab08950bb1e21ec6e38\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\n"
    },
    {
      "commit": "80ec9320b82d8419916a6c6dc0b53b5b7c0f5320",
      "tree": "5cea8c189a5be10dfe81b6677591bb13d2dd550b",
      "parents": [
        "1b48dc6595fa147aa744479f8d9961a858038af1"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Sep 30 16:08:09 2016 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:22 2017 -0400"
      },
      "message": "BACKPORT: android: binder: support multiple /dev instances.\n\nAdd a new module parameter \u0027devices\u0027, that can be\nused to specify the names of the binder device\nnodes we want to populate in /dev.\n\nEach device node has its own context manager, and\nis therefore logically separated from all the other\ndevice nodes.\n\nThe config option CONFIG_ANDROID_BINDER_DEVICES can\nbe used to set the default value of the parameter.\n\nThis approach was favored over using IPC namespaces,\nmostly because we require a single process to be a\npart of multiple binder contexts, which seemed harder\nto achieve with namespaces.\n\n[AdrianDC] Backport to 3.4 with list.h iterator\n           hlist_for_each_entry_rcu node kept\n\nChange-Id: I3d8531c44e82ef7db4d8b9fa0c1761d4ec282e3d\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\nSigned-off-by: Adrian DC \u003cradian.dc@gmail.com\u003e\n"
    },
    {
      "commit": "1b48dc6595fa147aa744479f8d9961a858038af1",
      "tree": "ae9b8d9949967ced44f6fc7240e075974bf22b0f",
      "parents": [
        "761563244a4dc2cebc8f014395391b6930d998fb"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Mon Oct 17 15:17:31 2016 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:21 2017 -0400"
      },
      "message": "BACKPORT: android: binder: deal with contexts in debugfs.\n\nProperly print the context in debugfs entries.\n\nChange-Id: Ieeb89bfa8e760635366ce8b60569fbbd4937b844\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\n"
    },
    {
      "commit": "761563244a4dc2cebc8f014395391b6930d998fb",
      "tree": "1ee7aa4d3df250ff61523cd146344a14bc542b57",
      "parents": [
        "d6406052ff511ddbaa1684fd4840f13aff910685"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Sep 30 15:51:48 2016 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:20 2017 -0400"
      },
      "message": "BACKPORT: android: binder: support multiple context managers.\n\nMove the context manager state into a separate\nstruct context, and allow for each process to have\nits own context associated with it.\n\nChange-Id: I6a9dfacb7b73a29760e367ff0b4e0ee21f2d0380\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\nSigned-off-by: Adrian DC \u003cradian.dc@gmail.com\u003e\n"
    },
    {
      "commit": "d6406052ff511ddbaa1684fd4840f13aff910685",
      "tree": "3e868d351e5ace072dde1032020ab360d2f67a99",
      "parents": [
        "ac961c2a71294d05efa2ba5752c317980e82bbe5"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Jul 13 12:06:49 2016 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:20 2017 -0400"
      },
      "message": "android: binder: split flat_binder_object.\n\nflat_binder_object is used for both handling\nbinder objects and file descriptors, even though\nthe two are mostly independent. Since we\u0027ll\nhave more fixup objects in binder in the future,\ninstead of extending flat_binder_object again,\nsplit out file descriptors to their own object\nwhile retaining backwards compatibility to\nexisting user-space clients. All binder objects\njust share a header.\n\nChange-Id: Ifffa8cb749335d0ee79226c98f70786190516355\nSigned-off-by: Martijn Coenen \u003cmaco@google.com\u003e\n"
    },
    {
      "commit": "ac961c2a71294d05efa2ba5752c317980e82bbe5",
      "tree": "88ba5817d659754b896597084979f30e3c11b584",
      "parents": [
        "a8f4856c4064addac84719e53eadb0fb1930d1ee"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Fri Oct 07 11:13:55 2016 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:58:09 2017 -0400"
      },
      "message": "binder: blacklist %p kptr_restrict\n\nBug: 31495231\nChange-Id: Iebc150f6bc939b56e021424ee44fb30ce8d732fd\n"
    },
    {
      "commit": "a8f4856c4064addac84719e53eadb0fb1930d1ee",
      "tree": "e3e15fa0eee34de063f4029e721b7eb2205927a7",
      "parents": [
        "f77b183876477ece8cba8ab6eb3e0abcaeb0b6b4"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Sun Jun 23 23:47:15 2013 +0900"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:25 2017 -0400"
      },
      "message": "staging: android: Fix typo in staging/android\n\nFix \"with with\" in debug message.\n\nChange-Id: Ibb60ca741d8ec760873054db53ad83e1b8a70c15\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: 1dcdbfd6d9a5172ece7ccccbca90531d4cf62083\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "f77b183876477ece8cba8ab6eb3e0abcaeb0b6b4",
      "tree": "f60b5fc4bb05f1d52862bfa3aca77a105f1c70e1",
      "parents": [
        "17b7445dda9b33d8d9b8904205697143d58a0c48"
      ],
      "author": {
        "name": "Mirsal Ennaime",
        "email": "mirsal@mirsal.fr",
        "time": "Tue Mar 12 11:42:02 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:25 2017 -0400"
      },
      "message": "drivers: android: binder: Use __func__ in debug messages\n\nDebug messages sent in binder_deferred_release begin with\n\"binder_release:\" which is a bit misleading as binder_release is not\ndirectly part of the call stack. Use __func__ instead for debug messages\nin binder_deferred_release.\n\nChange-Id: I7b9e2efaed188328d5b0dc82fbfe314a3666237c\nSigned-off-by: Mirsal Ennaime \u003cmirsal@mirsal.fr\u003e\nReviewed-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "17b7445dda9b33d8d9b8904205697143d58a0c48",
      "tree": "9385678df66071a465ec034dd1ba568ca7e6641a",
      "parents": [
        "4618b5721a36755f3652e1c9df8dfc956a34dc6c"
      ],
      "author": {
        "name": "Mirsal Ennaime",
        "email": "mirsal@mirsal.fr",
        "time": "Tue Mar 12 11:42:01 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:24 2017 -0400"
      },
      "message": "drivers: android: binder: Remove excessive indentation\n\nRemove one level of indentation from the binder proc page release code\nby using slightly different control semantics.\n\nChange-Id: I7a34049bf32799d7954da770f05411183c950778\nSigned-off-by: Mirsal Ennaime \u003cmirsal@mirsal.fr\u003e\nReviewed-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4618b5721a36755f3652e1c9df8dfc956a34dc6c",
      "tree": "f330dd039e749cdd53adff3a3ef3f1adbe7203e9",
      "parents": [
        "506a0274a79b7c3d8770510e3eb179e6a025327b"
      ],
      "author": {
        "name": "Mirsal Ennaime",
        "email": "mirsal@mirsal.fr",
        "time": "Tue Mar 12 11:42:00 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:23 2017 -0400"
      },
      "message": "drivers: android: binder: Fix code style in binder_deferred_release\n\n * Use tabs where applicable\n * Remove a few \"80-columns\" checkpatch warnings\n * Separate code paths with empty lines for readability\n\nChange-Id: I634852d0812756e2c0412152a36c99dd9a9bb94a\nSigned-off-by: Mirsal Ennaime \u003cmirsal@mirsal.fr\u003e\nReviewed-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "506a0274a79b7c3d8770510e3eb179e6a025327b",
      "tree": "aeaae0aeb74daf952b52072999dc6080e7302c78",
      "parents": [
        "2900dbb5a3a81285a6e9b8c67c7460fe89aef0d6"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Thu Feb 13 20:25:06 2014 -0800"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:23 2017 -0400"
      },
      "message": "Staging: android: binder: More offset validation.\n\nMake sure offsets don\u0027t point to overlapping flat_binder_object\nstructs.\n\nChange-Id: I425ab0c46fbe2b00ed679c5becf9e8140395eb40\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nGit-commit: 457c3cd05958b8397211ae1f6dd3c3d325f4c0ea\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "2900dbb5a3a81285a6e9b8c67c7460fe89aef0d6",
      "tree": "80b05559661457d4b96c3c4edb1e5393e743e2cd",
      "parents": [
        "582bf3e45769171c39da6d8867bf1299f5b1eb39"
      ],
      "author": {
        "name": "Paresh Nakhe",
        "email": "pnakhe@codeaurora.org",
        "time": "Wed Apr 09 14:49:32 2014 +0530"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:22 2017 -0400"
      },
      "message": "binder: NULL pointer reference\n\nThis fix handles a possible NULL pointer reference in\ndebug message.\n\nCRs-fixed: 642883\nChange-Id: Ide78f281ec0cff5cbd8231b85c305d13a892854e\nSigned-off-by: Paresh Nakhe \u003cpnakhe@codeaurora.org\u003e\n"
    },
    {
      "commit": "582bf3e45769171c39da6d8867bf1299f5b1eb39",
      "tree": "6c4fd3af1710aaa9a61aad1483a877317e03b7e0",
      "parents": [
        "78efff0db8a82340eac6c72c5198ff80a0c636f1"
      ],
      "author": {
        "name": "Uma Maheshwari Bhiram",
        "email": "ubhira@codeaurora.org",
        "time": "Fri Nov 08 15:19:38 2013 -0800"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:22 2017 -0400"
      },
      "message": "binder: Quiet Binder\n\nTemporary change to avoid watchdog bark because of\nexcessive failed transaction logging\n\nCRs-Fixed: 572081\n\nChange-Id: Id664d65ab9e78627991f8b7d4f4e5e126908c214\nSigned-off-by: Uma Maheshwari Bhiram \u003cubhira@codeaurora.org\u003e\n"
    },
    {
      "commit": "78efff0db8a82340eac6c72c5198ff80a0c636f1",
      "tree": "edfb3a467fad1738e234151c7fe9a7443efde4ef",
      "parents": [
        "9ad3fd57bd89529a90799277748b150f64aae6f3"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Jan 27 19:18:47 2014 -0800"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:21 2017 -0400"
      },
      "message": "Staging: android: binder: Support concurrent 32 bit and 64 bit processes.\n\nAdd binder_size_t and binder_uintptr_t that is used instead of size_t and\nvoid __user * in the user-space interface.\n\nUse 64 bit pointers on all systems unless CONFIG_ANDROID_BINDER_IPC_32BIT\nis set (which enables the old protocol on 32 bit systems).\n\nChange BINDER_CURRENT_PROTOCOL_VERSION to 8 if\nCONFIG_ANDROID_BINDER_IPC_32BIT is not set.\n\nAdd compat ioctl.\n\nChange-Id: Ifbbde0209da0050011bcab34c547a4c30d6e8c49\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nGit-commit: 1c4aa9fb12e8b0a54f056b8402b0bde61b49498f\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: David Ng \u003cdave@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "9ad3fd57bd89529a90799277748b150f64aae6f3",
      "tree": "05038a34a4e8ec7aeb00f8777d3bee122a6de80d",
      "parents": [
        "48b1d9ef96eda0c04bb93a02ed600e46b5e64ec2"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Tue Aug 02 15:40:39 2016 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:21 2017 -0400"
      },
      "message": "ANDROID: binder: Add strong ref checks\n\nPrevent using a binder_ref with only weak references where a strong\nreference is required.\n\nBUG: 30445380\nChange-Id: I66c15b066808f28bd27bfe50fd0e03ff45a09fca\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "48b1d9ef96eda0c04bb93a02ed600e46b5e64ec2",
      "tree": "acf157c3acd1e52df2d1f96f660a10d06931e367",
      "parents": [
        "d4a485492128fe13b18ebb5f9774118668908fc8"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Wed Jan 15 11:28:36 2014 +0000"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:20 2017 -0400"
      },
      "message": "staging: android: binder: fix ABI for 64bit Android\n\nThis patch fixes the ABI for 64bit Android userspace.\nBC_REQUEST_DEATH_NOTIFICATION and BC_CLEAR_DEATH_NOTIFICATION claim\nto be using struct binder_ptr_cookie, but they are using a 32bit handle\nand a pointer.\n\nOn 32bit systems the payload size is the same as the size of struct\nbinder_ptr_cookie, however for 64bit systems this will differ. This\npatch adds struct binder_handle_cookie that fixes this issue for 64bit\nAndroid.\n\nSince there are no 64bit users of this interface that we know of this\nchange should not affect any existing systems.\n\nChange-Id: I8909cbc50aad48ccf371270bad6f69ff242a8c22\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nGit-commit: 34d977e7af9bb097530aa71204d591485f7dddc7\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: David Ng \u003cdave@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "d4a485492128fe13b18ebb5f9774118668908fc8",
      "tree": "a0bbd3c6da554f366d4ef7b70f3826f3df051db5",
      "parents": [
        "57fd7625abedcfa956fd1e4f1fdc07ba788dce40"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 07 13:46:41 2013 -0800"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:19 2017 -0400"
      },
      "message": "drivers: staging: android: split uapi out of binder.h\n\nMove the userspace interface of binder.h to\ndrivers/staging/android/uapi/binder.h.\n\nChange-Id: I2e56ba89ade5e1f33b121e6ecd456392d588a14e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nGit-commit: 06f505a4d5719da00e76bde885792a7d5ec968f8\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "57fd7625abedcfa956fd1e4f1fdc07ba788dce40",
      "tree": "d3e8d40be2da9f86eeafc4ce90019064f6077bd0",
      "parents": [
        "f0a75a4d80c31a4288b1b4a82f7deff987c7b767"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 04 10:54:48 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:19 2017 -0400"
      },
      "message": "staging: android: binder: fix binder interface for 64bit compat layer\n\nThe changes in this patch will fix the binder interface for use on 64bit\nmachines and stand as the base of the 64bit compat support. The changes\napply to the structures that are passed between the kernel and\nuserspace.\n\nMost of the  changes applied mirror the change to struct binder_version\nwhere there is no need for a 64bit wide protocol_version(on 64bit\nmachines). The change inlines with the existing 32bit userspace(the\nstructure has the same size) and simplifies the compat layer such that\nthe same handler can service the BINDER_VERSION ioctl.\n\nOther changes make use of kernel types as well as user-exportable ones\nand fix format specifier issues.\n\nThe changes do not affect existing 32bit ABI.\n\nChange-Id: If00cb82dc4407a5e0890abbcb4019883e99e9a1f\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: 64dcfe6b84d4104d93e4baf2b5a0b3e7f2e4cc30\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "f0a75a4d80c31a4288b1b4a82f7deff987c7b767",
      "tree": "596860df22ff61b5e4dff19443959c70b55bc26c",
      "parents": [
        "0c147d4ec5fdcca07bc7766c8821907e7f439cc4"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 04 10:54:47 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:18 2017 -0400"
      },
      "message": "staging: android: binder: replace types with portable ones\n\nSince this driver is meant to be used on different types of processors\nand a portable driver should specify the size a variable expects to be\nthis patch changes the types used throughout the binder interface.\n\nWe use \"userspace\" types since this header will be exported and used by\nthe Android filesystem.\n\nThe patch does not change in any way the functionality of the binder driver.\n\nChange-Id: Iede6575f6f9d76bec0bbed11948abe3ff081d0ee\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: eecddef594f9eb159040160b929642f16a07387f\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "0c147d4ec5fdcca07bc7766c8821907e7f439cc4",
      "tree": "e17a8ea50bebfd4933527bca49a43d8076d70cf6",
      "parents": [
        "3fc772fc63bc2a0b659d1324e28b6e79dff636f8"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 04 10:54:45 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:18 2017 -0400"
      },
      "message": "staging: android: binder: fix BC_FREE_BUFFER ioctl declaration\n\nBinderDriverCommands mirror the ioctl usage. Thus the size of the\nstructure passed through the interface should be used to generate the\nioctl No.\n\nThe change reflects the type being passed from the user space-a pointer\nto a binder_buffer. This change should not affect the existing 32bit\nuser space since BC_FREE_BUFFER is computed as:\n\n   #define _IOW(type,nr,size)         \\\n      ((type) \u003c\u003c _IOC_TYPESHIFT) |    \\\n      ((nr)   \u003c\u003c _IOC_NRSHIFT) |      \\\n      ((size) \u003c\u003c _IOC_SIZESHIFT))\n\nand for a 32bit compiler BC_FREE_BUFFER will have the same computed\nvalue. This change will also ease our work in differentiating\nBC_FREE_BUFFER from COMPAT_BC_FREE_BUFFER.\n\nThe change does not affect existing 32bit ABI.\n\nChange-Id: I72c6bfae325840a825c8786a79a07ffad540d602\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: fc56f2ecf091d774c18ad0d470c62c6818fa32a3\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "3fc772fc63bc2a0b659d1324e28b6e79dff636f8",
      "tree": "de02e32aa39ead3e4bbf2637ed204b11723a8169",
      "parents": [
        "698e2c8fd9dcb5e50647b3ae1d3ba486c8338109"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 04 10:54:44 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:17 2017 -0400"
      },
      "message": "staging: android: binder: fix BINDER_SET_MAX_THREADS declaration\n\nThis change will fix the BINDER_SET_MAX_THREADS ioctl to use __u32\ninstead of size_t for setting the max threads. Thus using the same\nhandler for 32 and 64bit kernels.\n\nThis value is stored internally in struct binder_proc and set to 15\non open_binder() in the libbinder API(thus no need for a 64bit size_t\non 64bit platforms).\n\nThe change does not affect existing 32bit ABI.\n\nChange-Id: I193678d455b6527d54c524feb785631df8faed5a\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: a9350fc859ae3f1db7f2efd55c7a3e0d09a4098d\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "698e2c8fd9dcb5e50647b3ae1d3ba486c8338109",
      "tree": "f4674e8265ea744efe5107dfccb8e99124b35214",
      "parents": [
        "0d56b48aabb28faff67cd1c0bafef508c28fcce6"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Tue Apr 09 11:00:52 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:17 2017 -0400"
      },
      "message": "staging: android: binder: replace IOCTL types with user-exportable types\n\nThis patch modifies the IOCTL macros to use user-exportable data types,\nas they are the referred kernel types for the user/kernel interface.\n\nThe patch does not change in any way the functionality of the binder driver.\n\nChange-Id: I784358581eba5c04c9bb3235cd4ae68f0225129a\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0d56b48aabb28faff67cd1c0bafef508c28fcce6",
      "tree": "623bc6bf3a512766bdf484ceff488bdec49e6465",
      "parents": [
        "16e494b82084c87e4588d59d85c2917b6d9f44fb"
      ],
      "author": {
        "name": "Bojan Prtvar",
        "email": "prtvar.b@gmail.com",
        "time": "Sun Sep 01 20:30:38 2013 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:16 2017 -0400"
      },
      "message": "Staging: android: add __user annotation in binder.c\n\nThis fixes the following sparse error\ndrivers/staging/android/binder.c:1795:36: error: incompatible types in comparison expression (different address spaces)\n\nChange-Id: Icf6b3868442fc3e4f145c8d13de9626abc306cd1\nSigned-off-by: Bojan Prtvar \u003cprtvar.b@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: 308fbd8ac0b0078dba29cad027e5b454aac13a6a\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "16e494b82084c87e4588d59d85c2917b6d9f44fb",
      "tree": "3d1419a3e4b9f3c4c6b8e2ffb4a841b49ed8e90a",
      "parents": [
        "195b6a19bf4469c778eeb57b85ac5b7db69c1c20"
      ],
      "author": {
        "name": "Bojan Prtvar",
        "email": "prtvar.b@gmail.com",
        "time": "Mon Sep 02 08:18:40 2013 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:15 2017 -0400"
      },
      "message": "Staging: android: Mark local functions in binder.c as static\n\nThis fixes the following sparse warnings\ndrivers/staging/android/binder.c:1703:5: warning: symbol \u0027binder_thread_write\u0027 was not declared. Should it be static?\ndrivers/staging/android/binder.c:2058:6: warning: symbol \u0027binder_stat_br\u0027 was not declared. Should it be static?\n\nChange-Id: I930f10e54c19b0c6aca275f3ef51320bcfa3bb34\nSigned-off-by: Bojan Prtvar \u003cprtvar.b@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: fb07ebc3e82a98a3605112b71ea819c359549c4b\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "195b6a19bf4469c778eeb57b85ac5b7db69c1c20",
      "tree": "393b3529f2cc6bc2d425f753ca01c440a4f65830",
      "parents": [
        "87836e5ce1dce9b8dea8befe0920fef1b53f4073"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 04 10:54:46 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:15 2017 -0400"
      },
      "message": "staging: android: binder: fix alignment issues\n\nThe Android userspace aligns the data written to the binder buffers to\n4bytes. Thus for 32bit platforms or 64bit platforms running an 32bit\nAndroid userspace we can have a buffer looking like this:\n\nplatform    buffer(binder_cmd   pointer)      size\n32/32                 32b         32b          8B\n64/32                 32b         64b          12B\n64/64                 32b         64b          12B\n\nThus the kernel needs to check that the buffer size is aligned to 4bytes\nnot to (void *) that will be 8bytes on 64bit machines.\n\nThe change does not affect existing 32bit ABI.\n\nChange-Id: Idcad35da1c1567ee0676d60d03afd07b219c59ea\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: ec35e852dc9de9809f88ff397d7a611208880f9f\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "87836e5ce1dce9b8dea8befe0920fef1b53f4073",
      "tree": "423b3715175cc9890fb6a7190fd92771173f9ccb",
      "parents": [
        "b2c34a3d2328e438c53cbecaf0a1ec7fc54bcaca"
      ],
      "author": {
        "name": "Cruz Julian Bishop",
        "email": "cruzjbishop@gmail.com",
        "time": "Sat Dec 22 09:00:44 2012 +1000"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:14 2017 -0400"
      },
      "message": "staging: android: Avoid using camelcase in binder.h\n\nThis changes the following:\n\n1: BinderDriverReturnProtocol -\u003e binder_driver_return_protocol\n2: BinderDriverCommandProtocol -\u003e binder_driver_return_protocol\n\nThese enums are not currently used, but still generate noise in checkpatch.\n\nWell, did. They don\u0027t now :)\n\nChange-Id: I7eeb7b8fc20ed1c4b3736f3f36b6637a1a631560\nSigned-off-by: Cruz Julian Bishop \u003ccruzjbishop@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b2c34a3d2328e438c53cbecaf0a1ec7fc54bcaca",
      "tree": "b1cdcd39174d4fd25442acedb421347b9f8b4648",
      "parents": [
        "81d8a028298d2ce926e89c8f7d080037f5565dfe"
      ],
      "author": {
        "name": "Emil Goode",
        "email": "emilgoode@gmail.com",
        "time": "Tue Apr 24 00:36:29 2012 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:14 2017 -0400"
      },
      "message": "staging: android: binder: fix sparse warnings\n\nFix sparse warnings by adding __user annotation to stucts.\n\nThis patch fixes the the following sparse warnings:\n\ndrivers/staging/android/binder.c:1343:76: warning:\n\tincorrect type in argument 2 (different address spaces)\n\tdrivers/staging/android/binder.c:1343:76:\n\texpected void [noderef] \u003casn:1\u003e*ptr\n\tdrivers/staging/android/binder.c:1343:76: got void *binder\ndrivers/staging/android/binder.c:1567:57: warning:\n\tincorrect type in argument 2 (different address spaces)\n\tdrivers/staging/android/binder.c:1567:57:\n\texpected void const [noderef] \u003casn:1\u003e*from\n\tdrivers/staging/android/binder.c:1567:57:\n\tgot void const *buffer\ndrivers/staging/android/binder.c:1573:46: warning:\n\tincorrect type in argument 2 (different address spaces)\n\tdrivers/staging/android/binder.c:1573:46:\n\texpected void const [noderef] \u003casn:1\u003e*from\n\tdrivers/staging/android/binder.c:1573:46:\n\tgot void const *offsets\ndrivers/staging/android/binder.c:1603:76: warning:\n\tincorrect type in argument 2 (different address spaces)\n\tdrivers/staging/android/binder.c:1603:76:\n\texpected void [noderef] \u003casn:1\u003e*ptr\n\tdrivers/staging/android/binder.c:1603:76: got void *binder\ndrivers/staging/android/binder.c:1605:64: warning:\n\tincorrect type in argument 2 (different address spaces)\n\tdrivers/staging/android/binder.c:1605:64:\n\texpected void [noderef] \u003casn:1\u003e*ptr\n\tdrivers/staging/android/binder.c:1605:64: got void *binder\ndrivers/staging/android/binder.c:1605:76: warning:\n\tincorrect type in argument 3 (different address spaces)\n\tdrivers/staging/android/binder.c:1605:76:\n\texpected void [noderef] \u003casn:1\u003e*cookie\n\tdrivers/staging/android/binder.c:1605:76: got void *cookie\ndrivers/staging/android/binder.c:1613:40: error:\n\tincompatible types in comparison\n\nChange-Id: I6cac879e87993f077700574420a798226a21721d\nSigned-off-by: Emil Goode \u003cemilgoode@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "81d8a028298d2ce926e89c8f7d080037f5565dfe",
      "tree": "33f720ef3d6976c2a7196e21336470a3805f41f0",
      "parents": [
        "53396a64e6b1022f41a935978c84597485e3b9bd"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 04 10:54:43 2013 +0100"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:13 2017 -0400"
      },
      "message": "staging: android: binder: modify struct binder_write_read to use size_t\n\nThis change mirrors the userspace operation where struct binder_write_read\nmembers that specify the buffer size and consumed size are size_t elements.\n\nThe patch also fixes the binder_thread_write() and binder_thread_read()\nfunctions prototypes to conform with the definition of binder_write_read.\n\nThe changes do not affect existing 32bit ABI.\n\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: 397334fc2be6a7e2f77474bd2b24880efea007bf\nGit-repo: https://android.googlesource.com/kernel/common/\nChange-Id: If606f0fe135ffc4a630dbf34d755f559c36ee62a\nSigned-off-by: Neeti Desai \u003cneetid@codeaurora.org\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "53396a64e6b1022f41a935978c84597485e3b9bd",
      "tree": "86002607c69b2754def949c5849d6dc4fb240e9f",
      "parents": [
        "af15f44c06370bc6349ce47c17ddf98ef36c8fc5"
      ],
      "author": {
        "name": "Anmol Sarma",
        "email": "unmole.in@gmail.com",
        "time": "Tue Oct 30 22:35:43 2012 +0530"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:12 2017 -0400"
      },
      "message": "BACKPORT: Staging: android: binder: Fixed multi-line strings\n\nChanged all user visible multi-line strings to single line.\nRemoved \u0027binder:\u0027 prefix on stings.\n\nChange-Id: I697fa4ee9741e2893f08062ca2256985f4977739\nSigned-off-by: Anmol Sarma \u003cunmole.in@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "af15f44c06370bc6349ce47c17ddf98ef36c8fc5",
      "tree": "ea0ee3d5aaa5febf03eb01966b2a13417419fa3a",
      "parents": [
        "3a82895292abb9b28b4e532002bbce7d4744af6f"
      ],
      "author": {
        "name": "Sherwin Soltani",
        "email": "sherwin@wybc.com",
        "time": "Tue Jun 26 02:00:30 2012 -0400"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:12 2017 -0400"
      },
      "message": "drivers: staging: android: binder.c: fix printk macros\n\nChange printk() messages to pr_* macros.\n\nChange-Id: Iaeddb5f0697bf25abc3d860cfdc431a0a7125d7f\nSigned-off-by: Sherwin Soltani \u003csherwin@wybc.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3a82895292abb9b28b4e532002bbce7d4744af6f",
      "tree": "0a356961502d72736373f0450cb68cbc6c1ef195",
      "parents": [
        "5db6d18d5c0f7c3df730e192e68a371386300ad7"
      ],
      "author": {
        "name": "Sachin Kamat",
        "email": "sachin.kamat@linaro.org",
        "time": "Fri Aug 17 16:39:36 2012 +0530"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:11 2017 -0400"
      },
      "message": "Staging: android: binder: Make task_get_unused_fd_flags function static\n\nSilence the following warning:\ndrivers/staging/android/binder.c:368:5: warning:\nsymbol \u0027task_get_unused_fd_flags\u0027 was not declared. Should it be static?\n\nChange-Id: Iacdae492c73d3b0399d2cf0d101943313082de0d\nCc: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Sachin Kamat \u003csachin.kamat@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "5db6d18d5c0f7c3df730e192e68a371386300ad7",
      "tree": "e24ab9403f78817acaf4f5a5e0ca6208bf175c1c",
      "parents": [
        "55fd41d337c1b6475b7616e1012273030479a7d5"
      ],
      "author": {
        "name": "Adrian DC",
        "email": "radian.dc@gmail.com",
        "time": "Sat Apr 15 19:20:24 2017 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:11 2017 -0400"
      },
      "message": "Revert \"Staging: android: binder: More offset validation.\"\n\n * Reason: Align with upstream to allow further updating\n\nThis reverts commit 8880d5bb53b74a4549c295dfbfe8fd10e8474cfb.\nChange-Id: I4233e31409dcbe09930d48a531b2f5b5ffacde98\n"
    },
    {
      "commit": "55fd41d337c1b6475b7616e1012273030479a7d5",
      "tree": "89c199d6ff9d14e43c1bef5dc82bd8e7582729bf",
      "parents": [
        "76fbb1d23a7fd3e95fc248ce79355554e00ad065"
      ],
      "author": {
        "name": "Jann Horn",
        "email": "jann@thejh.net",
        "time": "Fri Sep 18 23:41:23 2015 +0200"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:57:10 2017 -0400"
      },
      "message": "BACKPORT: security: fix typo in security_task_prctl\n\nSigned-off-by: Jann Horn \u003cjann@thejh.net\u003e\nReviewed-by: Andy Lutomirski \u003cluto@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n(cherry picked from commit b7f76ea2ef6739ee484a165ffbac98deb855d3d3)\n\nBug: 33340301\nTest: Builds.\nChange-Id: I61e017a565c7f18d71839be907c35c971ea42167\nSigned-off-by: Jorge Lucangeli Obes \u003cjorgelo@google.com\u003e\n"
    },
    {
      "commit": "76fbb1d23a7fd3e95fc248ce79355554e00ad065",
      "tree": "347853136d3171ea7888f1b21a4de3f0b15e1dfc",
      "parents": [
        "80c46722a4787f0c69f588e7d0d21c9a3d9dfafc"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Oct 25 11:19:28 2016 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Sep 07 05:56:57 2017 -0400"
      },
      "message": "BACKPORT: Backport ioctl for getting descriptors.\n\nThis is needed for MTP to know if writes are aligned to packet size.\n\nChange-Id: If504511e649d46eb8d52f1fafeda071dddeec263\nSigned-off-by: Jerry Zhang \u003czhangjerry@google.com\u003e\n"
    },
    {
      "commit": "80c46722a4787f0c69f588e7d0d21c9a3d9dfafc",
      "tree": "083be4462d7338af38a38b8db2bc08f75b0e8395",
      "parents": [
        "d1e3bf0ab4e1b5ead56add10691bdd8f9c0d02d6"
      ],
      "author": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Wed Aug 02 13:34:54 2017 -0400"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Thu Aug 03 18:43:27 2017 -0400"
      },
      "message": "add back zram\n\nChange-Id: I9b377ebc3e10d702d0dd5359e8280ecfdc89c9c0\n"
    },
    {
      "commit": "d1e3bf0ab4e1b5ead56add10691bdd8f9c0d02d6",
      "tree": "5e8cf29be8348e03becb9ba62e37accb61e6589f",
      "parents": [
        "ab968c7b090d728838ef4294dbf924af7f2597a5"
      ],
      "author": {
        "name": "Sultanxda",
        "email": "sultanxda@gmail.com",
        "time": "Fri Mar 31 23:48:57 2017 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Wed Jul 26 07:30:06 2017 -0400"
      },
      "message": "msm: smd: Fix support for SDIO SMEM\n\nWithout this, SDIO SMEM init fails and the device reboots when the CPU\nenters deep sleep without leaving any errors behind.\n\nChange-Id: I7aa5cd115421eab2260a358e3507ee05b0fcdca0\nSigned-off-by: Sultanxda \u003csultanxda@gmail.com\u003e\n"
    },
    {
      "commit": "ab968c7b090d728838ef4294dbf924af7f2597a5",
      "tree": "d1397379c77be69c9b1668259676d910cb208fcc",
      "parents": [
        "dc2517b4e0b8bfe2295ba3d4e189d4cdd1bef8aa"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Tue Jul 25 20:49:56 2017 -0500"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Wed Jul 26 07:29:47 2017 -0400"
      },
      "message": "tenderloin: quiet avc denied log spam\n\n this device is unlikely to get full selinux support,\n so for now lets just shut this up to clean up the log spew.\n\nChange-Id: Iad5936f2cbbddbde2482df108926860aeaed7f32\n"
    },
    {
      "commit": "dc2517b4e0b8bfe2295ba3d4e189d4cdd1bef8aa",
      "tree": "8469779899b8e30678136f728de65eabde5ffc3d",
      "parents": [
        "2464470d78ebd2be6b151473eece13c168f40527"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Mon May 15 03:17:24 2017 -0500"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Wed Jul 19 19:32:57 2017 -0400"
      },
      "message": "hp: fix serial number generation\n\n we currently rely on an external binary to do this task,\n this eliminates it and passes the value to android properly.\n\nChange-Id: I17df630c92b88a958e15ef397bd23040547c44ef\n"
    },
    {
      "commit": "2464470d78ebd2be6b151473eece13c168f40527",
      "tree": "7213c69429438d32e9e5a732341505706b9ede76",
      "parents": [
        "81f87140014419538e2891c34b5545ce6ceb59a7"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:27:59 2017 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:27:59 2017 -0500"
      },
      "message": "tenderloin: update config\n\nChange-Id: I1f8415581d3dbd341a26c18f8595be97a9d04edc\n"
    },
    {
      "commit": "81f87140014419538e2891c34b5545ce6ceb59a7",
      "tree": "cfcda5745104ff96f2231b2e372b0a4b7defc8a5",
      "parents": [
        "cbf97cd88b016e0682556c3a505ed77ab212d021"
      ],
      "author": {
        "name": "Pranav Vashi",
        "email": "neobuddy89@gmail.com",
        "time": "Sun May 07 03:04:08 2017 +0530"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:27:04 2017 -0500"
      },
      "message": "iosched_switcher: Use reliable state notifier\n\nSigned-off-by: Pranav Vashi \u003cneobuddy89@gmail.com\u003e\n"
    },
    {
      "commit": "cbf97cd88b016e0682556c3a505ed77ab212d021",
      "tree": "6441fa4edc6a4ebd81755c29266ebf9c1c88aab3",
      "parents": [
        "11d7833f5e7848157beada49c6474d125d927dba"
      ],
      "author": {
        "name": "Sultanxda",
        "email": "sultanxda@gmail.com",
        "time": "Tue May 02 10:27:13 2017 -0700"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:26:49 2017 -0500"
      },
      "message": "mmc: queue: Configure the I/O sched switcher for mmc block devices\n\nChange the I/O scheduler to noop when the screen turns off for mmc block\ndevices.\n\nSigned-off-by: Sultanxda \u003csultanxda@gmail.com\u003e\nSigned-off-by: Pranav Vashi \u003cneobuddy89@gmail.com\u003e\n"
    },
    {
      "commit": "11d7833f5e7848157beada49c6474d125d927dba",
      "tree": "76ea740e0802a4761835e8ffb2a7f9410f15934f",
      "parents": [
        "6e3c746857d1b6a7319e55f89dad5dd717bc6ade"
      ],
      "author": {
        "name": "Sultanxda",
        "email": "sultanxda@gmail.com",
        "time": "Tue Apr 25 14:38:45 2017 -0700"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:26:11 2017 -0500"
      },
      "message": "block: Add driver to change the I/O scheduler when the screen turns off\n\nThis driver changes the I/O scheduler for a specified request queue to\nNoop when the screen turns off in order to improve power consumption while\nthe screen is off, as well as reduce resume latency when the screen is\nturned back on. After the screen is turned back on, the driver will change\nthe I/O scheduler back to what it originally was after a 10000ms delay.\n\nChange-Id: I4ad16a9df4e5ea33edb6ce2f1e7648acd0bb8534\nSigned-off-by: Sultanxda \u003csultanxda@gmail.com\u003e\nSigned-off-by: Pranav Vashi \u003cneobuddy89@gmail.com\u003e\n"
    },
    {
      "commit": "6e3c746857d1b6a7319e55f89dad5dd717bc6ade",
      "tree": "c0be902d63f3b5e9c0f5cef7e6630d23e58e5cd2",
      "parents": [
        "49ee54b8dcf7a94c616c27f90d7f4e21f1d8be83"
      ],
      "author": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Tue May 29 15:07:12 2012 -0700"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:26:02 2017 -0500"
      },
      "message": "fbdev: add events for early fb event support\n\nAdd FB_EARLY_EVENT_BLANK and FB_R_EARLY_EVENT_BLANK event mode supports.\nfirst, fb_notifier_call_chain() is called with FB_EARLY_EVENT_BLANK and\nfb_blank() of specific fb driver is called and then\nfb_notifier_call_chain() is called with FB_EVENT_BLANK again at\nfb_blank().  and if fb_blank() was failed then fb_nitifier_call_chain()\nwould be called with FB_R_EARLY_EVENT_BLANK to revert the previous\neffects.\n\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\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"
    },
    {
      "commit": "49ee54b8dcf7a94c616c27f90d7f4e21f1d8be83",
      "tree": "510e865859fd3b3aff054644fa2c91eb8f79467a",
      "parents": [
        "4a68c6192e2334c81d08405b45e16ee010b6fce1"
      ],
      "author": {
        "name": "Pranav Vashi",
        "email": "neobuddy89@gmail.com",
        "time": "Sun Mar 20 12:23:13 2016 +0530"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:20:07 2017 -0500"
      },
      "message": "shamu: Add state notifier driver\n\nChange-Id: If72898db089457de5437fdc5829166adf770f0b5\nSigned-off-by: Pranav Vashi \u003cneobuddy89@gmail.com\u003e\n"
    },
    {
      "commit": "4a68c6192e2334c81d08405b45e16ee010b6fce1",
      "tree": "6355e436ed3663ee264e192e379c6ec605883fe4",
      "parents": [
        "b606ba6608fa775ac96657d880001cf17f12eec8"
      ],
      "author": {
        "name": "Mohammed Shafi Shajakhan",
        "email": "mohammed@qca.qualcomm.com",
        "time": "Tue Mar 12 22:03:03 2013 +0530"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:05:29 2017 -0500"
      },
      "message": "ath6kl: Fix a debugfs crash for USB devices\n\nCredit distribution stats is currently implemented\nonly for SDIO. This fixes a crash in debugfs for\nUSB interface.\n\nBUG: unable to handle kernel NULL pointer dereference at   (null)\nIP: [\u003cf91c2048\u003e] read_file_credit_dist_stats+0x38/0x330 [ath6kl_core]\n*pde \u003d b62bd067\nOops: 0000 [#1] SMP\n\nEIP: 0060:[\u003cf91c2048\u003e] EFLAGS: 00210246 CPU: 0\nEIP is at read_file_credit_dist_stats+0x38/0x330 [ath6kl_core]\nEAX: 00000000 EBX: e6f7a9c0 ECX: e7b148b8 EDX: 00000000\nESI: 000000c8 EDI: e7b14000 EBP: e6e09f64 ESP: e6e09f30\nDS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess cat (pid: 4058, ti\u003de6e08000 task\u003de50cf230 task.ti\u003de6e08000)\nStack:\n00008000 00000000 e6e09f64 c1132d3c 00004e71 e50cf230 00008000 089e4000\ne7b148b8 00000000 e6f7a9c0 00008000 089e4000 e6e09f8c c11331fc e6e09f98\n00000001 e6e09f7c f91c2010 e6e09fac e6f7a9c0 089e4877 089e4000 e6e09fac\n\n\tCall Trace:\n\t[\u003cc1132d3c\u003e] ? rw_verify_area+0x6c/0x120\n\t[\u003cc11331fc\u003e] vfs_read+0x8c/0x160\n\t[\u003cf91c2010\u003e] ? read_file_war_stats+0x130/0x130 [ath6kl_core]\n\t[\u003cc113330d\u003e] sys_read+0x3d/0x70\n\t[\u003cc15755b4\u003e] syscall_call+0x7/0xb\n\t[\u003cc1570000\u003e] ? fill_powernow_table_pstate+0x127/0x127\n\nCc: Ryan Hsu \u003cryanhsu@qca.qualcomm.com\u003e\nSigned-off-by: Mohammed Shafi Shajakhan \u003cmohammed@qca.qualcomm.com\u003e\nSigned-off-by: Kalle Valo \u003ckvalo@qca.qualcomm.com\u003e\n"
    },
    {
      "commit": "b606ba6608fa775ac96657d880001cf17f12eec8",
      "tree": "b561aa71df7234824c498b8c04e3355b6a0ff53e",
      "parents": [
        "75ec771580e1f41044bcd932bd59d41993b2eb38"
      ],
      "author": {
        "name": "Andrei Epure",
        "email": "epure.andrei@gmail.com",
        "time": "Sun Mar 10 14:39:58 2013 +0200"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun Jul 16 00:05:21 2017 -0500"
      },
      "message": "ath: changed kmalloc to kmemdup\n\nSigned-off-by: Andrei Epure \u003cepure.andrei@gmail.com\u003e\nSigned-off-by: Kalle Valo \u003ckvalo@qca.qualcomm.com\u003e\n"
    },
    {
      "commit": "75ec771580e1f41044bcd932bd59d41993b2eb38",
      "tree": "7df0ccba53acc0b6995ad9e3cb9fe145312d4fe0",
      "parents": [
        "1e6cb85e24f55e47ac9308758b80a5f477008754"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Thu Jun 29 20:22:10 2017 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Thu Jun 29 20:22:38 2017 -0500"
      },
      "message": "Revert \"locking/rtmutex: Drop usage of __HAVE_ARCH_CMPXCHG\"\n\nThis reverts commit bce2e77bdaa8474233183d4098d305a080011470.\n\nChange-Id: I24d07dec3fde6b42f6792e69bad75219dfb0f959\n"
    },
    {
      "commit": "1e6cb85e24f55e47ac9308758b80a5f477008754",
      "tree": "986b9e0ad1a1115a4b30217543419b981138dac3",
      "parents": [
        "c22613a2414896f7823100248776497d16e791a3"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Thu Jun 29 20:21:58 2017 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Thu Jun 29 20:22:32 2017 -0500"
      },
      "message": "Revert \"mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED\"\n\nThis reverts commit 9cb2d1275a198127edf70e79a0bba8c19b6cf0fb.\n\nChange-Id: Ib08a66ec707f2a337136ca8549d71c75f2a05ffa\n"
    },
    {
      "commit": "c22613a2414896f7823100248776497d16e791a3",
      "tree": "f47374c373f99c17778c8e9bf050f33422882b6c",
      "parents": [
        "ce157ed4ebbc4c6bc53683c0acfb9975bd8574b9"
      ],
      "author": {
        "name": "Nick Reuter (elginsk8r)",
        "email": "nreuter85@gmail.com",
        "time": "Mon Jun 26 20:53:58 2017 -0700"
      },
      "committer": {
        "name": "Nick Reuter (elginsk8r)",
        "email": "nreuter85@gmail.com",
        "time": "Mon Jun 26 20:53:58 2017 -0700"
      },
      "message": "Revert \"tenderloin: update mmc changes from pyramid\"\n\nThis reverts commit ce157ed4ebbc4c6bc53683c0acfb9975bd8574b9.\n\nChange-Id: Id8973ba63673cecc742b55894842485c55e45429\n"
    },
    {
      "commit": "ce157ed4ebbc4c6bc53683c0acfb9975bd8574b9",
      "tree": "ea89ff4ddba72f2fad97ce7584498a281fa09035",
      "parents": [
        "9cb2d1275a198127edf70e79a0bba8c19b6cf0fb"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat Jun 17 23:53:39 2017 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat Jun 24 17:53:11 2017 -0500"
      },
      "message": "tenderloin: update mmc changes from pyramid\n\n change the sdc4_pad_off arrays to match board-msm8x60.c\n\nChange-Id: I828703a95001f4f546d161df4711e0385c4d483b\n"
    },
    {
      "commit": "9cb2d1275a198127edf70e79a0bba8c19b6cf0fb",
      "tree": "f47374c373f99c17778c8e9bf050f33422882b6c",
      "parents": [
        "bce2e77bdaa8474233183d4098d305a080011470"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Fri Feb 26 15:19:28 2016 -0800"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat Jun 17 21:56:39 2017 -0500"
      },
      "message": "mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED\n\nBugLink: http://bugs.launchpad.net/bugs/1553179\n\ncommit ad33bb04b2a6cee6c1f99fabb15cddbf93ff0433 upstream.\n\npmd_trans_unstable()/pmd_none_or_trans_huge_or_clear_bad() were\nintroduced to locklessy (but atomically) detect when a pmd is a regular\n(stable) pmd or when the pmd is unstable and can infinitely transition\nfrom pmd_none() and pmd_trans_huge() from under us, while only holding\nthe mmap_sem for reading (for writing not).\n\nWhile holding the mmap_sem only for reading, MADV_DONTNEED can run from\nunder us and so before we can assume the pmd to be a regular stable pmd\nwe need to compare it against pmd_none() and pmd_trans_huge() in an\natomic way, with pmd_trans_unstable().  The old pmd_trans_huge() left a\ntiny window for a race.\n\nUseful applications are unlikely to notice the difference as doing\nMADV_DONTNEED concurrently with a page fault would lead to undefined\nbehavior.\n\n[akpm@linux-foundation.org: tidy up comment grammar/layout]\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReported-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nSigned-off-by: Francisco Franco \u003cfranciscofranco.1990@gmail.com\u003e\n"
    },
    {
      "commit": "bce2e77bdaa8474233183d4098d305a080011470",
      "tree": "986b9e0ad1a1115a4b30217543419b981138dac3",
      "parents": [
        "003ac04cebb8f9e9bafc8dd95b9d07ca830b226e"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Feb 25 18:56:13 2015 +0100"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat Jun 17 21:52:45 2017 -0500"
      },
      "message": "locking/rtmutex: Drop usage of __HAVE_ARCH_CMPXCHG\n\nThe rtmutex code is the only user of __HAVE_ARCH_CMPXCHG and we have a few\nother user of cmpxchg() which do not care about __HAVE_ARCH_CMPXCHG. This\ndefine was first introduced in 23f78d4a0 (\"[PATCH] pi-futex: rt mutex core\")\nwhich is v2.6.18. The generic cmpxchg was introduced later in 068fbad288\n(\"Add cmpxchg_local to asm-generic for per cpu atomic operations\") which is\nv2.6.25.\nBack then something was required to get rtmutex working with the fast\npath on architectures without cmpxchg and this seems to be the result.\n\nIt popped up recently on rt-users because ARM (v6+) does not define\n__HAVE_ARCH_CMPXCHG (even that it implements it) which results in slower\nlocking performance in the fast path.\nTo put some numbers on it: preempt -RT, am335x, 10 loops of\n100000 invocations of rt_spin_lock() + rt_spin_unlock() (time \"total\" is\nthe average of the 10 loops for the 100000 invocations, \"loop\" is\n\"total / 100000 * 1000\"):\n\n     cmpxchg |    slowpath used  ||    cmpxchg used\n             |   total   | loop  ||   total    | loop\n     --------|-----------|-------||------------|-------\n     ARMv6   | 9129.4 us | 91 ns ||  3311.9 us |  33 ns\n     generic | 9360.2 us | 94 ns || 10834.6 us | 108 ns\n     ----------------------------||--------------------\n\nForcing it to generic cmpxchg() made things worse for the slowpath and\neven worse in cmpxchg() path. It boils down to 14ns more per lock+unlock\nin a cache hot loop so it might not be that much in real world.\nThe last test was a substitute for pre ARMv6 machine but then I was able\nto perform the comparison on imx28 which is ARMv5 and therefore is\nalways is using the generic cmpxchg implementation. And the numbers:\n\n              |   total     | loop\n     -------- |-----------  |--------\n     slowpath | 263937.2 us | 2639 ns\n     cmpxchg  |  16934.2 us |  169 ns\n     --------------------------------\n\nThe numbers are larger since the machine is slower in general. However,\nletting rtmutex use cmpxchg() instead the slowpath seem to improve things.\n\nSince from the ARM (tested on am335x + imx28) point of view always\nusing cmpxchg() in rt_mutex_lock() + rt_mutex_unlock() makes sense I\nwould drop the define.\n\nChange-Id: Ib3d7623f273c03fe2fe87ba9ddb7fcc272330c51\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: will.deacon@arm.com\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/20150225175613.GE6823@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Francisco Franco \u003cfranciscofranco.1990@gmail.com\u003e\n"
    },
    {
      "commit": "003ac04cebb8f9e9bafc8dd95b9d07ca830b226e",
      "tree": "7df0ccba53acc0b6995ad9e3cb9fe145312d4fe0",
      "parents": [
        "55d434ecd83e101ad3634e468f0d41f2916f50b1"
      ],
      "author": {
        "name": "Klaus Ripke",
        "email": "",
        "time": "Sat Nov 12 15:38:25 2011 +0100"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat Jun 17 21:49:20 2017 -0500"
      },
      "message": "sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire\n\nLOAD_FREQ is (5*HZ+1) to avoid high load average when idle:\nhttp://kerneltrap.org/mailarchive/linux-kernel/2007/10/3/328568\n\nI suggest (4*HZ+61) for a better distribution.\n\nWith some seconds based load (like SSL heartbeats)\nand LOAD_FREQ at (5*HZ+1) I see Moire patterns like inverse sawtooth,\nsince 2 or 3 probes hit the jobs (load increases quickly),\nfollowed by several probes missing it.\n\nA 4.61 sec interval gives optimal distribution over when within a\nsecond a probe is taken, as .61 is close to golden ratio phi 1.618...\n(test in http://ripke.com/goldenratio.c).\n\n12*4.61 \u003d 55.32 secs is still close to a minute,\nand 13*4.61\u003d59.93 is even closer than the current 12*5.01\u003d60.12\n(with exponents EXP_x adjusted to a ratio of 13 instead of 12).\n\nChange-Id: Id37424fa2f1dd2b1a80c094627e89f00a4f1e14a\n"
    },
    {
      "commit": "55d434ecd83e101ad3634e468f0d41f2916f50b1",
      "tree": "136464aa3771e3e23facf594682367b691dea741",
      "parents": [
        "fac08d6bcf2c7d5883233b866f3837a794fb4a23"
      ],
      "author": {
        "name": "franciscofranco",
        "email": "franciscofranco.1990@gmail.com",
        "time": "Sat Jan 09 04:08:11 2016 +0000"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat Jun 17 21:28:08 2017 -0500"
      },
      "message": "ksm: check and skip page, if it is already scanned\n\nOn system like Android where most of the process are forked\nfrom parent w/o execve, KSM can scan same page multiple times\nin one scan cycle. There is no advantage in scanning same page\nmultiple times for merging. During testing with Android, it was\nobserved around 60% pages are skipped for each scan cycle.\n\nChange-Id: I0cf01802f0b4d61fcab92558beb9e1c660dc9a77\nLink: http://lkml.kernel.org/r/CAMrOTPgBtANS_ryRjan0-dTL97U7eRvtf3dCsss\u003dKn+Uk89fuA@mail.gmail.com\nSigned-off-by: Pradeep Sawlani \u003csawlani@amazon.com\u003e\nSigned-off-by: franciscofranco \u003cfranciscofranco.1990@gmail.com\u003e\n"
    },
    {
      "commit": "fac08d6bcf2c7d5883233b866f3837a794fb4a23",
      "tree": "ca6be78eefa72722c9809a3c4652302d38645530",
      "parents": [
        "f00f962f042df15228dc6f23e5a02f9bc8afe7f7"
      ],
      "author": {
        "name": "Hong-Mei Li",
        "email": "a21834@motorola.com",
        "time": "Wed Mar 27 06:45:03 2013 -0400"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat Jun 17 20:52:50 2017 -0500"
      },
      "message": "arm: lib: Fix makefile issue\n\nFix the typo introduced by commit fb7051a183cba3925f1f00c9bdadc2adcc682020.\n\nChange-Id: Ia23c80f903ed431e60e4ba17c9c6d527e6febd87\nSigned-off-by: Hong-Mei Li \u003ca21834@motorola.com\u003e\nReviewed-on: http://gerrit.pcs.mot.com/527915\nSLT-Approved: Gerrit Code Review \u003cgerrit-blurdev@motorola.com\u003e\nTested-by: Jira Key \u003cjirakey@motorola.com\u003e\nReviewed-by: Christopher Fries \u003cqcf001@motorola.com\u003e\nSubmit-Approved: Jira Key \u003cjirakey@motorola.com\u003e\n"
    },
    {
      "commit": "f00f962f042df15228dc6f23e5a02f9bc8afe7f7",
      "tree": "8bb7c120e508b68058b62da718a4180b3c102591",
      "parents": [
        "dd42f2afd5136c590fcd4e6dcbba6080ff95e3d4"
      ],
      "author": {
        "name": "Chris Fries",
        "email": "C.Fries@motorola.com",
        "time": "Fri Mar 22 17:22:24 2013 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat Jun 17 20:51:28 2017 -0500"
      },
      "message": "msm: memutils:  memcpy, memmove, copy_page optimization\n\nPreload farther to take advantage of the memory bus, and assume\n64-byte cache lines.  Unroll some pairs of ldm/stm as well, for\nunexplainable reasons.\n\nFuture enhancements should include,\n\n- #define for how far to preload, possibly defined separately for\n  memcpy, copy_*_user\n- Tuning for misaligned buffers\n- Tuning for memmove\n- Tuning for small buffers\n- Understanding mechanism behind ldm/stm unroll causing some gains\n  in copy_to_user\n\nBASELINE (msm8960pro):\n\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\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\u003d\u003d\u003d\u003d\nmemcpy 1000MB at 5MB       : took 808850 usec, bandwidth 1236.236 MB/s\ncopy_to_user 1000MB at 5MB : took 810071 usec, bandwidth 1234.234 MB/s\ncopy_from_user 1000MB at 5M: took 942926 usec, bandwidth 1060.060 MB/s\nmemmove 1000GB at 5MB      : took 848588 usec, bandwidth 1178.178 MB/s\ncopy_to_user 1000GB at 4kB : took 847916 usec, bandwidth 1179.179 MB/s\ncopy_from_user 1000GB at 4k: took 935113 usec, bandwidth 1069.069 MB/s\ncopy_page 1000GB at 4kB    : took 779459 usec, bandwidth 1282.282 MB/s\n\nTHIS PATCH:\n\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\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\u003d\u003d\u003d\u003d\nmemcpy 1000MB at 5MB       : took 346223 usec, bandwidth 2888.888 MB/s\ncopy_to_user 1000MB at 5MB : took 348084 usec, bandwidth 2872.872 MB/s\ncopy_from_user 1000MB at 5M: took 348176 usec, bandwidth 2872.872 MB/s\nmemmove 1000GB at 5MB      : took 348267 usec, bandwidth 2871.871 MB/s\ncopy_to_user 1000GB at 4kB : took 377018 usec, bandwidth 2652.652 MB/s\ncopy_from_user 1000GB at 4k: took 371829 usec, bandwidth 2689.689 MB/s\ncopy_page 1000GB at 4kB    : took 383763 usec, bandwidth 2605.605 MB/s\n\nChange-Id: I5e7605d4fb5c8492cfe7a73629d0d0ce7afd1f37\nSigned-off-by: Chris Fries \u003cC.Fries@motorola.com\u003e\nReviewed-on: http://gerrit.pcs.mot.com/526804\nSLT-Approved: Gerrit Code Review \u003cgerrit-blurdev@motorola.com\u003e\nTested-by: Jira Key \u003cjirakey@motorola.com\u003e\nReviewed-by: Igor Kovalenko \u003ccik009@motorola.com\u003e\nSubmit-Approved: Jira Key \u003cjirakey@motorola.com\u003e\n"
    },
    {
      "commit": "dd42f2afd5136c590fcd4e6dcbba6080ff95e3d4",
      "tree": "4dc5e1b0d82b2ef1f50770c467d001a99de5ee97",
      "parents": [
        "33f5b6a7b545f00d62fe1b3577df95d845ea04bd"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Jun 02 00:13:18 2017 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Jun 02 00:43:55 2017 -0500"
      },
      "message": "configs: update tenderloin configs\n\nRevert \"tenderloin: disable CONFIG_MSM_CPU_FREQ_SET_MIN_MAX\"\n\nThis reverts commit e83ff0477d3e99ac67dc867c661847d8a5f490d7.\n\nRevert \"tenderloin/tenderloin4g: enable zram/zsmalloc\"\n\nThis reverts commit 0242717fd06bc6d25f39ba4844307027a883832d.\n\nChange-Id: I66162ea242c9a4108e584a1dbc0a1ad52e49dab4\n\nconfigs: use default configs for ARCH_MMAP_RND_BITS\n\nChange-Id: I30a45c4c7c5bac31c7b4741d558d110ec7554a48\n"
    },
    {
      "commit": "33f5b6a7b545f00d62fe1b3577df95d845ea04bd",
      "tree": "da2ae0d78c723cc4e6062db51c05d47f8328a3ef",
      "parents": [
        "22d6ea87ed7629b1544909e49377b9b4b0743638"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Jun 02 00:34:14 2017 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Jun 02 00:43:32 2017 -0500"
      },
      "message": "Revert \"need to figure out why but had to change the default\"\n\nThis reverts commit 153099aeb64f278fe974510edb3c05b2153ed4f1.\n\nChange-Id: I34dba2d1bf7a383b17fcdd22f4b66f9fa6e14dcf\n"
    },
    {
      "commit": "22d6ea87ed7629b1544909e49377b9b4b0743638",
      "tree": "0f46797cef08552b59eb76ec569da0aa227b865d",
      "parents": [
        "16c59e878759398b3943acb0248020b08fa72ba1"
      ],
      "author": {
        "name": "Zhao Wei Liew",
        "email": "zhaoweiliew@gmail.com",
        "time": "Wed Feb 10 19:57:26 2016 +0800"
      },
      "committer": {
        "name": "Nick Reuter (elginsk8r)",
        "email": "nreuter85@gmail.com",
        "time": "Sun May 28 23:12:01 2017 -0700"
      },
      "message": "tenderloin: Enable cpufreq limit driver\n\nUsed by PowerHAL for low power mode.\n\nChange-Id: Id1766d78d67567832a18f47cdf8569f517247abf\nSigned-off-by: Zhao Wei Liew \u003czhaoweiliew@gmail.com\u003e\n"
    },
    {
      "commit": "16c59e878759398b3943acb0248020b08fa72ba1",
      "tree": "46a84ad878ffcb2d1146d2c09ed98d2302c6d17c",
      "parents": [
        "d1134dd9af2d2c098bf5f00ea7913ef1b3eebebc"
      ],
      "author": {
        "name": "Zhao Wei Liew",
        "email": "zhaoweiliew@gmail.com",
        "time": "Fri Jan 08 21:06:51 2016 +0800"
      },
      "committer": {
        "name": "Nick Reuter (elginsk8r)",
        "email": "nreuter85@gmail.com",
        "time": "Sun May 28 23:11:46 2017 -0700"
      },
      "message": "cpufreq: Add cpufreq limit driver\n\nThis allows userspace to specify a min/max limit to the CPU\nfrequency, working around the standard scaling_[max|min]_freq\nsysfs interfaces.\n\nInitially based on Paul\u0027s cpufreq_limit driver.\n\nChange-Id: I87dd8a0f67aadce0ca0f5cb668d7ee16c616deb0\nSigned-off-by: Zhao Wei Liew \u003czhaoweiliew@gmail.com\u003e\n"
    },
    {
      "commit": "d1134dd9af2d2c098bf5f00ea7913ef1b3eebebc",
      "tree": "516c14f056f08fb5cce864a2d18ceaf8b383ad1c",
      "parents": [
        "0edd2a6fd7919142db29009757e121d2381478be",
        "52c1a32eb34d53a525f6d8233cdce6edee571450"
      ],
      "author": {
        "name": "Nick Reuter (elginsk8r)",
        "email": "nreuter85@gmail.com",
        "time": "Sun May 28 23:10:05 2017 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "evervolv.gerrit2@evervolv.codefi.re",
        "time": "Sun May 28 23:10:05 2017 -0700"
      },
      "message": "Merge \"Revert \"tenderloin: enable adaptive ksm\"\" into ng-7.1"
    },
    {
      "commit": "52c1a32eb34d53a525f6d8233cdce6edee571450",
      "tree": "94a46b1a4f4699466cf866c9b9005ba5742237c0",
      "parents": [
        "004af88d1d426e16b39bdf17b5c4454a9902345c"
      ],
      "author": {
        "name": "Nick Reuter (elginsk8r)",
        "email": "nreuter85@gmail.com",
        "time": "Sun May 28 23:09:08 2017 -0700"
      },
      "committer": {
        "name": "Nick Reuter (elginsk8r)",
        "email": "nreuter85@gmail.com",
        "time": "Sun May 28 23:09:08 2017 -0700"
      },
      "message": "Revert \"tenderloin: enable adaptive ksm\"\n\nThis reverts commit 004af88d1d426e16b39bdf17b5c4454a9902345c.\n\nChange-Id: I34f4f283f6c2cdc98a968e69e8b22682f18d425f\n"
    },
    {
      "commit": "0edd2a6fd7919142db29009757e121d2381478be",
      "tree": "a23343a0d81822e1456bb938aefb54a680ec946f",
      "parents": [
        "e4c44f0c698b7725e1a5877d62f63cc7444c3fb1"
      ],
      "author": {
        "name": "Vinu Deokaran",
        "email": "vinud@codeaurora.org",
        "time": "Mon Jan 18 10:43:05 2016 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri May 26 23:32:04 2017 -0500"
      },
      "message": "msm: fb: change base pipe info from pointer to structure\n\nThe base pipe info was stored in a pointer, which will be overwritten\nby the overlay_set. And it causes SMMU fault when driver uses this\ninfo to restore HW programming.\n\nChange-Id: I94db77a7a568dc9f77b5029aac5c71818c4ac2d1\nSigned-off-by: Vinu Deokaran \u003cvinud@codeaurora.org\u003e\n"
    },
    {
      "commit": "e4c44f0c698b7725e1a5877d62f63cc7444c3fb1",
      "tree": "730d56a0fd1d025205fd20d45c84799c1f803442",
      "parents": [
        "42066effc22e6918d86773a2f53b768929daa479"
      ],
      "author": {
        "name": "Edward Lee",
        "email": "eleekimk@codeaurora.org",
        "time": "Fri Feb 12 11:42:05 2016 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri May 26 23:28:55 2017 -0500"
      },
      "message": "msm: gpu Fix sync object race condition\n\nAdding a spinlock before comparing timestamp of a timeline\n\nChange-Id: I54b40aebc3114431cb1bc7f9317380d57c7a4189\nSigned-off-by: Edward Lee \u003celeekimk@codeaurora.org\u003e\n"
    },
    {
      "commit": "42066effc22e6918d86773a2f53b768929daa479",
      "tree": "a267453e60be1d04cadd1a772f1683181933ee63",
      "parents": [
        "004af88d1d426e16b39bdf17b5c4454a9902345c"
      ],
      "author": {
        "name": "Rajesh Kemisetti",
        "email": "rajeshk@codeaurora.org",
        "time": "Wed Jul 03 00:14:09 2013 +0530"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri May 26 23:27:53 2017 -0500"
      },
      "message": "msm: kgsl: Skip perf counters and Sync lock for A2xx.\n\nFix includes two changes:\n\n- Skip Perf counters for A2xx since these are intended only for A3xx.\n- Don\u0027t use GPU-CPU sync lock for A2xx to avoid bootup failure.\n\nChange-Id: I9e1d349b95dd0f6470ab507167b53540f1f1acf7\nSigned-off-by: Rajesh Kemisetti \u003crajeshk@codeaurora.org\u003e\n"
    },
    {
      "commit": "004af88d1d426e16b39bdf17b5c4454a9902345c",
      "tree": "5422b88839900d131385172f3b9bd7c048a5ce28",
      "parents": [
        "35d28baf4461294e15e25de83eb4cb0868c60694"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun May 21 17:43:57 2017 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun May 21 17:59:57 2017 -0500"
      },
      "message": "tenderloin: enable adaptive ksm\n\nChange-Id: I3f26c097c8e07eb499cd7f1e807cea2bd3d64330\n"
    },
    {
      "commit": "35d28baf4461294e15e25de83eb4cb0868c60694",
      "tree": "94a46b1a4f4699466cf866c9b9005ba5742237c0",
      "parents": [
        "1eb8220caf64bb362521645f4f1646e98060ecbf"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sat May 20 15:11:29 2017 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Sun May 21 17:59:51 2017 -0500"
      },
      "message": "mm: add adaptive kernel same page merging\n\n taken from samsung msm8916 kernel and adapted to 3.4\n\nChange-Id: I7d4fa845126492c466ec5c8ac1adc6771cf06301\n"
    },
    {
      "commit": "1eb8220caf64bb362521645f4f1646e98060ecbf",
      "tree": "7ba1b0ce09dee18a9e713cea2546f8b4bd5aaf1a",
      "parents": [
        "a299e94d1f96852a47f7c616a0fb5ad015f25cdf"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Feb 10 20:21:45 2017 -0600"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Feb 10 20:21:45 2017 -0600"
      },
      "message": "tenderloin: disable cpu_input_boost\n\nChange-Id: I759eef91f0c77e335cd59ae5b1e7990f22c4cb48\n"
    },
    {
      "commit": "a299e94d1f96852a47f7c616a0fb5ad015f25cdf",
      "tree": "c5f67444caf03e35ae807f2924cdf66b0432a247",
      "parents": [
        "043bd0b239549d0b25d284938ce40f60c18579e8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Nov 06 16:30:06 2015 -0800"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Thu Feb 09 10:43:58 2017 -0600"
      },
      "message": "UPSTREAM: proc: actually make proc_fd_permission() thread-friendly\n\n(cherry pick from commit 54708d2858e79a2bdda10bf8a20c80eb96c20613)\n\nThe commit 96d0df79f264 (\"proc: make proc_fd_permission() thread-friendly\")\nfixed the access to /proc/self/fd from sub-threads, but introduced another\nproblem: a sub-thread can\u0027t access /proc/\u003ctid\u003e/fd/ or /proc/thread-self/fd\nif generic_permission() fails.\n\nChange proc_fd_permission() to check same_thread_group(pid_task(), current).\n\nFixes: 96d0df79f264 (\"proc: make proc_fd_permission() thread-friendly\")\nReported-by: \"Jin, Yihua\" \u003cyihua.jin@intel.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\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\nBug: 26016905\nChange-Id: Id91ef67770ab09fb2023338f4d0ace5fd3a60b1f\n"
    },
    {
      "commit": "043bd0b239549d0b25d284938ce40f60c18579e8",
      "tree": "b532598e1a32f2a050012cfee42fdd19303767fe",
      "parents": [
        "e71ba8be6d971a97a6e59e12b7ed6b4284cda91c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Sep 11 14:24:37 2013 -0700"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Thu Feb 09 10:43:44 2017 -0600"
      },
      "message": "UPSTREAM: proc: make proc_fd_permission() thread-friendly\n\n(cherry pick from commit 96d0df79f2644fc823f26c06491e182d87a90c2a)\n\nproc_fd_permission() says \"process can still access /proc/self/fd after it\nhas executed a setuid()\", but the \"task_pid() \u003d proc_pid() check only\nhelps if the task is group leader, /proc/self points to\n/proc/\u003cleader-pid\u003e.\n\nChange this check to use task_tgid() so that the whole thread group can\naccess its /proc/self/fd or /proc/\u003ctid-of-sub-thread\u003e/fd.\n\nNotes:\n\t- CLONE_THREAD does not require CLONE_FILES so task-\u003efiles\n\t  can differ, but I don\u0027t think this can lead to any security\n\t  problem. And this matches same_thread_group() in\n\t  __ptrace_may_access().\n\n\t- /proc/self should probably point to /proc/\u003cthread-tid\u003e, but\n\t  it is too late to change the rules. Perhaps it makes sense\n\t  to add /proc/thread though.\n\nTest-case:\n\n\tvoid *tfunc(void *arg)\n\t{\n\t\tassert(opendir(\"/proc/self/fd\"));\n\t\treturn NULL;\n\t}\n\n\tint main(void)\n\t{\n\t\tpthread_t t;\n\t\tpthread_create(\u0026t, NULL, tfunc, NULL);\n\t\tpthread_join(t, NULL);\n\t\treturn 0;\n\t}\n\nfails if, say, this executable is not readable and suid_dumpable \u003d 0.\n\nSigned-off-by: 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\nBug: 26016905\nChange-Id: I5c171211749b9a372560f941f6f66fbdc369e046\n"
    },
    {
      "commit": "e71ba8be6d971a97a6e59e12b7ed6b4284cda91c",
      "tree": "2aa5db1da3eff3e5cf130777c2a7b2f01029dd9d",
      "parents": [
        "e83ff0477d3e99ac67dc867c661847d8a5f490d7"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 14 18:02:37 2016 +0200"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Thu Feb 09 10:42:31 2017 -0600"
      },
      "message": "ALSA: pcm : Call kill_fasync() in stream lock\n\nCurrently kill_fasync() is called outside the stream lock in\nsnd_pcm_period_elapsed().  This is potentially racy, since the stream\nmay get released even during the irq handler is running.  Although\nsnd_pcm_release_substream() calls snd_pcm_drop(), this doesn\u0027t\nguarantee that the irq handler finishes, thus the kill_fasync() call\noutside the stream spin lock may be invoked after the substream is\ndetached, as recently reported by KASAN.\n\nAs a quick workaround, move kill_fasync() call inside the stream\nlock.  The fasync is rarely used interface, so this shouldn\u0027t have a\nbig impact from the performance POV.\n\nIdeally, we should implement some sync mechanism for the proper finish\nof stream and irq handler.  But this oneliner should suffice for most\ncases, so far.\n\nChange-Id: I64680cbd045c10490acde8510ca5dc2889f8bf5e\nReported-by: Baozeng Ding \u003csploving1@gmail.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "e83ff0477d3e99ac67dc867c661847d8a5f490d7",
      "tree": "576f49d043c4c07d6ee47d0296ecaa555aa7df5a",
      "parents": [
        "c6555c15375c201d74fbbabda81364762df8c6ba"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Wed Feb 08 21:58:18 2017 -0600"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Thu Feb 09 10:11:30 2017 -0600"
      },
      "message": "tenderloin: disable CONFIG_MSM_CPU_FREQ_SET_MIN_MAX\n\nChange-Id: I520285b077d9e05f4bef408cded1a9c40edb12d8\n"
    },
    {
      "commit": "c6555c15375c201d74fbbabda81364762df8c6ba",
      "tree": "b8ca26036fdea972b6dfbbccf42825a898b39042",
      "parents": [
        "cf4f37ef8cdedd4b98ed27cdc9f059efd21441da"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Jan 20 23:19:23 2017 -0600"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:16:45 2017 -0500"
      },
      "message": "tenderloin: enable lz4\n\n 9.2MB -\u003e 6MB\n\nChange-Id: I198e348224dba6315c825009f1bf71ca5c7a0a05\n"
    },
    {
      "commit": "cf4f37ef8cdedd4b98ed27cdc9f059efd21441da",
      "tree": "583f6589ce79a8a8a50e83e79b959149ddadc657",
      "parents": [
        "95b88a84f1ce61bb020958fb8d6642a496b7529d"
      ],
      "author": {
        "name": "Chris Fries",
        "email": "cfries@motorola.com",
        "time": "Thu Dec 04 10:55:40 2014 -0600"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:16:45 2017 -0500"
      },
      "message": "zram: Add LZ4 support\n\nAdd LZ4 compressor support.  Enable it with\nCONFIG_ZRAM_LZ4_COMPRESS\u003dy\n\nSigned-off-by: Chris Fries \u003ccfries@motorola.com\u003e\nChange-Id: I29ae3771cb550d5ced829b16ca821e122055c325\nReviewed-on: http://gerrit.mot.com/718470\nSLTApproved: Slta Waiver \u003csltawvr@motorola.com\u003e\nTested-by: Jira Key \u003cjirakey@motorola.com\u003e\nSubmit-Approved: Jira Key \u003cjirakey@motorola.com\u003e\n"
    },
    {
      "commit": "95b88a84f1ce61bb020958fb8d6642a496b7529d",
      "tree": "ef05fa891a0b0a53dbc7f71142b3dd00befba143",
      "parents": [
        "f24d464cdd054cb4c704ea2702af108aec6436a0"
      ],
      "author": {
        "name": "Chanho Min",
        "email": "chanho.min@lge.com",
        "time": "Mon Jul 08 16:01:51 2013 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:16:44 2017 -0500"
      },
      "message": "crypto: add lz4 Cryptographic API\n\nAdd support for lz4 and lz4hc compression algorithm using the lib/lz4/*\ncodebase.\n\n[akpm@linux-foundation.org: fix warnings]\nSigned-off-by: Chanho Min \u003cchanho.min@lge.com\u003e\nCc: \"Darrick J. Wong\" \u003cdjwong@us.ibm.com\u003e\nCc: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Herbert Xu \u003cherbert@gondor.hengli.com.au\u003e\nCc: Yann Collet \u003cyann.collet.73@gmail.com\u003e\nCc: Kyungsik Lee \u003ckyungsik.lee@lge.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\nChange-Id: I02ddf8d22414c02031d98faa592df0b8304474cd\n"
    },
    {
      "commit": "f24d464cdd054cb4c704ea2702af108aec6436a0",
      "tree": "35bbb9edbe3a50cc0f8a210de56dd81bcb978552",
      "parents": [
        "1dc9175774e2b45fbccf63221593a8b310fb051b"
      ],
      "author": {
        "name": "Chanho Min",
        "email": "chanho.min@lge.com",
        "time": "Mon Jul 08 16:01:49 2013 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:16:43 2017 -0500"
      },
      "message": "lib: add lz4 compressor module\n\nThis patchset is for supporting LZ4 compression and the crypto API using\nit.\n\nAs shown below, the size of data is a little bit bigger but compressing\nspeed is faster under the enabled unaligned memory access.  We can use\nlz4 de/compression through crypto API as well.  Also, It will be useful\nfor another potential user of lz4 compression.\n\nlz4 Compression Benchmark:\nCompiler: ARM gcc 4.6.4\nARMv7, 1 GHz based board\n   Kernel: linux 3.4\n   Uncompressed data Size: 101 MB\n         Compressed Size  compression Speed\n   LZO   72.1MB\t\t  32.1MB/s, 33.0MB/s(UA)\n   LZ4   75.1MB\t\t  30.4MB/s, 35.9MB/s(UA)\n   LZ4HC 59.8MB\t\t   2.4MB/s,  2.5MB/s(UA)\n- UA: Unaligned memory Access support\n- Latest patch set for LZO applied\n\nThis patch:\n\nAdd support for LZ4 compression in the Linux Kernel.  LZ4 Compression APIs\nfor kernel are based on LZ4 implementation by Yann Collet and were changed\nfor kernel coding style.\n\nLZ4 homepage : http://fastcompression.blogspot.com/p/lz4.html\nLZ4 source repository : http://code.google.com/p/lz4/\nsvn revision : r90\n\nTwo APIs are added:\n\nlz4_compress() support basic lz4 compression whereas lz4hc_compress()\nsupport high compression or CPU performance get lower but compression\nratio get higher.  Also, we require the pre-allocated working memory with\nthe defined size and destination buffer must be allocated with the size of\nlz4_compressbound.\n\n[akpm@linux-foundation.org: make lz4_compresshcctx() static]\nSigned-off-by: Chanho Min \u003cchanho.min@lge.com\u003e\nCc: \"Darrick J. Wong\" \u003cdjwong@us.ibm.com\u003e\nCc: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Herbert Xu \u003cherbert@gondor.hengli.com.au\u003e\nCc: Yann Collet \u003cyann.collet.73@gmail.com\u003e\nCc: Kyungsik Lee \u003ckyungsik.lee@lge.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dc9175774e2b45fbccf63221593a8b310fb051b",
      "tree": "76ccac8d15b6542b9c29bf002d06590e3d952c45",
      "parents": [
        "ce435e54ea728b47a65ef1813adbbf05ebcee09f"
      ],
      "author": {
        "name": "Kyungsik Lee",
        "email": "kyungsik.lee@lge.com",
        "time": "Mon Jul 08 16:01:48 2013 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:16:42 2017 -0500"
      },
      "message": "arm: add support for LZ4-compressed kernel\n\nIntegrates the LZ4 decompression code to the arm pre-boot code.\n\nChange-Id: I73f316d3ecaf011e381f50d2cda20a1bcbec9dea\nSigned-off-by: Kyungsik Lee \u003ckyungsik.lee@lge.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Florian Fainelli \u003cflorian@openwrt.org\u003e\nCc: Yann Collet \u003cyann.collet.73@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": "ce435e54ea728b47a65ef1813adbbf05ebcee09f",
      "tree": "51e510e3b7643c0b7eb102b6ff68c1ec03373a10",
      "parents": [
        "b48d2bcc9cc20a8b5b1be0c98a5914231e3965b5"
      ],
      "author": {
        "name": "Kyungsik Lee",
        "email": "kyungsik.lee@lge.com",
        "time": "Mon Jul 08 16:01:46 2013 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:16:42 2017 -0500"
      },
      "message": "lib: add support for LZ4-compressed kernel\n\nAdd support for extracting LZ4-compressed kernel images, as well as\nLZ4-compressed ramdisk images in the kernel boot process.\n\nSigned-off-by: Kyungsik Lee \u003ckyungsik.lee@lge.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Florian Fainelli \u003cflorian@openwrt.org\u003e\nCc: Yann Collet \u003cyann.collet.73@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": "b48d2bcc9cc20a8b5b1be0c98a5914231e3965b5",
      "tree": "cf50a8d6f3cd3842abadce86adc32d2215f5973d",
      "parents": [
        "6fc879fa29f2b190468169dec68f323d0f70fbf3"
      ],
      "author": {
        "name": "Kyungsik Lee",
        "email": "kyungsik.lee@lge.com",
        "time": "Mon Jul 08 16:01:45 2013 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:16:32 2017 -0500"
      },
      "message": "decompressor: add LZ4 decompressor module\n\nAdd support for LZ4 decompression in the Linux Kernel.  LZ4 Decompression\nAPIs for kernel are based on LZ4 implementation by Yann Collet.\n\nBenchmark Results(PATCH v3)\nCompiler: Linaro ARM gcc 4.6.2\n\n1. ARMv7, 1.5GHz based board\n   Kernel: linux 3.4\n   Uncompressed Kernel Size: 14MB\n        Compressed Size  Decompression Speed\n   LZO  6.7MB            20.1MB/s, 25.2MB/s(UA)\n   LZ4  7.3MB            29.1MB/s, 45.6MB/s(UA)\n\n2. ARMv7, 1.7GHz based board\n   Kernel: linux 3.7\n   Uncompressed Kernel Size: 14MB\n        Compressed Size  Decompression Speed\n   LZO  6.0MB            34.1MB/s, 52.2MB/s(UA)\n   LZ4  6.5MB            86.7MB/s\n- UA: Unaligned memory Access support\n- Latest patch set for LZO applied\n\nThis patch set is for adding support for LZ4-compressed Kernel.  LZ4 is a\nvery fast lossless compression algorithm and it also features an extremely\nfast decoder [1].\n\nBut we have five of decompressors already and one question which does\narise, however, is that of where do we stop adding new ones?  This issue\nhad been discussed and came to the conclusion [2].\n\nRussell King said that we should have:\n\n - one decompressor which is the fastest\n - one decompressor for the highest compression ratio\n - one popular decompressor (eg conventional gzip)\n\nIf we have a replacement one for one of these, then it should do exactly\nthat: replace it.\n\nThe benchmark shows that an 8% increase in image size vs a 66% increase\nin decompression speed compared to LZO(which has been known as the\nfastest decompressor in the Kernel).  Therefore the \"fast but may not be\nsmall\" compression title has clearly been taken by LZ4 [3].\n\n[1] http://code.google.com/p/lz4/\n[2] http://thread.gmane.org/gmane.linux.kbuild.devel/9157\n[3] http://thread.gmane.org/gmane.linux.kbuild.devel/9347\n\nLZ4 homepage: http://fastcompression.blogspot.com/p/lz4.html\nLZ4 source repository: http://code.google.com/p/lz4/\n\nSigned-off-by: Kyungsik Lee \u003ckyungsik.lee@lge.com\u003e\nSigned-off-by: Yann Collet \u003cyann.collet.73@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fc879fa29f2b190468169dec68f323d0f70fbf3",
      "tree": "d1803ea5956d6987db570a3c760f7459ade9497f",
      "parents": [
        "39abe6270f323aa6abf94aaf19a0a41300e1833e"
      ],
      "author": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:15:26 2017 -0500"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sat Jan 21 12:15:26 2017 -0500"
      },
      "message": "recovery: decrease size a little more\n\nChange-Id: I7a360718a2e92b711fc875c2320e1c91df8c0c8b\n"
    },
    {
      "commit": "39abe6270f323aa6abf94aaf19a0a41300e1833e",
      "tree": "97665e0ce16ad4b0b23d4386a89929ef946155d7",
      "parents": [
        "eb83494dbc95f427b8861b2998668e4e9c138bef"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Jan 20 21:26:13 2017 -0600"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Fri Jan 20 21:50:26 2017 -0600"
      },
      "message": "tenderloin: use rgb 565 color depth\n\nChange-Id: Ifab3a55b7cb7cb2c64a3a9e9f7cb4f106f293580\n"
    },
    {
      "commit": "eb83494dbc95f427b8861b2998668e4e9c138bef",
      "tree": "4e2c92f20442389fa5e16a20ae9018da78835c0b",
      "parents": [
        "4983479fd9293bb6fdfbe95d7323a4d34948bff7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 16 13:42:06 2016 -0500"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Mon Jan 16 08:25:19 2017 -0500"
      },
      "message": "sg_write()/bsg_write() is not fit to be called under KERNEL_DS\n\nBoth damn things interpret userland pointers embedded into the payload;\nworse, they are actually traversing those.  Leaving aside the bad\nAPI design, this is very much _not_ safe to call with KERNEL_DS.\nBail out early if that happens.\n\nChange-Id: I74658c269c42a4f2023e829a1c8e0ec0804cef9b\nCc: stable@vger.kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4983479fd9293bb6fdfbe95d7323a4d34948bff7",
      "tree": "ecbf673b146f566273e804f34ebd2b7ca4e04251",
      "parents": [
        "0705c02c5d248f54843362e6fa0a06d5b2772d29"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri Dec 02 09:44:53 2016 -0800"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Mon Jan 16 08:25:12 2017 -0500"
      },
      "message": "net: avoid signed overflows for SO_{SND|RCV}BUFFORCE\n\nCAP_NET_ADMIN users should not be allowed to set negative\nsk_sndbuf or sk_rcvbuf values, as it can lead to various memory\ncorruptions, crashes, OOM...\n\nNote that before commit 82981930125a (\"net: cleanups in\nsock_setsockopt()\"), the bug was even more serious, since SO_SNDBUF\nand SO_RCVBUF were vulnerable.\n\nThis needs to be backported to all known linux kernels.\n\nAgain, many thanks to syzkaller team for discovering this gem.\n\nChange-Id: Icfe79041d8b40210d52417ba1078f9083c25e392\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Andrey Konovalov \u003candreyknvl@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0705c02c5d248f54843362e6fa0a06d5b2772d29",
      "tree": "3dcd2081484e24960096186282298b6868bad5f4",
      "parents": [
        "8b3369338c1ad55de6c8dc2454d8a487e03e1858"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Apr 26 20:07:59 2012 +0000"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Mon Jan 16 08:25:01 2017 -0500"
      },
      "message": "net: cleanups in sock_setsockopt()\n\nUse min_t()/max_t() macros, reformat two comments, use !!test_bit() to\nmatch !!sock_flag()\n\nChange-Id: I20048d2d03764abc6f03d0e53a00b332f8813cc8\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b3369338c1ad55de6c8dc2454d8a487e03e1858",
      "tree": "968b3de83a461cb0144001947186e5b200e6dad5",
      "parents": [
        "0d0a6f4ce18f86b72828da7f47ff9630a1227149"
      ],
      "author": {
        "name": "Raviv Shvili",
        "email": "rshvili@codeaurora.org",
        "time": "Wed May 18 10:45:12 2016 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Mon Jan 16 08:24:53 2017 -0500"
      },
      "message": "mmc: core : fix arbitrary read/write to user space\n\nIn the MMC card debug_fs the read and write handlers use the strlcat\nand sscanf, without checking the pointer given.\nSince the pointer is not checked it is possible to write\neverywhere (ring 0 or 3).\nIn order to fix it, an access_ok function is being used to verify\nthe buffer\u0027s pointer supplied by user is valid.\n\nBug: 28769136\nCRs-fixed: 545716\nChange-Id: Ia710b6af5a95974fc930ca902e8ff18afa4e17ba\nSigned-off-by: Raviv Shvili \u003crshvili@codeaurora.org\u003e\n"
    },
    {
      "commit": "0d0a6f4ce18f86b72828da7f47ff9630a1227149",
      "tree": "157a0b2bb5f2483360911a1acdf77b32f7a2fa7b",
      "parents": [
        "04a2e061db5602d158e862e7de99f86f65265feb"
      ],
      "author": {
        "name": "Dave Daynard",
        "email": "nardholio@gmail.com",
        "time": "Tue Jul 07 16:23:57 2015 -0400"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Sun Jan 15 18:24:01 2017 -0500"
      },
      "message": "mdp4: pcc: fix PCC disablement\n\nMDP_PP_OPS_DISABLE flag doesn\u0027t exist on A family, using it actually\ncompletely disables PCC\n\nChange-Id: Ib174ca08f634f9b256178f977bd5d59db751ef7c\n"
    },
    {
      "commit": "04a2e061db5602d158e862e7de99f86f65265feb",
      "tree": "fedaac069fbb6c75af9f36c5f90197cab8274f69",
      "parents": [
        "0242717fd06bc6d25f39ba4844307027a883832d"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Tue Jan 10 01:42:36 2017 -0600"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Tue Jan 10 01:42:36 2017 -0600"
      },
      "message": "tenderloin: set noop to default, enable ondemand governor\n\nChange-Id: I93cfecf519cd1a2110e482f9e942df0802892fd2\n"
    },
    {
      "commit": "0242717fd06bc6d25f39ba4844307027a883832d",
      "tree": "a0ea696b6c9f096cbbb11a47412efda10d828d76",
      "parents": [
        "86f7dab0bd15f276c146c088ce059f4e81623153"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Mon Jan 09 23:48:08 2017 -0600"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Mon Jan 09 23:49:38 2017 -0600"
      },
      "message": "tenderloin/tenderloin4g: enable zram/zsmalloc\n\nChange-Id: I23c34a72632ab4df476b4d1c3d2c8ce43ba49888\n"
    }
  ],
  "next": "86f7dab0bd15f276c146c088ce059f4e81623153"
}
