)]}'
{
  "log": [
    {
      "commit": "b29794ec95c6856b316c2295904208bf11ffddd9",
      "tree": "3016cb5e694f1ef5d63e682841e7ec45e91a5d35",
      "parents": [
        "e87f327ecd166e6cf0205e4e9b8003ec535add51",
        "1d3028f4c16487d63861ab6c68451768a7a109df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 06 14:30:17 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 06 14:30:17 2017 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Made TCP congestion control documentation match current reality,\n    from Anmol Sarma.\n\n 2) Various build warning and failure fixes from Arnd Bergmann.\n\n 3) Fix SKB list leak in ipv6_gso_segment().\n\n 4) Use after free in ravb driver, from Eugeniu Rosca.\n\n 5) Don\u0027t use udp_poll() in ping protocol driver, from Eric Dumazet.\n\n 6) Don\u0027t crash in PCI error recovery of cxgb4 driver, from Guilherme\n    Piccoli.\n\n 7) _SRC_NAT_DONE_BIT needs to be cleared using atomics, from Liping\n    Zhang.\n\n 8) Use after free in vxlan deletion, from Mark Bloch.\n\n 9) Fix ordering of NAPI poll enabled in ethoc driver, from Max\n    Filippov.\n\n10) Fix stmmac hangs with TSO, from Niklas Cassel.\n\n11) Fix crash in CALIPSO ipv6, from Richard Haines.\n\n12) Clear nh_flags properly on mpls link up. From Roopa Prabhu.\n\n13) Fix regression in sk_err socket error queue handling, noticed by\n    ping applications. From Soheil Hassas Yeganeh.\n\n14) Update mlx4/mlx5 MAINTAINERS information.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (78 commits)\n  net: stmmac: fix a broken u32 less than zero check\n  net: stmmac: fix completely hung TX when using TSO\n  net: ethoc: enable NAPI before poll may be scheduled\n  net: bridge: fix a null pointer dereference in br_afspec\n  ravb: Fix use-after-free on `ifconfig eth0 down`\n  net/ipv6: Fix CALIPSO causing GPF with datagram support\n  net: stmmac: ensure jumbo_frm error return is correctly checked for -ve value\n  Revert \"sit: reload iphdr in ipip6_rcv\"\n  i40e/i40evf: proper update of the page_offset field\n  i40e: Fix state flags for bit set and clean operations of PF\n  iwlwifi: fix host command memory leaks\n  iwlwifi: fix min API version for 7265D, 3168, 8000 and 8265\n  iwlwifi: mvm: clear new beacon command template struct\n  iwlwifi: mvm: don\u0027t fail when removing a key from an inexisting sta\n  iwlwifi: pcie: only use d0i3 in suspend/resume if system_pm is set to d0i3\n  iwlwifi: mvm: fix firmware debug restart recording\n  iwlwifi: tt: move ucode_loaded check under mutex\n  iwlwifi: mvm: support ibss in dqa mode\n  iwlwifi: mvm: Fix command queue number on d0i3 flow\n  iwlwifi: mvm: rs: start using LQ command color\n  ...\n"
    },
    {
      "commit": "e87f327ecd166e6cf0205e4e9b8003ec535add51",
      "tree": "18a71e829d585717aacf5b6a9aaae50f3f8fd019",
      "parents": [
        "abb2ea7dfd82451d85ce669b811310c05ab5ca46",
        "b3aefc2fbdff2576d0c5aca09b963c40f0299664"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 06 14:28:18 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 06 14:28:18 2017 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\nPull sparc fixes from David Miller:\n\n 1) Fix TLB context wrap races, from Pavel Tatashin.\n\n 2) Cure some gcc-7 build issues.\n\n 3) Handle invalid setup_hugepagesz command line values properly, from\n    Liam R Howlett.\n\n 4) Copy TSB using the correct address shift for the huge TSB, from Mike\n    Kravetz.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc64: delete old wrap code\n  sparc64: new context wrap\n  sparc64: add per-cpu mm of secondary contexts\n  sparc64: redefine first version\n  sparc64: combine activate_mm and switch_mm\n  sparc64: reset mm cpumask after wrap\n  sparc/mm/hugepages: Fix setup_hugepagesz for invalid values.\n  sparc: Machine description indices can vary\n  sparc64: mm: fix copy_tsb to correctly copy huge page TSBs\n  arch/sparc: support NR_CPUS \u003d 4096\n  sparc64: Add __multi3 for gcc 7.x and later.\n  sparc64: Fix build warnings with gcc 7.\n  arch/sparc: increase CONFIG_NODES_SHIFT on SPARC64 to 5\n"
    },
    {
      "commit": "abb2ea7dfd82451d85ce669b811310c05ab5ca46",
      "tree": "3279ee25eaee0d81c6d63beccd276380b8b028c8",
      "parents": [
        "84c6c3035b1de00271362a9550389c605c7d28a0"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jun 06 13:36:24 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 06 14:09:22 2017 -0700"
      },
      "message": "compiler, clang: suppress warning for unused static inline functions\n\nGCC explicitly does not warn for unused static inline functions for\n-Wunused-function.  The manual states:\n\n\tWarn whenever a static function is declared but not defined or\n\ta non-inline static function is unused.\n\nClang does warn for static inline functions that are unused.\n\nIt turns out that suppressing the warnings avoids potentially complex\n#ifdef directives, which also reduces LOC.\n\nSuppress the warning for clang.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3aefc2fbdff2576d0c5aca09b963c40f0299664",
      "tree": "575ba01f32418345f60b1b96718144e4b7c54fc3",
      "parents": [
        "f322980b74a15e08f8c70a34a5864ecdbf957251",
        "0197e41ce70511dc3b71f7fefa1a676e2b5cd60b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:48 2017 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:48 2017 -0700"
      },
      "message": "Merge branch \u0027sparc64-context-wrap-fixes\u0027\n\nPavel Tatashin says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nsparc64: context wrap fixes\n\nThis patch series contains fixes for context wrap: when we are out of\ncontext ids, and need to get a new version.\n\nIt fixes memory corruption issues which happen when more than number of\ncontext ids (currently set to 8K) number of processes are started\nsimultaneously, and processes can get a wrong context.\n\nsparc64: new context wrap:\n- contains explanation of new wrap method, and also explanation of races\n  that it solves\nsparc64: reset mm cpumask after wrap\n- explains issue of not reseting cpu mask on a wrap\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": "0197e41ce70511dc3b71f7fefa1a676e2b5cd60b",
      "tree": "575ba01f32418345f60b1b96718144e4b7c54fc3",
      "parents": [
        "a0582f26ec9dfd5360ea2f35dd9a1b026f8adda0"
      ],
      "author": {
        "name": "Pavel Tatashin",
        "email": "pasha.tatashin@oracle.com",
        "time": "Wed May 31 11:25:25 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:29 2017 -0700"
      },
      "message": "sparc64: delete old wrap code\n\nThe old method that is using xcall and softint to get new context id is\ndeleted, as it is replaced by a method of using per_cpu_secondary_mm\nwithout xcall to perform the context wrap.\n\nSigned-off-by: Pavel Tatashin \u003cpasha.tatashin@oracle.com\u003e\nReviewed-by: Bob Picco \u003cbob.picco@oracle.com\u003e\nReviewed-by: Steven Sistare \u003csteven.sistare@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0582f26ec9dfd5360ea2f35dd9a1b026f8adda0",
      "tree": "946f34cd669dc4edb9e3a272ba8e475a30538950",
      "parents": [
        "7a5b4bbf49fe86ce77488a70c5dccfe2d50d7a2d"
      ],
      "author": {
        "name": "Pavel Tatashin",
        "email": "pasha.tatashin@oracle.com",
        "time": "Wed May 31 11:25:24 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:29 2017 -0700"
      },
      "message": "sparc64: new context wrap\n\nThe current wrap implementation has a race issue: it is called outside of\nthe ctx_alloc_lock, and also does not wait for all CPUs to complete the\nwrap.  This means that a thread can get a new context with a new version\nand another thread might still be running with the same context. The\nproblem is especially severe on CPUs with shared TLBs, like sun4v. I used\nthe following test to very quickly reproduce the problem:\n- start over 8K processes (must be more than context IDs)\n- write and read values at a  memory location in every process.\n\nVery quickly memory corruptions start happening, and what we read back\ndoes not equal what we wrote.\n\nSeveral approaches were explored before settling on this one:\n\nApproach 1:\nMove smp_new_mmu_context_version() inside ctx_alloc_lock, and wait for\nevery process to complete the wrap. (Note: every CPU must WAIT before\nleaving smp_new_mmu_context_version_client() until every one arrives).\n\nThis approach ends up with deadlocks, as some threads own locks which other\nthreads are waiting for, and they never receive softint until these threads\nexit smp_new_mmu_context_version_client(). Since we do not allow the exit,\ndeadlock happens.\n\nApproach 2:\nHandle wrap right during mondo interrupt. Use etrap/rtrap to enter into\ninto C code, and issue new versions to every CPU.\nThis approach adds some overhead to runtime: in switch_mm() we must add\nsome checks to make sure that versions have not changed due to wrap while\nwe were loading the new secondary context. (could be protected by PSTATE_IE\nbut that degrades performance as on M7 and older CPUs as it takes 50 cycles\nfor each access). Also, we still need a global per-cpu array of MMs to know\nwhere we need to load new contexts, otherwise we can change context to a\nthread that is going way (if we received mondo between switch_mm() and\nswitch_to() time). Finally, there are some issues with window registers in\nrtrap() when context IDs are changed during CPU mondo time.\n\nThe approach in this patch is the simplest and has almost no impact on\nruntime.  We use the array with mm\u0027s where last secondary contexts were\nloaded onto CPUs and bump their versions to the new generation without\nchanging context IDs. If a new process comes in to get a context ID, it\nwill go through get_new_mmu_context() because of version mismatch. But the\nrunning processes do not need to be interrupted. And wrap is quicker as we\ndo not need to xcall and wait for everyone to receive and complete wrap.\n\nSigned-off-by: Pavel Tatashin \u003cpasha.tatashin@oracle.com\u003e\nReviewed-by: Bob Picco \u003cbob.picco@oracle.com\u003e\nReviewed-by: Steven Sistare \u003csteven.sistare@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a5b4bbf49fe86ce77488a70c5dccfe2d50d7a2d",
      "tree": "d53db5c2f4b5cd9a675a1b3f85fe370ec8a672b5",
      "parents": [
        "c4415235b2be0cc791572e8e7f7466ab8f73a2bf"
      ],
      "author": {
        "name": "Pavel Tatashin",
        "email": "pasha.tatashin@oracle.com",
        "time": "Wed May 31 11:25:23 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:29 2017 -0700"
      },
      "message": "sparc64: add per-cpu mm of secondary contexts\n\nThe new wrap is going to use information from this array to figure out\nmm\u0027s that currently have valid secondary contexts setup.\n\nSigned-off-by: Pavel Tatashin \u003cpasha.tatashin@oracle.com\u003e\nReviewed-by: Bob Picco \u003cbob.picco@oracle.com\u003e\nReviewed-by: Steven Sistare \u003csteven.sistare@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4415235b2be0cc791572e8e7f7466ab8f73a2bf",
      "tree": "5d11513cee206ba86d7151d01e1bdde3fba3cb9f",
      "parents": [
        "14d0334c6748ff2aedb3f2f7fdc51ee90a9b54e7"
      ],
      "author": {
        "name": "Pavel Tatashin",
        "email": "pasha.tatashin@oracle.com",
        "time": "Wed May 31 11:25:22 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:28 2017 -0700"
      },
      "message": "sparc64: redefine first version\n\nCTX_FIRST_VERSION defines the first context version, but also it defines\nfirst context. This patch redefines it to only include the first context\nversion.\n\nSigned-off-by: Pavel Tatashin \u003cpasha.tatashin@oracle.com\u003e\nReviewed-by: Bob Picco \u003cbob.picco@oracle.com\u003e\nReviewed-by: Steven Sistare \u003csteven.sistare@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14d0334c6748ff2aedb3f2f7fdc51ee90a9b54e7",
      "tree": "3a226d5c13ada6a19756dd68c3be3adff5551d51",
      "parents": [
        "588974857359861891f478a070b1dc7ae04a3880"
      ],
      "author": {
        "name": "Pavel Tatashin",
        "email": "pasha.tatashin@oracle.com",
        "time": "Wed May 31 11:25:21 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:28 2017 -0700"
      },
      "message": "sparc64: combine activate_mm and switch_mm\n\nThe only difference between these two functions is that in activate_mm we\nunconditionally flush context. However, there is no need to keep this\ndifference after fixing a bug where cpumask was not reset on a wrap. So, in\nthis patch we combine these.\n\nSigned-off-by: Pavel Tatashin \u003cpasha.tatashin@oracle.com\u003e\nReviewed-by: Bob Picco \u003cbob.picco@oracle.com\u003e\nReviewed-by: Steven Sistare \u003csteven.sistare@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "588974857359861891f478a070b1dc7ae04a3880",
      "tree": "179dd8a5d88a0b14a199891aff7f562ad71fc317",
      "parents": [
        "f322980b74a15e08f8c70a34a5864ecdbf957251"
      ],
      "author": {
        "name": "Pavel Tatashin",
        "email": "pasha.tatashin@oracle.com",
        "time": "Wed May 31 11:25:20 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:28 2017 -0700"
      },
      "message": "sparc64: reset mm cpumask after wrap\n\nAfter a wrap (getting a new context version) a process must get a new\ncontext id, which means that we would need to flush the context id from\nthe TLB before running for the first time with this ID on every CPU. But,\nwe use mm_cpumask to determine if this process has been running on this CPU\nbefore, and this mask is not reset after a wrap. So, there are two possible\nfixes for this issue:\n\n1. Clear mm cpumask whenever mm gets a new context id\n2. Unconditionally flush context every time process is running on a CPU\n\nThis patch implements the first solution\n\nSigned-off-by: Pavel Tatashin \u003cpasha.tatashin@oracle.com\u003e\nReviewed-by: Bob Picco \u003cbob.picco@oracle.com\u003e\nReviewed-by: Steven Sistare \u003csteven.sistare@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f322980b74a15e08f8c70a34a5864ecdbf957251",
      "tree": "0ead7084326f74f24f8e00716c3dc91abaed5df1",
      "parents": [
        "c982aa9c304bf0b9a7522fd118fed4afa5a0263c"
      ],
      "author": {
        "name": "Liam R. Howlett",
        "email": "Liam.Howlett@Oracle.com",
        "time": "Tue May 30 15:45:00 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:03 2017 -0700"
      },
      "message": "sparc/mm/hugepages: Fix setup_hugepagesz for invalid values.\n\nhugetlb_bad_size needs to be called on invalid values.  Also change the\npr_warn to a pr_err to better align with other platforms.\n\nSigned-off-by: Liam R. Howlett \u003cLiam.Howlett@Oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c982aa9c304bf0b9a7522fd118fed4afa5a0263c",
      "tree": "506653c7e93fdbebde465b906b5f900aa02338d1",
      "parents": [
        "654f4807624a657f364417c2a7454f0df9961734"
      ],
      "author": {
        "name": "James Clarke",
        "email": "jrtc27@jrtc27.com",
        "time": "Mon May 29 20:17:56 2017 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:03 2017 -0700"
      },
      "message": "sparc: Machine description indices can vary\n\nVIO devices were being looked up by their index in the machine\ndescription node block, but this often varies over time as devices are\nadded and removed. Instead, store the ID and look up using the type,\nconfig handle and ID.\n\nSigned-off-by: James Clarke \u003cjrtc27@jrtc27.com\u003e\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d112541\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "654f4807624a657f364417c2a7454f0df9961734",
      "tree": "681a630eec09116935362978adfd162663f9c6d1",
      "parents": [
        "c79a13734d104b5b147d7cb0870276ccdd660dae"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "mike.kravetz@oracle.com",
        "time": "Fri Jun 02 14:51:12 2017 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 13:45:02 2017 -0700"
      },
      "message": "sparc64: mm: fix copy_tsb to correctly copy huge page TSBs\n\nWhen a TSB grows beyond its current capacity, a new TSB is allocated\nand copy_tsb is called to copy entries from the old TSB to the new.\nA hash shift based on page size is used to calculate the index of an\nentry in the TSB.  copy_tsb has hard coded PAGE_SHIFT in these\ncalculations.  However, for huge page TSBs the value REAL_HPAGE_SHIFT\nshould be used.  As a result, when copy_tsb is called for a huge page\nTSB the entries are placed at the incorrect index in the newly\nallocated TSB.  When doing hardware table walk, the MMU does not\nmatch these entries and we end up in the TSB miss handling code.\nThis code will then create and write an entry to the correct index\nin the TSB.  We take a performance hit for the table walk miss and\nrecreation of these entries.\n\nPass a new parameter to copy_tsb that is the page size shift to be\nused when copying the TSB.\n\nSuggested-by: Anthony Yznaga \u003canthony.yznaga@oracle.com\u003e\nSigned-off-by: Mike Kravetz \u003cmike.kravetz@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c79a13734d104b5b147d7cb0870276ccdd660dae",
      "tree": "497507e0696e5b570300c88b9370c82d742ae47f",
      "parents": [
        "1b4af13ff2cc6897557bb0b8d9e2fad4fa4d67aa"
      ],
      "author": {
        "name": "Jane Chu",
        "email": "jane.chu@oracle.com",
        "time": "Tue Jun 06 14:32:29 2017 -0600"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 16:41:47 2017 -0400"
      },
      "message": "arch/sparc: support NR_CPUS \u003d 4096\n\nLinux SPARC64 limits NR_CPUS to 4064 because init_cpu_send_mondo_info()\nonly allocates a single page for NR_CPUS mondo entries. Thus we cannot\nuse all 4096 CPUs on some SPARC platforms.\n\nTo fix, allocate (2^order) pages where order is set according to the size\nof cpu_list for possible cpus. Since cpu_list_pa and cpu_mondo_block_pa\nare not used in asm code, there are no imm13 offsets from the base PA\nthat will break because they can only reach one page.\n\nOrabug: 25505750\n\nSigned-off-by: Jane Chu \u003cjane.chu@oracle.com\u003e\n\nReviewed-by: Bob Picco \u003cbob.picco@oracle.com\u003e\nReviewed-by: Atish Patra \u003catish.patra@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d3028f4c16487d63861ab6c68451768a7a109df",
      "tree": "fc7e5b6114f4684d2ce8bc5410a1b849ce37255b",
      "parents": [
        "426849e6611f2092553f8d53372ae310818a6292"
      ],
      "author": {
        "name": "Colin Ian King",
        "email": "colin.king@canonical.com",
        "time": "Tue Jun 06 14:10:49 2017 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 16:26:28 2017 -0400"
      },
      "message": "net: stmmac: fix a broken u32 less than zero check\n\nThe check that queue is less or equal to zero is always true\nbecause queue is a u32; queue is decremented and will wrap around\nand never go -ve. Fix this by making queue an int.\n\nDetected by CoverityScan, CID#1428988 (\"Unsigned compared against 0\")\n\nSigned-off-by: Colin Ian King \u003ccolin.king@canonical.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "426849e6611f2092553f8d53372ae310818a6292",
      "tree": "4fd24f7c67978e435247e14f5595f39cc32292e2",
      "parents": [
        "d220b942a4b6a0640aee78841608f4aa5e8e185e"
      ],
      "author": {
        "name": "Niklas Cassel",
        "email": "niklas.cassel@axis.com",
        "time": "Tue Jun 06 09:25:00 2017 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 16:24:09 2017 -0400"
      },
      "message": "net: stmmac: fix completely hung TX when using TSO\n\nstmmac_tso_allocator can fail to set the Last Descriptor bit\non a descriptor that actually was the last descriptor.\n\nThis happens when the buffer of the last descriptor ends\nup having a size of exactly TSO_MAX_BUFF_SIZE.\n\nWhen the IP eventually reaches the next last descriptor,\nwhich actually has the bit set, the DMA will hang.\n\nWhen the DMA hangs, we get a tx timeout, however,\nsince stmmac does not do a complete reset of the IP\nin stmmac_tx_timeout, we end up in a state with\ncompletely hung TX.\n\nSigned-off-by: Niklas Cassel \u003cniklas.cassel@axis.com\u003e\nAcked-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nAcked-by: Alexandre TORGUE \u003calexandre.torgue@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d220b942a4b6a0640aee78841608f4aa5e8e185e",
      "tree": "92eee1af3dffa61287c917453c3b59ca01b58f87",
      "parents": [
        "1020ce3108cc26fbf09d70550ea2937cb1a211d2"
      ],
      "author": {
        "name": "Max Filippov",
        "email": "jcmvbkbc@gmail.com",
        "time": "Mon Jun 05 18:31:16 2017 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 16:22:51 2017 -0400"
      },
      "message": "net: ethoc: enable NAPI before poll may be scheduled\n\nethoc_reset enables device interrupts, ethoc_interrupt may schedule a\nNAPI poll before NAPI is enabled in the ethoc_open, which results in\ndevice being unable to send or receive anything until it\u0027s closed and\nreopened. In case the device is flooded with ingress packets it may be\nunable to recover at all.\nMove napi_enable above ethoc_reset in the ethoc_open to fix that.\n\nFixes: a1702857724f (\"net: Add support for the OpenCores 10/100 Mbps Ethernet MAC.\")\nSigned-off-by: Max Filippov \u003cjcmvbkbc@gmail.com\u003e\nReviewed-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nReviewed-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1020ce3108cc26fbf09d70550ea2937cb1a211d2",
      "tree": "5933ffa09ce8626a546e1591a69b24199e3a7781",
      "parents": [
        "79514ef670e9e575a1fe36922268c439d0f0ca8a"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@cumulusnetworks.com",
        "time": "Tue Jun 06 01:26:24 2017 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 16:05:31 2017 -0400"
      },
      "message": "net: bridge: fix a null pointer dereference in br_afspec\n\nWe might call br_afspec() with p \u003d\u003d NULL which is a valid use case if\nthe action is on the bridge device itself, but the bridge tunnel code\ndereferences the p pointer without checking, so check if p is null\nfirst.\n\nReported-by: Gustavo A. R. Silva \u003cgarsilva@embeddedor.com\u003e\nFixes: efa5356b0d97 (\"bridge: per vlan dst_metadata netlink support\")\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nAcked-by: Roopa Prabhu \u003croopa@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79514ef670e9e575a1fe36922268c439d0f0ca8a",
      "tree": "9ee78429fd7c31359e63299f4ff65da04f845d03",
      "parents": [
        "e3ebdb20fddacded2740a333ff66781e0d28b05c"
      ],
      "author": {
        "name": "Eugeniu Rosca",
        "email": "erosca@de.adit-jv.com",
        "time": "Tue Jun 06 00:08:10 2017 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 16:02:22 2017 -0400"
      },
      "message": "ravb: Fix use-after-free on `ifconfig eth0 down`\n\nCommit a47b70ea86bd (\"ravb: unmap descriptors when freeing rings\") has\nintroduced the issue seen in [1] reproduced on H3ULCB board.\n\nFix this by relocating the RX skb ringbuffer free operation, so that\nswiotlb page unmapping can be done first. Freeing of aligned TX buffers\nis not relevant to the issue seen in [1]. Still, reposition TX free\ncalls as well, to have all kfree() operations performed consistently\n_after_ dma_unmap_*()/dma_free_*().\n\n[1] Console screenshot with the problem reproduced:\n\nsalvator-x login: root\nroot@salvator-x:~# ifconfig eth0 up\nMicrel KSZ9031 Gigabit PHY e6800000.ethernet-ffffffff:00: \\\n       attached PHY driver [Micrel KSZ9031 Gigabit PHY]   \\\n       (mii_bus:phy_addr\u003de6800000.ethernet-ffffffff:00, irq\u003d235)\nIPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready\nroot@salvator-x:~#\nroot@salvator-x:~# ifconfig eth0 down\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nBUG: KASAN: use-after-free in swiotlb_tbl_unmap_single+0xc4/0x35c\nWrite of size 1538 at addr ffff8006d884f780 by task ifconfig/1649\n\nCPU: 0 PID: 1649 Comm: ifconfig Not tainted 4.12.0-rc4-00004-g112eb07287d1 #32\nHardware name: Renesas H3ULCB board based on r8a7795 (DT)\nCall trace:\n[\u003cffff20000808f11c\u003e] dump_backtrace+0x0/0x3a4\n[\u003cffff20000808f4d4\u003e] show_stack+0x14/0x1c\n[\u003cffff20000865970c\u003e] dump_stack+0xf8/0x150\n[\u003cffff20000831f8b0\u003e] print_address_description+0x7c/0x330\n[\u003cffff200008320010\u003e] kasan_report+0x2e0/0x2f4\n[\u003cffff20000831eac0\u003e] check_memory_region+0x20/0x14c\n[\u003cffff20000831f054\u003e] memcpy+0x48/0x68\n[\u003cffff20000869ed50\u003e] swiotlb_tbl_unmap_single+0xc4/0x35c\n[\u003cffff20000869fcf4\u003e] unmap_single+0x90/0xa4\n[\u003cffff20000869fd14\u003e] swiotlb_unmap_page+0xc/0x14\n[\u003cffff2000080a2974\u003e] __swiotlb_unmap_page+0xcc/0xe4\n[\u003cffff2000088acdb8\u003e] ravb_ring_free+0x514/0x870\n[\u003cffff2000088b25dc\u003e] ravb_close+0x288/0x36c\n[\u003cffff200008aaf8c4\u003e] __dev_close_many+0x14c/0x174\n[\u003cffff200008aaf9b4\u003e] __dev_close+0xc8/0x144\n[\u003cffff200008ac2100\u003e] __dev_change_flags+0xd8/0x194\n[\u003cffff200008ac221c\u003e] dev_change_flags+0x60/0xb0\n[\u003cffff200008ba2dec\u003e] devinet_ioctl+0x484/0x9d4\n[\u003cffff200008ba7b78\u003e] inet_ioctl+0x190/0x194\n[\u003cffff200008a78c44\u003e] sock_do_ioctl+0x78/0xa8\n[\u003cffff200008a7a128\u003e] sock_ioctl+0x110/0x3c4\n[\u003cffff200008365a70\u003e] vfs_ioctl+0x90/0xa0\n[\u003cffff200008365dbc\u003e] do_vfs_ioctl+0x148/0xc38\n[\u003cffff2000083668f0\u003e] SyS_ioctl+0x44/0x74\n[\u003cffff200008083770\u003e] el0_svc_naked+0x24/0x28\n\nThe buggy address belongs to the page:\npage:ffff7e001b6213c0 count:0 mapcount:0 mapping:          (null) index:0x0\nflags: 0x4000000000000000()\nraw: 4000000000000000 0000000000000000 0000000000000000 00000000ffffffff\nraw: 0000000000000000 ffff7e001b6213e0 0000000000000000 0000000000000000\npage dumped because: kasan: bad access detected\n\nMemory state around the buggy address:\n ffff8006d884f680: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\n ffff8006d884f700: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\n\u003effff8006d884f780: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\n                   ^\n ffff8006d884f800: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\n ffff8006d884f880: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nDisabling lock debugging due to kernel taint\nroot@salvator-x:~#\n\nFixes: a47b70ea86bd (\"ravb: unmap descriptors when freeing rings\")\nSigned-off-by: Eugeniu Rosca \u003cerosca@de.adit-jv.com\u003e\nAcked-by: Sergei Shtylyov \u003csergei.shtylyov@cogentembedded.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3ebdb20fddacded2740a333ff66781e0d28b05c",
      "tree": "09a5abbbaf8b95512c9eb5d3ab6f82a500179660",
      "parents": [
        "594238158bf748c285f0a73222cd9b7ccf3c525d"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Mon Jun 05 16:44:40 2017 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 15:18:20 2017 -0400"
      },
      "message": "net/ipv6: Fix CALIPSO causing GPF with datagram support\n\nWhen using CALIPSO with IPPROTO_UDP it is possible to trigger a GPF as the\nIP header may have moved.\n\nAlso update the payload length after adding the CALIPSO option.\n\nSigned-off-by: Richard Haines \u003crichard_c_haines@btinternet.com\u003e\nAcked-by: Paul Moore \u003cpaul@paul-moore.com\u003e\nSigned-off-by: Huw Davies \u003chuw@codeweavers.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "594238158bf748c285f0a73222cd9b7ccf3c525d",
      "tree": "0fc2e20e8b26f80277c1914f929e5e3ee63746e9",
      "parents": [
        "7b868fed00f6c72d3e0270bcb057b4f26c09e809"
      ],
      "author": {
        "name": "Colin Ian King",
        "email": "colin.king@canonical.com",
        "time": "Mon Jun 05 10:04:52 2017 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 15:13:46 2017 -0400"
      },
      "message": "net: stmmac: ensure jumbo_frm error return is correctly checked for -ve value\n\nThe current comparison of entry \u003c 0 will never be true since entry is an\nunsigned integer. Make entry an int to ensure -ve error return values\nfrom the call to jumbo_frm are correctly being caught.\n\nDetected by CoverityScan, CID#1238760 (\"Macro compares unsigned to 0\")\n\nSigned-off-by: Colin Ian King \u003ccolin.king@canonical.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b868fed00f6c72d3e0270bcb057b4f26c09e809",
      "tree": "702afee62998d6a17e0192480a5bb06683d8a091",
      "parents": [
        "80971dfbf047c25b4160f708711fed7e3b28c372",
        "dc89481bb4c9af0700423e21c8371379d3d943b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 12:53:20 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 12:53:20 2017 -0400"
      },
      "message": "Merge tag \u0027wireless-drivers-for-davem-2017-06-06\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers\n\nKalle Valo says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nwireless-drivers fixes for 4.12\n\nIt has been a slow start of cycle and this the first set of fixes for\n4.12. Nothing really major here.\n\nwcn36xx\n\n* fix an issue with module reload\n\nbrcmfmac\n\n* fix aligment regression on 64 bit systems\n\niwlwifi\n\n* fixes for memory leaks, runtime PM, memory initialisation and other\n  smaller problems\n\n* fix IBSS on devices using DQA mode (7260 and up)\n\n* fix the minimum firmware API requirement for 7265D, 3168, 8000 and\n  8265\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": "84c6c3035b1de00271362a9550389c605c7d28a0",
      "tree": "7b8987ea4e8d5addae042173c151c042b643a931",
      "parents": [
        "ba7b2387ad239a519041f2a2d35a1902bdd03dfb",
        "963761a0b2e85663ee4a5630f72930885a06598a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 06 09:37:44 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 06 09:37:44 2017 -0700"
      },
      "message": "Merge tag \u0027media/v4.12-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media\n\nPull media fixes from Mauro Carvalho Chehab:\n \"Some bug fixes:\n\n   - Don\u0027t fail build if atomisp has warnings\n\n   - Some CEC Kconfig changes to allow it to be used by DRM without\n     media dependencies\n\n   - A race fix at RC initialization code\n\n   - A driver fix at rainshadow-cec\n\n  IMHO, the one that affects most people in this series is a build fix:\n  if you try to build the Kernel with W\u003d1 or using gcc7 and\n  all[yes|mod]config, build will fail due to -Werror at atomisp\n  makefiles\"\n\n* tag \u0027media/v4.12-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:\n  [media] rc-core: race condition during ir_raw_event_register()\n  [media] cec: drop MEDIA_CEC_DEBUG\n  [media] cec: rename MEDIA_CEC_NOTIFIER to CEC_NOTIFIER\n  [media] cec: select CEC_CORE instead of depend on it\n  [media] rainshadow-cec: ensure exit_loop is intialized\n  [media] atomisp: don\u0027t treat warnings as errors\n"
    },
    {
      "commit": "80971dfbf047c25b4160f708711fed7e3b28c372",
      "tree": "be128e8d69b59b41d69e4e0a374aab7d9d07d7ca",
      "parents": [
        "f4eb17e1efe538d4da7d574bedb00a8dafcc26b7",
        "2aae918c7a21fb8388ab30b8abd4d9240e8ebd7f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 12:12:57 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 12:12:57 2017 -0400"
      },
      "message": "Merge branch \u002740GbE\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue\n\nJeff Kirsher says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nIntel Wired LAN Driver Updates 2017-06-06\n\nThis series contains fixes to i40e and i40evf only.\n\nMauro S. M. Rodrigues fixes a flood in the kernel log which was introduced\nin a previous commit because of a mistaken substitution of __I40E_VSI_DOWN\ninstead of __I40E_DOWN when testing the state of the PF.\n\nBjörn Töpel fixes an issue introduced in a previous commit where the\noffset was incorrect and could lead to data corruption for architectures\nusing PAGE_SIZE larger than 8191.  Fixed the issue by updating the\npage_offset correctly using the proper setting for truesize.\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": "f4eb17e1efe538d4da7d574bedb00a8dafcc26b7",
      "tree": "adce587189b3097c69a08af4e4ea7e14babb0654",
      "parents": [
        "269f9883fe254d109afdfc657875c456d6fabb08"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 11:34:06 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 06 11:34:06 2017 -0400"
      },
      "message": "Revert \"sit: reload iphdr in ipip6_rcv\"\n\nThis reverts commit b699d0035836f6712917a41e7ae58d84359b8ff9.\n\nAs per Eric Dumazet, the pskb_may_pull() is a NOP in this\nparticular case, so the \u0027iph\u0027 reload is unnecessary.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2aae918c7a21fb8388ab30b8abd4d9240e8ebd7f",
      "tree": "7182bdc9c3fcc7659895f3bdc39c6e58e668d166",
      "parents": [
        "9e6c9c0f2ce67534fda1fdd305fb5da3defece3e"
      ],
      "author": {
        "name": "Björn Töpel",
        "email": "bjorn.topel@intel.com",
        "time": "Mon May 15 06:52:00 2017 +0200"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Jun 06 02:49:15 2017 -0700"
      },
      "message": "i40e/i40evf: proper update of the page_offset field\n\nIn f8b45b74cc62 (\"i40e/i40evf: Use build_skb to build frames\")\ni40e_build_skb updates the page_offset field with an incorrect offset,\nwhich can lead to data corruption. This patch updates page_offset\ncorrectly, by properly setting truesize.\n\nNote that the bug only appears on architectures where PAGE_SIZE is\n8192 or larger.\n\nFixes: f8b45b74cc62 (\"i40e/i40evf: Use build_skb to build frames\")\nSigned-off-by: Björn Töpel \u003cbjorn.topel@intel.com\u003e\nAcked-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Andrew Bowers \u003candrewx.bowers@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "9e6c9c0f2ce67534fda1fdd305fb5da3defece3e",
      "tree": "84543952579f0682f319d7f59efde85c5f6984a2",
      "parents": [
        "269f9883fe254d109afdfc657875c456d6fabb08"
      ],
      "author": {
        "name": "Mauro S. M. Rodrigues",
        "email": "maurosr@linux.vnet.ibm.com",
        "time": "Fri May 12 23:26:56 2017 -0300"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Jun 06 02:45:32 2017 -0700"
      },
      "message": "i40e: Fix state flags for bit set and clean operations of PF\n\nCommit 0da36b9774cc (\"i40e: use DECLARE_BITMAP for state fields\")\nintroduced changes in the way i40e works with state flags converting\nthem to bitmaps using kernel bitmap API. This change introduced a\nregression due to a mistaken substitution using __I40E_VSI_DOWN instead\nof __I40E_DOWN when testing state of a PF at i40e_reset_subtask()\nfunction. This caused a flood in the kernel log with the follow message:\n\n[49.013] i40e 0002:01:00.0: bad reset request 0x00000020\n\nCommit d19cb64b9222 (\"i40e: separate PF and VSI state flags\")\nalso introduced some misuse of the VSI and PF flags, so both could be\nconsidered as the offenders.\n\nThis patch simply fixes the flags where it makes sense by changing\n__I40E_VSI_DOWN to __I40E_DOWN.\n\nFixes: 0da36b9774cc (\"i40e: use DECLARE_BITMAP for state fields\")\nFixes: d19cb64b9222 (\"i40e: separate PF and VSI state flags\")\n\nReviewed-by: \"Guilherme G. Piccoli\" \u003cgpiccoli@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Mauro S. M. Rodrigues\" \u003cmaurosr@linux.vnet.ibm.com\u003e\nTested-by: Andrew Bowers \u003candrewx.bowers@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "ba7b2387ad239a519041f2a2d35a1902bdd03dfb",
      "tree": "76d562693c551a38d1d096fe598f8b9612366256",
      "parents": [
        "e543c8a92fb6eca8dd554561fa55bba5f2a90d09",
        "41c25707d21716826e3c1f60967f5550610ec1c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 05 15:37:03 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 05 15:37:03 2017 -0700"
      },
      "message": "Merge branch \u0027for-4.12-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup fixes from Tejun Heo:\n \"Two cgroup fixes. One to address RCU delay of cpuset removal affecting\n  userland visible behaviors. The other fixes a race condition between\n  controller disable and cgroup removal\"\n\n* \u0027for-4.12-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cpuset: consider dying css as offline\n  cgroup: Prevent kill_css() from being called more than once\n"
    },
    {
      "commit": "e543c8a92fb6eca8dd554561fa55bba5f2a90d09",
      "tree": "4fab9e38a6f1a48c256cf1bf3242d9f40202e1ae",
      "parents": [
        "112eb07287d10bef6ec74e36f1ffd24f19bdd0a0",
        "f7cf69ae171592d133c69b9adaa5de7cfb6038ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 05 15:31:14 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 05 15:31:14 2017 -0700"
      },
      "message": "Merge branch \u0027for-4.12-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata\n\nPull libata fixes from Tejun Heo:\n\n - Revert of sata_mv devm_ioremap_resource() conversion. It made init\n   fail if there are overlapping resources which led to detection\n   failures on some setups.\n\n - A workaround for an Acer laptop which sometimes reports corrupt port\n   map.\n\n - Other non-critical fixes.\n\n* \u0027for-4.12-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:\n  libata: fix error checking in in ata_parse_force_one()\n  Revert \"ata: sata_mv: Convert to devm_ioremap_resource()\"\n  ata: libahci: properly propagate return value of platform_get_irq()\n  ata: sata_rcar: Handle return value of clk_prepare_enable\n  ahci: Acer SA5-271 SSD Not Detected Fix\n"
    },
    {
      "commit": "dc89481bb4c9af0700423e21c8371379d3d943b1",
      "tree": "db553f46033a2c6a54817f1cd4f05d0150efeeb0",
      "parents": [
        "1dbf647f31751a4e94fa0435c34f0f5ad5ce0adc",
        "dc1cd1d5ac22dbcd158c3de62b76ebb80e55d46b"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kvalo@codeaurora.org",
        "time": "Mon Jun 05 22:21:25 2017 +0300"
      },
      "committer": {
        "name": "Kalle Valo",
        "email": "kvalo@codeaurora.org",
        "time": "Mon Jun 05 22:21:25 2017 +0300"
      },
      "message": "Merge tag \u0027iwlwifi-for-kalle-2017-06-05\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes\n\nFixes for 4.12:\n\n* Some memory leaks;\n* IBSS support;\n* Some bugzilla bugs;\n* Some runtime PM fixes;\n* Rate-scaling issues;\n* Some locking problems;\n"
    },
    {
      "commit": "dc1cd1d5ac22dbcd158c3de62b76ebb80e55d46b",
      "tree": "b66a7c78e2c5ea2019902619285d706a4f16e4d7",
      "parents": [
        "15098803d38778070b8edfa5a3d5fc4fef10d0a1"
      ],
      "author": {
        "name": "Shahar S Matityahu",
        "email": "shahar.s.matityahu@intel.com",
        "time": "Thu Apr 06 13:35:38 2017 +0300"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:47:10 2017 +0300"
      },
      "message": "iwlwifi: fix host command memory leaks\n\nSending host command with CMD_WANT_SKB flag demands the release of the\nresponse buffer with iwl_free_resp function.\nThe patch adds the memory release in all the relevant places\n\nSigned-off-by: Shahar S Matityahu \u003cshahar.s.matityahu@intel.com\u003e\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "15098803d38778070b8edfa5a3d5fc4fef10d0a1",
      "tree": "40c5b2b4999097cb497e130f02873065260a3331",
      "parents": [
        "40cbeca3c09965f3084d591476559cbb3df150ec"
      ],
      "author": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Tue Apr 25 10:18:10 2017 +0300"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:47:10 2017 +0300"
      },
      "message": "iwlwifi: fix min API version for 7265D, 3168, 8000 and 8265\n\nIn a previous commit, we removed support for API versions earlier than\n22 for these NICs.  By mistake, the *_UCODE_API_MIN definitions were\nset to 17.  Fix that.\n\nFixes: 4b87e5af638b (\"iwlwifi: remove support for fw older than -17 and -22\")\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "40cbeca3c09965f3084d591476559cbb3df150ec",
      "tree": "5b650198214442fad444c0987d858f5b90b1ec1a",
      "parents": [
        "71793b7d3eb0897ca0dc4a109ede608d3e2c70ed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Mar 31 10:47:35 2017 +0200"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:47:09 2017 +0300"
      },
      "message": "iwlwifi: mvm: clear new beacon command template struct\n\nClear the struct so that all reserved fields are zero when we\nsend the struct down to the device.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "71793b7d3eb0897ca0dc4a109ede608d3e2c70ed",
      "tree": "9e0233fc4cb75624449c99aa14afd4f5fdc46478",
      "parents": [
        "e4c49c4937951de1cdbe35572ade40c948dec1e1"
      ],
      "author": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Thu Mar 30 12:04:47 2017 +0300"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:47:09 2017 +0300"
      },
      "message": "iwlwifi: mvm: don\u0027t fail when removing a key from an inexisting sta\n\nThe iwl_mvm_remove_sta_key() function handles removing a key when the\nsta doesn\u0027t exist anymore.  Mistakenly, this was changed to return an\nerror while fixing another bug.\n\nIf the mvm_sta doesn\u0027t exist, we continue normally, but just don\u0027t try\nto remove the igtk key.\n\nFixes: cd4d23c1ea9b (\"iwlwifi: mvm: Fix removal of IGTK\")\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "e4c49c4937951de1cdbe35572ade40c948dec1e1",
      "tree": "6291e26031ff13c730b8d38943dafe31bd955380",
      "parents": [
        "addce854f164a68da9cb158e2e7e447705068549"
      ],
      "author": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Fri Mar 24 11:01:45 2017 +0200"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:47:08 2017 +0300"
      },
      "message": "iwlwifi: pcie: only use d0i3 in suspend/resume if system_pm is set to d0i3\n\nWe only need to handle d0i3 entry and exit during suspend resume if\nsystem_pm is set to IWL_PLAT_PM_MODE_D0I3, otherwise d0i3 entry\nfailures will cause suspend to fail.\n\nThis fixes https://bugzilla.kernel.org/show_bug.cgi?id\u003d194791\n\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "addce854f164a68da9cb158e2e7e447705068549",
      "tree": "0345ee7ae8d93ff756008b308acb893707bee272",
      "parents": [
        "d9954405758a0cbbe258d9b4d4dc12a06fa48a28"
      ],
      "author": {
        "name": "Emmanuel Grumbach",
        "email": "emmanuel.grumbach@intel.com",
        "time": "Wed Mar 29 10:21:09 2017 +0300"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:47:08 2017 +0300"
      },
      "message": "iwlwifi: mvm: fix firmware debug restart recording\n\nWhen we want to stop the recording of the firmware debug\nand restart it later without reloading the firmware we\ndon\u0027t need to resend the configuration that comes with\nhost commands.\nSending those commands confused the hardware and led to\nan NMI 0x66.\n\nChange the flow as following:\n* read the relevant registers (DBGC_IN_SAMPLE, DBGC_OUT_CTRL)\n* clear those registers\n* wait for the hardware to complete its write to the buffer\n* get the data\n* restore the value of those registers (to restart the\n  recording)\n\nFor early start (where the configuration is already\ncompiled in the firmware), we don\u0027t need to set those\nregisters after the firmware has been loaded, but only\nwhen we want to restart the recording without having\nrestarted the firmware.\n\nSigned-off-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "d9954405758a0cbbe258d9b4d4dc12a06fa48a28",
      "tree": "8b3d36bdfa53d54807a02a5dac894bb8b172e358",
      "parents": [
        "ee48b72211f844a58a06819e9ccceee6acf04b2d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Mar 22 22:00:10 2017 +0100"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:47:07 2017 +0300"
      },
      "message": "iwlwifi: tt: move ucode_loaded check under mutex\n\nThe ucode_loaded check should be under the mutex, since it can\notherwise change state after we looked at it and before we got\nthe mutex. Fix that.\n\nFixes: 5c89e7bc557e (\"iwlwifi: mvm: add registration to cooling device\")\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "ee48b72211f844a58a06819e9ccceee6acf04b2d",
      "tree": "e15db6a6a02c1a7275033d42c4b3a0de9b005674",
      "parents": [
        "c72c37b7f392ad7edc10b6092fa48c632ba6f4ed"
      ],
      "author": {
        "name": "Liad Kaufman",
        "email": "liad.kaufman@intel.com",
        "time": "Tue Mar 21 17:13:16 2017 +0200"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:47:06 2017 +0300"
      },
      "message": "iwlwifi: mvm: support ibss in dqa mode\n\nAllow working IBSS also when working in DQA mode.\nThis is done by setting it to treat the queues the\nsame as a BSS AP treats the queues.\n\nFixes: 7948b87308a4 (\"iwlwifi: mvm: enable dynamic queue allocation mode\")\nSigned-off-by: Liad Kaufman \u003cliad.kaufman@intel.com\u003e\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "c72c37b7f392ad7edc10b6092fa48c632ba6f4ed",
      "tree": "58223ca7b8cc72acbd1afc0d4af577aff02f4677",
      "parents": [
        "ea42d1cbe3f067fb714c3ec3e1792fa273b99561"
      ],
      "author": {
        "name": "Haim Dreyfuss",
        "email": "haim.dreyfuss@intel.com",
        "time": "Thu Mar 16 17:26:03 2017 +0200"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:46:10 2017 +0300"
      },
      "message": "iwlwifi: mvm: Fix command queue number on d0i3 flow\n\nDuring d0i3 flow we flush all the queue except from the command queue.\nCurrently, in this flow the command queue is hard coded to 9.\nIn DQA the command queue number has changed from 9 to 0.\nFix that.\n\nThis fixes a problem in runtime PM resume flow.\n\nFixes: 097129c9e625 (\"iwlwifi: mvm: move cmd queue to be #0 in dqa mode\")\nSigned-off-by: Haim Dreyfuss \u003chaim.dreyfuss@intel.com\u003e\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "ea42d1cbe3f067fb714c3ec3e1792fa273b99561",
      "tree": "2b55085e980eb7699ff0154d88881c30611f15d3",
      "parents": [
        "6d18c732b95c0a9d35e9f978b4438bba15412284"
      ],
      "author": {
        "name": "Gregory Greenman",
        "email": "gregory.greenman@intel.com",
        "time": "Mon Mar 06 11:15:41 2017 +0200"
      },
      "committer": {
        "name": "Luca Coelho",
        "email": "luciano.coelho@intel.com",
        "time": "Mon Jun 05 21:45:41 2017 +0300"
      },
      "message": "iwlwifi: mvm: rs: start using LQ command color\n\nUp until now, the driver was comparing the rate reported by the FW and\nthe rate of the latest LQ command to avoid processing data belonging\nto the old LQ command. Recently, FW changed the meaning of the initial\nrate field in tx response and it holds the actual rate (which is not\nnecessarily the initial rate of LQ\u0027s rate table). Use instead LQ cmd\ncolor to be able to filter out tx responses/BA notifications which\nwhere sent during earlier LQ commands\u0027 time frame.\n\nThis fixes some throughput degradation in noisy environments.\n\nSigned-off-by: Gregory Greenman \u003cgregory.greenman@intel.com\u003e\nSigned-off-by: Luca Coelho \u003cluciano.coelho@intel.com\u003e\n"
    },
    {
      "commit": "1b4af13ff2cc6897557bb0b8d9e2fad4fa4d67aa",
      "tree": "11914e45eb675ca6ede5e69e2a005d3485f03946",
      "parents": [
        "0fde7ad71ee371ede73b3f326e58f9e8d102feb6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 11:28:57 2017 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 11:30:33 2017 -0700"
      },
      "message": "sparc64: Add __multi3 for gcc 7.x and later.\n\nReported-by: Waldemar Brodkorb \u003cwbx@openadk.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "112eb07287d10bef6ec74e36f1ffd24f19bdd0a0",
      "tree": "e63ffa5c2a851b849dbcbd144226ad5fd10e949f",
      "parents": [
        "3c2993b8c6143d8a5793746a54eba8f86f95240f",
        "06a4b6d009a1b74a6ec46c5418b46cc53a79fcb8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 05 11:19:40 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 05 11:19:40 2017 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.armlinux.org.uk/~rmk/linux-arm\n\nPull ARM fixes from Russell King:\n \"Three fixes this time around:\n\n   - Two fixes for noMMU, fixing the decompressor header layout, and\n     preventing a build error with some configurations.\n\n   - Fixing the hyp-stub updates that went in during the merge window\n     for platforms that use MCPM\"\n\n* \u0027fixes\u0027 of git://git.armlinux.org.uk/~rmk/linux-arm:\n  ARM: 8677/1: boot/compressed: fix decompressor header layout for v7-M\n  ARM: 8676/1: NOMMU: provide pgprot_device() macro\n  ARM: 8675/1: MCPM: ensure not to enter __hyp_soft_restart from loopback and cpu_power_down\n"
    },
    {
      "commit": "269f9883fe254d109afdfc657875c456d6fabb08",
      "tree": "f559fa739410f2418131216e8376db2f55771cbf",
      "parents": [
        "6c6ab3e73b391b38c9749c77775bf21479ed7d60"
      ],
      "author": {
        "name": "Ido Shamay",
        "email": "idos@mellanox.com",
        "time": "Mon Jun 05 10:44:56 2017 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 11:29:54 2017 -0400"
      },
      "message": "net/mlx4: Check if Granular QoS per VF has been enabled before updating QP qos_vport\n\nThe Granular QoS per VF feature must be enabled in FW before it can be\nused.\n\nThus, the driver cannot modify a QP\u0027s qos_vport value (via the UPDATE_QP FW\ncommand) if the feature has not been enabled -- the FW returns an error if\nthis is attempted.\n\nFixes: 08068cd5683f (\"net/mlx4: Added qos_vport QP configuration in VST mode\")\nSigned-off-by: Ido Shamay \u003cidos@mellanox.com\u003e\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Tariq Toukan \u003ctariqt@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c6ab3e73b391b38c9749c77775bf21479ed7d60",
      "tree": "39cfe9dbd0ac5d4d62b970095096d7d395e17d22",
      "parents": [
        "6044bd4a7d580d4459b992bc6631c817486a1514"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@infradead.org",
        "time": "Sun Jun 04 19:46:53 2017 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 11:28:50 2017 -0400"
      },
      "message": "net: phy: fix kernel-doc warnings\n\nFix kernel-doc warnings (typo) in drivers/net/phy/phy.c:\n\n..//drivers/net/phy/phy.c:259: warning: No description found for parameter \u0027features\u0027\n..//drivers/net/phy/phy.c:259: warning: Excess function parameter \u0027feature\u0027 description in \u0027phy_lookup_setting\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6044bd4a7d580d4459b992bc6631c817486a1514",
      "tree": "a720b0ac5954bbf1d3bfbb90225c34d35518b41a",
      "parents": [
        "1e0ce2a1ee0d5fb334e82e80600f1e8e77df525c"
      ],
      "author": {
        "name": "Haishuang Yan",
        "email": "yanhaishuang@cmss.chinamobile.com",
        "time": "Mon Jun 05 08:57:21 2017 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 11:24:28 2017 -0400"
      },
      "message": "devlink: fix potential memort leak\n\nWe must free allocated skb when genlmsg_put() return fails.\n\nFixes: 1555d204e743 (\"devlink: Support for pipeline debug (dpipe)\")\nSigned-off-by: Haishuang Yan \u003cyanhaishuang@cmss.chinamobile.com\u003e\nAcked-by: Jiri Pirko \u003cjiri@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e0ce2a1ee0d5fb334e82e80600f1e8e77df525c",
      "tree": "58227cc33cc39d0b72bcbf0abcd76ec357d114b1",
      "parents": [
        "6dc06c08bef1c746ff8da33dab677cfbacdcad32"
      ],
      "author": {
        "name": "Anmol Sarma",
        "email": "me@anmolsarma.in",
        "time": "Sat Jun 03 17:40:54 2017 +0530"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 10:53:24 2017 -0400"
      },
      "message": "net: Update TCP congestion control documentation\n\nUpdate tcp.txt to fix mandatory congestion control ops and default\nCCA selection. Also, fix comment in tcp.h for undo_cwnd.\n\nSigned-off-by: Anmol Sarma \u003cme@anmolsarma.in\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06a4b6d009a1b74a6ec46c5418b46cc53a79fcb8",
      "tree": "c56eee8aecc36198c7f3909f99effa5e802b263e",
      "parents": [
        "7ef4783e19a84fe1e8b58f4c27b858dfdcaef207"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@linaro.org",
        "time": "Wed May 24 15:31:57 2017 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@armlinux.org.uk",
        "time": "Mon Jun 05 10:29:40 2017 +0100"
      },
      "message": "ARM: 8677/1: boot/compressed: fix decompressor header layout for v7-M\n\nAs reported by Patrice, the header layout of the decompressor is\nincorrect when building for v7-M. In this case, the __nop macro\nresolves to \u0027mov r0, r0\u0027, which is emitted as a narrow encoding,\nresulting in the header data fields to end up at lower offsets than\nrequired.\n\nGiven the variety of targets we need to support with the same code,\nthe startup sequence is a bit of a jumble, and uses instructions\nand macros whose encoding widths cannot be specified (badr), or only\nexist in a narrow encoding (bx)\n\nSo force the use of a wide encoding in __nop, and replace the start\nsequence with a simple jump to the label marking the start of code,\npreceded by a Thumb2 mode switch if required (using explicit wide\nencodings where appropriate). The label itself can be moved to the\nstart of code [where it belongs] due to the larger range of branch\ninstructions as compared to adr instructions.\n\nReported-by: Patrice CHOTARD \u003cpatrice.chotard@st.com\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@linaro.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@armlinux.org.uk\u003e\n"
    },
    {
      "commit": "7ef4783e19a84fe1e8b58f4c27b858dfdcaef207",
      "tree": "78e90d39390e97bef1289b350f572c78bdc59a1e",
      "parents": [
        "29226b198bb26f8e23985d011a9301cee5550da8"
      ],
      "author": {
        "name": "Vladimir Murzin",
        "email": "vladimir.murzin@arm.com",
        "time": "Wed May 24 10:30:18 2017 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@armlinux.org.uk",
        "time": "Mon Jun 05 10:29:40 2017 +0100"
      },
      "message": "ARM: 8676/1: NOMMU: provide pgprot_device() macro\n\nNOMMU build leads to the following error:\n\n  CC      drivers/pci/mmap.o\ndrivers/pci/mmap.c: In function \u0027pci_mmap_resource_range\u0027:\ndrivers/pci/mmap.c:60:3: error: implicit declaration of function \u0027pgprot_device\u0027 [-Werror\u003dimplicit-function-declaration]\n   vma-\u003evm_page_prot \u003d pgprot_device(vma-\u003evm_page_prot);\n   ^\n\ncc1: some warnings being treated as errors\nscripts/Makefile.build:302: recipe for target \u0027drivers/pci/mmap.o\u0027 failed\nmake[2]: *** [drivers/pci/mmap.o] Error 1\nscripts/Makefile.build:561: recipe for target \u0027drivers/pci\u0027 failed\nmake[1]: *** [drivers/pci] Error 2\nMakefile:1016: recipe for target \u0027drivers\u0027 failed\nmake: *** [drivers] Error 2\n\nFix it with support of pgprot_device() macro for NOMMU.\n\nFixes: 00d2904ffeac (\"ARM/PCI: Use generic pci_mmap_resource_range()\")\nSigned-off-by: Vladimir Murzin \u003cvladimir.murzin@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@armlinux.org.uk\u003e\n"
    },
    {
      "commit": "6dc06c08bef1c746ff8da33dab677cfbacdcad32",
      "tree": "b5a2e18d98948d219041402de5a78e35d829f93d",
      "parents": [
        "b699d0035836f6712917a41e7ae58d84359b8ff9"
      ],
      "author": {
        "name": "Talat Batheesh",
        "email": "talatb@mellanox.com",
        "time": "Sun Jun 04 14:30:07 2017 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 23:10:05 2017 -0400"
      },
      "message": "net/mlx4: Fix the check in attaching steering rules\n\nOur previous patch (cited below) introduced a regression\nfor RAW Eth QPs.\n\nFix it by checking if the QP number provided by user-space\nexists, hence allowing steering rules to be added for valid\nQPs only.\n\nFixes: 89c557687a32 (\"net/mlx4_en: Avoid adding steering rules with invalid ring\")\nReported-by: Or Gerlitz \u003cgerlitz.or@gmail.com\u003e\nSigned-off-by: Talat Batheesh \u003ctalatb@mellanox.com\u003e\nSigned-off-by: Tariq Toukan \u003ctariqt@mellanox.com\u003e\nAcked-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nReviewed-by: Leon Romanovsky \u003cleonro@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b699d0035836f6712917a41e7ae58d84359b8ff9",
      "tree": "c6a2a1f2c5d17ad1a4500c0a63bba01200be0788",
      "parents": [
        "77d4b1d36926a9b8387c6b53eeba42bcaaffcea3"
      ],
      "author": {
        "name": "Haishuang Yan",
        "email": "yanhaishuang@cmss.chinamobile.com",
        "time": "Sun Jun 04 14:43:43 2017 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 23:04:31 2017 -0400"
      },
      "message": "sit: reload iphdr in ipip6_rcv\n\nSince iptunnel_pull_header() can call pskb_may_pull(),\nwe must reload any pointer that was related to skb-\u003ehead.\n\nFixes: a09a4c8dd1ec (\"tunnels: Remove encapsulation offloads on decap\")\nSigned-off-by: Haishuang Yan \u003cyanhaishuang@cmss.chinamobile.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77d4b1d36926a9b8387c6b53eeba42bcaaffcea3",
      "tree": "e2dbe835481d25e7d33cc2afceebc6f03f10173b",
      "parents": [
        "b07ac9894644202614ca87c69f3f45e424a82fef"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat Jun 03 09:29:25 2017 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 22:56:55 2017 -0400"
      },
      "message": "net: ping: do not abuse udp_poll()\n\nAlexander reported various KASAN messages triggered in recent kernels\n\nThe problem is that ping sockets should not use udp_poll() in the first\nplace, and recent changes in UDP stack finally exposed this old bug.\n\nFixes: c319b4d76b9e (\"net: ipv4: add IPPROTO_ICMP socket kind\")\nFixes: 6d0bfe226116 (\"net: ipv6: Add IPv6 support to the ping socket.\")\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Sasha Levin \u003calexander.levin@verizon.com\u003e\nCc: Solar Designer \u003csolar@openwall.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Lorenzo Colitti \u003clorenzo@google.com\u003e\nAcked-By: Lorenzo Colitti \u003clorenzo@google.com\u003e\nTested-By: Lorenzo Colitti \u003clorenzo@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b07ac9894644202614ca87c69f3f45e424a82fef",
      "tree": "8d489cb54759623d4118296d575c6d9a13266162",
      "parents": [
        "e3e86b5119f81e5e2499bea7ea1ebe8ac6aab789"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "f.fainelli@gmail.com",
        "time": "Fri Jun 02 22:05:23 2017 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 22:55:17 2017 -0400"
      },
      "message": "net: dsa: Fix stale cpu_switch reference after unbind then bind\n\nCommit 9520ed8fb841 (\"net: dsa: use cpu_switch instead of ds[0]\")\nreplaced the use of dst-\u003eds[0] with dst-\u003ecpu_switch since that is\nfunctionally equivalent, however, we can now run into an use after free\nscenario after unbinding then rebinding the switch driver.\n\nThe use after free happens because we do correctly initialize\ndst-\u003ecpu_switch the first time we probe in dsa_cpu_parse(), then we\nunbind the driver: dsa_dst_unapply() is called, and we rebind again.\ndst-\u003ecpu_switch now points to a freed \"ds\" structure, and so when we\nfinally dereference it in dsa_cpu_port_ethtool_setup(), we oops.\n\nTo fix this, simply set dst-\u003ecpu_switch to NULL in dsa_dst_unapply()\nwhich guarantees that we always correctly re-assign dst-\u003ecpu_switch in\ndsa_cpu_parse().\n\nFixes: 9520ed8fb841 (\"net: dsa: use cpu_switch instead of ds[0]\")\nSigned-off-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\nReviewed-by: Vivien Didelot \u003cvivien.didelot@savoirfairelinux.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3e86b5119f81e5e2499bea7ea1ebe8ac6aab789",
      "tree": "fa83f365a918287b03ba5bcc48dd0878cb14aa96",
      "parents": [
        "9a1c44d989bff4c992b8b9a112d9fda275ea5515"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 21:41:10 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 21:41:10 2017 -0400"
      },
      "message": "ipv6: Fix leak in ipv6_gso_segment().\n\nIf ip6_find_1stfragopt() fails and we return an error we have to free\nup \u0027segs\u0027 because nobody else is going to.\n\nFixes: 2423496af35d (\"ipv6: Prevent overrun when parsing v6 header options\")\nReported-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a1c44d989bff4c992b8b9a112d9fda275ea5515",
      "tree": "a9478284fd99798b759c0ff779671128315e2948",
      "parents": [
        "38b257938ac6655d0d6333743303231b9c465ec1"
      ],
      "author": {
        "name": "Eric Garver",
        "email": "e@erig.me",
        "time": "Fri Jun 02 14:54:10 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 20:03:09 2017 -0400"
      },
      "message": "geneve: fix needed_headroom and max_mtu for collect_metadata\n\nSince commit 9b4437a5b870 (\"geneve: Unify LWT and netdev handling.\")\nwhen using COLLECT_METADATA geneve devices are created with too small of\na needed_headroom and too large of a max_mtu. This is because\nip_tunnel_info_af() is not valid with the device level info when using\nCOLLECT_METADATA and we mistakenly fall into the IPv4 case.\n\nFor COLLECT_METADATA, always use the worst case of ipv6 since both\nsockets are created.\n\nFixes: 9b4437a5b870 (\"geneve: Unify LWT and netdev handling.\")\nSigned-off-by: Eric Garver \u003ce@erig.me\u003e\nAcked-by: Pravin B Shelar \u003cpshelar@ovn.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38b257938ac6655d0d6333743303231b9c465ec1",
      "tree": "ddd35c10ba411c39ac7cf0f39857bd00b4b62ad2",
      "parents": [
        "a7c0b8bee212e22725196fda8389bff9ade3ac68"
      ],
      "author": {
        "name": "Soheil Hassas Yeganeh",
        "email": "soheil@google.com",
        "time": "Fri Jun 02 12:38:22 2017 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 20:01:53 2017 -0400"
      },
      "message": "sock: reset sk_err when the error queue is empty\n\nPrior to f5f99309fa74 (sock: do not set sk_err in\nsock_dequeue_err_skb), sk_err was reset to the error of\nthe skb on the head of the error queue.\n\nApplications, most notably ping, are relying on this\nbehavior to reset sk_err for ICMP packets.\n\nSet sk_err to the ICMP error when there is an ICMP packet\nat the head of the error queue.\n\nFixes: f5f99309fa74 (sock: do not set sk_err in sock_dequeue_err_skb)\nReported-by: Cyril Hrubis \u003cchrubis@suse.cz\u003e\nTested-by: Cyril Hrubis \u003cchrubis@suse.cz\u003e\nSigned-off-by: Soheil Hassas Yeganeh \u003csoheil@google.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7c0b8bee212e22725196fda8389bff9ade3ac68",
      "tree": "fa43d34a7ac4bf20215d8c46f8db05b178c7ce23",
      "parents": [
        "5f733ee68f9a4df94775299ac6a7ab260704f6ed"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.com",
        "time": "Fri Jun 02 17:54:08 2017 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 20:01:00 2017 -0400"
      },
      "message": "amd-xgbe: use PAGE_ALLOC_COSTLY_ORDER in xgbe_map_rx_buffer\n\nxgbe_map_rx_buffer is rather confused about what PAGE_ALLOC_COSTLY_ORDER\nmeans. It uses PAGE_ALLOC_COSTLY_ORDER-1 assuming that\nPAGE_ALLOC_COSTLY_ORDER is the first costly order which is not the case\nactually because orders larger than that are costly. And even that\napplies only to sleeping allocations which is not the case here. We\nsimply do not perform any costly operations like reclaim or compaction\nfor those. Simplify the code by dropping the order calculation and use\nPAGE_ALLOC_COSTLY_ORDER directly.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.com\u003e\nAcked-by: Tom Lendacky \u003cthomas.lendacky@amd.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f733ee68f9a4df94775299ac6a7ab260704f6ed",
      "tree": "ca9c62d86761815526c9694064c0224349e6fd32",
      "parents": [
        "246096690be0742d9bb5f3456d2cb95b68f7b46d"
      ],
      "author": {
        "name": "Liam McBirnie",
        "email": "mcbirnie.l@gmail.com",
        "time": "Thu Jun 01 15:36:01 2017 +1000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 19:49:33 2017 -0400"
      },
      "message": "ip6_tunnel: fix traffic class routing for tunnels\n\nip6_route_output() requires that the flowlabel contains the traffic\nclass for policy routing.\n\nCommit 0e9a709560db (\"ip6_tunnel, ip6_gre: fix setting of DSCP on\nencapsulated packets\") removed the code which previously added the\ntraffic class to the flowlabel.\n\nThe traffic class is added here because only route lookup needs the\nflowlabel to contain the traffic class.\n\nFixes: 0e9a709560db (\"ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets\")\nSigned-off-by: Liam McBirnie \u003cliam.mcbirnie@boeing.com\u003e\nAcked-by: Peter Dawson \u003cpeter.a.dawson@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c2993b8c6143d8a5793746a54eba8f86f95240f",
      "tree": "29d5887dad434c02bfd493ac4060b12546ec1cb6",
      "parents": [
        "239e250e4acbc0104d514307029c0839e834a51a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 16:47:43 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 16:47:43 2017 -0700"
      },
      "message": "Linux 4.12-rc4\n"
    },
    {
      "commit": "239e250e4acbc0104d514307029c0839e834a51a",
      "tree": "ccc60a7da7595267709fc5d36acc6043c2832bae",
      "parents": [
        "125f42b0e226d201a2118b79a6c7f1ddb9aabe1d"
      ],
      "author": {
        "name": "Richard Narron",
        "email": "comet.berkeley@gmail.com",
        "time": "Sun Jun 04 16:23:18 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 16:33:54 2017 -0700"
      },
      "message": "fs/ufs: Set UFS default maximum bytes per file\n\nThis fixes a problem with reading files larger than 2GB from a UFS-2\nfile system:\n\n    https://bugzilla.kernel.org/show_bug.cgi?id\u003d195721\n\nThe incorrect UFS s_maxsize limit became a problem as of commit\nc2a9737f45e2 (\"vfs,mm: fix a dead loop in truncate_inode_pages_range()\")\nwhich started using s_maxbytes to avoid a page index overflow in\ndo_generic_file_read().\n\nThat caused files to be truncated on UFS-2 file systems because the\ndefault maximum file size is 2GB (MAX_NON_LFS) and UFS didn\u0027t update it.\n\nHere I simply increase the default to a common value used by other file\nsystems.\n\nSigned-off-by: Richard Narron \u003ccomet.berkeley@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Will B \u003cwill.brokenbourgh2877@gmail.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003cstable@vger.kernel.org\u003e # v4.9 and backports of c2a9737f45e2\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "246096690be0742d9bb5f3456d2cb95b68f7b46d",
      "tree": "ee3854a2147eebe516363c85ca0401e77415f34d",
      "parents": [
        "f0c3192ceee3c16154e70dfb373f66ed86c6fea9"
      ],
      "author": {
        "name": "Timur Tabi",
        "email": "timur@codeaurora.org",
        "time": "Thu Jun 01 16:08:13 2017 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 04 19:32:09 2017 -0400"
      },
      "message": "net: qcom/emac: do not use hardware mdio automatic polling\n\nUse software polling (PHY_POLL) to check for link state changes instead\nof relying on the EMAC\u0027s hardware polling feature.  Some PHY drivers\nare unable to get a functioning link because the HW polling is not\nrobust enough.\n\nThe EMAC is able to poll the PHY on the MDIO bus looking for link state\nchanges (via the Link Status bit in the Status Register at address 0x1).\nWhen the link state changes, the EMAC triggers an interrupt and tells the\ndriver what the new state is.  The feature eliminates the need for\nsoftware to poll the MDIO bus.\n\nUnfortunately, this feature is incompatible with phylib, because it\nignores everything that the PHY core and PHY drivers are trying to do.\nIn particular:\n\n1. It assumes a compatible register set, so PHYs with different registers\n   may not work.\n\n2. It doesn\u0027t allow for hardware errata that have work-arounds implemented\n   in the PHY driver.\n\n3. It doesn\u0027t support multiple register pages. If the PHY core switches\n   the register set to another page, the EMAC won\u0027t know the page has\n   changed and will still attempt to read the same PHY register.\n\n4. It only checks the copper side of the link, not the SGMII side.  Some\n   PHY drivers (e.g. at803x) may also check the SGMII side, and\n   report the link as not ready during autonegotiation if the SGMII link\n   is still down.  Phylib then waits for another interrupt to query\n   the PHY again, but the EMAC won\u0027t send another interrupt because it\n   thinks the link is up.\n\nCc: stable@vger.kernel.org # 4.11.x\nTested-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nSigned-off-by: Timur Tabi \u003ctimur@codeaurora.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "125f42b0e226d201a2118b79a6c7f1ddb9aabe1d",
      "tree": "3d23effd0dce1e6f13c363eff4d854a273190719",
      "parents": [
        "3c06e6cbdb6a3faa73fbdfd9022e23f82d24c372",
        "4f253e1eb628f5adf7ca4f43aab4bbb1bfffa081"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:56:53 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:56:53 2017 -0700"
      },
      "message": "Merge tag \u0027nfs-for-4.12-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes from Trond Myklebust:\n \"Bugfixes include:\n\n   - Fix a typo in commit e092693443b (\"NFS append COMMIT after\n     synchronous COPY\") that breaks copy offload\n\n   - Fix the connect error propagation in xs_tcp_setup_socket()\n\n   - Fix a lock leak in nfs40_walk_client_list\n\n   - Verify that pNFS requests lie within the offset range of the layout\n     segment\"\n\n* tag \u0027nfs-for-4.12-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  nfs: Mark unnecessarily extern functions as static\n  SUNRPC: ensure correct error is reported by xs_tcp_setup_socket()\n  NFSv4.0: Fix a lock leak in nfs40_walk_client_list\n  pnfs: Fix the check for requests in range of layout segment\n  xprtrdma: Delete an error message for a failed memory allocation in xprt_rdma_bc_setup()\n  pNFS/flexfiles: missing error code in ff_layout_alloc_lseg()\n  NFS fix COMMIT after COPY\n"
    },
    {
      "commit": "3c06e6cbdb6a3faa73fbdfd9022e23f82d24c372",
      "tree": "32bb0fdf684d5c1d48e980c1af58a55f80e7ef7e",
      "parents": [
        "e00811b4ca520e5a876baf41c6831de4bc276d3e",
        "fc098af16b9ff6d470d779d8ddcfb2d91869045a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:41:41 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:41:41 2017 -0700"
      },
      "message": "Merge tag \u0027tty-4.12-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull tty fix from Greg KH:\n \"Here is a single tty core fix for 4.12-rc4. It reverts a patch that a\n  lot of people reported as causing lockdep and other warnings.\n\n  Right after I reverted this in my tree, it seems like another\n  \"correct\" fix might have shown up, but it\u0027s too late in the release\n  cycle to be messing with tty core locking, so let\u0027s just revert this\n  for now to go back how things always have been and try it again for\n  4.13.\n\n  This has not been in linux-next as I only reverted it a few hours ago\"\n\n* tag \u0027tty-4.12-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:\n  Revert \"tty: fix port buffer locking\"\n"
    },
    {
      "commit": "e00811b4ca520e5a876baf41c6831de4bc276d3e",
      "tree": "94318a04adb05210f0bb076f765611db8c17a512",
      "parents": [
        "9f03b2c7c576bbc427b4c214b2c548f3539b17a2",
        "0fd5f221093870d93edb696f6903b058c4d75411"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:37:42 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:37:42 2017 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input subsystem fixes from Dmitry Torokhov:\n\n - a couple of regression fixes in synaptics and axp20x-pek drivers\n\n - try to ease transition from PS/2 to RMI for Synaptics touchpad users\n   by ensuring we do not try to activate RMI mode when RMI SMBus support\n   is not enabled, and nag users a bit to enable it\n\n - plus a couple of other changes that seemed worthwhile for this\n   release\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: axp20x-pek - switch to acpi_dev_present and check for ACPI0011 too\n  Input: axp20x-pek - only check for \"INTCFD9\" ACPI device on Cherry Trail\n  Input: tm2-touchkey - use LEN_ON as boolean value instead of LED_FULL\n  Input: synaptics - tell users to report when they should be using rmi-smbus\n  Input: synaptics - warn the users when there is a better mode\n  Input: synaptics - keep PS/2 around when RMI4_SMB is not enabled\n  Input: synaptics - clear device info before filling in\n  Input: silead - disable interrupt during suspend\n"
    },
    {
      "commit": "9f03b2c7c576bbc427b4c214b2c548f3539b17a2",
      "tree": "002e4cc77b05d3b38fcf330b99830ed09800c0ea",
      "parents": [
        "1f915b7fedd605d69baa581130abc5a38334eaa5",
        "6ceec6953efe7f371218082ddee1fe022a13e8ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:29:32 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:29:32 2017 -0700"
      },
      "message": "Merge tag \u0027rtc-4.12-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux\n\nPull RTC fixlet from Alexandre Belloni:\n \"A single patch, not really a fix but I don\u0027t think there is any reason\n  to delay it.\n\n  Change the mailing list address\"\n\n* tag \u0027rtc-4.12-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:\n  MAINTAINERS: update RTC mailing list\n"
    },
    {
      "commit": "963761a0b2e85663ee4a5630f72930885a06598a",
      "tree": "013955d01bc1907b0513037c35baa57f0b6d3ee8",
      "parents": [
        "20249f84238e006ef7b726d3211a70de7454d045"
      ],
      "author": {
        "name": "Sean Young",
        "email": "sean@mess.org",
        "time": "Wed May 24 06:24:51 2017 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@s-opensource.com",
        "time": "Sun Jun 04 15:25:38 2017 -0300"
      },
      "message": "[media] rc-core: race condition during ir_raw_event_register()\n\nA rc device can call ir_raw_event_handle() after rc_allocate_device(),\nbut before rc_register_device() has completed. This is racey because\nrcdev-\u003eraw is set before rcdev-\u003eraw-\u003ethread has a valid value.\n\nCc: stable@kernel.org\nReported-by: kbuild test robot \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Sean Young \u003csean@mess.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@s-opensource.com\u003e\n"
    },
    {
      "commit": "20249f84238e006ef7b726d3211a70de7454d045",
      "tree": "77f8fb3f901a03dd63779705c54419c1e4bf1fac",
      "parents": [
        "e94c32818d865b620c9bbd2656ab3199259ef9ec"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hans.verkuil@cisco.com",
        "time": "Sun May 28 05:52:16 2017 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@s-opensource.com",
        "time": "Sun Jun 04 15:23:36 2017 -0300"
      },
      "message": "[media] cec: drop MEDIA_CEC_DEBUG\n\nJust depend on DEBUG_FS, no need to invent a new kernel config.\nEspecially since CEC can be enabled by drm without enabling\nMEDIA_SUPPORT.\n\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@s-opensource.com\u003e\n"
    },
    {
      "commit": "e94c32818d865b620c9bbd2656ab3199259ef9ec",
      "tree": "13230e0861b1dd3df3e060d97169d92dc396032d",
      "parents": [
        "9177e51d1434076a91f9bfb693deae8b955d6d57"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hans.verkuil@cisco.com",
        "time": "Sun May 28 05:58:04 2017 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@s-opensource.com",
        "time": "Sun Jun 04 15:23:35 2017 -0300"
      },
      "message": "[media] cec: rename MEDIA_CEC_NOTIFIER to CEC_NOTIFIER\n\nThis config option is strictly speaking independent of the\nmedia subsystem since it can be used by drm as well.\n\nBesides, it looks odd when drivers select CEC_CORE and\nMEDIA_CEC_NOTIFIER, that\u0027s inconsistent naming.\n\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@s-opensource.com\u003e\n"
    },
    {
      "commit": "9177e51d1434076a91f9bfb693deae8b955d6d57",
      "tree": "c0c4bceeb75daee0eda2df74feecd4586521da3c",
      "parents": [
        "ca33784ba4949856a94a545c91429aae5c8b658d"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hans.verkuil@cisco.com",
        "time": "Sun May 28 05:48:37 2017 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@s-opensource.com",
        "time": "Sun Jun 04 15:23:33 2017 -0300"
      },
      "message": "[media] cec: select CEC_CORE instead of depend on it\n\nThe CEC framework is used by both drm and media. That makes it tricky\nto get the dependencies right.\n\nThis patch moves the CEC_CORE and MEDIA_CEC_NOTIFIER config options\nout of the media menu and instead drivers that want to use CEC should\nselect CEC_CORE and MEDIA_CEC_NOTIFIER (if needed).\n\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@s-opensource.com\u003e\n"
    },
    {
      "commit": "ca33784ba4949856a94a545c91429aae5c8b658d",
      "tree": "938cc6d302211ac53b4b5b0150dbe5c589fc0b2e",
      "parents": [
        "f224c5768c78cb42f582636c4720a4d81d452778"
      ],
      "author": {
        "name": "Colin Ian King",
        "email": "colin.king@canonical.com",
        "time": "Fri May 19 14:45:15 2017 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@s-opensource.com",
        "time": "Sun Jun 04 15:23:32 2017 -0300"
      },
      "message": "[media] rainshadow-cec: ensure exit_loop is intialized\n\nexit_loop is not being initialized, so it contains garbage. Ensure it is\ninitialized to false.\n\nDetected by CoverityScan, CID#1436409 (\"Uninitialized scalar variable\")\n\nFixes: ea6a69defd3311 (\"[media] rainshadow-cec: avoid -Wmaybe-uninitialized warning\")\n\nSigned-off-by: Colin Ian King \u003ccolin.king@canonical.com\u003e\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@s-opensource.com\u003e\n"
    },
    {
      "commit": "f224c5768c78cb42f582636c4720a4d81d452778",
      "tree": "1afff8746536e9ac74ad9ee9b8b7b76fef78dec2",
      "parents": [
        "5ed02dbb497422bf225783f46e6eadd237d23d6b"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@s-opensource.com",
        "time": "Thu May 18 05:40:18 2017 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@s-opensource.com",
        "time": "Sun Jun 04 15:23:32 2017 -0300"
      },
      "message": "[media] atomisp: don\u0027t treat warnings as errors\n\nSeveral atomisp files use:\n\t ccflags-y +\u003d -Werror\n\nAs, on media, our usual procedure is to use W\u003d1, and atomisp\nhas *a lot* of warnings with such flag enabled,like:\n\n./drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_common/host/system_local.h:62:26: warning: \u0027DDR_BASE\u0027 defined but not used [-Wunused-const-variable\u003d]\n\nAt the end, it causes our build to fail, impacting our workflow.\n\nSo, remove this crap. If one wants to force -Werror, he\ncan still build with it enabled by passing a parameter to\nmake.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@s-opensource.com\u003e\n"
    },
    {
      "commit": "1f915b7fedd605d69baa581130abc5a38334eaa5",
      "tree": "ef5b0095bb4f304eb23827da0d65b456392ccee1",
      "parents": [
        "55cbdaf6399de16b61d40d49b6c8bb739a877dea",
        "75b61250bf687c686ba6850c34eccc1303b0b827"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:15:43 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 11:15:43 2017 -0700"
      },
      "message": "Merge tag \u0027scsi-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi\n\nPull SCSI fixes from James Bottomley:\n \"This is nine fixes, seven of which are for the qedi driver (new as of\n  4.10) the other two are a use after free in the cxgbi drivers and a\n  potential NULL dereference in the rdac device handler\"\n\n* tag \u0027scsi-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:\n  scsi: libcxgbi: fix skb use after free\n  scsi: qedi: Fix endpoint NULL panic during recovery.\n  scsi: qedi: set max_fin_rt default value\n  scsi: qedi: Set firmware tcp msl timer value.\n  scsi: qedi: Fix endpoint NULL panic in qedi_set_path.\n  scsi: qedi: Set dma_boundary to 0xfff.\n  scsi: qedi: Correctly set firmware max supported BDs.\n  scsi: qedi: Fix bad pte call trace when iscsiuio is stopped.\n  scsi: scsi_dh_rdac: Use ctlr directly in rdac_failover_get()\n"
    },
    {
      "commit": "55cbdaf6399de16b61d40d49b6c8bb739a877dea",
      "tree": "f02dc5a085698c9fb0ec72573623177b52f9cb52",
      "parents": [
        "ea094f3c830a67f252677aacba5d04ebcf55c4d9",
        "d3957b86a40612826ef935f474b31359d66cbdca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 10:41:32 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 04 10:41:32 2017 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma\n\nPull rdma fixes from Doug Ledford:\n \"For the most part this is just a minor -rc cycle for the rdma\n  subsystem. Even given that this is all of the -rc patches since the\n  merge window closed, it\u0027s still only about 25 patches:\n\n   - Multiple i40iw, nes, iw_cxgb4, hfi1, qib, mlx4, mlx5 fixes\n\n   - A few upper layer protocol fixes (IPoIB, iSER, SRP)\n\n   - A modest number of core fixes\"\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (26 commits)\n  RDMA/SA: Fix kernel panic in CMA request handler flow\n  RDMA/umem: Fix missing mmap_sem in get umem ODP call\n  RDMA/core: not to set page dirty bit if it\u0027s already set.\n  RDMA/uverbs: Declare local function static and add brackets to sizeof\n  RDMA/netlink: Reduce exposure of RDMA netlink functions\n  RDMA/srp: Fix NULL deref at srp_destroy_qp()\n  RDMA/IPoIB: Limit the ipoib_dev_uninit_default scope\n  RDMA/IPoIB: Replace netdev_priv with ipoib_priv for ipoib_get_link_ksettings\n  RDMA/qedr: add null check before pointer dereference\n  RDMA/mlx5: set UMR wqe fence according to HCA cap\n  net/mlx5: Define interface bits for fencing UMR wqe\n  RDMA/mlx4: Fix MAD tunneling when SRIOV is enabled\n  RDMA/qib,hfi1: Fix MR reference count leak on write with immediate\n  RDMA/hfi1: Defer setting VL15 credits to link-up interrupt\n  RDMA/hfi1: change PCI bar addr assignments to Linux API functions\n  RDMA/hfi1: fix array termination by appending NULL to attr array\n  RDMA/iw_cxgb4: fix the calculation of ipv6 header size\n  RDMA/iw_cxgb4: calculate t4_eq_status_entries properly\n  RDMA/iw_cxgb4: Avoid touch after free error in ARP failure handlers\n  RDMA/nes: ACK MPA Reply frame\n  ...\n"
    },
    {
      "commit": "fc098af16b9ff6d470d779d8ddcfb2d91869045a",
      "tree": "adf148e5c23f1057ba6dc071f296875ae611704d",
      "parents": [
        "5ed02dbb497422bf225783f46e6eadd237d23d6b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jun 04 10:23:25 2017 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jun 04 10:23:25 2017 +0200"
      },
      "message": "Revert \"tty: fix port buffer locking\"\n\nThis reverts commit 925bb1ce47f429f69aad35876df7ecd8c53deb7e.\n\nIt causes lots of warnings and problems so for now, let\u0027s just revert\nit.\n\nReported-by: \u003cvaldis.kletnieks@vt.edu\u003e\nReported-by: Russell King \u003clinux@armlinux.org.uk\u003e\nReported-by: Sergey Senozhatsky \u003csergey.senozhatsky.work@gmail.com\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nReported-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-by: Andrey Konovalov \u003candreyknvl@google.com\u003e\nAcked-by: Vegard Nossum \u003cvegard.nossum@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4f253e1eb628f5adf7ca4f43aab4bbb1bfffa081",
      "tree": "86c6f0563a3adf85dd3ad44e8cce989bd114b471",
      "parents": [
        "6ea44adce91526700535b3150f77f8639ae8c82d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 16 12:18:11 2017 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "trond.myklebust@primarydata.com",
        "time": "Sat Jun 03 16:06:38 2017 -0400"
      },
      "message": "nfs: Mark unnecessarily extern functions as static\n\nnfs_initialise_sb() and nfs_clone_super() are declared as extern even\nthough they are used only in fs/nfs/super.c. Mark them as static.\n\nAlso remove explicit \u0027inline\u0027 directive from nfs_initialise_sb() and\nleave it upto compiler to decide whether inlining is worth it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003ctrond.myklebust@primarydata.com\u003e\n"
    },
    {
      "commit": "ea094f3c830a67f252677aacba5d04ebcf55c4d9",
      "tree": "73b9c93fb2fd525ffdfd04dd4bf00b733e35dc54",
      "parents": [
        "cc54874055c007cd599138a394d1f039e4e0764b",
        "5f348fa35a28b19cf7ee1eaa420757341a724c86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 03 08:45:03 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 03 08:45:03 2017 -0700"
      },
      "message": "Merge tag \u0027hwmon-for-linus-v4.12-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging\n\nPull hwmon fixes from Guenter Roeck:\n \"A couple of patches for the aspeed pwm fan driver\"\n\n* tag \u0027hwmon-for-linus-v4.12-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:\n  hwmon: (aspeed-pwm-tacho) make fan/pwm names start with index 1\n  hwmon: (aspeed-pwm-tacho) Call of_node_put() on a node not claimed\n  hwmon: (aspeed-pwm-tacho) On read failure return -ETIMEDOUT\n  hwmon: (aspeed-pwm-tacho) Select REGMAP\n"
    },
    {
      "commit": "cc54874055c007cd599138a394d1f039e4e0764b",
      "tree": "76d7a870488bcce136fce9fb446857725d8752cc",
      "parents": [
        "104c08ba8e921ef97abfdc10408d54921a6d9003",
        "05e97a9eda72d58dba293857df6aac62584ef99a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 03 08:42:30 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 03 08:42:30 2017 -0700"
      },
      "message": "Merge tag \u0027for-linus-20170602\u0027 of git://git.infradead.org/linux-mtd\n\nPull MTD fixes from Brian Norris:\n \"NAND updates from Boris:\n\n  tango fixes:\n   - Add missing MODULE_DEVICE_TABLE() in tango_nand.c\n   - Update the number of corrected bitflips\n\n  core fixes:\n   - Fix a long standing memory leak in nand_scan_tail()\n   - Fix several bugs introduced by the per-vendor init/detection\n     infrastructure (introduced in 4.12)\n   - Add a static specifier to nand_ooblayout_lp_hamming_ops definition\"\n\n* tag \u0027for-linus-20170602\u0027 of git://git.infradead.org/linux-mtd:\n  mtd: nand: make nand_ooblayout_lp_hamming_ops static\n  mtd: nand: tango: Update ecc_stats.corrected\n  mtd: nand: tango: Export OF device ID table as module aliases\n  mtd: nand: samsung: warn about un-parseable ECC info\n  mtd: nand: free vendor-specific resources in init failure paths\n  mtd: nand: drop unneeded module.h include\n  mtd: nand: don\u0027t leak buffers when -\u003escan_bbt() fails\n"
    },
    {
      "commit": "5f348fa35a28b19cf7ee1eaa420757341a724c86",
      "tree": "fe6ca06b24c75ce9425db46cd425ed19e8a9201c",
      "parents": [
        "4d58e7329fdd87d37f04b319d6a5165aaff5d75c"
      ],
      "author": {
        "name": "Stefan Schaeckeler",
        "email": "sschaeck@cisco.com",
        "time": "Fri Jun 02 12:43:28 2017 -0700"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Sat Jun 03 03:55:43 2017 -0700"
      },
      "message": "hwmon: (aspeed-pwm-tacho) make fan/pwm names start with index 1\n\nMake fan and pwm names in sysfs start with index 1 in accordance to\nDocumentation/hwmon/sysfs-interface conventions.\n\nCurrent implementation starts with index 0, making tools such as\nsensors(1) skip the first fan.\n\nSigned-off-by: Stefan Schaeckeler \u003csschaeck@cisco.com\u003e\nFixes: 2d7a548a3eff (\"drivers: hwmon: Support for ASPEED PWM/Fan tach\")\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\n"
    },
    {
      "commit": "4d58e7329fdd87d37f04b319d6a5165aaff5d75c",
      "tree": "85881c8d1fbe5933c6a0ab205e640eacdc72cba4",
      "parents": [
        "7ed1c5e5ddbb87aef9df7f8a8a714bcffe90f0eb"
      ],
      "author": {
        "name": "Stefan Schaeckeler",
        "email": "sschaeck@cisco.com",
        "time": "Fri Jun 02 12:42:08 2017 -0700"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Sat Jun 03 03:54:00 2017 -0700"
      },
      "message": "hwmon: (aspeed-pwm-tacho) Call of_node_put() on a node not claimed\n\nCall of_node_put() on a node claimed with of_node_get() or by any other\nmeans such as for_each_child_of_node().\n\nSigned-off-by: Stefan Schaeckeler \u003csschaeck@cisco.com\u003e\nFixes: 2d7a548a3eff (\"drivers: hwmon: Support for ASPEED PWM/Fan tach\")\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\n"
    },
    {
      "commit": "0fd5f221093870d93edb696f6903b058c4d75411",
      "tree": "d218c8e4afd5ab878b63e3fa956153ae129ffbc0",
      "parents": [
        "8d4b31376974855cd4fb176e5d63ba8e0407928e"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "hdegoede@redhat.com",
        "time": "Fri Jun 02 17:50:22 2017 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jun 02 17:53:20 2017 -0700"
      },
      "message": "Input: axp20x-pek - switch to acpi_dev_present and check for ACPI0011 too\n\nacpi_dev_found checks that there is a matching ACPI node, but it\nmay be disabled (_STA method returns 0) in which case the\nsoc_button_array driver will not bind to it and axp20x-pek should\nhandle the power-button.\n\nThis commit switches from acpi_dev_found to acpi_dev_present to\navoid not registering an input-dev for the powerbutton when there\nis a disabled PNP0C40 device.\n\nThe ACPI-6.0 standard defines a standard gpio button device using\nthe ACPI0011 HID replacing the custom PNP0C40 gpio device, many\nnewer devices define both PNP0C40 and ACPI0011 devices enabling one\nor the other depending on whether the BIOS thinks it is going to boot\nAndroid or Windows.\n\nThis commit adds a check for the ACPI0011 device, so that if\neither device is present *and* enabled we don\u0027t register an input-dev\nfor the powerbutton.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e"
    },
    {
      "commit": "8d4b31376974855cd4fb176e5d63ba8e0407928e",
      "tree": "d3fa2356a1aa37333f33087fbade8aec1f075fdd",
      "parents": [
        "eadcbfa58ae8693f0d6a0f591d8f51d55cf068e1"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "hdegoede@redhat.com",
        "time": "Fri Jun 02 17:18:47 2017 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jun 02 17:53:19 2017 -0700"
      },
      "message": "Input: axp20x-pek - only check for \"INTCFD9\" ACPI device on Cherry Trail\n\nCommit 9b13a4ca8d2c (\"Input: axp20x-pek - do not register input device\non some systems\") added a check for the INTCFD9 ACPI device which also\nhandles the powerbutton as on some systems the powerbutton is connected\nto both the PMIC, handled by axp20x-pek, and to a gpio on the SoC, handled\nby soc_button_array which attaches itself to the INTCFD9 ACPI device.\n\nTesting + comparing DSDTs has shown that this only happens on Cherry\nTrail devices with an AXP288 PMIC, the AXP288 PMIC is also used on\nBay Trail devices but there the power button is only connected to\nthe PMIC and not handled by soc_button_array.\n\nThis means that the INTCFD9 check has caused a regression on Bay Trail\ndevices, causing power-button presses to no longer be seen.\n\nThis commit fixes this by limiting the check to devices where the ACPI\nnode for the AXP288 contains a _HRV (hardware revision) attribute with\na value of 3 which indicates we are dealing with a Cherry Trail platform.\n\nFixes: 9b13a4ca8d2c (\"Input: axp20x-pek - do not register input ...\")\nReported-by: Сергей Трусов \u003ct.rus76@ya.ru\u003e\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e"
    },
    {
      "commit": "eadcbfa58ae8693f0d6a0f591d8f51d55cf068e1",
      "tree": "cff3f1c56a8bf15138b652ee9dab50dddd6edee5",
      "parents": [
        "c4beedb8a914af9c8c1b6e67c753adf411e05160",
        "5ed02dbb497422bf225783f46e6eadd237d23d6b"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jun 02 17:49:10 2017 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jun 02 17:49:10 2017 -0700"
      },
      "message": "Merge tag \u0027v4.12-rc3\u0027 into for-linus\n\nMerge with mainline to get acpi_dev_present() needed by patches to\naxp20x-pek driver.\n"
    },
    {
      "commit": "104c08ba8e921ef97abfdc10408d54921a6d9003",
      "tree": "7e744f5660b78e0842354a95fc8cdbb2e7e668a5",
      "parents": [
        "89af529a6469d612258fce5745a7d45430f316ce",
        "60319130254084b337e02439d3b4ec301b6328bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 16:36:23 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 16:36:23 2017 -0700"
      },
      "message": "Merge tag \u0027acpi-4.12-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull ACPI fixes from Rafael Wysocki:\n \"These revert one more problematic commit related to the ACPI-based\n  handling of laptop lids and make some unuseful error messages coming\n  from ACPICA go away.\n\n  Specifics:\n\n   - Revert one more commit related to the ACPI-based handling of laptop\n     lids that changed the default behavior on laptops that booted with\n     closed lids and introduced a regression there (Benjamin Tissoires).\n\n   - Add a missing acpi_put_table() to the code implementing the\n     /sys/firmware/acpi/tables interface to prevent a counter in the\n     ACPICA core from overflowing (Dan Williams).\n\n   - Drop error messages printed by ACPICA on acpi_get_table() reference\n     counting mismatches as they need not indicate real errors at this\n     point (Lv Zheng)\"\n\n* tag \u0027acpi-4.12-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  ACPICA: Tables: Fix regression introduced by a too early mechanism enabling\n  Revert \"ACPI / button: Change default behavior to lid_init_state\u003dopen\"\n  ACPI / sysfs: fix acpi_get_table() leak / acpi-sysfs denial of service\n"
    },
    {
      "commit": "89af529a6469d612258fce5745a7d45430f316ce",
      "tree": "c001416d1015bba34d27e3b20257535f67c1df1b",
      "parents": [
        "5a4829b564d2f69574dc55bba2ada3ee72022187",
        "bb5710e72c217e5bbdf0969a2fd84f5f5ad7fc2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 16:33:33 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 16:33:33 2017 -0700"
      },
      "message": "Merge tag \u0027pm-4.12-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management fixes from Rafael Wysocki:\n \"These fix two bugs in error code paths in the cpufreq core and in the\n  kirkwood-cpufreq driver.\n\n  Specifics:\n\n   - Make cpufreq_register_driver() return an error if the -\u003einit()\n     calls fail for all CPUs to prevent non-functional drivers from\n     hanging around for no reason (David Arcari).\n\n   - Make kirkwood-cpufreq check the return value of\n     clk_prepare_enable() (which may fail) as appropriate (Arvind\n     Yadav)\"\n\n* tag \u0027pm-4.12-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  cpufreq: kirkwood-cpufreq:- Handle return value of clk_prepare_enable()\n  cpufreq: cpufreq_register_driver() should return -ENODEV if init fails\n"
    },
    {
      "commit": "5a4829b564d2f69574dc55bba2ada3ee72022187",
      "tree": "e27a16b2a564ef9a2263ca7cef83165664912dea",
      "parents": [
        "f219764920c3d235713566013375cc01decd3d49",
        "9dfa7bba35ac08a63565d58c454dccb7e1bb0a08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 16:19:47 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 16:19:47 2017 -0700"
      },
      "message": "Merge tag \u0027random_for_linus_stable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random\n\nPull /dev/random bug fix from Ted Ts\u0027o:\n \"Fix a race on architectures with prioritized interrupts (such as m68k)\n  which can causes crashes in drivers/char/random.c:get_reg()\"\n\n* tag \u0027random_for_linus_stable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random:\n  fix race in drivers/char/random.c:get_reg()\n"
    },
    {
      "commit": "f219764920c3d235713566013375cc01decd3d49",
      "tree": "f36613f5fb6e1c3bec82110d55927594cfa74ea7",
      "parents": [
        "e6e6d074369c839e84071c3b056adf20ead8da6e",
        "d6c9708737c2107c38bd75f133d14d5801b8d6d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:49:46 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:49:46 2017 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (patches from Andrew)\n\nMerge misc fixes from Andrew Morton:\n \"15 fixes\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e:\n  scripts/gdb: make lx-dmesg command work (reliably)\n  mm: consider memblock reservations for deferred memory initialization sizing\n  mm/hugetlb: report -EHWPOISON not -EFAULT when FOLL_HWPOISON is specified\n  mlock: fix mlock count can not decrease in race condition\n  mm/migrate: fix refcount handling when !hugepage_migration_supported()\n  dax: fix race between colliding PMD \u0026 PTE entries\n  mm: avoid spurious \u0027bad pmd\u0027 warning messages\n  mm/page_alloc.c: make sure OOM victim can try allocations with no watermarks once\n  pcmcia: remove left-over %Z format\n  slub/memcg: cure the brainless abuse of sysfs attributes\n  initramfs: fix disabling of initramfs (and its compression)\n  mm: clarify why we want kmalloc before falling backto vmallock\n  frv: declare jiffies to be located in the .data section\n  include/linux/gfp.h: fix ___GFP_NOLOCKDEP value\n  ksm: prevent crash after write_protect_page fails\n"
    },
    {
      "commit": "d6c9708737c2107c38bd75f133d14d5801b8d6d5",
      "tree": "540fe3fe4ebfc3f2efdf1b21cce9f5f16e74f7b3",
      "parents": [
        "864b9a393dcb5aed09b8fd31b9bbda0fdda99374"
      ],
      "author": {
        "name": "André Draszik",
        "email": "git@andred.net",
        "time": "Fri Jun 02 14:46:51 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:38 2017 -0700"
      },
      "message": "scripts/gdb: make lx-dmesg command work (reliably)\n\nlx-dmesg needs access to the log_buf symbol from printk.c.\nUnfortunately, the symbol log_buf also exists in BPF\u0027s verifier.c and\nhence gdb can pick one or the other.  If it happens to pick BPF\u0027s\nlog_buf, lx-dmesg doesn\u0027t work:\n\n  (gdb) lx-dmesg\n  Python Exception \u003cclass \u0027gdb.MemoryError\u0027\u003e Cannot access memory at address 0x0:\n  Error occurred in Python command: Cannot access memory at address 0x0\n  (gdb) p log_buf\n  $15 \u003d 0x0\n\nLuckily, GDB has a way to deal with this, see\n  https://sourceware.org/gdb/onlinedocs/gdb/Symbols.html\n\n  (gdb) info variables ^log_buf$\n  All variables matching regular expression \"^log_buf$\":\n\n  File \u003clinux.git\u003e/kernel/bpf/verifier.c:\n  static char *log_buf;\n\n  File \u003clinux.git\u003e/kernel/printk/printk.c:\n  static char *log_buf;\n  (gdb) p \u0027verifier.c\u0027::log_buf\n  $1 \u003d 0x0\n  (gdb) p \u0027printk.c\u0027::log_buf\n  $2 \u003d 0x811a6aa0 \u003c__log_buf\u003e \"\"\n  (gdb) p \u0026log_buf\n  $3 \u003d (char **) 0x8120fe40 \u003clog_buf\u003e\n  (gdb) p \u0026\u0027verifier.c\u0027::log_buf\n  $4 \u003d (char **) 0x8120fe40 \u003clog_buf\u003e\n  (gdb) p \u0026\u0027printk.c\u0027::log_buf\n  $5 \u003d (char **) 0x8048b7d0 \u003clog_buf\u003e\n\nBy being explicit about the location of the symbol, we can make lx-dmesg\nwork again.  While at it, do the same for the other symbols we need from\nprintk.c\n\nLink: http://lkml.kernel.org/r/20170526112222.3414-1-git@andred.net\nSigned-off-by: André Draszik \u003cgit@andred.net\u003e\nTested-by: Kieran Bingham \u003ckieran@bingham.xyz\u003e\nAcked-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "864b9a393dcb5aed09b8fd31b9bbda0fdda99374",
      "tree": "8ce58c6ba1c874053e4814bd168c990d6cadda84",
      "parents": [
        "9a291a7c9428155e8e623e4a3989f8be47134df5"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.com",
        "time": "Fri Jun 02 14:46:49 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:38 2017 -0700"
      },
      "message": "mm: consider memblock reservations for deferred memory initialization sizing\n\nWe have seen an early OOM killer invocation on ppc64 systems with\ncrashkernel\u003d4096M:\n\n\tkthreadd invoked oom-killer: gfp_mask\u003d0x16040c0(GFP_KERNEL|__GFP_COMP|__GFP_NOTRACK), nodemask\u003d7, order\u003d0, oom_score_adj\u003d0\n\tkthreadd cpuset\u003d/ mems_allowed\u003d7\n\tCPU: 0 PID: 2 Comm: kthreadd Not tainted 4.4.68-1.gd7fe927-default #1\n\tCall Trace:\n\t  dump_stack+0xb0/0xf0 (unreliable)\n\t  dump_header+0xb0/0x258\n\t  out_of_memory+0x5f0/0x640\n\t  __alloc_pages_nodemask+0xa8c/0xc80\n\t  kmem_getpages+0x84/0x1a0\n\t  fallback_alloc+0x2a4/0x320\n\t  kmem_cache_alloc_node+0xc0/0x2e0\n\t  copy_process.isra.25+0x260/0x1b30\n\t  _do_fork+0x94/0x470\n\t  kernel_thread+0x48/0x60\n\t  kthreadd+0x264/0x330\n\t  ret_from_kernel_thread+0x5c/0xa4\n\n\tMem-Info:\n\tactive_anon:0 inactive_anon:0 isolated_anon:0\n\t active_file:0 inactive_file:0 isolated_file:0\n\t unevictable:0 dirty:0 writeback:0 unstable:0\n\t slab_reclaimable:5 slab_unreclaimable:73\n\t mapped:0 shmem:0 pagetables:0 bounce:0\n\t free:0 free_pcp:0 free_cma:0\n\tNode 7 DMA free:0kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:52428800kB managed:110016kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:320kB slab_unreclaimable:4672kB kernel_stack:1152kB pagetables:0kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes\n\tlowmem_reserve[]: 0 0 0 0\n\tNode 7 DMA: 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB 0*16384kB \u003d 0kB\n\t0 total pagecache pages\n\t0 pages in swap cache\n\tSwap cache stats: add 0, delete 0, find 0/0\n\tFree swap  \u003d 0kB\n\tTotal swap \u003d 0kB\n\t819200 pages RAM\n\t0 pages HighMem/MovableOnly\n\t817481 pages reserved\n\t0 pages cma reserved\n\t0 pages hwpoisoned\n\nthe reason is that the managed memory is too low (only 110MB) while the\nrest of the the 50GB is still waiting for the deferred intialization to\nbe done.  update_defer_init estimates the initial memoty to initialize\nto 2GB at least but it doesn\u0027t consider any memory allocated in that\nrange.  In this particular case we\u0027ve had\n\n\tReserving 4096MB of memory at 128MB for crashkernel (System RAM: 51200MB)\n\nso the low 2GB is mostly depleted.\n\nFix this by considering memblock allocations in the initial static\ninitialization estimation.  Move the max_initialise to\nreset_deferred_meminit and implement a simple memblock_reserved_memory\nhelper which iterates all reserved blocks and sums the size of all that\nstart below the given address.  The cumulative size is than added on top\nof the initial estimation.  This is still not ideal because\nreset_deferred_meminit doesn\u0027t consider holes and so reservation might\nbe above the initial estimation whihch we ignore but let\u0027s make the\nlogic simpler until we really need to handle more complicated cases.\n\nFixes: 3a80a7fa7989 (\"mm: meminit: initialise a subset of struct pages if CONFIG_DEFERRED_STRUCT_PAGE_INIT is set\")\nLink: http://lkml.kernel.org/r/20170531104010.GI27783@dhcp22.suse.cz\nSigned-off-by: Michal Hocko \u003cmhocko@suse.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nTested-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[4.2+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a291a7c9428155e8e623e4a3989f8be47134df5",
      "tree": "7cef1f6714c62ccc43431ade14559dd0be585e54",
      "parents": [
        "70feee0e1ef331b22cc51f383d532a0d043fbdcc"
      ],
      "author": {
        "name": "James Morse",
        "email": "james.morse@arm.com",
        "time": "Fri Jun 02 14:46:46 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:38 2017 -0700"
      },
      "message": "mm/hugetlb: report -EHWPOISON not -EFAULT when FOLL_HWPOISON is specified\n\nKVM uses get_user_pages() to resolve its stage2 faults.  KVM sets the\nFOLL_HWPOISON flag causing faultin_page() to return -EHWPOISON when it\nfinds a VM_FAULT_HWPOISON.  KVM handles these hwpoison pages as a\nspecial case.  (check_user_page_hwpoison())\n\nWhen huge pages are involved, this doesn\u0027t work so well.\nget_user_pages() calls follow_hugetlb_page(), which stops early if it\nreceives VM_FAULT_HWPOISON from hugetlb_fault(), eventually returning\n-EFAULT to the caller.  The step to map this to -EHWPOISON based on the\nFOLL_ flags is missing.  The hwpoison special case is skipped, and\n-EFAULT is returned to user-space, causing Qemu or kvmtool to exit.\n\nInstead, move this VM_FAULT_ to errno mapping code into a header file\nand use it from faultin_page() and follow_hugetlb_page().\n\nWith this, KVM works as expected.\n\nThis isn\u0027t a problem for arm64 today as we haven\u0027t enabled\nMEMORY_FAILURE, but I can\u0027t see any reason this doesn\u0027t happen on x86\ntoo, so I think this should be a fix.  This doesn\u0027t apply earlier than\nstable\u0027s v4.11.1 due to all sorts of cleanup.\n\n[james.morse@arm.com: add vm_fault_to_errno() call to faultin_page()]\nsuggested.\n  Link: http://lkml.kernel.org/r/20170525171035.16359-1-james.morse@arm.com\n[akpm@linux-foundation.org: coding-style fixes]\nLink: http://lkml.kernel.org/r/20170524160900.28786-1-james.morse@arm.com\nSigned-off-by: James Morse \u003cjames.morse@arm.com\u003e\nAcked-by: Punit Agrawal \u003cpunit.agrawal@arm.com\u003e\nAcked-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: \"Kirill A . Shutemov\" \u003ckirill.shutemov@linux.intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[4.11.1+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70feee0e1ef331b22cc51f383d532a0d043fbdcc",
      "tree": "721a57090336f0abfbdcb436d092e7d4505875d8",
      "parents": [
        "30809f559a0d348c2dfd7ab05e9a451e2384962e"
      ],
      "author": {
        "name": "Yisheng Xie",
        "email": "xieyisheng1@huawei.com",
        "time": "Fri Jun 02 14:46:43 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:38 2017 -0700"
      },
      "message": "mlock: fix mlock count can not decrease in race condition\n\nKefeng reported that when running the follow test, the mlock count in\nmeminfo will increase permanently:\n\n [1] testcase\n linux:~ # cat test_mlockal\n grep Mlocked /proc/meminfo\n  for j in `seq 0 10`\n  do\n \tfor i in `seq 4 15`\n \tdo\n \t\t./p_mlockall \u003e\u003e log \u0026\n \tdone\n \tsleep 0.2\n done\n # wait some time to let mlock counter decrease and 5s may not enough\n sleep 5\n grep Mlocked /proc/meminfo\n\n linux:~ # cat p_mlockall.c\n #include \u003csys/mman.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstdio.h\u003e\n\n #define SPACE_LEN\t4096\n\n int main(int argc, char ** argv)\n {\n\t \tint ret;\n\t \tvoid *adr \u003d malloc(SPACE_LEN);\n\t \tif (!adr)\n\t \t\treturn -1;\n\n\t \tret \u003d mlockall(MCL_CURRENT | MCL_FUTURE);\n\t \tprintf(\"mlcokall ret \u003d %d\\n\", ret);\n\n\t \tret \u003d munlockall();\n\t \tprintf(\"munlcokall ret \u003d %d\\n\", ret);\n\n\t \tfree(adr);\n\t \treturn 0;\n\t }\n\nIn __munlock_pagevec() we should decrement NR_MLOCK for each page where\nwe clear the PageMlocked flag.  Commit 1ebb7cc6a583 (\"mm: munlock: batch\nNR_MLOCK zone state updates\") has introduced a bug where we don\u0027t\ndecrement NR_MLOCK for pages where we clear the flag, but fail to\nisolate them from the lru list (e.g.  when the pages are on some other\ncpu\u0027s percpu pagevec).  Since PageMlocked stays cleared, the NR_MLOCK\naccounting gets permanently disrupted by this.\n\nFix it by counting the number of page whose PageMlock flag is cleared.\n\nFixes: 1ebb7cc6a583 (\" mm: munlock: batch NR_MLOCK zone state updates\")\nLink: http://lkml.kernel.org/r/1495678405-54569-1-git-send-email-xieyisheng1@huawei.com\nSigned-off-by: Yisheng Xie \u003cxieyisheng1@huawei.com\u003e\nReported-by: Kefeng Wang \u003cwangkefeng.wang@huawei.com\u003e\nTested-by: Kefeng Wang \u003cwangkefeng.wang@huawei.com\u003e\nCc: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Xishi Qiu \u003cqiuxishi@huawei.com\u003e\nCc: zhongjiang \u003czhongjiang@huawei.com\u003e\nCc: Hanjun Guo \u003cguohanjun@huawei.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30809f559a0d348c2dfd7ab05e9a451e2384962e",
      "tree": "bb2982cca50de6390a03b4585a6a7e6cfef134c3",
      "parents": [
        "e2093926a098a8ccf0f1d10f6df8dad452cb28d3"
      ],
      "author": {
        "name": "Punit Agrawal",
        "email": "punit.agrawal@arm.com",
        "time": "Fri Jun 02 14:46:40 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:38 2017 -0700"
      },
      "message": "mm/migrate: fix refcount handling when !hugepage_migration_supported()\n\nOn failing to migrate a page, soft_offline_huge_page() performs the\nnecessary update to the hugepage ref-count.\n\nBut when !hugepage_migration_supported() , unmap_and_move_hugepage()\nalso decrements the page ref-count for the hugepage.  The combined\nbehaviour leaves the ref-count in an inconsistent state.\n\nThis leads to soft lockups when running the overcommitted hugepage test\nfrom mce-tests suite.\n\n  Soft offlining pfn 0x83ed600 at process virtual address 0x400000000000\n  soft offline: 0x83ed600: migration failed 1, type 1fffc00000008008 (uptodate|head)\n  INFO: rcu_preempt detected stalls on CPUs/tasks:\n   Tasks blocked on level-0 rcu_node (CPUs 0-7): P2715\n    (detected by 7, t\u003d5254 jiffies, g\u003d963, c\u003d962, q\u003d321)\n    thugetlb_overco R  running task        0  2715   2685 0x00000008\n    Call trace:\n      dump_backtrace+0x0/0x268\n      show_stack+0x24/0x30\n      sched_show_task+0x134/0x180\n      rcu_print_detail_task_stall_rnp+0x54/0x7c\n      rcu_check_callbacks+0xa74/0xb08\n      update_process_times+0x34/0x60\n      tick_sched_handle.isra.7+0x38/0x70\n      tick_sched_timer+0x4c/0x98\n      __hrtimer_run_queues+0xc0/0x300\n      hrtimer_interrupt+0xac/0x228\n      arch_timer_handler_phys+0x3c/0x50\n      handle_percpu_devid_irq+0x8c/0x290\n      generic_handle_irq+0x34/0x50\n      __handle_domain_irq+0x68/0xc0\n      gic_handle_irq+0x5c/0xb0\n\nAddress this by changing the putback_active_hugepage() in\nsoft_offline_huge_page() to putback_movable_pages().\n\nThis only triggers on systems that enable memory failure handling\n(ARCH_SUPPORTS_MEMORY_FAILURE) but not hugepage migration\n(!ARCH_ENABLE_HUGEPAGE_MIGRATION).\n\nI imagine this wasn\u0027t triggered as there aren\u0027t many systems running\nthis configuration.\n\n[akpm@linux-foundation.org: remove dead comment, per Naoya]\nLink: http://lkml.kernel.org/r/20170525135146.32011-1-punit.agrawal@arm.com\nReported-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nTested-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nSuggested-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Punit Agrawal \u003cpunit.agrawal@arm.com\u003e\nCc: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nCc: Wanpeng Li \u003cwanpeng.li@hotmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Mel Gorman \u003cmgorman@techsingularity.net\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.14+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2093926a098a8ccf0f1d10f6df8dad452cb28d3",
      "tree": "e6d978bebb6bc8962881c5a614c4e572e89fb51e",
      "parents": [
        "d0f0931de936a0a468d7e59284d39581c16d3a73"
      ],
      "author": {
        "name": "Ross Zwisler",
        "email": "ross.zwisler@linux.intel.com",
        "time": "Fri Jun 02 14:46:37 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "dax: fix race between colliding PMD \u0026 PTE entries\n\nWe currently have two related PMD vs PTE races in the DAX code.  These\ncan both be easily triggered by having two threads reading and writing\nsimultaneously to the same private mapping, with the key being that\nprivate mapping reads can be handled with PMDs but private mapping\nwrites are always handled with PTEs so that we can COW.\n\nHere is the first race:\n\n  CPU 0\t\t\t\t\tCPU 1\n\n  (private mapping write)\n  __handle_mm_fault()\n    create_huge_pmd() - FALLBACK\n    handle_pte_fault()\n      passes check for pmd_devmap()\n\n\t\t\t\t\t(private mapping read)\n\t\t\t\t\t__handle_mm_fault()\n\t\t\t\t\t  create_huge_pmd()\n\t\t\t\t\t    dax_iomap_pmd_fault() inserts PMD\n\n      dax_iomap_pte_fault() does a PTE fault, but we already have a DAX PMD\n      \t\t\t  installed in our page tables at this spot.\n\nHere\u0027s the second race:\n\n  CPU 0\t\t\t\t\tCPU 1\n\n  (private mapping read)\n  __handle_mm_fault()\n    passes check for pmd_none()\n    create_huge_pmd()\n      dax_iomap_pmd_fault() inserts PMD\n\n  (private mapping write)\n  __handle_mm_fault()\n    create_huge_pmd() - FALLBACK\n\t\t\t\t\t(private mapping read)\n\t\t\t\t\t__handle_mm_fault()\n\t\t\t\t\t  passes check for pmd_none()\n\t\t\t\t\t  create_huge_pmd()\n\n    handle_pte_fault()\n      dax_iomap_pte_fault() inserts PTE\n\t\t\t\t\t    dax_iomap_pmd_fault() inserts PMD,\n\t\t\t\t\t       but we already have a PTE at\n\t\t\t\t\t       this spot.\n\nThe core of the issue is that while there is isolation between faults to\nthe same range in the DAX fault handlers via our DAX entry locking,\nthere is no isolation between faults in the code in mm/memory.c.  This\nmeans for instance that this code in __handle_mm_fault() can run:\n\n\tif (pmd_none(*vmf.pmd) \u0026\u0026 transparent_hugepage_enabled(vma)) {\n\t\tret \u003d create_huge_pmd(\u0026vmf);\n\nBut by the time we actually get to run the fault handler called by\ncreate_huge_pmd(), the PMD is no longer pmd_none() because a racing PTE\nfault has installed a normal PMD here as a parent.  This is the cause of\nthe 2nd race.  The first race is similar - there is the following check\nin handle_pte_fault():\n\n\t} else {\n\t\t/* See comment in pte_alloc_one_map() */\n\t\tif (pmd_devmap(*vmf-\u003epmd) || pmd_trans_unstable(vmf-\u003epmd))\n\t\t\treturn 0;\n\nSo if a pmd_devmap() PMD (a DAX PMD) has been installed at vmf-\u003epmd, we\nwill bail and retry the fault.  This is correct, but there is nothing\npreventing the PMD from being installed after this check but before we\nactually get to the DAX PTE fault handlers.\n\nIn my testing these races result in the following types of errors:\n\n  BUG: Bad rss-counter state mm:ffff8800a817d280 idx:1 val:1\n  BUG: non-zero nr_ptes on freeing mm: 15\n\nFix this issue by having the DAX fault handlers verify that it is safe\nto continue their fault after they have taken an entry lock to block\nother racing faults.\n\n[ross.zwisler@linux.intel.com: improve fix for colliding PMD \u0026 PTE entries]\n  Link: http://lkml.kernel.org/r/20170526195932.32178-1-ross.zwisler@linux.intel.com\nLink: http://lkml.kernel.org/r/20170522215749.23516-2-ross.zwisler@linux.intel.com\nSigned-off-by: Ross Zwisler \u003cross.zwisler@linux.intel.com\u003e\nReported-by: Pawel Lebioda \u003cpawel.lebioda@intel.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \"Darrick J. Wong\" \u003cdarrick.wong@oracle.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: Dave Hansen \u003cdave.hansen@intel.com\u003e\nCc: Matthew Wilcox \u003cmawilcox@microsoft.com\u003e\nCc: \"Kirill A . Shutemov\" \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Pawel Lebioda \u003cpawel.lebioda@intel.com\u003e\nCc: Dave Jiang \u003cdave.jiang@intel.com\u003e\nCc: Xiong Zhou \u003cxzhou@redhat.com\u003e\nCc: Eryu Guan \u003ceguan@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0f0931de936a0a468d7e59284d39581c16d3a73",
      "tree": "085c4285db534664f2624a0442127657ad52a199",
      "parents": [
        "c288983dddf714216428774e022ad78f48dd8cb1"
      ],
      "author": {
        "name": "Ross Zwisler",
        "email": "ross.zwisler@linux.intel.com",
        "time": "Fri Jun 02 14:46:34 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "mm: avoid spurious \u0027bad pmd\u0027 warning messages\n\nWhen the pmd_devmap() checks were added by 5c7fb56e5e3f (\"mm, dax:\ndax-pmd vs thp-pmd vs hugetlbfs-pmd\") to add better support for DAX huge\npages, they were all added to the end of if() statements after existing\npmd_trans_huge() checks.  So, things like:\n\n  -       if (pmd_trans_huge(*pmd))\n  +       if (pmd_trans_huge(*pmd) || pmd_devmap(*pmd))\n\nWhen further checks were added after pmd_trans_unstable() checks by\ncommit 7267ec008b5c (\"mm: postpone page table allocation until we have\npage to map\") they were also added at the end of the conditional:\n\n  +       if (pmd_trans_unstable(fe-\u003epmd) || pmd_devmap(*fe-\u003epmd))\n\nThis ordering is fine for pmd_trans_huge(), but doesn\u0027t work for\npmd_trans_unstable().  This is because DAX huge pages trip the bad_pmd()\ncheck inside of pmd_none_or_trans_huge_or_clear_bad() (called by\npmd_trans_unstable()), which prints out a warning and returns 1.  So, we\ndo end up doing the right thing, but only after spamming dmesg with\nsuspicious looking messages:\n\n  mm/pgtable-generic.c:39: bad pmd ffff8808daa49b88(84000001006000a5)\n\nReorder these checks in a helper so that pmd_devmap() is checked first,\navoiding the error messages, and add a comment explaining why the\nordering is important.\n\nFixes: commit 7267ec008b5c (\"mm: postpone page table allocation until we have page to map\")\nLink: http://lkml.kernel.org/r/20170522215749.23516-1-ross.zwisler@linux.intel.com\nSigned-off-by: Ross Zwisler \u003cross.zwisler@linux.intel.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Pawel Lebioda \u003cpawel.lebioda@intel.com\u003e\nCc: \"Darrick J. Wong\" \u003cdarrick.wong@oracle.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: Dave Hansen \u003cdave.hansen@intel.com\u003e\nCc: Matthew Wilcox \u003cmawilcox@microsoft.com\u003e\nCc: \"Kirill A . Shutemov\" \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Dave Jiang \u003cdave.jiang@intel.com\u003e\nCc: Xiong Zhou \u003cxzhou@redhat.com\u003e\nCc: Eryu Guan \u003ceguan@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c288983dddf714216428774e022ad78f48dd8cb1",
      "tree": "f35303093285e0c29377a4df06e222e9e50c3685",
      "parents": [
        "ff5a20169b98d84ad8d7f99f27c5ebbb008204d6"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Fri Jun 02 14:46:31 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "mm/page_alloc.c: make sure OOM victim can try allocations with no watermarks once\n\nRoman Gushchin has reported that the OOM killer can trivially selects\nnext OOM victim when a thread doing memory allocation from page fault\npath was selected as first OOM victim.\n\n    allocate invoked oom-killer: gfp_mask\u003d0x14280ca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), nodemask\u003d(null),  order\u003d0, oom_score_adj\u003d0\n    allocate cpuset\u003d/ mems_allowed\u003d0\n    CPU: 1 PID: 492 Comm: allocate Not tainted 4.12.0-rc1-mm1+ #181\n    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014\n    Call Trace:\n     oom_kill_process+0x219/0x3e0\n     out_of_memory+0x11d/0x480\n     __alloc_pages_slowpath+0xc84/0xd40\n     __alloc_pages_nodemask+0x245/0x260\n     alloc_pages_vma+0xa2/0x270\n     __handle_mm_fault+0xca9/0x10c0\n     handle_mm_fault+0xf3/0x210\n     __do_page_fault+0x240/0x4e0\n     trace_do_page_fault+0x37/0xe0\n     do_async_page_fault+0x19/0x70\n     async_page_fault+0x28/0x30\n    ...\n    Out of memory: Kill process 492 (allocate) score 899 or sacrifice child\n    Killed process 492 (allocate) total-vm:2052368kB, anon-rss:1894576kB, file-rss:4kB, shmem-rss:0kB\n    allocate: page allocation failure: order:0, mode:0x14280ca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), nodemask\u003d(null)\n    allocate cpuset\u003d/ mems_allowed\u003d0\n    CPU: 1 PID: 492 Comm: allocate Not tainted 4.12.0-rc1-mm1+ #181\n    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014\n    Call Trace:\n     __alloc_pages_slowpath+0xd32/0xd40\n     __alloc_pages_nodemask+0x245/0x260\n     alloc_pages_vma+0xa2/0x270\n     __handle_mm_fault+0xca9/0x10c0\n     handle_mm_fault+0xf3/0x210\n     __do_page_fault+0x240/0x4e0\n     trace_do_page_fault+0x37/0xe0\n     do_async_page_fault+0x19/0x70\n     async_page_fault+0x28/0x30\n    ...\n    oom_reaper: reaped process 492 (allocate), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB\n    ...\n    allocate invoked oom-killer: gfp_mask\u003d0x0(), nodemask\u003d(null),  order\u003d0, oom_score_adj\u003d0\n    allocate cpuset\u003d/ mems_allowed\u003d0\n    CPU: 1 PID: 492 Comm: allocate Not tainted 4.12.0-rc1-mm1+ #181\n    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014\n    Call Trace:\n     oom_kill_process+0x219/0x3e0\n     out_of_memory+0x11d/0x480\n     pagefault_out_of_memory+0x68/0x80\n     mm_fault_error+0x8f/0x190\n     ? handle_mm_fault+0xf3/0x210\n     __do_page_fault+0x4b2/0x4e0\n     trace_do_page_fault+0x37/0xe0\n     do_async_page_fault+0x19/0x70\n     async_page_fault+0x28/0x30\n    ...\n    Out of memory: Kill process 233 (firewalld) score 10 or sacrifice child\n    Killed process 233 (firewalld) total-vm:246076kB, anon-rss:20956kB, file-rss:0kB, shmem-rss:0kB\n\nThere is a race window that the OOM reaper completes reclaiming the\nfirst victim\u0027s memory while nothing but mutex_trylock() prevents the\nfirst victim from calling out_of_memory() from pagefault_out_of_memory()\nafter memory allocation for page fault path failed due to being selected\nas an OOM victim.\n\nThis is a side effect of commit 9a67f6488eca926f (\"mm: consolidate\nGFP_NOFAIL checks in the allocator slowpath\") because that commit\nsilently changed the behavior from\n\n    /* Avoid allocations with no watermarks from looping endlessly */\n\nto\n\n    /*\n     * Give up allocations without trying memory reserves if selected\n     * as an OOM victim\n     */\n\nin __alloc_pages_slowpath() by moving the location to check TIF_MEMDIE\nflag.  I have noticed this change but I didn\u0027t post a patch because I\nthought it is an acceptable change other than noise by warn_alloc()\nbecause !__GFP_NOFAIL allocations are allowed to fail.  But we\noverlooked that failing memory allocation from page fault path makes\ndifference due to the race window explained above.\n\nWhile it might be possible to add a check to pagefault_out_of_memory()\nthat prevents the first victim from calling out_of_memory() or remove\nout_of_memory() from pagefault_out_of_memory(), changing\npagefault_out_of_memory() does not suppress noise by warn_alloc() when\nallocating thread was selected as an OOM victim.  There is little point\nwith printing similar backtraces and memory information from both\nout_of_memory() and warn_alloc().\n\nInstead, if we guarantee that current thread can try allocations with no\nwatermarks once when current thread looping inside\n__alloc_pages_slowpath() was selected as an OOM victim, we can follow \"who\ncan use memory reserves\" rules and suppress noise by warn_alloc() and\nprevent memory allocations from page fault path from calling\npagefault_out_of_memory().\n\nIf we take the comment literally, this patch would do\n\n  -    if (test_thread_flag(TIF_MEMDIE))\n  -        goto nopage;\n  +    if (alloc_flags \u003d\u003d ALLOC_NO_WATERMARKS || (gfp_mask \u0026 __GFP_NOMEMALLOC))\n  +        goto nopage;\n\nbecause gfp_pfmemalloc_allowed() returns false if __GFP_NOMEMALLOC is\ngiven.  But if I recall correctly (I couldn\u0027t find the message), the\ncondition is meant to apply to only OOM victims despite the comment.\nTherefore, this patch preserves TIF_MEMDIE check.\n\nFixes: 9a67f6488eca926f (\"mm: consolidate GFP_NOFAIL checks in the allocator slowpath\")\nLink: http://lkml.kernel.org/r/201705192112.IAF69238.OQOHSJLFOFFMtV@I-love.SAKURA.ne.jp\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nReported-by: Roman Gushchin \u003cguro@fb.com\u003e\nTested-by: Roman Gushchin \u003cguro@fb.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Vladimir Davydov \u003cvdavydov.dev@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[4.11]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff5a20169b98d84ad8d7f99f27c5ebbb008204d6",
      "tree": "ed3a9163906850d5d671ce4e1f1975fa8dfab7b5",
      "parents": [
        "478fe3037b2278d276d4cd9cd0ab06c4cb2e9b32"
      ],
      "author": {
        "name": "Nicolas Iooss",
        "email": "nicolas.iooss_linux@m4x.org",
        "time": "Fri Jun 02 14:46:28 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "pcmcia: remove left-over %Z format\n\nCommit 5b5e0928f742 (\"lib/vsprintf.c: remove %Z support\") removed some\nusages of format %Z but forgot \"%.2Zx\".  This makes clang 4.0 reports a\n-Wformat-extra-args warning because it does not know about %Z.\n\nReplace %Z with %z.\n\nLink: http://lkml.kernel.org/r/20170520090946.22562-1-nicolas.iooss_linux@m4x.org\nSigned-off-by: Nicolas Iooss \u003cnicolas.iooss_linux@m4x.org\u003e\nCc: Harald Welte \u003claforge@gnumonks.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[4.11+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "478fe3037b2278d276d4cd9cd0ab06c4cb2e9b32",
      "tree": "b8fe57e18e2de964795b27e4b846fc4de7ace302",
      "parents": [
        "57ddfdaa9a72fe726a44d26d99db31bc137dbeff"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jun 02 14:46:25 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "slub/memcg: cure the brainless abuse of sysfs attributes\n\nmemcg_propagate_slab_attrs() abuses the sysfs attribute file functions\nto propagate settings from the root kmem_cache to a newly created\nkmem_cache.  It does that with:\n\n     attr-\u003eshow(root, buf);\n     attr-\u003estore(new, buf, strlen(bug);\n\nAside of being a lazy and absurd hackery this is broken because it does\nnot check the return value of the show() function.\n\nSome of the show() functions return 0 w/o touching the buffer.  That\nmeans in such a case the store function is called with the stale content\nof the previous show().  That causes nonsense like invoking\nkmem_cache_shrink() on a newly created kmem_cache.  In the worst case it\nwould cause handing in an uninitialized buffer.\n\nThis should be rewritten proper by adding a propagate() callback to\nthose slub_attributes which must be propagated and avoid that insane\nconversion to and from ASCII, but that\u0027s too large for a hot fix.\n\nCheck at least the return value of the show() function, so calling\nstore() with stale content is prevented.\n\nSteven said:\n \"It can cause a deadlock with get_online_cpus() that has been uncovered\n  by recent cpu hotplug and lockdep changes that Thomas and Peter have\n  been doing.\n\n     Possible unsafe locking scenario:\n\n           CPU0                    CPU1\n           ----                    ----\n      lock(cpu_hotplug.lock);\n                                   lock(slab_mutex);\n                                   lock(cpu_hotplug.lock);\n      lock(slab_mutex);\n\n     *** DEADLOCK ***\"\n\nLink: http://lkml.kernel.org/r/alpine.DEB.2.20.1705201244540.2255@nanos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57ddfdaa9a72fe726a44d26d99db31bc137dbeff",
      "tree": "f7124bce5586593aaf50830508a401576206c29c",
      "parents": [
        "4f4f2ba9c531b3d7cee293dd3654ba3b86e7d220"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "f.fainelli@gmail.com",
        "time": "Fri Jun 02 14:46:22 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "initramfs: fix disabling of initramfs (and its compression)\n\nCommit db2aa7fd15e8 (\"initramfs: allow again choice of the embedded\ninitram compression algorithm\") introduced the possibility to select the\ninitramfs compression algorithm from Kconfig and while this is a nice\nfeature it broke the use case described below.\n\nHere is what my build system does:\n\n - kernel is initially configured not to have an initramfs included\n\n - build the user space root file system\n\n - re-configure the kernel to have an initramfs included\n   (CONFIG_INITRAMFS_SOURCE\u003d\"/path/to/romfs\") and set relevant\n   CONFIG_INITRAMFS options, in my case, no compression option\n   (CONFIG_INITRAMFS_COMPRESSION_NONE)\n\n - kernel is re-built with these options -\u003e kernel+initramfs image is\n   copied\n\n - kernel is re-built again without these options -\u003e kernel image is\n   copied\n\nBuilding a kernel without an initramfs means setting this option:\n\n  CONFIG_INITRAMFS_SOURCE\u003d\"\" (and this one only)\n\nwhereas building a kernel with an initramfs means setting these options:\n\n  CONFIG_INITRAMFS_SOURCE\u003d\"/home/fainelli/work/uclinux-rootfs/romfs /home/fainelli/work/uclinux-rootfs/misc/initramfs.dev\"\n  CONFIG_INITRAMFS_ROOT_UID\u003d1000\n  CONFIG_INITRAMFS_ROOT_GID\u003d1000\n  CONFIG_INITRAMFS_COMPRESSION_NONE\u003dy\n  CONFIG_INITRAMFS_COMPRESSION\u003d\"\"\n\nCommit db2aa7fd15e85 (\"initramfs: allow again choice of the embedded\ninitram compression algorithm\") is problematic because\nCONFIG_INITRAMFS_COMPRESSION which is used to determine the\ninitramfs_data.cpio extension/compression is a string, and due to how\nKconfig works it will evaluate in order, how to assign it.\n\nSetting CONFIG_INITRAMFS_COMPRESSION_NONE with CONFIG_INITRAMFS_SOURCE\u003d\"\"\ncannot possibly work (because of the depends on INITRAMFS_SOURCE!\u003d\"\"\nimposed on CONFIG_INITRAMFS_COMPRESSION ) yet we still get\nCONFIG_INITRAMFS_COMPRESSION assigned to \".gz\" because CONFIG_RD_GZIP\u003dy\nis set in my kernel, even when there is no initramfs being built.\n\nSo we basically end-up generating two initramfs_data.cpio* files, one\nwithout extension, and one with .gz.  This causes usr/Makefile to track\nusr/initramfs_data.cpio.gz, and not usr/initramfs_data.cpio anymore,\nthat is also largely problematic after 9e3596b0c6539e (\"kbuild:\ninitramfs cleanup, set target from Kconfig\") because we used to track\nall possible initramfs_data files in the $(targets) variable before that\ncommit.\n\nThe end result is that the kernel with an initramfs clearly does not\ncontain what we expect it to, it has a stale initramfs_data.cpio file\nbuilt into it, and we keep re-generating an initramfs_data.cpio.gz file\nwhich is not the one that we want to include in the kernel image proper.\n\nThe fix consists in hiding CONFIG_INITRAMFS_COMPRESSION when\nCONFIG_INITRAMFS_SOURCE\u003d\"\".  This puts us back in a state to the\npre-4.10 behavior where we can properly disable and re-enable initramfs\nwithin the same kernel .config file, and be in control of what\nCONFIG_INITRAMFS_COMPRESSION is set to.\n\nFixes: db2aa7fd15e8 (\"initramfs: allow again choice of the embedded initram compression algorithm\")\nFixes: 9e3596b0c653 (\"kbuild: initramfs cleanup, set target from Kconfig\")\nLink: http://lkml.kernel.org/r/20170521033337.6197-1-f.fainelli@gmail.com\nSigned-off-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\nAcked-by: Nicholas Piggin \u003cnpiggin@gmail.com\u003e\nCc: P J P \u003cppandit@redhat.com\u003e\nCc: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nCc: Daniel Thompson \u003cdaniel.thompson@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f4f2ba9c531b3d7cee293dd3654ba3b86e7d220",
      "tree": "e76d33e876e50dcbeb4dc88a919003657911b785",
      "parents": [
        "60b0a8c3d2480f3b57282b47b7cae7ee71c48635"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.com",
        "time": "Fri Jun 02 14:46:19 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "mm: clarify why we want kmalloc before falling backto vmallock\n\nWhile converting drm_[cm]alloc* helpers to kvmalloc* variants Chris\nWilson has wondered why we want to try kmalloc before vmalloc fallback\neven for larger allocations requests.  Let\u0027s clarify that one larger\nphysically contiguous block is less likely to fragment memory than many\nscattered pages which can prevent more large blocks from being created.\n\n[akpm@linux-foundation.org: coding-style fixes]\nLink: http://lkml.kernel.org/r/20170517080932.21423-1-mhocko@kernel.org\nSigned-off-by: Michal Hocko \u003cmhocko@suse.com\u003e\nSuggested-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nReviewed-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nAcked-by: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60b0a8c3d2480f3b57282b47b7cae7ee71c48635",
      "tree": "286e8750cbb1c102880b1233c1130f7206a382cc",
      "parents": [
        "1bde33e051233f0ed93a8bc67137016ab38c3d2d"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "mka@chromium.org",
        "time": "Fri Jun 02 14:46:16 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "frv: declare jiffies to be located in the .data section\n\nCommit 7c30f352c852 (\"jiffies.h: declare jiffies and jiffies_64 with\n____cacheline_aligned_in_smp\") removed a section specification from the\njiffies declaration that caused conflicts on some platforms.\n\nUnfortunately this change broke the build for frv:\n\n  kernel/built-in.o: In function `__do_softirq\u0027: (.text+0x6460): relocation truncated to fit: R_FRV_GPREL12 against symbol\n      `jiffies\u0027 defined in *ABS* section in .tmp_vmlinux1\n  kernel/built-in.o: In function `__do_softirq\u0027: (.text+0x6574): relocation truncated to fit: R_FRV_GPREL12 against symbol\n      `jiffies\u0027 defined in *ABS* section in .tmp_vmlinux1\n  kernel/built-in.o: In function `pwq_activate_delayed_work\u0027: workqueue.c:(.text+0x15b9c): relocation truncated to fit: R_FRV_GPREL12 against\n      symbol `jiffies\u0027 defined in *ABS* section in .tmp_vmlinux1\n  ...\n\nAdd __jiffy_arch_data to the declaration of jiffies and use it on frv to\ninclude the section specification.  For all other platforms\n__jiffy_arch_data (currently) has no effect.\n\nFixes: 7c30f352c852 (\"jiffies.h: declare jiffies and jiffies_64 with ____cacheline_aligned_in_smp\")\nLink: http://lkml.kernel.org/r/20170516221333.177280-1-mka@chromium.org\nSigned-off-by: Matthias Kaehlcke \u003cmka@chromium.org\u003e\nReported-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nTested-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nReviewed-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Sudip Mukherjee \u003csudipm.mukherjee@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bde33e051233f0ed93a8bc67137016ab38c3d2d",
      "tree": "5804bec85500f37751b79c92ad614234f9d57585",
      "parents": [
        "a7306c3436e9c8e584a4b9fad5f3dc91be2a6076"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.com",
        "time": "Fri Jun 02 14:46:13 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "include/linux/gfp.h: fix ___GFP_NOLOCKDEP value\n\nIgor Stoppa has noticed that __GFP_NOLOCKDEP can use a lower bit.  At\nthe time commit 7e7844226f10 (\"lockdep: allow to disable reclaim lockup\ndetection\") was written we still had __GFP_OTHER_NODE but I have removed\nit in commit 41b6167e8f74 (\"mm: get rid of __GFP_OTHER_NODE\") and forgot\nto lower the bit value.\n\nThe current value is outside of __GFP_BITS_SHIFT so it cannot be used\nactually.\n\nFixes: 7e7844226f10 (\"lockdep: allow to disable reclaim lockup detection\")\nSigned-off-by: Michal Hocko \u003cmhocko@suse.com\u003e\nReported-by: Igor Stoppa \u003cigor.stoppa@nokia.com\u003e\nAcked-by: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7306c3436e9c8e584a4b9fad5f3dc91be2a6076",
      "tree": "5be4925ead3c94753bec62c7afcbf5472f6f0e7b",
      "parents": [
        "c531577bcdac51225f50033e0c89644873f4dc6d"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Fri Jun 02 14:46:11 2017 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 02 15:07:37 2017 -0700"
      },
      "message": "ksm: prevent crash after write_protect_page fails\n\n\"err\" needs to be left set to -EFAULT if split_huge_page succeeds.\nOtherwise if \"err\" gets clobbered with zero and write_protect_page\nfails, try_to_merge_one_page() will succeed instead of returning -EFAULT\nand then try_to_merge_with_ksm_page() will continue thinking kpage is a\nPageKsm when in fact it\u0027s still an anonymous page.  Eventually it\u0027ll\ncrash in page_add_anon_rmap.\n\nThis has been reproduced on Fedora25 kernel but I can reproduce with\nupstream too.\n\nThe bug was introduced in commit f765f540598a (\"ksm: prepare to new THP\nsemantics\") introduced in v4.5.\n\n    page:fffff67546ce1cc0 count:4 mapcount:2 mapping:ffffa094551e36e1 index:0x7f0f46673\n    flags: 0x2ffffc0004007c(referenced|uptodate|dirty|lru|active|swapbacked)\n    page dumped because: VM_BUG_ON_PAGE(!PageLocked(page))\n    page-\u003emem_cgroup:ffffa09674bf0000\n    ------------[ cut here ]------------\n    kernel BUG at mm/rmap.c:1222!\n    CPU: 1 PID: 76 Comm: ksmd Not tainted 4.9.3-200.fc25.x86_64 #1\n    RIP: do_page_add_anon_rmap+0x1c4/0x240\n    Call Trace:\n      page_add_anon_rmap+0x18/0x20\n      try_to_merge_with_ksm_page+0x50b/0x780\n      ksm_scan_thread+0x1211/0x1410\n      ? prepare_to_wait_event+0x100/0x100\n      ? try_to_merge_with_ksm_page+0x780/0x780\n      kthread+0xd9/0xf0\n      ? kthread_park+0x60/0x60\n      ret_from_fork+0x25/0x30\n\nFixes: f765f54059 (\"ksm: prepare to new THP semantics\")\nLink: http://lkml.kernel.org/r/20170513131040.21732-1-aarcange@redhat.com\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReported-by: Federico Simoncelli \u003cfsimonce@redhat.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "60319130254084b337e02439d3b4ec301b6328bb"
}
