)]}'
{
  "log": [
    {
      "commit": "c8b4ec8351d21da3299b045b37920e5cf5590793",
      "tree": "24143a2a29a0577df09857478a0c56794b46dfd7",
      "parents": [
        "da2875673660c114dc7d65edcd1f97023d0ed624",
        "42d97eb0ade31e1bc537d086842f5d6e766d9d51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 18:32:59 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 18:32:59 2017 -0800"
      },
      "message": "Merge tag \u0027fscrypt-for-stable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt\n\nPull fscrypt fixes from Ted Ts\u0027o:\n \"Two fscrypt bug fixes, one of which was unmasked by an update to the\n  crypto tree during the merge window\"\n\n* tag \u0027fscrypt-for-stable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt:\n  fscrypt: fix renaming and linking special files\n  fscrypt: fix the test_dummy_encryption mount option\n"
    },
    {
      "commit": "da2875673660c114dc7d65edcd1f97023d0ed624",
      "tree": "26e94009c2692a1eb167104d5560c3459bf1ff73",
      "parents": [
        "74e5c265a4955d6a01adc40783346b716271170b",
        "143fca77cce906d35f7a60ccef648e888df589f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 12:42:50 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 12:42:50 2017 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\nPull HID fixes from Jiri Kosina:\n\n - regression fix (caused by me applying a wrong version of patch) for\n   sensor-hub driver, from Srinivas Pandruvada\n\n - hid-sony fixes (mostly related to DS4 device) from Roderick\n   Colenbrander\n\n - three device-specific quirks-fixes from Alex Wood, Brendan McGrath\n   and Marcel Hasler\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: sensor-hub: Move the memset to sensor_hub_get_feature()\n  HID: usbhid: Add quirk for Mayflash/Dragonrise DolphinBar.\n  HID: usbhid: Add quirk for the Futaba TOSD-5711BB VFD\n  HID: sony: Ignore DS4 dongle reports when no device is connected\n  HID: sony: Use DS4 MAC address as unique identifier on USB\n  HID: sony: Fix error handling bug when touchpad registration fails\n  HID: asus: Fix keyboard support\n"
    },
    {
      "commit": "74e5c265a4955d6a01adc40783346b716271170b",
      "tree": "fc47a6b896e07a06d4bc14cfb5a475fc59d022c3",
      "parents": [
        "71a332e5603e000b907e66d172eae0e7a8c2c653",
        "cabab3f9f5ca077535080b3252e6168935b914af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 09:08:45 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 09:08:45 2017 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux\n\nPull s390 fixes from Martin Schwidefsky:\n \"Two bug fixes for 4.10-rc3\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:\n  s390/kbuild: enable modversions for symbols exported from asm\n  s390/vtime: correct system time accounting\n"
    },
    {
      "commit": "71a332e5603e000b907e66d172eae0e7a8c2c653",
      "tree": "79b5080144229e774edf0ea49464fc136e8872da",
      "parents": [
        "0c744ea4f77d72b3dcebb7a8f2684633ec79be88",
        "086cc1c31a0ec075dac02425367c871bb65bc2c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 09:00:59 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 09:00:59 2017 -0800"
      },
      "message": "Merge tag \u0027openrisc-for-linus\u0027 of git://github.com/openrisc/linux\n\nPull Openrisc fix from Stafford Horne:\n \"There was nothing much interesting here except a build fix pointed out\n  by the test robots. Highlight:\n\n   - Defined _text symbol to fix build error\"\n\n* tag \u0027openrisc-for-linus\u0027 of git://github.com/openrisc/linux:\n  openrisc: Add _text symbol to fix ksym build error\n"
    },
    {
      "commit": "143fca77cce906d35f7a60ccef648e888df589f2",
      "tree": "b08f1ce713d5a014824ac8f9a3762468ad987ce5",
      "parents": [
        "8aa2cc7e747881d1fd52db28261b201d4e3e5565"
      ],
      "author": {
        "name": "Srinivas Pandruvada",
        "email": "srinivas.pandruvada@linux.intel.com",
        "time": "Tue Dec 27 08:57:59 2016 -0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jan 02 14:01:30 2017 +0100"
      },
      "message": "HID: sensor-hub: Move the memset to sensor_hub_get_feature()\n\nWhile applying patch d443a0aa3a29: \"HID: hid-sensor-hub: clear memory to\navoid random data\", there was some issues in applying correct version of\nthe patch. This resulted in the breakage of sensor functions as all\nrequest like power-up will be reset by the memset() in the function\nsensor_hub_set_feature().\nThe reset of caller buffer should be in the function\nsensor_hub_get_feature(), not in the sensor_hub_set_feature().\n\nFixes: d443a0aa3a29 (\"HID: hid-sensor-hub: clear memory to avoid random data\")\nCc: Stable \u003cstable@vger.kernel.org\u003e # 4.9+\nSigned-off-by: Srinivas Pandruvada \u003csrinivas.pandruvada@linux.intel.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "8aa2cc7e747881d1fd52db28261b201d4e3e5565",
      "tree": "8448b3dc453df09033bccb17f39b5d06329c9f0f",
      "parents": [
        "f83f90cf7ba68deb09406ea9da80852a64c4db29"
      ],
      "author": {
        "name": "Marcel Hasler",
        "email": "mahasler@gmail.com",
        "time": "Tue Dec 20 22:08:13 2016 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jan 02 13:20:54 2017 +0100"
      },
      "message": "HID: usbhid: Add quirk for Mayflash/Dragonrise DolphinBar.\n\nThe DolphinBar by Mayflash (identified as Dragonrise) needs\nHID_QUIRK_MULTI_INPUT to split it up into four input devices. Without this\nquirk the adapter is falsely recognized as a tablet. See also bug 115841\n(https://bugzilla.kernel.org/show_bug.cgi?id\u003d115841).\n\nSigned-off-by: Marcel Hasler \u003cmahasler@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "f83f90cf7ba68deb09406ea9da80852a64c4db29",
      "tree": "cc0be452cc5a1a1782c147d75192fe65067576fc",
      "parents": [
        "405182c2459fe2de4a3994ef39e866993e0e61d1"
      ],
      "author": {
        "name": "Alex Wood",
        "email": "thetewood@gmail.com",
        "time": "Fri Dec 23 12:50:13 2016 +0000"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jan 02 13:19:05 2017 +0100"
      },
      "message": "HID: usbhid: Add quirk for the Futaba TOSD-5711BB VFD\n\nThe Futaba TOSD-5711BB VFD crashes when the initial HID report is requested,\nregister the display in hid-ids and tell hid-quirks to not do the init.\n\nSigned-off-by: Alex Wood \u003cthetewood@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "086cc1c31a0ec075dac02425367c871bb65bc2c9",
      "tree": "f761141967b7e6c7f556768c017c3b155f61fddf",
      "parents": [
        "7ce7d89f48834cefece7804d38fc5d85382edf77"
      ],
      "author": {
        "name": "Stafford Horne",
        "email": "shorne@gmail.com",
        "time": "Wed Dec 14 21:27:57 2016 +0900"
      },
      "committer": {
        "name": "Stafford Horne",
        "email": "shorne@gmail.com",
        "time": "Mon Jan 02 10:35:11 2017 +0900"
      },
      "message": "openrisc: Add _text symbol to fix ksym build error\n\nThe build robot reports:\n\n   .tmp_kallsyms1.o: In function `kallsyms_relative_base\u0027:\n\u003e\u003e (.rodata+0x8a18): undefined reference to `_text\u0027\n\nThis is when using \u0027make alldefconfig\u0027. Adding this _text symbol to mark\nthe start of the kernel as in other architecture fixes this.\n\nSigned-off-by: Stafford Horne \u003cshorne@gmail.com\u003e\nAcked-by: Jonas Bonn \u003cjonas@southpole.se\u003e\n"
    },
    {
      "commit": "0c744ea4f77d72b3dcebb7a8f2684633ec79be88",
      "tree": "0756648fc3e8141173149202fcebaee61f6d7486",
      "parents": [
        "4759d386d55fef452d692bf101167914437e848e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 01 14:31:53 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 01 14:31:53 2017 -0800"
      },
      "message": "Linux 4.10-rc2\n"
    },
    {
      "commit": "4759d386d55fef452d692bf101167914437e848e",
      "tree": "e7109c192ec589fcea2a98f9702aa3c0e4009581",
      "parents": [
        "238d1d0f79f619d75c2cc741d6770fb0986aef24",
        "1db175428ee374489448361213e9c3b749d14900"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 01 12:27:05 2017 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 01 12:27:05 2017 -0800"
      },
      "message": "Merge branch \u0027libnvdimm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm\n\nPull DAX updates from Dan Williams:\n \"The completion of Jan\u0027s DAX work for 4.10.\n\n  As I mentioned in the libnvdimm-for-4.10 pull request, these are some\n  final fixes for the DAX dirty-cacheline-tracking invalidation work\n  that was merged through the -mm, ext4, and xfs trees in -rc1. These\n  patches were prepared prior to the merge window, but we waited for\n  4.10-rc1 to have a stable merge base after all the prerequisites were\n  merged.\n\n  Quoting Jan on the overall changes in these patches:\n\n     \"So I\u0027d like all these 6 patches to go for rc2. The first three\n      patches fix invalidation of exceptional DAX entries (a bug which\n      is there for a long time) - without these patches data loss can\n      occur on power failure even though user called fsync(2). The other\n      three patches change locking of DAX faults so that -\u003eiomap_begin()\n      is called in a more relaxed locking context and we are safe to\n      start a transaction there for ext4\"\n\n  These have received a build success notification from the kbuild\n  robot, and pass the latest libnvdimm unit tests. There have not been\n  any -next releases since -rc1, so they have not appeared there\"\n\n* \u0027libnvdimm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:\n  ext4: Simplify DAX fault path\n  dax: Call -\u003eiomap_begin without entry lock during dax fault\n  dax: Finish fault completely when loading holes\n  dax: Avoid page invalidation races and unnecessary radix tree traversals\n  mm: Invalidate DAX radix tree entries only if appropriate\n  ext2: Return BH_New buffers for zeroed blocks\n"
    },
    {
      "commit": "42d97eb0ade31e1bc537d086842f5d6e766d9d51",
      "tree": "04f4a277ddf959f3cabb6a97c7743806d9bd953e",
      "parents": [
        "fe4f6c801c03bc13113d0dc32f02d4ea8ed89ffd"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Dec 19 14:20:13 2016 -0800"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Dec 31 00:47:05 2016 -0500"
      },
      "message": "fscrypt: fix renaming and linking special files\n\nAttempting to link a device node, named pipe, or socket file into an\nencrypted directory through rename(2) or link(2) always failed with\nEPERM.  This happened because fscrypt_has_permitted_context() saw that\nthe file was unencrypted and forbid creating the link.  This behavior\nwas unexpected because such files are never encrypted; only regular\nfiles, directories, and symlinks can be encrypted.\n\nTo fix this, make fscrypt_has_permitted_context() always return true on\nspecial files.\n\nThis will be covered by a test in my encryption xfstests patchset.\n\nFixes: 9bd8212f981e (\"ext4 crypto: add encryption policy and password salt support\")\nSigned-off-by: Eric Biggers \u003cebiggers@google.com\u003e\nReviewed-by: Richard Weinberger \u003crichard@nod.at\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "238d1d0f79f619d75c2cc741d6770fb0986aef24",
      "tree": "ed11bb89c3c61cba7aff3ebc90647f83758a982d",
      "parents": [
        "f3de082c12e5e9ff43c58a7561f6ec3272d03a48",
        "36f671be1db1b17d3d4ab0c8b47f81ccb1efcb75"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 09:32:26 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 09:32:26 2016 -0800"
      },
      "message": "Merge tag \u0027docs-4.10-rc1-fix\u0027 of git://git.lwn.net/linux\n\nPull documentation fixes from Jonathan Corbet:\n \"Two small fixes:\n\n   - A merge error on my part broke the DocBook build. I\u0027ve\n     requisitioned one of tglx\u0027s frozen sharks for appropriate\n     disciplinary action and resolved to be more careful about testing\n     the DocBook stuff as long as it\u0027s still around.\n\n   - Fix an error in unaligned-memory-access.txt\"\n\n* tag \u0027docs-4.10-rc1-fix\u0027 of git://git.lwn.net/linux:\n  Documentation/unaligned-memory-access.txt: fix incorrect comparison operator\n  docs: Fix build failure\n"
    },
    {
      "commit": "f3de082c12e5e9ff43c58a7561f6ec3272d03a48",
      "tree": "8aa8afa56af93cb9f72997a57ee4db6330431f14",
      "parents": [
        "98473f9f3f9bd404873cd1178c8be7d6d619f0d1",
        "02608e02fbec04fccf2eb0cc8d8082f65c0a4286"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 09:29:50 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 09:29:50 2016 -0800"
      },
      "message": "Merge branch \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto fix from Herbert Xu:\n \"This fixes a boot failure on some platforms when crypto self test is\n  enabled along with the new acomp interface\"\n\n* \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: testmgr - Use heap buffer for acomp test input\n"
    },
    {
      "commit": "98473f9f3f9bd404873cd1178c8be7d6d619f0d1",
      "tree": "e84b37c3cfbb7fe4925cdec6857518cab16db863",
      "parents": [
        "b91e1302ad9b80c174a4855533f7e3aa2873355e"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Thu Dec 29 14:16:07 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 14:46:39 2016 -0800"
      },
      "message": "mm/filemap: fix parameters to test_bit()\n\n mm/filemap.c: In function \u0027clear_bit_unlock_is_negative_byte\u0027:\n  mm/filemap.c:933:9: error: too few arguments to function \u0027test_bit\u0027\n    return test_bit(PG_waiters);\n         ^~~~~~~~\n\nFixes: b91e1302ad9b (\u0027mm: optimize PageWaiters bit use for unlock_page()\u0027)\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nBrown-paper-bag-by: Linus Torvalds \u003cdummy@duh.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b91e1302ad9b80c174a4855533f7e3aa2873355e",
      "tree": "dacf84fd1ec749b64dd8245195e277d5f804ca12",
      "parents": [
        "2d706e790f0508dff4fb72eca9b4892b79757feb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 27 11:40:38 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 11:03:15 2016 -0800"
      },
      "message": "mm: optimize PageWaiters bit use for unlock_page()\n\nIn commit 62906027091f (\"mm: add PageWaiters indicating tasks are\nwaiting for a page bit\") Nick Piggin made our page locking no longer\nunconditionally touch the hashed page waitqueue, which not only helps\nperformance in general, but is particularly helpful on NUMA machines\nwhere the hashed wait queues can bounce around a lot.\n\nHowever, the \"clear lock bit atomically and then test the waiters bit\"\nsequence turns out to be much more expensive than it needs to be,\nbecause you get a nasty stall when trying to access the same word that\njust got updated atomically.\n\nOn architectures where locking is done with LL/SC, this would be trivial\nto fix with a new primitive that clears one bit and tests another\natomically, but that ends up not working on x86, where the only atomic\noperations that return the result end up being cmpxchg and xadd.  The\natomic bit operations return the old value of the same bit we changed,\nnot the value of an unrelated bit.\n\nOn x86, we could put the lock bit in the high bit of the byte, and use\n\"xadd\" with that bit (where the overflow ends up not touching other\nbits), and look at the other bits of the result.  However, an even\nsimpler model is to just use a regular atomic \"and\" to clear the lock\nbit, and then the sign bit in eflags will indicate the resulting state\nof the unrelated bit #7.\n\nSo by moving the PageWaiters bit up to bit #7, we can atomically clear\nthe lock bit and test the waiters bit on x86 too.  And architectures\nwith LL/SC (which is all the usual RISC suspects), the particular bit\ndoesn\u0027t matter, so they are fine with this approach too.\n\nThis avoids the extra access to the same atomic word, and thus avoids\nthe costly stall at page unlock time.\n\nThe only downside is that the interface ends up being a bit odd and\nspecialized: clear a bit in a byte, and test the sign bit.  Nick doesn\u0027t\nlove the resulting name of the new primitive, but I\u0027d rather make the\nname be descriptive and very clear about the limitation imposed by\ntrying to work across all relevant architectures than make it be some\ngeneric thing that doesn\u0027t make the odd semantics explicit.\n\nSo this introduces the new architecture primitive\n\n    clear_bit_unlock_is_negative_byte();\n\nand adds the trivial implementation for x86.  We have a generic\nnon-optimized fallback (that just does a \"clear_bit()\"+\"test_bit(7)\"\ncombination) which can be overridden by any architecture that can do\nbetter.  According to Nick, Power has the same hickup x86 has, for\nexample, but some other architectures may not even care.\n\nAll these optimizations mean that my page locking stress-test (which is\njust executing a lot of small short-lived shell scripts: \"make test\" in\nthe git source tree) no longer makes our page locking look horribly bad.\nBefore all these optimizations, just the unlock_page() costs were just\nover 3% of all CPU overhead on \"make test\".  After this, it\u0027s down to\n0.66%, so just a quarter of the cost it used to be.\n\n(The difference on NUMA is bigger, but there this micro-optimization is\nlikely less noticeable, since the big issue on NUMA was not the accesses\nto \u0027struct page\u0027, but the waitqueue accesses that were already removed\nby Nick\u0027s earlier commit).\n\nAcked-by: Nick Piggin \u003cnpiggin@gmail.com\u003e\nCc: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Andrew Lutomirski \u003cluto@kernel.org\u003e\nCc: Andreas Gruenbacher \u003cagruenba@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mel Gorman \u003cmgorman@techsingularity.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d706e790f0508dff4fb72eca9b4892b79757feb",
      "tree": "1c79c1ec8880f5d6184d166d1f423956833724aa",
      "parents": [
        "8f18e4d03ed8fa5e4a300c94550533bd8ce4ff9a",
        "8759fec4af222f338d08f8f1a7ad6a77ca6cb301"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 27 17:51:36 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 27 17:51:36 2016 -0800"
      },
      "message": "Merge branch \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto fix from Herbert Xu:\n \"This fixes a hash corruption bug in the marvell driver\"\n\n* \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: marvell - Copy IVDIG before launching partial DMA ahash requests\n"
    },
    {
      "commit": "fe4f6c801c03bc13113d0dc32f02d4ea8ed89ffd",
      "tree": "636b0df413a417e6bb976510df150e0edae9ae8f",
      "parents": [
        "7ce7d89f48834cefece7804d38fc5d85382edf77"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 27 19:46:27 2016 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 27 19:46:27 2016 -0500"
      },
      "message": "fscrypt: fix the test_dummy_encryption mount option\n\nCommit f1c131b45410a: \"crypto: xts - Convert to skcipher\" now fails\nthe setkey operation if the AES key is the same as the tweak key.\nPreviously this check was only done if FIPS mode is enabled.  Now this\ncheck is also done if weak key checking was requested.  This is\nreasonable, but since we were using the dummy key which was a constant\nseries of 0x42 bytes, it now caused dummy encrpyption test mode to\nfail.\n\nFix this by using 0x42... and 0x24... for the two keys, so they are\ndifferent.\n\nFixes: f1c131b45410a202eb45cc55980a7a9e4e4b4f40\nCc: stable@vger.kernel.org\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8f18e4d03ed8fa5e4a300c94550533bd8ce4ff9a",
      "tree": "9d9987ff5976a04701bb018bb40309bfdd2d6a9c",
      "parents": [
        "0dad3a3014a0b9e72521ff44f17e0054f43dcdea",
        "5799fc905930f866c7d32aaf81b31f8027297506"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 27 16:04:37 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 27 16:04:37 2016 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Various ipvlan fixes from Eric Dumazet and Mahesh Bandewar.\n\n    The most important is to not assume the packet is RX just because\n    the destination address matches that of the device. Such an\n    assumption causes problems when an interface is put into loopback\n    mode.\n\n 2) If we retry when creating a new tc entry (because we dropped the\n    RTNL mutex in order to load a module, for example) we end up with\n    -EAGAIN and then loop trying to replay the request. But we didn\u0027t\n    reset some state when looping back to the top like this, and if\n    another thread meanwhile inserted the same tc entry we were trying\n    to, we re-link it creating an enless loop in the tc chain. Fix from\n    Daniel Borkmann.\n\n 3) There are two different WRITE bits in the MDIO address register for\n    the stmmac chip, depending upon the chip variant. Due to a bug we\n    could set them both, fix from Hock Leong Kweh.\n\n 4) Fix mlx4 bug in XDP_TX handling, from Tariq Toukan.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  net: stmmac: fix incorrect bit set in gmac4 mdio addr register\n  r8169: add support for RTL8168 series add-on card.\n  net: xdp: remove unused bfp_warn_invalid_xdp_buffer()\n  openvswitch: upcall: Fix vlan handling.\n  ipv4: Namespaceify tcp_tw_reuse knob\n  net: korina: Fix NAPI versus resources freeing\n  net, sched: fix soft lockup in tc_classify\n  net/mlx4_en: Fix user prio field in XDP forward\n  tipc: don\u0027t send FIN message from connectionless socket\n  ipvlan: fix multicast processing\n  ipvlan: fix various issues in ipvlan_process_multicast()\n"
    },
    {
      "commit": "36f671be1db1b17d3d4ab0c8b47f81ccb1efcb75",
      "tree": "d79b8821d94660c65279378b04474e23f2e01b22",
      "parents": [
        "66115335fbb411365c23349b2fbe7e041eabbaf2"
      ],
      "author": {
        "name": "Cihangir Akturk",
        "email": "cakturk@gmail.com",
        "time": "Sat Dec 17 19:42:17 2016 +0200"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Tue Dec 27 13:08:42 2016 -0700"
      },
      "message": "Documentation/unaligned-memory-access.txt: fix incorrect comparison operator\n\nIn the actual implementation ether_addr_equal function tests for equality to 0\nwhen returning. It seems in commit 0d74c4 it is somehow overlooked to change\nthis operator to reflect the actual function.\n\nSigned-off-by: Cihangir Akturk \u003ccakturk@gmail.com\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "66115335fbb411365c23349b2fbe7e041eabbaf2",
      "tree": "4cd3d5d8c97cc5279754c605c5017dfaa6642f75",
      "parents": [
        "54ab6db0909061ab7ee07233d3cab86d29f86e6c"
      ],
      "author": {
        "name": "John Brooks",
        "email": "john@fastquake.com",
        "time": "Fri Dec 23 00:53:10 2016 +0000"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Tue Dec 27 13:05:36 2016 -0700"
      },
      "message": "docs: Fix build failure\n\nThe 80211.tmpl DocBook file was removed in commit 819bf593767c (\"docs-rst:\nsphinxify 802.11 documentation\"), but the 80211.xml target was re-added to\nthe Makefile by commit 7ddedebb03b7 (\"ALSA: doc: ReSTize\nwriting-an-alsa-driver document\"), leading to a failure when building the\ndocumentation:\n\n*** No rule to make target \u0027Documentation/DocBook/80211.xml\u0027, needed by\n\u0027Documentation/DocBook/80211.aux.xml\u0027.\n\ncc: stable@vger.kernel.org\nSigned-off-by: John Brooks \u003cjohn@fastquake.com\u003e\nMea-culpa-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "54ab6db0909061ab7ee07233d3cab86d29f86e6c",
      "tree": "a7650ab5c0fa3a6a3841de8e8693041b3e009054",
      "parents": [
        "217e2bfab22e740227df09f22165e834cddd8a3b",
        "7ce7d89f48834cefece7804d38fc5d85382edf77"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Tue Dec 27 12:53:44 2016 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Tue Dec 27 12:53:44 2016 -0700"
      },
      "message": "Merge tag \u0027v4.10-rc1\u0027 into docs-next\n\nLinux 4.10-rc1\n"
    },
    {
      "commit": "5799fc905930f866c7d32aaf81b31f8027297506",
      "tree": "661fe02f44483a6b678687e0f00db985a0de7186",
      "parents": [
        "610c908773d30907c950ca3b2ee8ac4b2813537b"
      ],
      "author": {
        "name": "Kweh, Hock Leong",
        "email": "hock.leong.kweh@intel.com",
        "time": "Wed Dec 28 04:07:41 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 27 12:28:08 2016 -0500"
      },
      "message": "net: stmmac: fix incorrect bit set in gmac4 mdio addr register\n\nFixing the gmac4 mdio write access to use MII_GMAC4_WRITE only instead of\nOR together with MII_WRITE.\n\nSigned-off-by: Kweh, Hock Leong \u003chock.leong.kweh@intel.com\u003e\nAcked-By: Joao Pinto \u003cjpinto@synopsys.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "610c908773d30907c950ca3b2ee8ac4b2813537b",
      "tree": "13efa60fd0932635e04f3147fd62654db50b07eb",
      "parents": [
        "be26727772cd86979255dfaf1eea967338dc0c9b"
      ],
      "author": {
        "name": "Chun-Hao Lin",
        "email": "hau@realtek.com",
        "time": "Tue Dec 27 16:29:43 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 27 12:28:07 2016 -0500"
      },
      "message": "r8169: add support for RTL8168 series add-on card.\n\nThis chip is the same as RTL8168, but its device id is 0x8161.\n\nSigned-off-by: Chun-Hao Lin \u003chau@realtek.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be26727772cd86979255dfaf1eea967338dc0c9b",
      "tree": "6a5159925b3888ed9d2badf416ded2c6aa1a97f6",
      "parents": [
        "df30f7408b187929dbde72661c7f7c615268f1d0"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Tue Dec 27 10:49:54 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 27 12:28:07 2016 -0500"
      },
      "message": "net: xdp: remove unused bfp_warn_invalid_xdp_buffer()\n\nAfter commit 73b62bd085f4737679ea9afc7867fa5f99ba7d1b (\"virtio-net:\nremove the warning before XDP linearizing\"), there\u0027s no users for\nbpf_warn_invalid_xdp_buffer(), so remove it. This is a revert for\ncommit f23bc46c30ca5ef58b8549434899fcbac41b2cfc.\n\nCc: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nCc: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df30f7408b187929dbde72661c7f7c615268f1d0",
      "tree": "568e6d73d59770d9afbb69fb0ce5844aae65d993",
      "parents": [
        "56ab6b93007e5000a8812985aec1833c4a6a9ce0"
      ],
      "author": {
        "name": "pravin shelar",
        "email": "pshelar@ovn.org",
        "time": "Mon Dec 26 08:31:27 2016 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 27 12:28:07 2016 -0500"
      },
      "message": "openvswitch: upcall: Fix vlan handling.\n\nNetworking stack accelerate vlan tag handling by\nkeeping topmost vlan header in skb. This works as\nlong as packet remains in OVS datapath. But during\nOVS upcall vlan header is pushed on to the packet.\nWhen such packet is sent back to OVS datapath, core\nnetworking stack might not handle it correctly. Following\npatch avoids this issue by accelerating the vlan tag\nduring flow key extract. This simplifies datapath by\nbringing uniform packet processing for packets from\nall code paths.\n\nFixes: 5108bbaddc (\"openvswitch: add processing of L3 packets\").\nCC: Jarno Rajahalme \u003cjarno@ovn.org\u003e\nCC: Jiri Benc \u003cjbenc@redhat.com\u003e\nSigned-off-by: Pravin B Shelar \u003cpshelar@ovn.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56ab6b93007e5000a8812985aec1833c4a6a9ce0",
      "tree": "b51a1451cdcd323e70e5be14f8186fcb645dbbe3",
      "parents": [
        "e6afb1ad88feddf2347ea779cfaf4d03d3cd40b6"
      ],
      "author": {
        "name": "Haishuang Yan",
        "email": "yanhaishuang@cmss.chinamobile.com",
        "time": "Sun Dec 25 14:33:16 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 27 12:28:07 2016 -0500"
      },
      "message": "ipv4: Namespaceify tcp_tw_reuse knob\n\nDifferent namespaces might have different requirements to reuse\nTIME-WAIT sockets for new connections. This might be required in\ncases where different namespace applications are in place which\nrequire TIME_WAIT socket connections to be reduced independently\nof the host.\n\nSigned-off-by: Haishuang Yan \u003cyanhaishuang@cmss.chinamobile.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02608e02fbec04fccf2eb0cc8d8082f65c0a4286",
      "tree": "37ff0410d130cfe77185f591b07cd6403f207f0c",
      "parents": [
        "7ce7d89f48834cefece7804d38fc5d85382edf77"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "labbott@redhat.com",
        "time": "Wed Dec 21 12:32:54 2016 -0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Dec 27 17:32:11 2016 +0800"
      },
      "message": "crypto: testmgr - Use heap buffer for acomp test input\n\nChristopher Covington reported a crash on aarch64 on recent Fedora\nkernels:\n\nkernel BUG at ./include/linux/scatterlist.h:140!\nInternal error: Oops - BUG: 0 [#1] PREEMPT SMP\nModules linked in:\nCPU: 2 PID: 752 Comm: cryptomgr_test Not tainted 4.9.0-11815-ge93b1cc #162\nHardware name: linux,dummy-virt (DT)\ntask: ffff80007c650080 task.stack: ffff800008910000\nPC is at sg_init_one+0xa0/0xb8\nLR is at sg_init_one+0x24/0xb8\n...\n[\u003cffff000008398db8\u003e] sg_init_one+0xa0/0xb8\n[\u003cffff000008350a44\u003e] test_acomp+0x10c/0x438\n[\u003cffff000008350e20\u003e] alg_test_comp+0xb0/0x118\n[\u003cffff00000834f28c\u003e] alg_test+0x17c/0x2f0\n[\u003cffff00000834c6a4\u003e] cryptomgr_test+0x44/0x50\n[\u003cffff0000080dac70\u003e] kthread+0xf8/0x128\n[\u003cffff000008082ec0\u003e] ret_from_fork+0x10/0x50\n\nThe test vectors used for input are part of the kernel image. These\ninputs are passed as a buffer to sg_init_one which eventually blows up\nwith BUG_ON(!virt_addr_valid(buf)). On arm64, virt_addr_valid returns\nfalse for the kernel image since virt_to_page will not return the\ncorrect page. Fix this by copying the input vectors to heap buffer\nbefore setting up the scatterlist.\n\nReported-by: Christopher Covington \u003ccov@codeaurora.org\u003e\nFixes: d7db7a882deb (\"crypto: acomp - update testmgr with support for acomp\")\nSigned-off-by: Laura Abbott \u003clabbott@redhat.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1db175428ee374489448361213e9c3b749d14900",
      "tree": "32e4eebdad84d1c6e84508186b0f1fb63df7bdfc",
      "parents": [
        "9f141d6ef6258a3a37a045842d9ba7e68f368956"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Oct 21 11:33:49 2016 +0200"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 26 20:29:25 2016 -0800"
      },
      "message": "ext4: Simplify DAX fault path\n\nNow that dax_iomap_fault() calls -\u003eiomap_begin() without entry lock, we\ncan use transaction starting in ext4_iomap_begin() and thus simplify\next4_dax_fault(). It also provides us proper retries in case of ENOSPC.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "9f141d6ef6258a3a37a045842d9ba7e68f368956",
      "tree": "99f00ca80593939bb78d826331c5b13aab014624",
      "parents": [
        "f449b936f1aff7696b24a338f493d5cee8d48d55"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 19 14:34:31 2016 +0200"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 26 20:29:25 2016 -0800"
      },
      "message": "dax: Call -\u003eiomap_begin without entry lock during dax fault\n\nCurrently -\u003eiomap_begin() handler is called with entry lock held. If the\nfilesystem held any locks between -\u003eiomap_begin() and -\u003eiomap_end()\n(such as ext4 which will want to hold transaction open), this would cause\nlock inversion with the iomap_apply() from standard IO path which first\ncalls -\u003eiomap_begin() and only then calls -\u003eactor() callback which grabs\nentry locks for DAX (if it faults when copying from/to user provided\nbuffers).\n\nFix the problem by nesting grabbing of entry lock inside -\u003eiomap_begin()\n- -\u003eiomap_end() pair.\n\nReviewed-by: Ross Zwisler \u003cross.zwisler@linux.intel.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "f449b936f1aff7696b24a338f493d5cee8d48d55",
      "tree": "5eb066bfc0c39f9485c83a7c28da77533fef4e11",
      "parents": [
        "e3fce68cdbed297d927e993b3ea7b8b1cee545da"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 19 14:48:38 2016 +0200"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 26 20:29:25 2016 -0800"
      },
      "message": "dax: Finish fault completely when loading holes\n\nThe only case when we do not finish the page fault completely is when we\nare loading hole pages into a radix tree. Avoid this special case and\nfinish the fault in that case as well inside the DAX fault handler. It\nwill allow us for easier iomap handling.\n\nReviewed-by: Ross Zwisler \u003cross.zwisler@linux.intel.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "e3fce68cdbed297d927e993b3ea7b8b1cee545da",
      "tree": "52e8c6f6bea775cb623cfca46012b91657b7dc47",
      "parents": [
        "c6dcf52c23d2d3fb5235cec42d7dd3f786b87d55"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 10 17:10:28 2016 +0200"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 26 20:29:24 2016 -0800"
      },
      "message": "dax: Avoid page invalidation races and unnecessary radix tree traversals\n\nCurrently dax_iomap_rw() takes care of invalidating page tables and\nevicting hole pages from the radix tree when write(2) to the file\nhappens. This invalidation is only necessary when there is some block\nallocation resulting from write(2). Furthermore in current place the\ninvalidation is racy wrt page fault instantiating a hole page just after\nwe have invalidated it.\n\nSo perform the page invalidation inside dax_iomap_actor() where we can\ndo it only when really necessary and after blocks have been allocated so\nnobody will be instantiating new hole pages anymore.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Ross Zwisler \u003cross.zwisler@linux.intel.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "c6dcf52c23d2d3fb5235cec42d7dd3f786b87d55",
      "tree": "7e63a6c0225a769e679b194f54b5723e4cfba385",
      "parents": [
        "e568df6b84ff05a22467503afc11bee7a6ba0700"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 10 17:22:44 2016 +0200"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 26 20:29:24 2016 -0800"
      },
      "message": "mm: Invalidate DAX radix tree entries only if appropriate\n\nCurrently invalidate_inode_pages2_range() and invalidate_mapping_pages()\njust delete all exceptional radix tree entries they find. For DAX this\nis not desirable as we track cache dirtiness in these entries and when\nthey are evicted, we may not flush caches although it is necessary. This\ncan for example manifest when we write to the same block both via mmap\nand via write(2) (to different offsets) and fsync(2) then does not\nproperly flush CPU caches when modification via write(2) was the last\none.\n\nCreate appropriate DAX functions to handle invalidation of DAX entries\nfor invalidate_inode_pages2_range() and invalidate_mapping_pages() and\nwire them up into the corresponding mm functions.\n\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Ross Zwisler \u003cross.zwisler@linux.intel.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "e568df6b84ff05a22467503afc11bee7a6ba0700",
      "tree": "516a8c7d3eb87bcd07d97e3582964403cdd0f010",
      "parents": [
        "7ce7d89f48834cefece7804d38fc5d85382edf77"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 10 16:42:53 2016 +0200"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 26 20:29:24 2016 -0800"
      },
      "message": "ext2: Return BH_New buffers for zeroed blocks\n\nSo far we did not return BH_New buffers from ext2_get_blocks() when we\nallocated and zeroed-out a block for DAX inode to avoid racy zeroing in\nDAX code. This zeroing is gone these days so we can remove the\nworkaround.\n\nReviewed-by: Ross Zwisler \u003cross.zwisler@linux.intel.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "0dad3a3014a0b9e72521ff44f17e0054f43dcdea",
      "tree": "6122a01208f56efd2766697a265ba559cbbbb452",
      "parents": [
        "b9d9d6911bd5c370ad4b3aa57d758c093d17aed5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 26 22:58:20 2016 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 17:30:24 2016 -0800"
      },
      "message": "x86/mce/AMD: Make the init code more robust\n\nIf mce_device_init() fails then the mce device pointer is NULL and the\nAMD mce code happily dereferences it.\n\nAdd a sanity check.\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nReported-by: Boris Ostrovsky \u003cboris.ostrovsky@oracle.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9d9d6911bd5c370ad4b3aa57d758c093d17aed5",
      "tree": "aa66dffa65f105ab98d5db3707c2262146d7fd8f",
      "parents": [
        "b4b8664d291ac1998e0f0bcdc96b6397f0fe68b3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 26 22:58:19 2016 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 17:30:24 2016 -0800"
      },
      "message": "smp/hotplug: Undo tglxs brainfart\n\nThe attempt to prevent overwriting an active state resulted in a\ndisaster which effectively disables all dynamically allocated hotplug\nstates.\n\nCleanup the mess.\n\nFixes: dc280d936239 (\"cpu/hotplug: Prevent overwriting of callbacks\")\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nReported-by: Boris Ostrovsky \u003cboris.ostrovsky@oracle.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4b8664d291ac1998e0f0bcdc96b6397f0fe68b3",
      "tree": "a9e60d57bc6854515134b13d8967a638352362ee",
      "parents": [
        "7ce7d89f48834cefece7804d38fc5d85382edf77"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 26 04:10:19 2016 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 26 13:05:17 2016 -0500"
      },
      "message": "arm64: don\u0027t pull uaccess.h into *.S\n\nSplit asm-only parts of arm64 uaccess.h into a new header and use that\nfrom *.S.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e6afb1ad88feddf2347ea779cfaf4d03d3cd40b6",
      "tree": "798d9bc9325e7c42befe995e6ab55ebf8cc4759a",
      "parents": [
        "628185cfddf1dfb701c4efe2cfd72cf5b09f5702"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "f.fainelli@gmail.com",
        "time": "Fri Dec 23 19:56:56 2016 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 26 11:26:16 2016 -0500"
      },
      "message": "net: korina: Fix NAPI versus resources freeing\n\nCommit beb0babfb77e (\"korina: disable napi on close and restart\")\nintroduced calls to napi_disable() that were missing before,\nunfortunately this leaves a small window during which NAPI has a chance\nto run, yet we just freed resources since korina_free_ring() has been\ncalled:\n\nFix this by disabling NAPI first then freeing resource, and make sure\nthat we also cancel the restart task before doing the resource freeing.\n\nFixes: beb0babfb77e (\"korina: disable napi on close and restart\")\nReported-by: Alexandros C. Couloumbis \u003calex@ozo.com\u003e\nSigned-off-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "628185cfddf1dfb701c4efe2cfd72cf5b09f5702",
      "tree": "e91cb11ef82fb007f4e5b53e2a7541ecee53843e",
      "parents": [
        "eb9def61be7197669cab51f43789b53aa7a69509"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Dec 21 18:04:11 2016 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 26 11:24:10 2016 -0500"
      },
      "message": "net, sched: fix soft lockup in tc_classify\n\nShahar reported a soft lockup in tc_classify(), where we run into an\nendless loop when walking the classifier chain due to tp-\u003enext \u003d\u003d tp\nwhich is a state we should never run into. The issue only seems to\ntrigger under load in the tc control path.\n\nWhat happens is that in tc_ctl_tfilter(), thread A allocates a new\ntp, initializes it, sets tp_created to 1, and calls into tp-\u003eops-\u003echange()\nwith it. In that classifier callback we had to unlock/lock the rtnl\nmutex and returned with -EAGAIN. One reason why we need to drop there\nis, for example, that we need to request an action module to be loaded.\n\nThis happens via tcf_exts_validate() -\u003e tcf_action_init/_1() meaning\nafter we loaded and found the requested action, we need to redo the\nwhole request so we don\u0027t race against others. While we had to unlock\nrtnl in that time, thread B\u0027s request was processed next on that CPU.\nThread B added a new tp instance successfully to the classifier chain.\nWhen thread A returned grabbing the rtnl mutex again, propagating -EAGAIN\nand destroying its tp instance which never got linked, we goto replay\nand redo A\u0027s request.\n\nThis time when walking the classifier chain in tc_ctl_tfilter() for\nchecking for existing tp instances we had a priority match and found\nthe tp instance that was created and linked by thread B. Now calling\nagain into tp-\u003eops-\u003echange() with that tp was successful and returned\nwithout error.\n\ntp_created was never cleared in the second round, thus kernel thinks\nthat we need to link it into the classifier chain (once again). tp and\n*back point to the same object due to the match we had earlier on. Thus\nfor thread B\u0027s already public tp, we reset tp-\u003enext to tp itself and\nlink it into the chain, which eventually causes the mentioned endless\nloop in tc_classify() once a packet hits the data path.\n\nFix is to clear tp_created at the beginning of each request, also when\nwe replay it. On the paths that can cause -EAGAIN we already destroy\nthe original tp instance we had and on replay we really need to start\nfrom scratch. It seems that this issue was first introduced in commit\n12186be7d2e1 (\"net_cls: fix unconfigured struct tcf_proto keeps chaining\nand avoid kernel panic when we use cls_cgroup\").\n\nFixes: 12186be7d2e1 (\"net_cls: fix unconfigured struct tcf_proto keeps chaining and avoid kernel panic when we use cls_cgroup\")\nReported-by: Shahar Klein \u003cshahark@mellanox.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nCc: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nTested-by: Shahar Klein \u003cshahark@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ce7d89f48834cefece7804d38fc5d85382edf77",
      "tree": "a7650ab5c0fa3a6a3841de8e8693041b3e009054",
      "parents": [
        "8ae679c4bc2ea2d16d92620da8e3e9332fa4039f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 16:13:08 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 16:13:08 2016 -0800"
      },
      "message": "Linux 4.10-rc1\n"
    },
    {
      "commit": "8ae679c4bc2ea2d16d92620da8e3e9332fa4039f",
      "tree": "d029362dda3867b59c44480a5ac58d1d0d7a0f16",
      "parents": [
        "d33d5a6c88fcd53fec329a1521010f1bc55fa191"
      ],
      "author": {
        "name": "Larry Finger",
        "email": "Larry.Finger@lwfinger.net",
        "time": "Thu Dec 22 21:06:53 2016 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 16:12:20 2016 -0800"
      },
      "message": "powerpc: Fix build warning on 32-bit PPC\n\nI am getting the following warning when I build kernel 4.9-git on my\nPowerBook G4 with a 32-bit PPC processor:\n\n    AS      arch/powerpc/kernel/misc_32.o\n  arch/powerpc/kernel/misc_32.S:299:7: warning: \"CONFIG_FSL_BOOKE\" is not defined [-Wundef]\n\nThis problem is evident after commit 989cea5c14be (\"kbuild: prevent\nlib-ksyms.o rebuilds\"); however, this change in kbuild only exposes an\nerror that has been in the code since 2005 when this source file was\ncreated.  That was with commit 9994a33865f4 (\"powerpc: Introduce\nentry_{32,64}.S, misc_{32,64}.S, systbl.S\").\n\nThe offending line does not make a lot of sense.  This error does not\nseem to cause any errors in the executable, thus I am not recommending\nthat it be applied to any stable versions.\n\nThanks to Nicholas Piggin for suggesting this solution.\n\nFixes: 9994a33865f4 (\"powerpc: Introduce entry_{32,64}.S, misc_{32,64}.S, systbl.S\")\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Nicholas Piggin \u003cnpiggin@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Michael Ellerman \u003cmpe@ellerman.id.au\u003e\nCc: linuxppc-dev@lists.ozlabs.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d33d5a6c88fcd53fec329a1521010f1bc55fa191",
      "tree": "b95a9598bcf76fd0acc57dff7508cc925db584b6",
      "parents": [
        "3ddc76dfc786cc6f87852693227fb0b1f124f807"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 14:56:58 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 14:56:58 2016 -0800"
      },
      "message": "avoid spurious \"may be used uninitialized\" warning\n\nThe timer type simplifications caused a new gcc warning:\n\n  drivers/base/power/domain.c: In function ‘genpd_runtime_suspend’:\n  drivers/base/power/domain.c:562:14: warning: ‘time_start’ may be used uninitialized in this function [-Wmaybe-uninitialized]\n     elapsed_ns \u003d ktime_to_ns(ktime_sub(ktime_get(), time_start));\n\ndespite the actual use of \"time_start\" not having changed in any way.\nIt appears that simply changing the type of ktime_t from a union to a\nplain scalar type made gcc check the use.\n\nThe variable wasn\u0027t actually used uninitialized, but gcc apparently\nfailed to notice that the conditional around the use was exactly the\nsame as the conditional around the initialization of that variable.\n\nAdd an unnecessary initialization just to shut up the compiler.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ddc76dfc786cc6f87852693227fb0b1f124f807",
      "tree": "8192b4721e05cf6823087f9696db8c0c8f144b02",
      "parents": [
        "b272f732f888d4cf43c943a40c9aaa836f9b7431",
        "1f3a8e49d8f28f498b8694464623ac20aebfe62a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 14:30:04 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 14:30:04 2016 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer type cleanups from Thomas Gleixner:\n \"This series does a tree wide cleanup of types related to\n  timers/timekeeping.\n\n   - Get rid of cycles_t and use a plain u64. The type is not really\n     helpful and caused more confusion than clarity\n\n   - Get rid of the ktime union. The union has become useless as we use\n     the scalar nanoseconds storage unconditionally now. The 32bit\n     timespec alike storage got removed due to the Y2038 limitations\n     some time ago.\n\n     That leaves the odd union access around for no reason. Clean it up.\n\n  Both changes have been done with coccinelle and a small amount of\n  manual mopping up\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ktime: Get rid of ktime_equal()\n  ktime: Cleanup ktime_set() usage\n  ktime: Get rid of the union\n  clocksource: Use a plain u64 instead of cycle_t\n"
    },
    {
      "commit": "b272f732f888d4cf43c943a40c9aaa836f9b7431",
      "tree": "da9cac6b9d12b83592c16d3503c0e3f2f00f146f",
      "parents": [
        "10bbe7599e2755d3f3e100103967788b8b5a4bce",
        "008b69e4d52f2cbee3ed0d0502edd78155000b1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 14:05:56 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 14:05:56 2016 -0800"
      },
      "message": "Merge branch \u0027smp-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull SMP hotplug notifier removal from Thomas Gleixner:\n \"This is the final cleanup of the hotplug notifier infrastructure. The\n  series has been reintgrated in the last two days because there came a\n  new driver using the old infrastructure via the SCSI tree.\n\n  Summary:\n\n   - convert the last leftover drivers utilizing notifiers\n\n   - fixup for a completely broken hotplug user\n\n   - prevent setup of already used states\n\n   - removal of the notifiers\n\n   - treewide cleanup of hotplug state names\n\n   - consolidation of state space\n\n  There is a sphinx based documentation pending, but that needs review\n  from the documentation folks\"\n\n* \u0027smp-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  irqchip/armada-xp: Consolidate hotplug state space\n  irqchip/gic: Consolidate hotplug state space\n  coresight/etm3/4x: Consolidate hotplug state space\n  cpu/hotplug: Cleanup state names\n  cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions\n  staging/lustre/libcfs: Convert to hotplug state machine\n  scsi/bnx2i: Convert to hotplug state machine\n  scsi/bnx2fc: Convert to hotplug state machine\n  cpu/hotplug: Prevent overwriting of callbacks\n  x86/msr: Remove bogus cleanup from the error path\n  bus: arm-ccn: Prevent hotplug callback leak\n  perf/x86/intel/cstate: Prevent hotplug callback leak\n  ARM/imx/mmcd: Fix broken cpu hotplug handling\n  scsi: qedi: Convert to hotplug state machine\n"
    },
    {
      "commit": "10bbe7599e2755d3f3e100103967788b8b5a4bce",
      "tree": "f4d5bc444584dc211c5797be5aad5e861c9181b3",
      "parents": [
        "62906027091f1d02de44041524f0769f60bb9cf3",
        "6886fee4d7a3afaf905a8e0bec62dc8fdc39878d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 14:01:28 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 14:01:28 2016 -0800"
      },
      "message": "Merge branch \u0027turbostat\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux\n\nPull turbostat updates from Len Brown.\n\n* \u0027turbostat\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:\n  tools/power turbostat: remove obsolete -M, -m, -C, -c options\n  tools/power turbostat: Make extensible via the --add parameter\n  tools/power turbostat: Denverton uses a 25 MHz crystal, not 19.2 MHz\n  tools/power turbostat: line up headers when -M is used\n  tools/power turbostat: fix SKX PKG_CSTATE_LIMIT decoding\n  tools/power turbostat: Support Knights Mill (KNM)\n  tools/power turbostat: Display HWP OOB status\n  tools/power turbostat: fix Denverton BCLK\n  tools/power turbostat: use intel-family.h model strings\n  tools/power/turbostat: Add Denverton RAPL support\n  tools/power/turbostat: Add Denverton support\n  tools/power/turbostat: split core MSR support into status + limit\n  tools/power turbostat: fix error case overflow read of slm_freq_table[]\n  tools/power turbostat: Allocate correct amount of fd and irq entries\n  tools/power turbostat: switch to tab delimited output\n  tools/power turbostat: Gracefully handle ACPI S3\n  tools/power turbostat: tidy up output on Joule counter overflow\n"
    },
    {
      "commit": "62906027091f1d02de44041524f0769f60bb9cf3",
      "tree": "6444171af03e463bb0123a392d7b91a0ae6a1f40",
      "parents": [
        "6326fec1122cde256bd2a8c63f2606e08e44ce1d"
      ],
      "author": {
        "name": "Nicholas Piggin",
        "email": "npiggin@gmail.com",
        "time": "Sun Dec 25 13:00:30 2016 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 11:54:48 2016 -0800"
      },
      "message": "mm: add PageWaiters indicating tasks are waiting for a page bit\n\nAdd a new page flag, PageWaiters, to indicate the page waitqueue has\ntasks waiting. This can be tested rather than testing waitqueue_active\nwhich requires another cacheline load.\n\nThis bit is always set when the page has tasks on page_waitqueue(page),\nand is set and cleared under the waitqueue lock. It may be set when\nthere are no tasks on the waitqueue, which will cause a harmless extra\nwakeup check that will clears the bit.\n\nThe generic bit-waitqueue infrastructure is no longer used for pages.\nInstead, waitqueues are used directly with a custom key type. The\ngeneric code was not flexible enough to have PageWaiters manipulation\nunder the waitqueue lock (which simplifies concurrency).\n\nThis improves the performance of page lock intensive microbenchmarks by\n2-3%.\n\nPutting two bits in the same word opens the opportunity to remove the\nmemory barrier between clearing the lock bit and testing the waiters\nbit, after some work on the arch primitives (e.g., ensuring memory\noperand widths match and cover both bits).\n\nSigned-off-by: Nicholas Piggin \u003cnpiggin@gmail.com\u003e\nCc: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Andrew Lutomirski \u003cluto@kernel.org\u003e\nCc: Andreas Gruenbacher \u003cagruenba@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mel Gorman \u003cmgorman@techsingularity.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6326fec1122cde256bd2a8c63f2606e08e44ce1d",
      "tree": "5e5bc0e4c71903bbdc6477f4868d35f970743e21",
      "parents": [
        "7c0f6ba682b9c7632072ffbedf8d328c8f3c42ba"
      ],
      "author": {
        "name": "Nicholas Piggin",
        "email": "npiggin@gmail.com",
        "time": "Sun Dec 25 13:00:29 2016 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 25 11:54:48 2016 -0800"
      },
      "message": "mm: Use owner_priv bit for PageSwapCache, valid when PageSwapBacked\n\nA page is not added to the swap cache without being swap backed,\nso PageSwapBacked mappings can use PG_owner_priv_1 for PageSwapCache.\n\nSigned-off-by: Nicholas Piggin \u003cnpiggin@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Andrew Lutomirski \u003cluto@kernel.org\u003e\nCc: Andreas Gruenbacher \u003cagruenba@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mel Gorman \u003cmgorman@techsingularity.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f3a8e49d8f28f498b8694464623ac20aebfe62a",
      "tree": "da0b5101c3be3e18b55b0a11974f63a3195704f9",
      "parents": [
        "8b0e195314fabd58a331c4f7b6db75a1565535d7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 12:43:07 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 17:21:23 2016 +0100"
      },
      "message": "ktime: Get rid of ktime_equal()\n\nNo point in going through loops and hoops instead of just comparing the\nvalues.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "8b0e195314fabd58a331c4f7b6db75a1565535d7",
      "tree": "6ff9d2d9388406b8447b09b6a4037795142172de",
      "parents": [
        "2456e855354415bfaeb7badaa14e11b3e02c8466"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 12:30:41 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 17:21:22 2016 +0100"
      },
      "message": "ktime: Cleanup ktime_set() usage\n\nktime_set(S,N) was required for the timespec storage type and is still\nuseful for situations where a Seconds and Nanoseconds part of a time value\nneeds to be converted. For anything where the Seconds argument is 0, this\nis pointless and can be replaced with a simple assignment.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "2456e855354415bfaeb7badaa14e11b3e02c8466",
      "tree": "6fc81500645174c246c3fdb568cba32aa01960c6",
      "parents": [
        "a5a1d1c2914b5316924c7893eb683a5420ebd3be"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 11:38:40 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 17:21:22 2016 +0100"
      },
      "message": "ktime: Get rid of the union\n\nktime is a union because the initial implementation stored the time in\nscalar nanoseconds on 64 bit machine and in a endianess optimized timespec\nvariant for 32bit machines. The Y2038 cleanup removed the timespec variant\nand switched everything to scalar nanoseconds. The union remained, but\nbecome completely pointless.\n\nGet rid of the union and just keep ktime_t as simple typedef of type s64.\n\nThe conversion was done with coccinelle and some manual mopping up.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "a5a1d1c2914b5316924c7893eb683a5420ebd3be",
      "tree": "9078b8a179031e7e8b320e1c69f182cc285e7b5d",
      "parents": [
        "7c0f6ba682b9c7632072ffbedf8d328c8f3c42ba"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 21 20:32:01 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 11:04:12 2016 +0100"
      },
      "message": "clocksource: Use a plain u64 instead of cycle_t\n\nThere is no point in having an extra type for extra confusion. u64 is\nunambiguous.\n\nConversion was done with the following coccinelle script:\n\n@rem@\n@@\n-typedef u64 cycle_t;\n\n@fix@\ntypedef cycle_t;\n@@\n-cycle_t\n+u64\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "008b69e4d52f2cbee3ed0d0502edd78155000b1a",
      "tree": "13999bb6068247de2254d20fb9fcd541362c8602",
      "parents": [
        "6896bcd198df04777820cab4acc70142e87d5ce0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 21 20:19:57 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:44 2016 +0100"
      },
      "message": "irqchip/armada-xp: Consolidate hotplug state space\n\nThe mpic is either the main interrupt controller or is cascaded behind a\nGIC. The mpic is single instance and the modes are mutually exclusive, so\nthere is no reason to have seperate cpu hotplug states.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nLink: http://lkml.kernel.org/r/20161221192112.333161745@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "6896bcd198df04777820cab4acc70142e87d5ce0",
      "tree": "9d23bb6b094b19b3f32ced94f633e1222e665254",
      "parents": [
        "36e5b0e39194b09a10f19697fb9ea4ccc44eb166"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 21 20:19:56 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:44 2016 +0100"
      },
      "message": "irqchip/gic: Consolidate hotplug state space\n\nEven if both drivers are compiled in only one instance can run on a given\nsystem depending on the available GIC version.\n\nSo having seperate hotplug states for them is pointless.\n\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20161221192112.252416267@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "36e5b0e39194b09a10f19697fb9ea4ccc44eb166",
      "tree": "7ef2ec19df53cb38edf1e82b2036995218e0b419",
      "parents": [
        "73c1b41e63f040e92669e61a02c7893933bfe743"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 21 20:19:55 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:44 2016 +0100"
      },
      "message": "coresight/etm3/4x: Consolidate hotplug state space\n\nEven if both drivers are compiled in only one instance can run on a given\nsystem depending on the available tracer cell.\n\nSo having seperate hotplug states for them is pointless.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Mathieu Poirier \u003cmathieu.poirier@linaro.org\u003e\nLink: http://lkml.kernel.org/r/20161221192112.162765484@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "73c1b41e63f040e92669e61a02c7893933bfe743",
      "tree": "cde9545d0866b1c0df3abf5b53b6e78a7b22e083",
      "parents": [
        "530e9b76ae8f863dfdef4a6ad0b38613d32e8c3f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 21 20:19:54 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:44 2016 +0100"
      },
      "message": "cpu/hotplug: Cleanup state names\n\nWhen the state names got added a script was used to add the extra argument\nto the calls. The script basically converted the state constant to a\nstring, but the cleanup to convert these strings into meaningful ones did\nnot happen.\n\nReplace all the useless strings with \u0027subsys/xxx/yyy:state\u0027 strings which\nare used in all the other places already.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20161221192112.085444152@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "530e9b76ae8f863dfdef4a6ad0b38613d32e8c3f",
      "tree": "3f8da3a319b88466effa991910c568d038ecfa4b",
      "parents": [
        "7b737965b33188bd3dbb44e938535c4006d97fbb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 21 20:19:53 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:43 2016 +0100"
      },
      "message": "cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions\n\nhotcpu_notifier(), cpu_notifier(), __hotcpu_notifier(), __cpu_notifier(),\nregister_hotcpu_notifier(), register_cpu_notifier(),\n__register_hotcpu_notifier(), __register_cpu_notifier(),\nunregister_hotcpu_notifier(), unregister_cpu_notifier(),\n__unregister_hotcpu_notifier(), __unregister_cpu_notifier()\n\nare unused now. Remove them and all related code.\n\nRemove also the now pointless cpu notifier error injection mechanism. The\nstates can be executed step by step and error rollback is the same as cpu\ndown, so any state transition can be tested w/o requiring the notifier\nerror injection.\n\nSome CPU hotplug states are kept as they are (ab)used for hotplug state\ntracking.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: rt@linutronix.de\nLink: http://lkml.kernel.org/r/20161221192112.005642358@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "7b737965b33188bd3dbb44e938535c4006d97fbb",
      "tree": "bdac8e4ce520c971f6adf879099c8378329a40a2",
      "parents": [
        "e210faa2359f92eb2e417cd8462eb980a4dbb172"
      ],
      "author": {
        "name": "Anna-Maria Gleixner",
        "email": "anna-maria@linutronix.de",
        "time": "Wed Dec 21 20:19:52 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:43 2016 +0100"
      },
      "message": "staging/lustre/libcfs: Convert to hotplug state machine\n\nInstall the callbacks via the state machine. No functional change.\n\nSigned-off-by: Anna-Maria Gleixner \u003canna-maria@linutronix.de\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: devel@driverdev.osuosl.org\nCc: Andreas Dilger \u003candreas.dilger@intel.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Oleg Drokin \u003coleg.drokin@intel.com\u003e\nCc: rt@linutronix.de\nCc: lustre-devel@lists.lustre.org\nLink: http://lkml.kernel.org/r/20161202110027.htzzeervzkoc4muv@linutronix.de\nLink: http://lkml.kernel.org/r/20161221192111.922872524@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "e210faa2359f92eb2e417cd8462eb980a4dbb172",
      "tree": "fe640deb68b57db1594eb0ec13bdaf051b8f867d",
      "parents": [
        "c53b005dd64bdcf5acac00bd55ecf94dda22dc4f"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Dec 21 20:19:51 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:43 2016 +0100"
      },
      "message": "scsi/bnx2i: Convert to hotplug state machine\n\nInstall the callbacks via the state machine. No functional change.\n\nThis is the minimal fixup so we can remove the hotplug notifier mess\ncompletely.\n\nThe real rework of this driver to use work queues is still stuck in\nreview/testing on the SCSI mailing list.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@linux.vnet.ibm.com\u003e\nCc: linux-scsi@vger.kernel.org\nCc: \"Martin K. Petersen\" \u003cmartin.petersen@oracle.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Chad Dupuis \u003cchad.dupuis@qlogic.com\u003e\nCc: QLogic-Storage-Upstream@qlogic.com\nCc: Johannes Thumshirn \u003cjth@kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nLink: http://lkml.kernel.org/r/20161221192111.836895753@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "c53b005dd64bdcf5acac00bd55ecf94dda22dc4f",
      "tree": "0625d6e42c1011e1455ccaa03067d92e73972ebe",
      "parents": [
        "dc280d93623927570da279e99393879dbbab39e7"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Dec 21 20:19:50 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:42 2016 +0100"
      },
      "message": "scsi/bnx2fc: Convert to hotplug state machine\n\nInstall the callbacks via the state machine. No functional change.\n\nThis is the minimal fixup so we can remove the hotplug notifier mess\ncompletely.\n\nThe real rework of this driver to use work queues is still stuck in\nreview/testing on the SCSI mailing list.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@linux.vnet.ibm.com\u003e\nCc: linux-scsi@vger.kernel.org\nCc: \"Martin K. Petersen\" \u003cmartin.petersen@oracle.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Chad Dupuis \u003cchad.dupuis@qlogic.com\u003e\nCc: QLogic-Storage-Upstream@qlogic.com\nCc: Johannes Thumshirn \u003cjth@kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nLink: http://lkml.kernel.org/r/20161221192111.757309869@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "dc280d93623927570da279e99393879dbbab39e7",
      "tree": "61223479925f5c46c38a7e0419e8e0058c39c84f",
      "parents": [
        "59fefd0890f12716b39de1d4e5482fd739316262"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 21 20:19:49 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:42 2016 +0100"
      },
      "message": "cpu/hotplug: Prevent overwriting of callbacks\n\nDevelopers manage to overwrite states blindly without thought. That\u0027s fatal\nand hard to debug. Add sanity checks to make it fail.\n\nThis requries to restructure the code so that the dynamic state allocation\nhappens in the same lock protected section as the actual store. Otherwise\nthe previous assignment of \u0027Reserved\u0027 to the name field would trigger the\noverwrite check.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20161221192111.675234535@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "59fefd0890f12716b39de1d4e5482fd739316262",
      "tree": "fa3707ffd6c5caae7395b8233479175e42af60b4",
      "parents": [
        "26242b330093fd14c2e94fb6cbdf0f482ab26576"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 22 10:32:38 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:41 2016 +0100"
      },
      "message": "x86/msr: Remove bogus cleanup from the error path\n\nThe error cleanup which is invoked when the hotplug state setup failed\ntries to remove the failed state, which is broken.\n\nFixes: 8fba38c937cd (\"x86/msr: Convert to hotplug state machine\")\nReported-by: kernel test robot \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\n"
    },
    {
      "commit": "26242b330093fd14c2e94fb6cbdf0f482ab26576",
      "tree": "f21e73b34c9f07a1b078eb6c55f27f1f2630fde9",
      "parents": [
        "834fcd298003c10ce450e66960c78893cb1cc4b5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 22 11:14:06 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:40 2016 +0100"
      },
      "message": "bus: arm-ccn: Prevent hotplug callback leak\n\nIn case the driver registration fails, the hotplug callback is leaked.\n\nNot fatal, because it\u0027s never invoked as there are no instances registered,\nbut wrong nevertheless.\n\nFixes: fdc15a36d84e (\"bus/arm-ccn: Convert to hotplug statemachine\")\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Mark Rutland \u003cmark.rutland@arm.com\u003e\nCc: Pawel Moll \u003cpawel.moll@arm.com\u003e\nCc: Suzuki K Poulose \u003csuzuki.poulose@arm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "834fcd298003c10ce450e66960c78893cb1cc4b5",
      "tree": "dff2a6b96422f400423424f3d2f9f2d878f8a1dc",
      "parents": [
        "a051f220d6b9bf9367695e2c319ccc3712b631ee"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 22 11:02:08 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:40 2016 +0100"
      },
      "message": "perf/x86/intel/cstate: Prevent hotplug callback leak\n\nIf the pmu registration fails the registered hotplug callbacks are not\nremoved. Wrong in any case, but fatal in case of a modular driver.\n\nReplace the nonsensical state names with proper ones while at it.\n\nFixes: 77c34ef1c319 (\"perf/x86/intel/cstate: Convert Intel CSTATE to hotplug state machine\")\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "a051f220d6b9bf9367695e2c319ccc3712b631ee",
      "tree": "61e7b4fe65aa4acbb088a528fc8d8abf98a4701c",
      "parents": [
        "a98d1a0ca6d3fd6197f18749972d4cc21195b724"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 21 20:19:48 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:40 2016 +0100"
      },
      "message": "ARM/imx/mmcd: Fix broken cpu hotplug handling\n\nThe cpu hotplug support of this perf driver is broken in several ways:\n\n1) It adds a instance before setting up the state.\n\n2) The state for the instance is different from the state of the\n   callback. It\u0027s just a randomly chosen state.\n\n3) The instance registration is not error checked so nobody noticed that\n   the call can never succeed.\n\n4) The state for the multi install callbacks is chosen randomly and\n   overwrites existing state. This is now prevented by the core code so the\n   call is guaranteed to fail.\n\n5) The error exit path in the init function leaves the instance registered\n   and then frees the memory which contains the enqueued hlist node.\n\n6) The remove function is removing the state and not the instance.\n\nFix it by:\n\n- Setting up the state before adding instances. Use a dynamically allocated\n  state for it.\n\n- Installing instances after the state has been set up\n\n- Removing the instance in the error path before freeing memory\n\n- Removing the instance not the state in the driver remove callback\n\nWhile at is use raw_cpu_processor_id(), because cpu_processor_id() cannot\nbe used in preemptible context, and set the driver data after successful\nregistration of the pmu.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Shawn Guo \u003cshawnguo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Frank Li \u003cfrank.li@nxp.com\u003e\nCc: Zhengyu Shen \u003czhengyu.shen@nxp.com\u003e\nLink: http://lkml.kernel.org/r/20161221192111.596204211@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "a98d1a0ca6d3fd6197f18749972d4cc21195b724",
      "tree": "507e4dda708730edcec87ac4f76c5e969288d8ec",
      "parents": [
        "6ac3bb167fed0b3d02b4fd3daa0d819841d5f6f4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Dec 24 12:34:02 2016 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 25 10:47:18 2016 +0100"
      },
      "message": "scsi: qedi: Convert to hotplug state machine\n\nThe CPU hotplug code is a trainwreck. It leaks a notifier in case of driver\nregistration error and the per cpu loop is racy against cpu hotplug. Aside\nof that the driver should have been written and merged with the new state\nmachine interfaces in the first place.\n\nMop up the mess and Convert it to the hotplug state machine.\n\nSigned-off-by: Thomas Grumpy Gleixner \u003ctglx@linutronix.de\u003e\nCc: Nilesh Javali \u003cnilesh.javali@cavium.com\u003e\nCc: Adheer Chandravanshi \u003cadheer.chandravanshi@qlogic.com\u003e\nCc: Chad Dupuis \u003cchad.dupuis@cavium.com\u003e\nCc: Saurav Kashyap \u003csaurav.kashyap@cavium.com\u003e\nCc: Arun Easi \u003carun.easi@cavium.com\u003e\nCc: Manish Rangankar \u003cmanish.rangankar@cavium.com\u003e\nCc: Johannes Thumshirn \u003cjthumshirn@suse.de\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n\n"
    },
    {
      "commit": "6886fee4d7a3afaf905a8e0bec62dc8fdc39878d",
      "tree": "43720881584539a4471f557163b96c50940f8573",
      "parents": [
        "388e9c8134be6bbc3751ba7072f5fa9bc8ecbe01"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Dec 24 15:18:37 2016 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Dec 24 15:38:09 2016 -0500"
      },
      "message": "tools/power turbostat: remove obsolete -M, -m, -C, -c options\n\nThe new --add option has replaced the -M, -m, -C, -c options\nEg.\n\n-M 0x10 is now --add msr0x10,raw\n-m 0x10 is now --add msr0x10,raw,u32\n-C 0x10 is now --add msr0x10,delta\n-c 0x10 is now --add msr0x10,delta,u32\n\nThe --add option can be repeated to add any number of counters,\nwhile the previous options were limited to adding one of each type.\n\nIn addition, the --add option can accept a column label,\nand can also display a counter as a percentage of elapsed cycles.\n\nEg. --add msr0x3fe,core,percent,MY_CC3\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "388e9c8134be6bbc3751ba7072f5fa9bc8ecbe01",
      "tree": "e43e0ee0818f20e82785fdcc659f2c4d776b02fc",
      "parents": [
        "7268d407ad4c49fbd521fb2e2f675a447bfef472"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Dec 22 23:57:55 2016 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Dec 24 15:16:10 2016 -0500"
      },
      "message": "tools/power turbostat: Make extensible via the --add parameter\n\nCreate the \"--add\" parameter.  This can be used to teach an existing\nturbostat binary about any number of any type of counter.\n\nturbostat(8) details the syntax for --add.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7c0f6ba682b9c7632072ffbedf8d328c8f3c42ba",
      "tree": "0a6e858d2c9e6e8cd7da1d4268972071fbeb77ca",
      "parents": [
        "1dd5c6b15372c7c127c509afa9a816bad5feed3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 11:46:01 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 11:46:01 2016 -0800"
      },
      "message": "Replace \u003casm/uaccess.h\u003e with \u003clinux/uaccess.h\u003e globally\n\nThis was entirely automated, using the script by Al:\n\n  PATT\u003d\u0027^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*\u003casm/uaccess.h\u003e\u0027\n  sed -i -e \"s!$PATT!#include \u003clinux/uaccess.h\u003e!\" \\\n        $(git grep -l \"$PATT\"|grep -v ^include/linux/uaccess.h)\n\nto do the replacement at the end of the merge window.\n\nRequested-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dd5c6b15372c7c127c509afa9a816bad5feed3b",
      "tree": "163e4e43d4e8f8fdfb70cc14379e01b5b09b40af",
      "parents": [
        "3a77fa854477a12fc543a69d00ff8a42adefc586",
        "374402a2a1dfbbee8ab1a5a32ec4887bf8c15d52"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 11:37:18 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 11:37:18 2016 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.samba.org/sfrench/cifs-2.6\n\nPull cifs fixes from Steve French:\n \"This ncludes various cifs/smb3 bug fixes, mostly for stable as well.\n\n  In the next week I expect that Germano will have some reconnection\n  fixes, and also I expect to have the remaining pieces of the snapshot\n  enablement and SMB3 ACLs, but wanted to get this set of bug fixes in\"\n\n* \u0027for-next\u0027 of git://git.samba.org/sfrench/cifs-2.6:\n  cifs_get_root shouldn\u0027t use path with tree name\n  Fix default behaviour for empty domains and add domainauto option\n  cifs: use %16phN for formatting md5 sum\n  cifs: Fix smbencrypt() to stop pointing a scatterlist at the stack\n  CIFS: Fix a possible double locking of mutex during reconnect\n  CIFS: Fix a possible memory corruption during reconnect\n  CIFS: Fix a possible memory corruption in push locks\n  CIFS: Fix missing nls unload in smb2_reconnect()\n  CIFS: Decrease verbosity of ioctl call\n  SMB3: parsing for new snapshot timestamp mount parm\n"
    },
    {
      "commit": "3a77fa854477a12fc543a69d00ff8a42adefc586",
      "tree": "2902fe8b833cb64f9a5eb5e1276e9dcc6426c123",
      "parents": [
        "01e0d6037de687fd3bb8b45ab1376e8322c1fcc9",
        "067161281f428aa7c6e153e06aab7b5fe1ed1e98"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 11:27:45 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 11:27:45 2016 -0800"
      },
      "message": "Merge tag \u0027watchdog-for-linus-v4.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging\n\nPull watchdog updates from Wim Van Sebroeck and Guenter Roeck:\n\n - new driver for Add Loongson1 SoC\n\n - minor cleanup and fixes in various drivers\n\n* tag \u0027watchdog-for-linus-v4.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:\n  watchdog: it87_wdt: add IT8620E ID\n  watchdog: mpc8xxx: Remove unneeded linux/miscdevice.h include\n  watchdog: octeon: Remove unneeded linux/miscdevice.h include\n  watchdog: bcm2835_wdt: set WDOG_HW_RUNNING bit when appropriate\n  watchdog: loongson1: Add Loongson1 SoC watchdog driver\n  watchdog: cpwd: remove memory allocate failure message\n  watchdog: da9062/61: watchdog driver\n  intel-mid_wdt: Error code is just an integer\n  intel-mid_wdt: make sure watchdog is not running at startup\n  watchdog: mei_wdt: request stop on reboot to prevent false positive event\n  watchdog: hpwdt: changed maintainer information\n  watchdog: jz4740: Fix modular build\n  watchdog: qcom: fix kernel panic due to external abort on non-linefetch\n  watchdog: davinci: add support for deferred probing\n  watchdog: meson: Remove unneeded platform MODULE_ALIAS\n  watchdog: Standardize leading tabs and spaces in Kconfig file\n  watchdog: max77620_wdt: fix module autoload\n  watchdog: bcm7038_wdt: fix module autoload\n"
    },
    {
      "commit": "01e0d6037de687fd3bb8b45ab1376e8322c1fcc9",
      "tree": "6f79023e4723f9393071b81a9086a055fc1a0190",
      "parents": [
        "6ac3bb167fed0b3d02b4fd3daa0d819841d5f6f4",
        "dfb7d24c5ad5c986f2417f52784738b67cfedd4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 11:23:24 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 11:23:24 2016 -0800"
      },
      "message": "Merge tag \u0027ntb-4.10\u0027 of git://github.com/jonmason/ntb\n\nPull NTB update from Jon Mason:\n\n - NTB bug fixes for removing an unnecessary call to ntb_peer_spad_read,\n   and correcting a free_irq inconsistency\n\n - add Intel SKX support\n\n - change the AMD NTB maintainer, and fix some bugs present there\n\n* tag \u0027ntb-4.10\u0027 of git://github.com/jonmason/ntb:\n  ntb_transport: Remove unnecessary call to ntb_peer_spad_read\n  NTB: Fix \u0027request_irq()\u0027 and \u0027free_irq()\u0027 inconsistancy\n  ntb: fix SKX NTB config space size register offsets\n  NTB: correct ntb_peer_spad_read for case when callback is not supplied.\n  MAINTAINERS: Change in maintainer for AMD NTB\n  ntb_transport: Limit memory windows based on available, scratchpads\n  NTB: Register and offset values fix for memory window\n  NTB: add support for hotplug feature\n  ntb: Adding Skylake Xeon NTB support\n"
    },
    {
      "commit": "6ac3bb167fed0b3d02b4fd3daa0d819841d5f6f4",
      "tree": "49f73d917f1cd7d848e9a48c9efffea8ab2f7142",
      "parents": [
        "eb3e8d9de28a5385f75e5c42eba5fb5b0c7625be",
        "c280f7736ab26a601932b1ce017a3840dbedcfdc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 16:54:46 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 16:54:46 2016 -0800"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 fixes from Ingo Molnar:\n \"There\u0027s a number of fixes:\n\n   - a round of fixes for CPUID-less legacy CPUs\n   - a number of microcode loader fixes\n   - i8042 detection robustization fixes\n   - stack dump/unwinder fixes\n   - x86 SoC platform driver fixes\n   - a GCC 7 warning fix\n   - virtualization related fixes\"\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  Revert \"x86/unwind: Detect bad stack return address\"\n  x86/paravirt: Mark unused patch_default label\n  x86/microcode/AMD: Reload proper initrd start address\n  x86/platform/intel/quark: Add printf attribute to imr_self_test_result()\n  x86/platform/intel-mid: Switch MPU3050 driver to IIO\n  x86/alternatives: Do not use sync_core() to serialize I$\n  x86/topology: Document cpu_llc_id\n  x86/hyperv: Handle unknown NMIs on one CPU when unknown_nmi_panic\n  x86/asm: Rewrite sync_core() to use IRET-to-self\n  x86/microcode/intel: Replace sync_core() with native_cpuid()\n  Revert \"x86/boot: Fail the boot if !M486 and CPUID is missing\"\n  x86/asm/32: Make sync_core() handle missing CPUID on all 32-bit kernels\n  x86/cpu: Probe CPUID leaf 6 even when cpuid_level \u003d\u003d 6\n  x86/tools: Fix gcc-7 warning in relocs.c\n  x86/unwind: Dump stack data on warnings\n  x86/unwind: Adjust last frame check for aligned function stacks\n  x86/init: Fix a couple of comment typos\n  x86/init: Remove i8042_detect() from platform ops\n  Input: i8042 - Trust firmware a bit more when probing on X86\n  x86/init: Add i8042 state to the platform data\n  ...\n"
    },
    {
      "commit": "eb3e8d9de28a5385f75e5c42eba5fb5b0c7625be",
      "tree": "9e4aed5c28a6912f143029366401f9b94798f15f",
      "parents": [
        "00198dab3b825ab264424a052beea5acb859754f",
        "c9435f35ae64ee162555a82b6a3586b160093957"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 16:51:16 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 16:51:16 2016 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fix from Ingo Molnar:\n \"ARM/MOXA SoC clocksource driver fixes\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  clocksource/drivers/moxart: Plug memory and mapping leaks\n"
    },
    {
      "commit": "00198dab3b825ab264424a052beea5acb859754f",
      "tree": "1afa5fc96a0447bc8049a9992e5d4d047f5f0b38",
      "parents": [
        "9004fda59577d439564d44d6d1db52d262fe3f99",
        "3705b97505bcbf6440f38119c0e7d6058f585b54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 16:49:12 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 16:49:12 2016 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"On the kernel side there\u0027s two x86 PMU driver fixes and a uprobes fix,\n  plus on the tooling side there\u0027s a number of fixes and some late\n  updates\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)\n  perf sched timehist: Fix invalid period calculation\n  perf sched timehist: Remove hardcoded \u0027comm_width\u0027 check at print_summary\n  perf sched timehist: Enlarge default \u0027comm_width\u0027\n  perf sched timehist: Honour \u0027comm_width\u0027 when aligning the headers\n  perf/x86: Fix overlap counter scheduling bug\n  perf/x86/pebs: Fix handling of PEBS buffer overflows\n  samples/bpf: Move open_raw_sock to separate header\n  samples/bpf: Remove perf_event_open() declaration\n  samples/bpf: Be consistent with bpf_load_program bpf_insn parameter\n  tools lib bpf: Add bpf_prog_{attach,detach}\n  samples/bpf: Switch over to libbpf\n  perf diff: Do not overwrite valid build id\n  perf annotate: Don\u0027t throw error for zero length symbols\n  perf bench futex: Fix lock-pi help string\n  perf trace: Check if MAP_32BIT is defined (again)\n  samples/bpf: Make perf_event_read() static\n  uprobes: Fix uprobes on MIPS, allow for a cache flush after ixol breakpoint creation\n  samples/bpf: Make samples more libbpf-centric\n  tools lib bpf: Add flags to bpf_create_map()\n  tools lib bpf: use __u32 from linux/types.h\n  ...\n"
    },
    {
      "commit": "9004fda59577d439564d44d6d1db52d262fe3f99",
      "tree": "328e5f5a60a6745fd9d8a7830f4fae4ddf4e0d37",
      "parents": [
        "50b17cfb1917b207612327d354e9043dbcbde431",
        "f357563f958df06cd9ea9e614cdba30578bb08b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 16:47:25 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 16:47:25 2016 -0800"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq fix from Ingo Molnar:\n \"A build warning fix with certain .config\u0027s\"\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  irqchip/st: Mark st_irq_syscfg_resume() __maybe_unused\n"
    },
    {
      "commit": "eb9def61be7197669cab51f43789b53aa7a69509",
      "tree": "848c3bcb653e0b5ccc7a845228b87b6bb770ee9f",
      "parents": [
        "693c56491fb720087437a635e6eaf440659b922f"
      ],
      "author": {
        "name": "Tariq Toukan",
        "email": "tariqt@mellanox.com",
        "time": "Thu Dec 22 14:32:58 2016 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:53:47 2016 -0500"
      },
      "message": "net/mlx4_en: Fix user prio field in XDP forward\n\nThe user prio field is wrong (and overflows) in the XDP forward\nflow.\nThis is a result of a bad value for num_tx_rings_p_up, which should\naccount all XDP TX rings, as they operate for the same user prio.\n\nSigned-off-by: Tariq Toukan \u003ctariqt@mellanox.com\u003e\nReported-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "693c56491fb720087437a635e6eaf440659b922f",
      "tree": "2889cdc6f954142ec0f054d435cf2dd5c2250b3d",
      "parents": [
        "e252536068efd1578c6e23e7323527c5e6e980bd"
      ],
      "author": {
        "name": "Jon Paul Maloy",
        "email": "jon.maloy@ericsson.com",
        "time": "Thu Dec 22 07:22:29 2016 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:53:47 2016 -0500"
      },
      "message": "tipc: don\u0027t send FIN message from connectionless socket\n\nIn commit 6f00089c7372 (\"tipc: remove SS_DISCONNECTING state\") the\ncheck for socket type is in the wrong place, causing a closing socket\nto always send out a FIN message even when the socket was never\nconnected. This is normally harmless, since the destination node for\nsuch messages most often is zero, and the message will be dropped, but\nit is still a wrong and confusing behavior.\n\nWe fix this in this commit.\n\nReviewed-by: Parthasarathy Bhuvaragan \u003cparthasarathy.bhuvaragan@ericsson.com\u003e\nSigned-off-by: Jon Maloy \u003cjon.maloy@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e252536068efd1578c6e23e7323527c5e6e980bd",
      "tree": "9ce475c5704e5fd34e5dac3afdb40b9da07e1b81",
      "parents": [
        "b1227d019fa98c43381ad8827baf7efbe2923ed1"
      ],
      "author": {
        "name": "Mahesh Bandewar",
        "email": "maheshb@google.com",
        "time": "Wed Dec 21 17:30:16 2016 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:53:47 2016 -0500"
      },
      "message": "ipvlan: fix multicast processing\n\nIn an IPvlan setup when master is set in loopback mode e.g.\n\n  ethtool -K eth0 set loopback on\n\n  where eth0 is master device for IPvlan setup.\n\nThe failure is caused by the faulty logic that determines if the\npacket is from TX-path vs. RX-path by just looking at the mac-\naddresses on the packet while processing multicast packets.\n\nIn the loopback-mode where this crash was happening, the packets\nthat are sent out are reflected by the NIC and are processed on\nthe RX path, but mac-address check tricks into thinking this\npacket is from TX path and falsely uses dev_forward_skb() to pass\npackets to the slave (virtual) devices.\n\nThis patch records the path while queueing packets and eliminates\nlogic of looking at mac-addresses for the same decision.\n\n------------[ cut here ]------------\nkernel BUG at include/linux/skbuff.h:1737!\nCall Trace:\n [\u003cffffffff921fbbc2\u003e] dev_forward_skb+0x92/0xd0\n [\u003cffffffffc031ac65\u003e] ipvlan_process_multicast+0x395/0x4c0 [ipvlan]\n [\u003cffffffffc031a9a7\u003e] ? ipvlan_process_multicast+0xd7/0x4c0 [ipvlan]\n [\u003cffffffff91cdfea7\u003e] ? process_one_work+0x147/0x660\n [\u003cffffffff91cdff09\u003e] process_one_work+0x1a9/0x660\n [\u003cffffffff91cdfea7\u003e] ? process_one_work+0x147/0x660\n [\u003cffffffff91ce086d\u003e] worker_thread+0x11d/0x360\n [\u003cffffffff91ce0750\u003e] ? rescuer_thread+0x350/0x350\n [\u003cffffffff91ce960b\u003e] kthread+0xdb/0xe0\n [\u003cffffffff91c05c70\u003e] ? _raw_spin_unlock_irq+0x30/0x50\n [\u003cffffffff91ce9530\u003e] ? flush_kthread_worker+0xc0/0xc0\n [\u003cffffffff92348b7a\u003e] ret_from_fork+0x9a/0xd0\n [\u003cffffffff91ce9530\u003e] ? flush_kthread_worker+0xc0/0xc0\n\nFixes: ba35f8588f47 (\"ipvlan: Defer multicast / broadcast processing to a work-queue\")\nSigned-off-by: Mahesh Bandewar \u003cmaheshb@google.com\u003e\nCC: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1227d019fa98c43381ad8827baf7efbe2923ed1",
      "tree": "576fad624349c35feded5a554103bf1c4cf5a68e",
      "parents": [
        "50b17cfb1917b207612327d354e9043dbcbde431"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Dec 21 18:00:24 2016 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:53:47 2016 -0500"
      },
      "message": "ipvlan: fix various issues in ipvlan_process_multicast()\n\n1) netif_rx() / dev_forward_skb() should not be called from process\ncontext.\n\n2) ipvlan_count_rx() should be called with preemption disabled.\n\n3) We should check if ipvlan-\u003edev is up before feeding packets\nto netif_rx()\n\n4) We need to prevent device from disappearing if some packets\nare in the multicast backlog.\n\n5) One kfree_skb() should be a consume_skb() eventually\n\nFixes: ba35f8588f47 (\"ipvlan: Defer multicast / broadcast processing to\na work-queue\")\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Mahesh Bandewar \u003cmaheshb@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dfb7d24c5ad5c986f2417f52784738b67cfedd4d",
      "tree": "2782075b46291f9c209a5f93e53c0e55842d46b2",
      "parents": [
        "28734e8f69395de4c2aea50fcb74d87720e8537b"
      ],
      "author": {
        "name": "Steve Wahl",
        "email": "Steve.Wahl@dell.com",
        "time": "Wed Dec 21 11:45:22 2016 -0500"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:11:07 2016 -0500"
      },
      "message": "ntb_transport: Remove unnecessary call to ntb_peer_spad_read\n\nThe results were previously ignored, anyway.\n\nSigned-off-by: Steve Wahl \u003cSteve.Wahl@dell.com\u003e\nFixes: e26a5843f7f5014ae4460030ca4de029a3ac35d3\nAcked-by: Allen Hubbe \u003cAllen.Hubbe@dell.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "28734e8f69395de4c2aea50fcb74d87720e8537b",
      "tree": "aa670cdfd9d1b9909eef2050938c68691c6b152e",
      "parents": [
        "09e71a6f13445974fe9b70b6d4b68ac362cd68b6"
      ],
      "author": {
        "name": "Christophe JAILLET",
        "email": "christophe.jaillet@wanadoo.fr",
        "time": "Mon Dec 19 06:52:55 2016 +0100"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:11:03 2016 -0500"
      },
      "message": "NTB: Fix \u0027request_irq()\u0027 and \u0027free_irq()\u0027 inconsistancy\n\n\u0027request_irq()\u0027 and \u0027free_irq()\u0027 should have the same \u0027dev_id\u0027.\n\nSigned-off-by: Christophe JAILLET \u003cchristophe.jaillet@wanadoo.fr\u003e\nAcked-by: Dave Jiang \u003cdave.jiang@intel.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "09e71a6f13445974fe9b70b6d4b68ac362cd68b6",
      "tree": "dbfc1fc833d55b8b4ed612ef762c6c338507ebc9",
      "parents": [
        "5c43c52d5fb6163120ae5d9a281c3b757ca6119c"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "dave.jiang@intel.com",
        "time": "Tue Dec 13 09:03:13 2016 -0700"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:10:54 2016 -0500"
      },
      "message": "ntb: fix SKX NTB config space size register offsets\n\nThe offsets for the SZ registers are wrong. Updated.\n\nSigned-off-by: Dave Jiang \u003cdave.jiang@intel.com\u003e\nReported-by: Sandeep Mann \u003csandeep@purestorage.com\u003e\nTested-by: Zachary Ross \u003czacharyx.ross@intel.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "5c43c52d5fb6163120ae5d9a281c3b757ca6119c",
      "tree": "ff751fe1e706990e2cd0b773a54c06ea347c80d0",
      "parents": [
        "bc034e52627a242bcf4343b791cbd263f65cfdcc"
      ],
      "author": {
        "name": "Steven Wahl",
        "email": "Steve_Wahl@Dell.com",
        "time": "Thu Dec 08 17:02:28 2016 +0000"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:10:50 2016 -0500"
      },
      "message": "NTB: correct ntb_peer_spad_read for case when callback is not supplied.\n\nCorrect ntb_peer_spad_read for case when callback is not supplied\n\nSigned-off-by: Steve Wahl \u003cSteve.Wahl@dell.com\u003e\nAcked-by: Allen Hubbe \u003cAllen.Hubbe@dell.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "bc034e52627a242bcf4343b791cbd263f65cfdcc",
      "tree": "6eefb811a7687a1cb51d5a2e9eac0cc313e879e6",
      "parents": [
        "b17faba03fc72091f4d040b879def004316952ec"
      ],
      "author": {
        "name": "Shyam Sundar S K",
        "email": "ssundark@amd.com",
        "time": "Wed Dec 07 22:48:39 2016 +0530"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:10:42 2016 -0500"
      },
      "message": "MAINTAINERS: Change in maintainer for AMD NTB\n\nI would like to take maintainership for AMD NTB\n\nSigned-off-by: Shyam Sundar S K \u003cShyam-sundar.S-k@amd.com\u003e\nSigned-off-by: Xiangliang Yu \u003cXiangliang.Yu@amd.com\u003e\nAcked-by: Xiangliang Yu \u003cXiangliang.Yu@amd.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "b17faba03fc72091f4d040b879def004316952ec",
      "tree": "656172d04639633675a0b2b419083ecf9d675a14",
      "parents": [
        "872deb21038e90903a40ab6a29b9d0652a6ebc8d"
      ],
      "author": {
        "name": "Shyam Sundar S K",
        "email": "ssundark@amd.com",
        "time": "Wed Dec 07 22:37:05 2016 +0530"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:10:35 2016 -0500"
      },
      "message": "ntb_transport: Limit memory windows based on available, scratchpads\n\nWhen the underlying NTB H/W driver advertises more memory windows\nthan the number of scratchpads available to setup MW\u0027s, it is likely\nthat we may end up filling the remaining memory windows with garbage.\nSo to avoid that, lets limit the memory windows that transport driver\ncan setup based on the available scratchpads.\n\nSigned-off-by: Shyam Sundar S K \u003cShyam-sundar.S-k@amd.com\u003e\nAcked-by: Allen Hubbe \u003cAllen.Hubbe@dell.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "872deb21038e90903a40ab6a29b9d0652a6ebc8d",
      "tree": "4c8576514d360ed31fe38026597cd3a0f71dea8e",
      "parents": [
        "e5b0d2d1ba92a8e424e7395537a96e8a373d0267"
      ],
      "author": {
        "name": "Shyam Sundar S K",
        "email": "ssundark@amd.com",
        "time": "Fri Dec 02 00:44:28 2016 +0530"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:09:18 2016 -0500"
      },
      "message": "NTB: Register and offset values fix for memory window\n\nDue to incorrect limit and translation register values, NTB link was\ngoing down when the memory window was setup. Made appropriate changes\nas per spec.\n\nFix limit register values for BAR1, which was overlapping\nwith the BAR23 address.\n\nSigned-off-by: Shyam Sundar S K \u003cShyam-sundar.S-k@amd.com\u003e\nAcked-by: Allen Hubbe \u003cAllen.Hubbe@dell.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "e5b0d2d1ba92a8e424e7395537a96e8a373d0267",
      "tree": "e75e4a9bb67c9310f0314f0eaf697d31e19567e6",
      "parents": [
        "783dfa6cc41b710b8b0c1979c6100417d0d6c3b2"
      ],
      "author": {
        "name": "Xiangliang Yu",
        "email": "Xiangliang.Yu@amd.com",
        "time": "Fri Nov 18 14:51:41 2016 +0530"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:09:15 2016 -0500"
      },
      "message": "NTB: add support for hotplug feature\n\nAMD NTB support hotplug under B2B mode. NTB will trigger link\nup/down interrupt event when doing plug add/remove, this patch\nimplements the two interrupt event to support B2B hotplug function.\n\nSigned-off-by: Xiangliang Yu \u003cXiangliang.Yu@amd.com\u003e\nSigned-off-by: Shyam Sundar S K \u003cShyam-sundar.S-k@amd.com\u003e\nAcked-by: Allen Hubbe \u003cAllen.Hubbe@dell.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "783dfa6cc41b710b8b0c1979c6100417d0d6c3b2",
      "tree": "1beff87add7e3fa7f4cd527a023acb373b23d648",
      "parents": [
        "69973b830859bc6529a7a0468ba0d80ee5117826"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "dave.jiang@intel.com",
        "time": "Wed Nov 16 14:03:38 2016 -0700"
      },
      "committer": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Fri Dec 23 16:09:10 2016 -0500"
      },
      "message": "ntb: Adding Skylake Xeon NTB support\n\nThe Skylake Xeon NTB hardware has made some changes to the register name,\noffset, and the way doorbells work. Adding driver support for the new\nhardware.\n\nSigned-off-by: Dave Jiang \u003cdave.jiang@intel.com\u003e\nAcked-by: Allen Hubbe \u003cAllen.Hubbe@dell.com\u003e\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\n"
    },
    {
      "commit": "c280f7736ab26a601932b1ce017a3840dbedcfdc",
      "tree": "ca07c17a22621acbfec0f03521ba9098de620629",
      "parents": [
        "cef4402d7627f14a08571e7c816b199edf8cc24b"
      ],
      "author": {
        "name": "Josh Poimboeuf",
        "email": "jpoimboe@redhat.com",
        "time": "Thu Dec 22 09:02:49 2016 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Dec 23 20:32:30 2016 +0100"
      },
      "message": "Revert \"x86/unwind: Detect bad stack return address\"\n\nRevert the following commit:\n\n  b6959a362177 (\"x86/unwind: Detect bad stack return address\")\n\n... because Andrey Konovalov reported an unwinder warning:\n\n  WARNING: unrecognized kernel stack return address ffffffffa0000001 at ffff88006377fa18 in a.out:4467\n\nThe unwind was initiated from an interrupt which occurred while running in the\ngenerated code for a kprobe.  The unwinder printed the warning because it\nexpected regs-\u003eip to point to a valid text address, but instead it pointed to\nthe generated code.\n\nEventually we may want come up with a way to identify generated kprobe\ncode so the unwinder can know that it\u0027s a valid return address.  Until\nthen, just remove the warning.\n\nReported-by: Andrey Konovalov \u003candreyknvl@google.com\u003e\nSigned-off-by: Josh Poimboeuf \u003cjpoimboe@redhat.com\u003e\nCc: Andy Lutomirski \u003cluto@kernel.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Brian Gerst \u003cbrgerst@gmail.com\u003e\nCc: Denys Vlasenko \u003cdvlasenk@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Masami Hiramatsu \u003cmhiramat@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/02f296848fbf49fb72dfeea706413ecbd9d4caf6.1482418739.git.jpoimboe@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3705b97505bcbf6440f38119c0e7d6058f585b54",
      "tree": "b8d201504f40df5cbd22e4727e59a03b650e2546",
      "parents": [
        "1134c2b5cb840409ffd966d8c2a9468f64e6a494",
        "bdd75729e5d279d734e8d3fb41ef4818ac1598ab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Dec 23 20:23:29 2016 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Dec 23 20:23:29 2016 +0100"
      },
      "message": "Merge tag \u0027perf-urgent-for-mingo-20161222\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent\n\nPull perf/urgent fixes from Arnaldo Carvalho de Melo:\n\nFixes for \u0027perf sched timehist\u0027: (Namhyung Kim)\n\n - Define a larger initial alignment value for the COMM column and\n   make it be more consistently honoured, for instance in the header.\n\n - Fix invalid period calculation when using the --time option to\n   select a time slice, when events outside that slice were being\n   considered for the per cpu idle stats summary.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "50b17cfb1917b207612327d354e9043dbcbde431",
      "tree": "21d86469cdef37e81ade196eab3192d1889c0d7f",
      "parents": [
        "a307d0a0074c18bcbea5dec368c9f047be9dade3",
        "1636098c46ac52c7fec384fe629144e8e03487b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 11:23:25 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 11:23:25 2016 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) We have to be careful to not try and place a checksum after the end\n    of a rawv6 packet, fix from Dave Jones with help from Hannes\n    Frederic Sowa.\n\n 2) Missing memory barriers in tcp_tasklet_func() lead to crashes, from\n    Eric Dumazet.\n\n 3) Several bug fixes for the new XDP support in virtio_net, from Jason\n    Wang.\n\n 4) Increase headroom in RX skbs in be2net driver to accomodate\n    encapsulations such as geneve. From Kalesh A P.\n\n 5) Fix SKB frag unmapping on TX in mvpp2, from Thomas Petazzoni.\n\n 6) Pre-pulling UDP headers created a regression in RECVORIGDSTADDR\n    socket option support, from Willem de Bruijn.\n\n 7) UID based routing added a potential OOPS in ip_do_redirect() when we\n    see an SKB without a socket attached. We just need it for the\n    network namespace which we can get from skb-\u003edev instead. Fix from\n    Lorenzo Colitti.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (30 commits)\n  sctp: fix recovering from 0 win with small data chunks\n  sctp: do not loose window information if in rwnd_over\n  virtio-net: XDP support for small buffers\n  virtio-net: remove big packet XDP codes\n  virtio-net: forbid XDP when VIRTIO_NET_F_GUEST_UFO is support\n  virtio-net: make rx buf size estimation works for XDP\n  virtio-net: unbreak csumed packets for XDP_PASS\n  virtio-net: correctly handle XDP_PASS for linearized packets\n  virtio-net: fix page miscount during XDP linearizing\n  virtio-net: correctly xmit linearized page on XDP_TX\n  virtio-net: remove the warning before XDP linearizing\n  mlxsw: spectrum_router: Correctly remove nexthop groups\n  mlxsw: spectrum_router: Don\u0027t reflect dead neighs\n  neigh: Send netevent after marking neigh as dead\n  ipv6: handle -EFAULT from skb_copy_bits\n  inet: fix IP(V6)_RECVORIGDSTADDR for udp sockets\n  net/sched: cls_flower: Mandate mask when matching on flags\n  net/sched: act_tunnel_key: Fix setting UDP dst port in metadata under IPv6\n  stmmac: CSR clock configuration fix\n  net: ipv4: Don\u0027t crash if passing a null sk to ip_do_redirect.\n  ...\n"
    },
    {
      "commit": "1636098c46ac52c7fec384fe629144e8e03487b1",
      "tree": "8a7333ff8b9ca28457b8988655404efcfabb873e",
      "parents": [
        "58b94d88deb9ac913740e7778f2005f3ce6d0443"
      ],
      "author": {
        "name": "Marcelo Ricardo Leitner",
        "email": "marcelo.leitner@gmail.com",
        "time": "Fri Dec 23 14:29:37 2016 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 14:01:35 2016 -0500"
      },
      "message": "sctp: fix recovering from 0 win with small data chunks\n\nCurrently if SCTP closes the receive window with window pressure, mostly\ncaused by excessive skb overhead on payload/overheads ratio, SCTP will\nclose the window abruptly while saving the delta on rwnd_press. It will\nstart recovering rwnd as the chunks are consumed by the application and\nthe rwnd_press will be only recovered after rwnd reach the same value as\nof rwnd_press, mostly to prevent silly window syndrome.\n\nThing is, this is very inefficient with small data chunks, as with those\nit will never reach back that value, and thus it will never recover from\nsuch pressure. This means that we will not issue window updates when\nrecovering from 0 window and will rely on a sender retransmit to notice\nit.\n\nThe fix here is to remove such threshold, as no value is good enough: it\ndepends on the (avg) chunk sizes being used.\n\nTest with netperf -t SCTP_STREAM -- -m 1, and trigger 0 window by\nsending SIGSTOP to netserver, sleep 1.2, and SIGCONT.\nRate limited to 845kbps, for visibility. Capture done at netserver side.\n\nPreviously:\n01.500751 IP B.48277 \u003e A.36925: sctp (1) [SACK] [cum ack 632372996] [a_rwnd 99153] [\n01.500752 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632372997] [SID: 0] [SS\n01.517471 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632373010] [SID: 0] [SS\n01.517483 IP B.48277 \u003e A.36925: sctp (1) [SACK] [cum ack 632373009] [a_rwnd 0] [#gap\n01.517485 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632373083] [SID: 0] [SS\n01.517488 IP B.48277 \u003e A.36925: sctp (1) [SACK] [cum ack 632373009] [a_rwnd 0] [#gap\n01.534168 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632373096] [SID: 0] [SS\n01.534180 IP B.48277 \u003e A.36925: sctp (1) [SACK] [cum ack 632373009] [a_rwnd 0] [#gap\n01.534181 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632373169] [SID: 0] [SS\n01.534185 IP B.48277 \u003e A.36925: sctp (1) [SACK] [cum ack 632373009] [a_rwnd 0] [#gap\n02.525978 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632373010] [SID: 0] [SS\n02.526021 IP B.48277 \u003e A.36925: sctp (1) [SACK] [cum ack 632373009] [a_rwnd 0] [#gap\n  (window update missed)\n04.573807 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632373010] [SID: 0] [SS\n04.779370 IP B.48277 \u003e A.36925: sctp (1) [SACK] [cum ack 632373082] [a_rwnd 859] [#g\n04.789162 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632373083] [SID: 0] [SS\n04.789323 IP A.36925 \u003e B.48277: sctp (1) [DATA] (B)(E) [TSN: 632373156] [SID: 0] [SS\n04.789372 IP B.48277 \u003e A.36925: sctp (1) [SACK] [cum ack 632373228] [a_rwnd 786] [#g\n\nAfter:\n02.568957 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098728] [a_rwnd 99153]\n02.568961 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098729] [SID: 0] [S\n02.585631 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098742] [SID: 0] [S\n02.585666 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 0] [#ga\n02.585671 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098815] [SID: 0] [S\n02.585683 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 0] [#ga\n02.602330 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098828] [SID: 0] [S\n02.602359 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 0] [#ga\n02.602363 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098901] [SID: 0] [S\n02.602372 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 0] [#ga\n03.600788 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098742] [SID: 0] [S\n03.600830 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 0] [#ga\n03.619455 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 13508]\n03.619479 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 27017]\n03.619497 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 40526]\n03.619516 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 54035]\n03.619533 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 67544]\n03.619552 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 81053]\n03.619570 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098741] [a_rwnd 94562]\n  (following data transmission triggered by window updates above)\n03.633504 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098742] [SID: 0] [S\n03.836445 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098814] [a_rwnd 100000]\n03.843125 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098815] [SID: 0] [S\n03.843285 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098888] [SID: 0] [S\n03.843345 IP B.50536 \u003e A.55173: sctp (1) [SACK] [cum ack 2490098960] [a_rwnd 99894]\n03.856546 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490098961] [SID: 0] [S\n03.866450 IP A.55173 \u003e B.50536: sctp (1) [DATA] (B)(E) [TSN: 2490099011] [SID: 0] [S\n\nSigned-off-by: Marcelo Ricardo Leitner \u003cmarcelo.leitner@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58b94d88deb9ac913740e7778f2005f3ce6d0443",
      "tree": "83ff0487747e1c8b7bebb11596fe8eb528acdacb",
      "parents": [
        "e57cbe48a6b7a9a05a058aee5336d25407ad1c2c"
      ],
      "author": {
        "name": "Marcelo Ricardo Leitner",
        "email": "marcelo.leitner@gmail.com",
        "time": "Fri Dec 23 14:29:02 2016 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 14:01:35 2016 -0500"
      },
      "message": "sctp: do not loose window information if in rwnd_over\n\nIt\u0027s possible that we receive a packet that is larger than current\nwindow. If it\u0027s the first packet in this way, it will cause it to\nincrease rwnd_over. Then, if we receive another data chunk (specially as\nSCTP allows you to have one data chunk in flight even during 0 window),\nrwnd_over will be overwritten instead of added to.\n\nIn the long run, this could cause the window to grow bigger than its\ninitial size, as rwnd_over would be charged only for the last received\ndata chunk while the code will try open the window for all packets that\nwere received and had its value in rwnd_over overwritten. This, then,\ncan lead to the worsening of payload/buffer ratio and cause rwnd_press\nto kick in more often.\n\nThe fix is to sum it too, same as is done for rwnd_press, so that if we\nreceive 3 chunks after closing the window, we still have to release that\nsame amount before re-opening it.\n\nLog snippet from sctp_test exhibiting the issue:\n[  146.209232] sctp: sctp_assoc_rwnd_decrease: asoc:ffff88013928e000\nrwnd decreased by 1 to (0, 1, 114221)\n[  146.209232] sctp: sctp_assoc_rwnd_decrease:\nassociation:ffff88013928e000 has asoc-\u003erwnd:0, asoc-\u003erwnd_over:1!\n[  146.209232] sctp: sctp_assoc_rwnd_decrease: asoc:ffff88013928e000\nrwnd decreased by 1 to (0, 1, 114221)\n[  146.209232] sctp: sctp_assoc_rwnd_decrease:\nassociation:ffff88013928e000 has asoc-\u003erwnd:0, asoc-\u003erwnd_over:1!\n[  146.209232] sctp: sctp_assoc_rwnd_decrease: asoc:ffff88013928e000\nrwnd decreased by 1 to (0, 1, 114221)\n[  146.209232] sctp: sctp_assoc_rwnd_decrease:\nassociation:ffff88013928e000 has asoc-\u003erwnd:0, asoc-\u003erwnd_over:1!\n[  146.209232] sctp: sctp_assoc_rwnd_decrease: asoc:ffff88013928e000\nrwnd decreased by 1 to (0, 1, 114221)\n\nSigned-off-by: Marcelo Ricardo Leitner \u003cmarcelo.leitner@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a307d0a0074c18bcbea5dec368c9f047be9dade3",
      "tree": "a55e2ebfe213a45f58ec492aadd0c32457015638",
      "parents": [
        "fc26901b12f1deedc351bbe9fd9a018d61485c57",
        "faf0dcebd7b387187f29ff811d47df465ea4c9f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 10:52:43 2016 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 10:52:43 2016 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull final vfs updates from Al Viro:\n \"Assorted cleanups and fixes all over the place\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  sg_write()/bsg_write() is not fit to be called under KERNEL_DS\n  ufs: fix function declaration for ufs_truncate_blocks\n  fs: exec: apply CLOEXEC before changing dumpable task flags\n  seq_file: reset iterator to first record for zero offset\n  vfs: fix isize/pos/len checks for reflink \u0026 dedupe\n  [iov_iter] fix iterate_all_kinds() on empty iterators\n  move aio compat to fs/aio.c\n  reorganize do_make_slave()\n  clone_private_mount() doesn\u0027t need to touch namespace_sem\n  remove a bogus claim about namespace_sem being held by callers of mnt_alloc_id()\n"
    },
    {
      "commit": "e57cbe48a6b7a9a05a058aee5336d25407ad1c2c",
      "tree": "3fb73f7fd7545d53be8ba17d64285fffc4768eed",
      "parents": [
        "d3a51d6cbc8a31bf924be1fe116e461138b1cddc",
        "bb91accf27335c6dc460e202991ca140fa21e1b5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 13:48:56 2016 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 13:48:56 2016 -0500"
      },
      "message": "Merge branch \u0027virtio-net-xdp-fixes\u0027\n\nJason Wang says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nseveral fixups for virtio-net XDP\n\nMerry Xmas and a Happy New year to all:\n\nThis series tries to fixes several issues for virtio-net XDP which\ncould be categorized into several parts:\n\n- fix several issues during XDP linearizing\n- allow csumed packet to work for XDP_PASS\n- make EWMA rxbuf size estimation works for XDP\n- forbid XDP when GUEST_UFO is support\n- remove big packet XDP support\n- add XDP support or small buffer\n\nPlease see individual patches for details.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb91accf27335c6dc460e202991ca140fa21e1b5",
      "tree": "3fb73f7fd7545d53be8ba17d64285fffc4768eed",
      "parents": [
        "c47a43d3004ad6ff2a94a670cb3274cd6338d41e"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Dec 23 22:37:32 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 13:48:56 2016 -0500"
      },
      "message": "virtio-net: XDP support for small buffers\n\nCommit f600b6905015 (\"virtio_net: Add XDP support\") leaves the case of\nsmall receive buffer untouched. This will confuse the user who want to\nset XDP but use small buffers. Other than forbid XDP in small buffer\nmode, let\u0027s make it work. XDP then can only work at skb-\u003edata since\nvirtio-net create skbs during refill, this is sub optimal which could\nbe optimized in the future.\n\nCc: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c47a43d3004ad6ff2a94a670cb3274cd6338d41e",
      "tree": "5c0eb7b398598e3b5d1684c9f3648e00c9924155",
      "parents": [
        "92502fe86c7c9b3f8543f29641a3c71805e82757"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Dec 23 22:37:31 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 13:48:55 2016 -0500"
      },
      "message": "virtio-net: remove big packet XDP codes\n\nNow we in fact don\u0027t allow XDP for big packets, remove its codes.\n\nCc: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92502fe86c7c9b3f8543f29641a3c71805e82757",
      "tree": "bc1fce9b60d284ed0706397cd6dc631a65684453",
      "parents": [
        "5c33474d41af09f09c98f1df70f267920587bec0"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Dec 23 22:37:30 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 13:48:55 2016 -0500"
      },
      "message": "virtio-net: forbid XDP when VIRTIO_NET_F_GUEST_UFO is support\n\nWhen VIRTIO_NET_F_GUEST_UFO is negotiated, host could still send UFO\npacket that exceeds a single page which could not be handled\ncorrectly by XDP. So this patch forbids setting XDP when GUEST_UFO is\nsupported. While at it, forbid XDP for ECN (which comes only from GRO)\ntoo to prevent user from misconfiguration.\n\nCc: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c33474d41af09f09c98f1df70f267920587bec0",
      "tree": "c51daeff71e8a8f1851fd255dc8bb856ee6ac1fd",
      "parents": [
        "b00f70b0dacb3d2e009afce860ebc90219072f5c"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Dec 23 22:37:29 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 13:48:55 2016 -0500"
      },
      "message": "virtio-net: make rx buf size estimation works for XDP\n\nWe don\u0027t update ewma rx buf size in the case of XDP. This will lead\nunderestimation of rx buf size which causes host to produce more than\none buffers. This will greatly increase the possibility of XDP page\nlinearization.\n\nCc: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b00f70b0dacb3d2e009afce860ebc90219072f5c",
      "tree": "75329d0261d2d61d2e391cb4317588503c6f8256",
      "parents": [
        "1830f8935f3b173d229b86e9927b3b6d599aa1f6"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Dec 23 22:37:28 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 13:48:54 2016 -0500"
      },
      "message": "virtio-net: unbreak csumed packets for XDP_PASS\n\nWe drop csumed packet when do XDP for packets. This breaks\nXDP_PASS when GUEST_CSUM is supported. Fix this by allowing csum flag\nto be set. With this patch, simple TCP works for XDP_PASS.\n\nCc: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1830f8935f3b173d229b86e9927b3b6d599aa1f6",
      "tree": "24c26f9855edd7c1ca04942ca4685e3ccd6671d8",
      "parents": [
        "56a86f84b8332afe8c6fcb4b09d09d9bf094e2db"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Dec 23 22:37:27 2016 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 13:48:54 2016 -0500"
      },
      "message": "virtio-net: correctly handle XDP_PASS for linearized packets\n\nWhen XDP_PASS were determined for linearized packets, we try to get\nnew buffers in the virtqueue and build skbs from them. This is wrong,\nwe should create skbs based on existed buffers instead. Fixing them by\ncreating skb based on xdp_page.\n\nWith this patch \"ping 192.168.100.4 -s 3900 -M do\" works for XDP_PASS.\n\nCc: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "56a86f84b8332afe8c6fcb4b09d09d9bf094e2db"
}
