)]}'
{
  "log": [
    {
      "commit": "9e208aa06c2109b45eec6be049a8e47034748c20",
      "tree": "6f7a07ee2cc3c5558b7b39ef310f115a72825db6",
      "parents": [
        "fb20da6af705597cefcf05fc99e48d5c066dbdff",
        "aeea4b75f045294e1c026acc380466daa43afc65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 11:47:16 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 11:47:16 2019 -0700"
      },
      "message": "Merge tag \u0027xfs-5.4-fixes-3\u0027 of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux\n\nPull xfs fixes from Darrick Wong:\n \"A couple of small code cleanups and bug fixes for rounding errors,\n  metadata logging errors, and an extra layer of safeguards against\n  leaking memory contents.\n\n   - Fix a rounding error in the fallocate code\n\n   - Minor code cleanups\n\n   - Make sure to zero memory buffers before formatting metadata blocks\n\n   - Fix a few places where we forgot to log an inode metadata update\n\n   - Remove broken error handling that tried to clean up after a failure\n     but still got it wrong\"\n\n* tag \u0027xfs-5.4-fixes-3\u0027 of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:\n  xfs: move local to extent inode logging into bmap helper\n  xfs: remove broken error handling on failed attr sf to leaf change\n  xfs: log the inode on directory sf to block format change\n  xfs: assure zeroed memory buffers for certain kmem allocations\n  xfs: removed unused error variable from xchk_refcountbt_rec\n  xfs: remove unused flags arg from xfs_get_aghdr_buf()\n  xfs: Fix tail rounding in xfs_alloc_file_space()\n"
    },
    {
      "commit": "fb20da6af705597cefcf05fc99e48d5c066dbdff",
      "tree": "c54f72c7000e48e2705a79ab7970c1aa28812e04",
      "parents": [
        "f8779876d4a79d243870a5b5d60009e4ec6f22f4",
        "f703964fc66804e6049f2670fc11045aa8359b1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:39:00 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:39:00 2019 -0700"
      },
      "message": "Merge branch \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto fixes from Herbert Xu:\n \"Fix build issues in arm/aes-ce\"\n\n* \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: arm/aes-ce - add dependency on AES library\n  crypto: arm/aes-ce - build for v8 architecture explicitly\n"
    },
    {
      "commit": "f8779876d4a79d243870a5b5d60009e4ec6f22f4",
      "tree": "aeb62fd90c9eb089656a7742613c419490bc80fd",
      "parents": [
        "ad338d05438ec003f90ac7304fbac80ef2d8c80e",
        "431d39887d6273d6d84edf3c2eab09f4200e788a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:30:51 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:30:51 2019 -0700"
      },
      "message": "Merge tag \u0027for-5.4-rc2-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux\n\nPull btrfs fixes from David Sterba:\n \"A few more stabitly fixes, one build warning fix.\n\n   - fix inode allocation under NOFS context\n\n   - fix leak in fiemap due to concurrent append writes\n\n   - fix log-root tree updates\n\n   - fix balance convert of single profile on 32bit architectures\n\n   - silence false positive warning on old GCCs (code moved in rc1)\"\n\n* tag \u0027for-5.4-rc2-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:\n  btrfs: silence maybe-uninitialized warning in clone_range\n  btrfs: fix uninitialized ret in ref-verify\n  btrfs: allocate new inode in NOFS context\n  btrfs: fix balance convert to single on 32-bit host CPUs\n  btrfs: fix incorrect updating of log root tree\n  Btrfs: fix memory leak due to concurrent append writes with fiemap\n"
    },
    {
      "commit": "ad338d05438ec003f90ac7304fbac80ef2d8c80e",
      "tree": "bc28480f97d7fdb67f9dca5f3e1fb4327026186c",
      "parents": [
        "015c21ba59fcbc522d7a9d1e0ab0f0e6c0895ff0",
        "26b6c984338474b7032a3f1ee28e9d7590c225db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:26:58 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:26:58 2019 -0700"
      },
      "message": "Merge branch \u0027work.dcache\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull dcache_readdir() fixes from Al Viro:\n \"The couple of patches you\u0027d been OK with; no hlist conversion yet, and\n  cursors are still in the list of children\"\n\n[ Al is referring to future work to avoid some nasty O(n**2) behavior\n  with the readdir cursors when you have lots of concurrent readdirs.\n\n  This is just a fix for a race with a trivial cleanup   - Linus ]\n\n* \u0027work.dcache\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  libfs: take cursors out of list when moving past the end of directory\n  Fix the locking in dcache_readdir() and friends\n"
    },
    {
      "commit": "015c21ba59fcbc522d7a9d1e0ab0f0e6c0895ff0",
      "tree": "4fa0e91287d927e9df8e1658f93c40ca9efd60bc",
      "parents": [
        "5e48e55fb57a9026e6b3b6961def6d2aeb210659",
        "6fcf0c72e4b9360768cf5ef543c4f14c34800ee8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:16:44 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:16:44 2019 -0700"
      },
      "message": "Merge branch \u0027work.mount3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull mount fixes from Al Viro:\n \"A couple of regressions from the mount series\"\n\n* \u0027work.mount3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  vfs: add missing blkdev_put() in get_tree_bdev()\n  shmem: fix LSM options parsing\n"
    },
    {
      "commit": "5e48e55fb57a9026e6b3b6961def6d2aeb210659",
      "tree": "1dc0a4ad6de0e78e7d55b8a823990e1575bdd8c1",
      "parents": [
        "8a8c600de5dc1d9a7f4b83269fddc80ebd3dd045"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert+renesas@glider.be",
        "time": "Thu Oct 10 14:30:46 2019 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 10 08:12:51 2019 -0700"
      },
      "message": "MAINTAINERS: Remove Simon as Renesas SoC Co-Maintainer\n\nAt the end of the v5.3 upstream kernel development cycle, Simon stepped\ndown from his role as Renesas SoC maintainer.\n\nRemove his maintainership, git repository, and branch from the\nMAINTAINERS file, and add an entry to the CREDITS file to honor his\nwork.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert+renesas@glider.be\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26b6c984338474b7032a3f1ee28e9d7590c225db",
      "tree": "142bb8c2bc152b2843509ef35e49c22485543c23",
      "parents": [
        "d4f4de5e5ef8efde85febb6876cd3c8ab1631999"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Sep 20 16:32:42 2019 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Oct 09 22:57:30 2019 -0400"
      },
      "message": "libfs: take cursors out of list when moving past the end of directory\n\nthat eliminates the last place where we accessed the tail of -\u003ed_subdirs\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6fcf0c72e4b9360768cf5ef543c4f14c34800ee8",
      "tree": "a298cb78d99e35e2847e2fec757aeb6503a90b4a",
      "parents": [
        "33f37c648812bdbe1bd1eea75ddab3e799d51e77"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Oct 02 17:56:33 2019 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Oct 09 22:53:57 2019 -0400"
      },
      "message": "vfs: add missing blkdev_put() in get_tree_bdev()\n\nIs there are a couple of missing blkdev_put() in get_tree_bdev()?\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "33f37c648812bdbe1bd1eea75ddab3e799d51e77",
      "tree": "3c03a6a5e26a5815dcbe941815897c26f8d69b9d",
      "parents": [
        "a3bc18a48e2e678efe62f1f9989902f9cd19e0ff"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Oct 09 22:48:01 2019 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Oct 09 22:48:01 2019 -0400"
      },
      "message": "shmem: fix LSM options parsing\n\n-\u003eparse_monolithic() there forgets to call security_sb_eat_lsm_opts()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8a8c600de5dc1d9a7f4b83269fddc80ebd3dd045",
      "tree": "1ec3e963a565b4c8503f4914b0f71cf09964dce1",
      "parents": [
        "e60329c97b9cc07ce15e3c39fc42e57bf14add92",
        "0417791536ae1e28d7f0418f1d20048ec4d3c6cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 09 09:46:46 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 09 09:46:46 2019 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma\n\nPull rdma fixes from Jason Gunthorpe:\n \"The usual collection of driver bug fixes, and a few regressions from\n  the merge window. Nothing particularly worrisome.\n\n   - Various missed memory frees and error unwind bugs\n\n   - Fix regressions in a few iwarp drivers from 5.4 patches\n\n   - A few regressions added in past kernels\n\n   - Squash a number of races in mlx5 ODP code\"\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:\n  RDMA/mlx5: Add missing synchronize_srcu() for MW cases\n  RDMA/mlx5: Put live in the correct place for ODP MRs\n  RDMA/mlx5: Order num_pending_prefetch properly with synchronize_srcu\n  RDMA/odp: Lift umem_mutex out of ib_umem_odp_unmap_dma_pages()\n  RDMA/mlx5: Fix a race with mlx5_ib_update_xlt on an implicit MR\n  RDMA/mlx5: Do not allow rereg of a ODP MR\n  IB/core: Fix wrong iterating on ports\n  RDMA/nldev: Reshuffle the code to avoid need to rebind QP in error path\n  RDMA/cxgb4: Do not dma memory off of the stack\n  RDMA/cm: Fix memory leak in cm_add/remove_one\n  RDMA/core: Fix an error handling path in \u0027res_get_common_doit()\u0027\n  RDMA/i40iw: Associate ibdev to netdev before IB device registration\n  RDMA/iwcm: Fix a lock inversion issue\n  RDMA/iw_cxgb4: fix SRQ access from dump_qp()\n  RDMA/hfi1: Prevent memory leak in sdma_init\n  RDMA/core: Fix use after free and refcnt leak on ndev in_device in iwarp_query_port\n  RDMA/siw: Fix serialization issue in write_space()\n  RDMA/vmw_pvrdma: Free SRQ only once\n"
    },
    {
      "commit": "e60329c97b9cc07ce15e3c39fc42e57bf14add92",
      "tree": "292d55061b827e277433c67f6871d1bcd1ff75d2",
      "parents": [
        "e3280b54afed870d531571212f1fc375df39b7d2",
        "3e7c93bd04edfb0cae7dad1215544c9350254b8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 09 09:27:22 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 09 09:27:22 2019 -0700"
      },
      "message": "Merge tag \u0027arm64-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux\n\nPull arm64 fixes from Will Deacon:\n \"A larger-than-usual batch of arm64 fixes for -rc3.\n\n  The bulk of the fixes are dealing with a bunch of issues with the\n  build system from the compat vDSO, which unfortunately led to some\n  significant Makefile rework to manage the horrible combinations of\n  toolchains that we can end up needing to drive simultaneously.\n\n  We came close to disabling the thing entirely, but Vincenzo was quick\n  to spin up some patches and I ended up picking up most of the bits\n  that were left [*]. Future work will look at disentangling the header\n  files properly.\n\n  Other than that, we have some important fixes all over, including one\n  papering over the miscompilation fallout from forcing\n  CONFIG_OPTIMIZE_INLINING\u003dy, which I\u0027m still unhappy about. Harumph.\n\n  We\u0027ve still got a couple of open issues, so I\u0027m expecting to have some\n  more fixes later this cycle.\n\n  Summary:\n\n   - Numerous fixes to the compat vDSO build system, especially when\n     combining gcc and clang\n\n   - Fix parsing of PAR_EL1 in spurious kernel fault detection\n\n   - Partial workaround for Neoverse-N1 erratum #1542419\n\n   - Fix IRQ priority masking on entry from compat syscalls\n\n   - Fix advertisment of FRINT HWCAP to userspace\n\n   - Attempt to workaround inlining breakage with \u0027__always_inline\u0027\n\n   - Fix accidental freeing of parent SVE state on fork() error path\n\n   - Add some missing NULL pointer checks in instruction emulation init\n\n   - Some formatting and comment fixes\"\n\n[*] Will\u0027s final fixes were\n\n        Reviewed-by: Vincenzo Frascino \u003cvincenzo.frascino@arm.com\u003e\n        Tested-by: Vincenzo Frascino \u003cvincenzo.frascino@arm.com\u003e\n\n    but they were already in linux-next by then and he didn\u0027t rebase\n    just to add those.\n\n* tag \u0027arm64-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (21 commits)\n  arm64: armv8_deprecated: Checking return value for memory allocation\n  arm64: Kconfig: Make CONFIG_COMPAT_VDSO a proper Kconfig option\n  arm64: vdso32: Rename COMPATCC to CC_COMPAT\n  arm64: vdso32: Pass \u0027--target\u0027 option to clang via VDSO_CAFLAGS\n  arm64: vdso32: Don\u0027t use KBUILD_CPPFLAGS unconditionally\n  arm64: vdso32: Move definition of COMPATCC into vdso32/Makefile\n  arm64: Default to building compat vDSO with clang when CONFIG_CC_IS_CLANG\n  lib: vdso: Remove CROSS_COMPILE_COMPAT_VDSO\n  arm64: vdso32: Remove jump label config option in Makefile\n  arm64: vdso32: Detect binutils support for dmb ishld\n  arm64: vdso: Remove stale files from old assembly implementation\n  arm64: vdso32: Fix broken compat vDSO build warnings\n  arm64: mm: fix spurious fault detection\n  arm64: ftrace: Ensure synchronisation in PLT setup for Neoverse-N1 #1542419\n  arm64: Fix incorrect irqflag restore for priority masking for compat\n  arm64: mm: avoid virt_to_phys(init_mm.pgd)\n  arm64: cpufeature: Effectively expose FRINT capability to userspace\n  arm64: Mark functions using explicit register variables as \u0027__always_inline\u0027\n  docs: arm64: Fix indentation and doc formatting\n  arm64/sve: Fix wrong free for task-\u003ethread.sve_state\n  ...\n"
    },
    {
      "commit": "aeea4b75f045294e1c026acc380466daa43afc65",
      "tree": "cb1ea331f4b4d12b4467f8518d774ddb260ecb00",
      "parents": [
        "603efebd6768356fb7cea02e4a822587c2dc5d7c"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Oct 07 12:54:16 2019 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Wed Oct 09 08:54:30 2019 -0700"
      },
      "message": "xfs: move local to extent inode logging into bmap helper\n\nThe callers of xfs_bmap_local_to_extents_empty() log the inode\nexternal to the function, yet this function is where the on-disk\nformat value is updated. Push the inode logging down into the\nfunction itself to help prevent future mistakes.\n\nNote that internal bmap callers track the inode logging flags\nindependently and thus may log the inode core twice due to this\nchange. This is harmless, so leave this code around for consistency\nwith the other attr fork conversion functions.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n"
    },
    {
      "commit": "603efebd6768356fb7cea02e4a822587c2dc5d7c",
      "tree": "5dc552d9a9253cedc698c926f2af303deba4a26d",
      "parents": [
        "0b10d8a89f55c416f6a1f6a616669543fa8bdb69"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Oct 07 12:54:15 2019 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Wed Oct 09 08:54:30 2019 -0700"
      },
      "message": "xfs: remove broken error handling on failed attr sf to leaf change\n\nxfs_attr_shortform_to_leaf() attempts to put the shortform fork back\ntogether after a failed attempt to convert from shortform to leaf\nformat. While this code reallocates and copies back the shortform\nattr fork data, it never resets the inode format field back to local\nformat. Further, now that the inode is properly logged after the\ninitial switch from local format, any error that triggers the\nrecovery code will eventually abort the transaction and shutdown the\nfs. Therefore, remove the broken and unnecessary error handling\ncode.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n"
    },
    {
      "commit": "0b10d8a89f55c416f6a1f6a616669543fa8bdb69",
      "tree": "54bb82dea78365f4c3a5ca0db0dd6285b1de3a34",
      "parents": [
        "3219e8cf0dade9884d3c6cb432d433b4ca56875d"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Oct 07 12:54:15 2019 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Wed Oct 09 08:54:30 2019 -0700"
      },
      "message": "xfs: log the inode on directory sf to block format change\n\nWhen a directory changes from shortform (sf) to block format, the sf\nformat is copied to a temporary buffer, the inode format is modified\nand the updated format filled with the dentries from the temporary\nbuffer. If the inode format is modified and attempt to grow the\ninode fails (due to I/O error, for example), it is possible to\nreturn an error while leaving the directory in an inconsistent state\nand with an otherwise clean transaction. This results in corruption\nof the associated directory and leads to xfs_dabuf_map() errors as\nsubsequent lookups cannot accurately determine the format of the\ndirectory. This problem is reproduced occasionally by generic/475.\n\nThe fundamental problem is that xfs_dir2_sf_to_block() changes the\non-disk inode format without logging the inode. The inode is\neventually logged by the bmapi layer in the common case, but error\nchecking introduces the possibility of failing the high level\nrequest before this happens.\n\nUpdate both of the dir2 and attr callers of\nxfs_bmap_local_to_extents_empty() to log the inode core as\nconsistent with the bmap local to extent format change codepath.\nThis ensures that any subsequent errors after the format has changed\ncause the transaction to abort.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n"
    },
    {
      "commit": "e3280b54afed870d531571212f1fc375df39b7d2",
      "tree": "69abb2e5526ff58fc804af1fc9f59672d1b63937",
      "parents": [
        "d5001955c281c014a3af6d1559db40b5756ad89a",
        "4050d21d2009faccae5cab74eeb9f460f25d5108"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 08 15:36:04 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 08 15:36:04 2019 -0700"
      },
      "message": "Merge tag \u0027led-fixes-for-5.4-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds\n\nPull LED fixes from Jacek Anaszewski:\n\n - fix a leftover from earlier stage of development in the documentation\n   of recently added led_compose_name() and fix old mistake in the\n   documentation of led_set_brightness_sync() parameter name.\n\n  - MAINTAINERS: add pointer to Pavel Machek\u0027s linux-leds.git tree.\n    Pavel is going to take over LED tree maintainership from myself.\n\n* tag \u0027led-fixes-for-5.4-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:\n  Add my linux-leds branch to MAINTAINERS\n  leds: core: Fix leds.h structure documentation\n"
    },
    {
      "commit": "4050d21d2009faccae5cab74eeb9f460f25d5108",
      "tree": "0d799b2301606812594f8f186ec884700c958798",
      "parents": [
        "e3f1271474182682638654021123b94e6ec1626b"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Tue Oct 08 20:58:35 2019 +0200"
      },
      "committer": {
        "name": "Jacek Anaszewski",
        "email": "jacek.anaszewski@gmail.com",
        "time": "Tue Oct 08 22:09:08 2019 +0200"
      },
      "message": "Add my linux-leds branch to MAINTAINERS\n\nAdd pointer to my git tree to MAINTAINERS. I\u0027d like to maintain\nlinux-leds for-next branch for 5.5.\n\nSigned-off-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jacek Anaszewski \u003cjacek.anaszewski@gmail.com\u003e\n"
    },
    {
      "commit": "e3f1271474182682638654021123b94e6ec1626b",
      "tree": "470cd4bd81dfd7dd971ebb75ac2d29638e89fc9c",
      "parents": [
        "54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c"
      ],
      "author": {
        "name": "Dan Murphy",
        "email": "dmurphy@ti.com",
        "time": "Wed Oct 02 07:40:42 2019 -0500"
      },
      "committer": {
        "name": "Jacek Anaszewski",
        "email": "jacek.anaszewski@gmail.com",
        "time": "Tue Oct 08 22:05:58 2019 +0200"
      },
      "message": "leds: core: Fix leds.h structure documentation\n\nUpdate the leds.h structure documentation to define the\ncorrect arguments.\n\nSigned-off-by: Dan Murphy \u003cdmurphy@ti.com\u003e\nSigned-off-by: Jacek Anaszewski \u003cjacek.anaszewski@gmail.com\u003e\n"
    },
    {
      "commit": "d5001955c281c014a3af6d1559db40b5756ad89a",
      "tree": "3b5301dc66b879335140b31e56b42335c9f5c358",
      "parents": [
        "2ef459167adb5d7cf76df403b4fcf79347056824",
        "fffa6af94894126994a7600c6f6f09b892e89fa9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 08 10:55:22 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 08 10:55:22 2019 -0700"
      },
      "message": "Merge tag \u0027gpio-v5.4-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio\n\nPull GPIO fixes from Linus Walleij:\n\n - don\u0027t clear FLAG_IS_OUT when emulating open drain/source in gpiolib\n\n - fix up the usage of nonexclusive GPIO descriptors from device trees\n\n - fix the incorrect IEC offset when toggling trigger edge in the\n   Spreadtrum driver\n\n - use the correct unit for debounce settings in the MAX77620 driver\n\n* tag \u0027gpio-v5.4-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:\n  gpio: max77620: Use correct unit for debounce times\n  gpio: eic: sprd: Fix the incorrect EIC offset when toggling\n  gpio: fix getting nonexclusive gpiods from DT\n  gpiolib: don\u0027t clear FLAG_IS_OUT when emulating open-drain/open-source\n"
    },
    {
      "commit": "2ef459167adb5d7cf76df403b4fcf79347056824",
      "tree": "a769c7c4bc544c97f54a666495bd257a2faca96f",
      "parents": [
        "f54e66ae770fe559fb21383f95d739ac74c03ea8",
        "2a5243937c700ffe6a28e6557a4562a9ab0a17a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 08 10:51:37 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 08 10:51:37 2019 -0700"
      },
      "message": "Merge tag \u0027selinux-pr-20191007\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux\n\nPull selinuxfix from Paul Moore:\n \"One patch to ensure we don\u0027t copy bad memory up into userspace\"\n\n* tag \u0027selinux-pr-20191007\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:\n  selinux: fix context string corruption in convert_context()\n"
    },
    {
      "commit": "f54e66ae770fe559fb21383f95d739ac74c03ea8",
      "tree": "93c89651f27b07efebcead22e37df0a53cecbe55",
      "parents": [
        "eda57a0e42998d1d403187844faa86c9a3ab2fd0",
        "ce3a677802121e038d2f062e90f96f84e7351da0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 08 10:49:05 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 08 10:49:05 2019 -0700"
      },
      "message": "Merge tag \u0027linux-kselftest-5.4-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest\n\nPull Kselftest fixes from Shuah Khan:\n \"Fixes for existing tests and the framework.\n\n  Cristian Marussi\u0027s patches add the ability to skip targets (tests) and\n  exclude tests that didn\u0027t build from run-list. These patches improve\n  the Kselftest results. Ability to skip targets helps avoid running\n  tests that aren\u0027t supported in certain environments. As an example,\n  bpf tests from mainline aren\u0027t supported on stable kernels and have\n  dependency on bleeding edge llvm. Being able to skip bpf on systems\n  that can\u0027t meet this llvm dependency will be helpful.\n\n  Kselftest can be built and installed from the main Makefile. This\n  change help simplify Kselftest use-cases which addresses request from\n  users.\n\n  Kees Cook added per test timeout support to limit individual test\n  run-time\"\n\n* tag \u0027linux-kselftest-5.4-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:\n  selftests: watchdog: Add command line option to show watchdog_info\n  selftests: watchdog: Validate optional file argument\n  selftests/kselftest/runner.sh: Add 45 second timeout per test\n  kselftest: exclude failed TARGETS from runlist\n  kselftest: add capability to skip chosen TARGETS\n  selftests: Add kselftest-all and kselftest-install targets\n"
    },
    {
      "commit": "3e7c93bd04edfb0cae7dad1215544c9350254b8f",
      "tree": "667791d9c4ec56b544a6ebd4dc57d8c4537b8755",
      "parents": [
        "7c4791c9efca8c105a86022f7d5532aeaa819125"
      ],
      "author": {
        "name": "Yunfeng Ye",
        "email": "yeyunfeng@huawei.com",
        "time": "Sun Sep 29 12:44:17 2019 +0800"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Tue Oct 08 13:34:04 2019 +0100"
      },
      "message": "arm64: armv8_deprecated: Checking return value for memory allocation\n\nThere are no return value checking when using kzalloc() and kcalloc() for\nmemory allocation. so add it.\n\nSigned-off-by: Yunfeng Ye \u003cyeyunfeng@huawei.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "431d39887d6273d6d84edf3c2eab09f4200e788a",
      "tree": "4381cdf00dbe5ba98f62c6080626a2f0c56632cb",
      "parents": [
        "c5f4987e86f6692fdb12533ea1fc7a7bb98e555a"
      ],
      "author": {
        "name": "Austin Kim",
        "email": "austindh.kim@gmail.com",
        "time": "Tue Sep 03 12:30:19 2019 +0900"
      },
      "committer": {
        "name": "David Sterba",
        "email": "dsterba@suse.com",
        "time": "Tue Oct 08 13:14:55 2019 +0200"
      },
      "message": "btrfs: silence maybe-uninitialized warning in clone_range\n\nGCC throws warning message as below:\n\n‘clone_src_i_size’ may be used uninitialized in this function\n[-Wmaybe-uninitialized]\n #define IS_ALIGNED(x, a)  (((x) \u0026 ((typeof(x))(a) - 1)) \u003d\u003d 0)\n                       ^\nfs/btrfs/send.c:5088:6: note: ‘clone_src_i_size’ was declared here\n u64 clone_src_i_size;\n   ^\nThe clone_src_i_size is only used as call-by-reference\nin a call to get_inode_info().\n\nSilence the warning by initializing clone_src_i_size to 0.\n\nNote that the warning is a false positive and reported by older versions\nof GCC (eg. 7.x) but not eg 9.x. As there have been numerous people, the\npatch is applied. Setting clone_src_i_size to 0 does not otherwise make\nsense and would not do any action in case the code changes in the future.\n\nSigned-off-by: Austin Kim \u003caustindh.kim@gmail.com\u003e\nReviewed-by: David Sterba \u003cdsterba@suse.com\u003e\n[ add note ]\nSigned-off-by: David Sterba \u003cdsterba@suse.com\u003e\n"
    },
    {
      "commit": "eda57a0e42998d1d403187844faa86c9a3ab2fd0",
      "tree": "fd49b5f7b3c6dfb5cdd49ec8bed967d387452c3c",
      "parents": [
        "c512c69187197fe08026cb5bbe7b9709f4f89b73",
        "59bb47985c1db229ccff8c5deebecd54fc77d2a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 16:04:19 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 16:04:19 2019 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (patches from Andrew)\n\nMerge misc fixes from Andrew Morton:\n \"The usual shower of hotfixes.\n\n  Chris\u0027s memcg patches aren\u0027t actually fixes - they\u0027re mature but a few\n  niggling review issues were late to arrive.\n\n  The ocfs2 fixes are quite old - those took some time to get reviewer\n  attention.\n\n  Subsystems affected by this patch series: ocfs2, hotfixes, mm/memcg,\n  mm/slab-generic\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e:\n  mm, sl[aou]b: guarantee natural alignment for kmalloc(power-of-two)\n  mm, sl[ou]b: improve memory accounting\n  mm, memcg: make scan aggression always exclude protection\n  mm, memcg: make memory.emin the baseline for utilisation determination\n  mm, memcg: proportional memory.{low,min} reclaim\n  mm/vmpressure.c: fix a signedness bug in vmpressure_register_event()\n  mm/page_alloc.c: fix a crash in free_pages_prepare()\n  mm/z3fold.c: claim page in the beginning of free\n  kernel/sysctl.c: do not override max_threads provided by userspace\n  memcg: only record foreign writebacks with dirty pages when memcg is not disabled\n  mm: fix -Wmissing-prototypes warnings\n  writeback: fix use-after-free in finish_writeback_work()\n  mm/memremap: drop unused SECTION_SIZE and SECTION_MASK\n  panic: ensure preemption is disabled during panic()\n  fs: ocfs2: fix a possible null-pointer dereference in ocfs2_info_scan_inode_alloc()\n  fs: ocfs2: fix a possible null-pointer dereference in ocfs2_write_end_nolock()\n  fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()\n  ocfs2: clear zero in unaligned direct IO\n"
    },
    {
      "commit": "59bb47985c1db229ccff8c5deebecd54fc77d2a9",
      "tree": "c2d5586fb9a8bb7db5319c2fbdacc4d42555980e",
      "parents": [
        "6a486c0ad4dcdee3946842c64884d2978bfe2602"
      ],
      "author": {
        "name": "Vlastimil Babka",
        "email": "vbabka@suse.cz",
        "time": "Sun Oct 06 17:58:45 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:20 2019 -0700"
      },
      "message": "mm, sl[aou]b: guarantee natural alignment for kmalloc(power-of-two)\n\nIn most configurations, kmalloc() happens to return naturally aligned\n(i.e.  aligned to the block size itself) blocks for power of two sizes.\n\nThat means some kmalloc() users might unknowingly rely on that\nalignment, until stuff breaks when the kernel is built with e.g.\nCONFIG_SLUB_DEBUG or CONFIG_SLOB, and blocks stop being aligned.  Then\ndevelopers have to devise workaround such as own kmem caches with\nspecified alignment [1], which is not always practical, as recently\nevidenced in [2].\n\nThe topic has been discussed at LSF/MM 2019 [3].  Adding a\n\u0027kmalloc_aligned()\u0027 variant would not help with code unknowingly relying\non the implicit alignment.  For slab implementations it would either\nrequire creating more kmalloc caches, or allocate a larger size and only\ngive back part of it.  That would be wasteful, especially with a generic\nalignment parameter (in contrast with a fixed alignment to size).\n\nIdeally we should provide to mm users what they need without difficult\nworkarounds or own reimplementations, so let\u0027s make the kmalloc()\nalignment to size explicitly guaranteed for power-of-two sizes under all\nconfigurations.  What this means for the three available allocators?\n\n* SLAB object layout happens to be mostly unchanged by the patch.  The\n  implicitly provided alignment could be compromised with\n  CONFIG_DEBUG_SLAB due to redzoning, however SLAB disables redzoning for\n  caches with alignment larger than unsigned long long.  Practically on at\n  least x86 this includes kmalloc caches as they use cache line alignment,\n  which is larger than that.  Still, this patch ensures alignment on all\n  arches and cache sizes.\n\n* SLUB layout is also unchanged unless redzoning is enabled through\n  CONFIG_SLUB_DEBUG and boot parameter for the particular kmalloc cache.\n  With this patch, explicit alignment is guaranteed with redzoning as\n  well.  This will result in more memory being wasted, but that should be\n  acceptable in a debugging scenario.\n\n* SLOB has no implicit alignment so this patch adds it explicitly for\n  kmalloc().  The potential downside is increased fragmentation.  While\n  pathological allocation scenarios are certainly possible, in my testing,\n  after booting a x86_64 kernel+userspace with virtme, around 16MB memory\n  was consumed by slab pages both before and after the patch, with\n  difference in the noise.\n\n[1] https://lore.kernel.org/linux-btrfs/c3157c8e8e0e7588312b40c853f65c02fe6c957a.1566399731.git.christophe.leroy@c-s.fr/\n[2] https://lore.kernel.org/linux-fsdevel/20190225040904.5557-1-ming.lei@redhat.com/\n[3] https://lwn.net/Articles/787740/\n\n[akpm@linux-foundation.org: documentation fixlet, per Matthew]\nLink: http://lkml.kernel.org/r/20190826111627.7505-3-vbabka@suse.cz\nSigned-off-by: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nReviewed-by: Matthew Wilcox (Oracle) \u003cwilly@infradead.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: David Sterba \u003cdsterba@suse.cz\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Ming Lei \u003cming.lei@redhat.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: \"Darrick J . Wong\" \u003cdarrick.wong@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nCc: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a486c0ad4dcdee3946842c64884d2978bfe2602",
      "tree": "7bdc3b0ed7cc789f8bccc260da91523b9e82dd00",
      "parents": [
        "1bc63fb1272be0773e925f78c0fbd06c89701d55"
      ],
      "author": {
        "name": "Vlastimil Babka",
        "email": "vbabka@suse.cz",
        "time": "Sun Oct 06 17:58:42 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:20 2019 -0700"
      },
      "message": "mm, sl[ou]b: improve memory accounting\n\nPatch series \"guarantee natural alignment for kmalloc()\", v2.\n\nThis patch (of 2):\n\nSLOB currently doesn\u0027t account its pages at all, so in /proc/meminfo the\nSlab field shows zero.  Modifying a counter on page allocation and\nfreeing should be acceptable even for the small system scenarios SLOB is\nintended for.  Since reclaimable caches are not separated in SLOB,\naccount everything as unreclaimable.\n\nSLUB currently doesn\u0027t account kmalloc() and kmalloc_node() allocations\nlarger than order-1 page, that are passed directly to the page\nallocator.  As they also don\u0027t appear in /proc/slabinfo, it might look\nlike a memory leak.  For consistency, account them as well.  (SLAB\ndoesn\u0027t actually use page allocator directly, so no change there).\n\nIdeally SLOB and SLUB would be handled in separate patches, but due to\nthe shared kmalloc_order() function and different kfree()\nimplementations, it\u0027s easier to patch both at once to prevent\ninconsistencies.\n\nLink: http://lkml.kernel.org/r/20190826111627.7505-2-vbabka@suse.cz\nSigned-off-by: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Ming Lei \u003cming.lei@redhat.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Matthew Wilcox \u003cwilly@infradead.org\u003e\nCc: \"Darrick J . Wong\" \u003cdarrick.wong@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nCc: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bc63fb1272be0773e925f78c0fbd06c89701d55",
      "tree": "0de9348aa1004008b4440c8f7831200e461954e8",
      "parents": [
        "9de7ca46ad2688bd51e80f7119fefa301ad7f3fa"
      ],
      "author": {
        "name": "Chris Down",
        "email": "chris@chrisdown.name",
        "time": "Sun Oct 06 17:58:38 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:20 2019 -0700"
      },
      "message": "mm, memcg: make scan aggression always exclude protection\n\nThis patch is an incremental improvement on the existing\nmemory.{low,min} relative reclaim work to base its scan pressure\ncalculations on how much protection is available compared to the current\nusage, rather than how much the current usage is over some protection\nthreshold.\n\nThis change doesn\u0027t change the experience for the user in the normal\ncase too much.  One benefit is that it replaces the (somewhat arbitrary)\n100% cutoff with an indefinite slope, which makes it easier to ballpark\na memory.low value.\n\nAs well as this, the old methodology doesn\u0027t quite apply generically to\nmachines with varying amounts of physical memory.  Let\u0027s say we have a\ntop level cgroup, workload.slice, and another top level cgroup,\nsystem-management.slice.  We want to roughly give 12G to\nsystem-management.slice, so on a 32GB machine we set memory.low to 20GB\nin workload.slice, and on a 64GB machine we set memory.low to 52GB.\nHowever, because these are relative amounts to the total machine size,\nwhile the amount of memory we want to generally be willing to yield to\nsystem.slice is absolute (12G), we end up putting more pressure on\nsystem.slice just because we have a larger machine and a larger workload\nto fill it, which seems fairly unintuitive.  With this new behaviour, we\ndon\u0027t end up with this unintended side effect.\n\nPreviously the way that memory.low protection works is that if you are\n50% over a certain baseline, you get 50% of your normal scan pressure.\nThis is certainly better than the previous cliff-edge behaviour, but it\ncan be improved even further by always considering memory under the\ncurrently enforced protection threshold to be out of bounds.  This means\nthat we can set relatively low memory.low thresholds for variable or\nbursty workloads while still getting a reasonable level of protection,\nwhereas with the previous version we may still trivially hit the 100%\nclamp.  The previous 100% clamp is also somewhat arbitrary, whereas this\none is more concretely based on the currently enforced protection\nthreshold, which is likely easier to reason about.\n\nThere is also a subtle issue with the way that proportional reclaim\nworked previously -- it promotes having no memory.low, since it makes\npressure higher during low reclaim.  This happens because we base our\nscan pressure modulation on how far memory.current is between memory.min\nand memory.low, but if memory.low is unset, we only use the overage\nmethod.  In most cromulent configurations, this then means that we end\nup with *more* pressure than with no memory.low at all when we\u0027re in low\nreclaim, which is not really very usable or expected.\n\nWith this patch, memory.low and memory.min affect reclaim pressure in a\nmore understandable and composable way.  For example, from a user\nstandpoint, \"protected\" memory now remains untouchable from a reclaim\naggression standpoint, and users can also have more confidence that\nbursty workloads will still receive some amount of guaranteed\nprotection.\n\nLink: http://lkml.kernel.org/r/20190322160307.GA3316@chrisdown.name\nSigned-off-by: Chris Down \u003cchris@chrisdown.name\u003e\nReviewed-by: Roman Gushchin \u003cguro@fb.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@kernel.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Dennis Zhou \u003cdennis@kernel.org\u003e\nCc: Vladimir Davydov \u003cvdavydov.dev@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": "9de7ca46ad2688bd51e80f7119fefa301ad7f3fa",
      "tree": "2b905acad7c09ce4a73dd69452b4ac4016592186",
      "parents": [
        "9783aa9917f8ae24759e67bf882f1aba32fe4ea1"
      ],
      "author": {
        "name": "Chris Down",
        "email": "chris@chrisdown.name",
        "time": "Sun Oct 06 17:58:35 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:20 2019 -0700"
      },
      "message": "mm, memcg: make memory.emin the baseline for utilisation determination\n\nRoman points out that when when we do the low reclaim pass, we scale the\nreclaim pressure relative to position between 0 and the maximum\nprotection threshold.\n\nHowever, if the maximum protection is based on memory.elow, and\nmemory.emin is above zero, this means we still may get binary behaviour\non second-pass low reclaim.  This is because we scale starting at 0, not\nstarting at memory.emin, and since we don\u0027t scan at all below emin, we\nend up with cliff behaviour.\n\nThis should be a fairly uncommon case since usually we don\u0027t go into the\nsecond pass, but it makes sense to scale our low reclaim pressure\nstarting at emin.\n\nYou can test this by catting two large sparse files, one in a cgroup\nwith emin set to some moderate size compared to physical RAM, and\nanother cgroup without any emin.  In both cgroups, set an elow larger\nthan 50% of physical RAM.  The one with emin will have less page\nscanning, as reclaim pressure is lower.\n\nRebase on top of and apply the same idea as what was applied to handle\ncgroup_memory\u003ddisable properly for the original proportional patch\nhttp://lkml.kernel.org/r/20190201045711.GA18302@chrisdown.name (\"mm,\nmemcg: Handle cgroup_disable\u003dmemory when getting memcg protection\").\n\nLink: http://lkml.kernel.org/r/20190201051810.GA18895@chrisdown.name\nSigned-off-by: Chris Down \u003cchris@chrisdown.name\u003e\nSuggested-by: Roman Gushchin \u003cguro@fb.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@kernel.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Dennis Zhou \u003cdennis@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": "9783aa9917f8ae24759e67bf882f1aba32fe4ea1",
      "tree": "2ddbf2490acba84a3f96442b65a830758a079430",
      "parents": [
        "518a86713078168acd67cf50bc0b45d54b4cce6c"
      ],
      "author": {
        "name": "Chris Down",
        "email": "chris@chrisdown.name",
        "time": "Sun Oct 06 17:58:32 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:20 2019 -0700"
      },
      "message": "mm, memcg: proportional memory.{low,min} reclaim\n\ncgroup v2 introduces two memory protection thresholds: memory.low\n(best-effort) and memory.min (hard protection).  While they generally do\nwhat they say on the tin, there is a limitation in their implementation\nthat makes them difficult to use effectively: that cliff behaviour often\nmanifests when they become eligible for reclaim.  This patch implements\nmore intuitive and usable behaviour, where we gradually mount more\nreclaim pressure as cgroups further and further exceed their protection\nthresholds.\n\nThis cliff edge behaviour happens because we only choose whether or not\nto reclaim based on whether the memcg is within its protection limits\n(see the use of mem_cgroup_protected in shrink_node), but we don\u0027t vary\nour reclaim behaviour based on this information.  Imagine the following\ntimeline, with the numbers the lruvec size in this zone:\n\n1. memory.low\u003d1000000, memory.current\u003d999999. 0 pages may be scanned.\n2. memory.low\u003d1000000, memory.current\u003d1000000. 0 pages may be scanned.\n3. memory.low\u003d1000000, memory.current\u003d1000001. 1000001* pages may be\n   scanned. (?!)\n\n* Of course, we won\u0027t usually scan all available pages in the zone even\n  without this patch because of scan control priority, over-reclaim\n  protection, etc.  However, as shown by the tests at the end, these\n  techniques don\u0027t sufficiently throttle such an extreme change in input,\n  so cliff-like behaviour isn\u0027t really averted by their existence alone.\n\nHere\u0027s an example of how this plays out in practice.  At Facebook, we are\ntrying to protect various workloads from \"system\" software, like\nconfiguration management tools, metric collectors, etc (see this[0] case\nstudy).  In order to find a suitable memory.low value, we start by\ndetermining the expected memory range within which the workload will be\ncomfortable operating.  This isn\u0027t an exact science -- memory usage deemed\n\"comfortable\" will vary over time due to user behaviour, differences in\ncomposition of work, etc, etc.  As such we need to ballpark memory.low,\nbut doing this is currently problematic:\n\n1. If we end up setting it too low for the workload, it won\u0027t have\n   *any* effect (see discussion above).  The group will receive the full\n   weight of reclaim and won\u0027t have any priority while competing with the\n   less important system software, as if we had no memory.low configured\n   at all.\n\n2. Because of this behaviour, we end up erring on the side of setting\n   it too high, such that the comfort range is reliably covered.  However,\n   protected memory is completely unavailable to the rest of the system,\n   so we might cause undue memory and IO pressure there when we *know* we\n   have some elasticity in the workload.\n\n3. Even if we get the value totally right, smack in the middle of the\n   comfort zone, we get extreme jumps between no pressure and full\n   pressure that cause unpredictable pressure spikes in the workload due\n   to the current binary reclaim behaviour.\n\nWith this patch, we can set it to our ballpark estimation without too much\nworry.  Any undesirable behaviour, such as too much or too little reclaim\npressure on the workload or system will be proportional to how far our\nestimation is off.  This means we can set memory.low much more\nconservatively and thus waste less resources *without* the risk of the\nworkload falling off a cliff if we overshoot.\n\nAs a more abstract technical description, this unintuitive behaviour\nresults in having to give high-priority workloads a large protection\nbuffer on top of their expected usage to function reliably, as otherwise\nwe have abrupt periods of dramatically increased memory pressure which\nhamper performance.  Having to set these thresholds so high wastes\nresources and generally works against the principle of work conservation.\nIn addition, having proportional memory reclaim behaviour has other\nbenefits.  Most notably, before this patch it\u0027s basically mandatory to set\nmemory.low to a higher than desirable value because otherwise as soon as\nyou exceed memory.low, all protection is lost, and all pages are eligible\nto scan again.  By contrast, having a gradual ramp in reclaim pressure\nmeans that you now still get some protection when thresholds are exceeded,\nwhich means that one can now be more comfortable setting memory.low to\nlower values without worrying that all protection will be lost.  This is\nimportant because workingset size is really hard to know exactly,\nespecially with variable workloads, so at least getting *some* protection\nif your workingset size grows larger than you expect increases user\nconfidence in setting memory.low without a huge buffer on top being\nneeded.\n\nThanks a lot to Johannes Weiner and Tejun Heo for their advice and\nassistance in thinking about how to make this work better.\n\nIn testing these changes, I intended to verify that:\n\n1. Changes in page scanning become gradual and proportional instead of\n   binary.\n\n   To test this, I experimented stepping further and further down\n   memory.low protection on a workload that floats around 19G workingset\n   when under memory.low protection, watching page scan rates for the\n   workload cgroup:\n\n   +------------+-----------------+--------------------+--------------+\n   | memory.low | test (pgscan/s) | control (pgscan/s) | % of control |\n   +------------+-----------------+--------------------+--------------+\n   |        21G |               0 |                  0 | N/A          |\n   |        17G |             867 |               3799 | 23%          |\n   |        12G |            1203 |               3543 | 34%          |\n   |         8G |            2534 |               3979 | 64%          |\n   |         4G |            3980 |               4147 | 96%          |\n   |          0 |            3799 |               3980 | 95%          |\n   +------------+-----------------+--------------------+--------------+\n\n   As you can see, the test kernel (with a kernel containing this\n   patch) ramps up page scanning significantly more gradually than the\n   control kernel (without this patch).\n\n2. More gradual ramp up in reclaim aggression doesn\u0027t result in\n   premature OOMs.\n\n   To test this, I wrote a script that slowly increments the number of\n   pages held by stress(1)\u0027s --vm-keep mode until a production system\n   entered severe overall memory contention.  This script runs in a highly\n   protected slice taking up the majority of available system memory.\n   Watching vmstat revealed that page scanning continued essentially\n   nominally between test and control, without causing forward reclaim\n   progress to become arrested.\n\n[0]: https://facebookmicrosites.github.io/cgroup2/docs/overview.html#case-study-the-fbtax2-project\n\n[akpm@linux-foundation.org: reflow block comments to fit in 80 cols]\n[chris@chrisdown.name: handle cgroup_disable\u003dmemory when getting memcg protection]\n  Link: http://lkml.kernel.org/r/20190201045711.GA18302@chrisdown.name\nLink: http://lkml.kernel.org/r/20190124014455.GA6396@chrisdown.name\nSigned-off-by: Chris Down \u003cchris@chrisdown.name\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Roman Gushchin \u003cguro@fb.com\u003e\nCc: Michal Hocko \u003cmhocko@kernel.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Dennis Zhou \u003cdennis@kernel.org\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@i-love.sakura.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "518a86713078168acd67cf50bc0b45d54b4cce6c",
      "tree": "7a436f0240bb775bd7a3615224e67e8ed0041002",
      "parents": [
        "234fdce892f905cbc2674349a9eb4873e288e5b3"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sun Oct 06 17:58:28 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "mm/vmpressure.c: fix a signedness bug in vmpressure_register_event()\n\nThe \"mode\" and \"level\" variables are enums and in this context GCC will\ntreat them as unsigned ints so the error handling is never triggered.\n\nI also removed the bogus initializer because it isn\u0027t required any more\nand it\u0027s sort of confusing.\n\n[akpm@linux-foundation.org: reduce implicit and explicit typecasting]\n[akpm@linux-foundation.org: fix return value, add comment, per Matthew]\nLink: http://lkml.kernel.org/r/20190925110449.GO3264@mwanda\nFixes: 3cadfa2b9497 (\"mm/vmpressure.c: convert to use match_string() helper\")\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nReviewed-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@infradead.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Enrico Weigelt \u003cinfo@metux.net\u003e\nCc: Kate Stewart \u003ckstewart@linuxfoundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "234fdce892f905cbc2674349a9eb4873e288e5b3",
      "tree": "1d960b4fef3ad98aa2ffd279af2340461120c7a9",
      "parents": [
        "5b6807de11445c05b537df8324f5d7ab1c2782f9"
      ],
      "author": {
        "name": "Qian Cai",
        "email": "cai@lca.pw",
        "time": "Sun Oct 06 17:58:25 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "mm/page_alloc.c: fix a crash in free_pages_prepare()\n\nOn architectures like s390, arch_free_page() could mark the page unused\n(set_page_unused()) and any access later would trigger a kernel panic.\nFix it by moving arch_free_page() after all possible accessing calls.\n\n Hardware name: IBM 2964 N96 400 (z/VM 6.4.0)\n Krnl PSW : 0404e00180000000 0000000026c2b96e (__free_pages_ok+0x34e/0x5d8)\n            R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3\n Krnl GPRS: 0000000088d43af7 0000000000484000 000000000000007c 000000000000000f\n            000003d080012100 000003d080013fc0 0000000000000000 0000000000100000\n            00000000275cca48 0000000000000100 0000000000000008 000003d080010000\n            00000000000001d0 000003d000000000 0000000026c2b78a 000000002717fdb0\n Krnl Code: 0000000026c2b95c: ec1100b30659 risbgn %r1,%r1,0,179,6\n            0000000026c2b962: e32014000036 pfd 2,1024(%r1)\n           #0000000026c2b968: d7ff10001000 xc 0(256,%r1),0(%r1)\n           \u003e0000000026c2b96e: 41101100  la %r1,256(%r1)\n            0000000026c2b972: a737fff8  brctg %r3,26c2b962\n            0000000026c2b976: d7ff10001000 xc 0(256,%r1),0(%r1)\n            0000000026c2b97c: e31003400004 lg %r1,832\n            0000000026c2b982: ebff1430016a asi 5168(%r1),-1\n Call Trace:\n __free_pages_ok+0x16a/0x5d8)\n memblock_free_all+0x206/0x290\n mem_init+0x58/0x120\n start_kernel+0x2b0/0x570\n startup_continue+0x6a/0xc0\n INFO: lockdep is turned off.\n Last Breaking-Event-Address:\n __free_pages_ok+0x372/0x5d8\n Kernel panic - not syncing: Fatal exception: panic_on_oops\n 00: HCPGIR450W CP entered; disabled wait PSW 00020001 80000000 00000000 26A2379C\n\nIn the past, only kernel_poison_pages() would trigger this but it needs\n\"page_poison\u003don\" kernel cmdline, and I suspect nobody tested that on\ns390.  Recently, kernel_init_free_pages() (commit 6471384af2a6 (\"mm:\nsecurity: introduce init_on_alloc\u003d1 and init_on_free\u003d1 boot options\"))\nwas added and could trigger this as well.\n\n[akpm@linux-foundation.org: add comment]\nLink: http://lkml.kernel.org/r/1569613623-16820-1-git-send-email-cai@lca.pw\nFixes: 8823b1dbc05f (\"mm/page_poison.c: enable PAGE_POISONING as a separate option\")\nFixes: 6471384af2a6 (\"mm: security: introduce init_on_alloc\u003d1 and init_on_free\u003d1 boot options\")\nSigned-off-by: Qian Cai \u003ccai@lca.pw\u003e\nReviewed-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Vasily Gorbik \u003cgor@linux.ibm.com\u003e\nCc: Alexander Duyck \u003calexander.duyck@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[5.3+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b6807de11445c05b537df8324f5d7ab1c2782f9",
      "tree": "3c0965d85ecaf69ee21532a11925976f4409254c",
      "parents": [
        "b0f53dbc4bc4c371f38b14c391095a3bb8a0bb40"
      ],
      "author": {
        "name": "Vitaly Wool",
        "email": "vitalywool@gmail.com",
        "time": "Sun Oct 06 17:58:22 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "mm/z3fold.c: claim page in the beginning of free\n\nThere\u0027s a really hard to reproduce race in z3fold between z3fold_free()\nand z3fold_reclaim_page().  z3fold_reclaim_page() can claim the page\nafter z3fold_free() has checked if the page was claimed and\nz3fold_free() will then schedule this page for compaction which may in\nturn lead to random page faults (since that page would have been\nreclaimed by then).\n\nFix that by claiming page in the beginning of z3fold_free() and not\nforgetting to clear the claim in the end.\n\n[vitalywool@gmail.com: v2]\n  Link: http://lkml.kernel.org/r/20190928113456.152742cf@bigdell\nLink: http://lkml.kernel.org/r/20190926104844.4f0c6efa1366b8f5741eaba9@gmail.com\nSigned-off-by: Vitaly Wool \u003cvitalywool@gmail.com\u003e\nReported-by: Markus Linnala \u003cmarkus.linnala@gmail.com\u003e\nCc: Dan Streetman \u003cddstreet@ieee.org\u003e\nCc: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nCc: Henry Burns \u003chenrywolfeburns@gmail.com\u003e\nCc: Shakeel Butt \u003cshakeelb@google.com\u003e\nCc: Markus Linnala \u003cmarkus.linnala@gmail.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": "b0f53dbc4bc4c371f38b14c391095a3bb8a0bb40",
      "tree": "bdc6060935f8a3e313f6abdc05c60dc1a03d9508",
      "parents": [
        "08d1d0e6d0a00c6e687201774f3bf61177741e80"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.com",
        "time": "Sun Oct 06 17:58:19 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "kernel/sysctl.c: do not override max_threads provided by userspace\n\nPartially revert 16db3d3f1170 (\"kernel/sysctl.c: threads-max observe\nlimits\") because the patch is causing a regression to any workload which\nneeds to override the auto-tuning of the limit provided by kernel.\n\nset_max_threads is implementing a boot time guesstimate to provide a\nsensible limit of the concurrently running threads so that runaways will\nnot deplete all the memory.  This is a good thing in general but there\nare workloads which might need to increase this limit for an application\nto run (reportedly WebSpher MQ is affected) and that is simply not\npossible after the mentioned change.  It is also very dubious to\noverride an admin decision by an estimation that doesn\u0027t have any direct\nrelation to correctness of the kernel operation.\n\nFix this by dropping set_max_threads from sysctl_max_threads so any\nvalue is accepted as long as it fits into MAX_THREADS which is important\nto check because allowing more threads could break internal robust futex\nrestriction.  While at it, do not use MIN_THREADS as the lower boundary\nbecause it is also only a heuristic for automatic estimation and admin\nmight have a good reason to stop new threads to be created even when\nbelow this limit.\n\nThis became more severe when we switched x86 from 4k to 8k kernel\nstacks.  Starting since 6538b8ea886e (\"x86_64: expand kernel stack to\n16K\") (3.16) we use THREAD_SIZE_ORDER \u003d 2 and that halved the auto-tuned\nvalue.\n\nIn the particular case\n\n  3.12\n  kernel.threads-max \u003d 515561\n\n  4.4\n  kernel.threads-max \u003d 200000\n\nNeither of the two values is really insane on 32GB machine.\n\nI am not sure we want/need to tune the max_thread value further.  If\nanything the tuning should be removed altogether if proven not useful in\ngeneral.  But we definitely need a way to override this auto-tuning.\n\nLink: http://lkml.kernel.org/r/20190922065801.GB18814@dhcp22.suse.cz\nFixes: 16db3d3f1170 (\"kernel/sysctl.c: threads-max observe limits\")\nSigned-off-by: Michal Hocko \u003cmhocko@suse.com\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Heinrich Schuchardt \u003cxypron.glpk@gmx.de\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": "08d1d0e6d0a00c6e687201774f3bf61177741e80",
      "tree": "36ed19a744ffc077db0066698ff7390000d76ac9",
      "parents": [
        "758b8db4a56ab03eca4ecbfa7fa641ed30fb2a90"
      ],
      "author": {
        "name": "Baoquan He",
        "email": "bhe@redhat.com",
        "time": "Sun Oct 06 17:58:15 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "memcg: only record foreign writebacks with dirty pages when memcg is not disabled\n\nIn kdump kernel, memcg usually is disabled with \u0027cgroup_disable\u003dmemory\u0027\nfor saving memory.  Now kdump kernel will always panic when dump vmcore\nto local disk:\n\n  BUG: kernel NULL pointer dereference, address: 0000000000000ab8\n  Oops: 0000 [#1] SMP NOPTI\n  CPU: 0 PID: 598 Comm: makedumpfile Not tainted 5.3.0+ #26\n  Hardware name: HPE ProLiant DL385 Gen10/ProLiant DL385 Gen10, BIOS A40 10/02/2018\n  RIP: 0010:mem_cgroup_track_foreign_dirty_slowpath+0x38/0x140\n  Call Trace:\n   __set_page_dirty+0x52/0xc0\n   iomap_set_page_dirty+0x50/0x90\n   iomap_write_end+0x6e/0x270\n   iomap_write_actor+0xce/0x170\n   iomap_apply+0xba/0x11e\n   iomap_file_buffered_write+0x62/0x90\n   xfs_file_buffered_aio_write+0xca/0x320 [xfs]\n   new_sync_write+0x12d/0x1d0\n   vfs_write+0xa5/0x1a0\n   ksys_write+0x59/0xd0\n   do_syscall_64+0x59/0x1e0\n   entry_SYSCALL_64_after_hwframe+0x44/0xa9\n\nAnd this will corrupt the 1st kernel too with \u0027cgroup_disable\u003dmemory\u0027.\n\nVia the trace and with debugging, it is pointing to commit 97b27821b485\n(\"writeback, memcg: Implement foreign dirty flushing\") which introduced\nthis regression.  Disabling memcg causes the null pointer dereference at\nuninitialized data in function mem_cgroup_track_foreign_dirty_slowpath().\n\nFix it by returning directly if memcg is disabled, but not trying to\nrecord the foreign writebacks with dirty pages.\n\nLink: http://lkml.kernel.org/r/20190924141928.GD31919@MiWiFi-R3L-srv\nFixes: 97b27821b485 (\"writeback, memcg: Implement foreign dirty flushing\")\nSigned-off-by: Baoquan He \u003cbhe@redhat.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "758b8db4a56ab03eca4ecbfa7fa641ed30fb2a90",
      "tree": "50516392ab105a7433b46f4cefbf31d79ab5bd2a",
      "parents": [
        "8e00c4e9dd852f7a9bf12234fad65a2f2f93788f"
      ],
      "author": {
        "name": "Yi Wang",
        "email": "wang.yi59@zte.com.cn",
        "time": "Sun Oct 06 17:58:12 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "mm: fix -Wmissing-prototypes warnings\n\nWe get two warnings when build kernel W\u003d1:\n\n  mm/shuffle.c:36:12: warning: no previous prototype for `shuffle_show\u0027 [-Wmissing-prototypes]\n  mm/sparse.c:220:6: warning: no previous prototype for `subsection_mask_set\u0027 [-Wmissing-prototypes]\n\nMake the functions static to fix this.\n\nLink: http://lkml.kernel.org/r/1566978161-7293-1-git-send-email-wang.yi59@zte.com.cn\nSigned-off-by: Yi Wang \u003cwang.yi59@zte.com.cn\u003e\nReviewed-by: David Hildenbrand \u003cdavid@redhat.com\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e00c4e9dd852f7a9bf12234fad65a2f2f93788f",
      "tree": "d6421d6735a16983dc9a12d44827832b2ddbe391",
      "parents": [
        "6d0e9849417bfcbe997405371e0ed712b364ba0a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Oct 06 17:58:09 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "writeback: fix use-after-free in finish_writeback_work()\n\nfinish_writeback_work() reads @done-\u003ewaitq after decrementing\n@done-\u003ecnt.  However, once @done-\u003ecnt reaches zero, @done may be freed\n(from stack) at any moment and @done-\u003ewaitq can contain something\nunrelated by the time finish_writeback_work() tries to read it.  This\nled to the following crash.\n\n  \"BUG: kernel NULL pointer dereference, address: 0000000000000002\"\n  #PF: supervisor write access in kernel mode\n  #PF: error_code(0x0002) - not-present page\n  PGD 0 P4D 0\n  Oops: 0002 [#1] SMP DEBUG_PAGEALLOC\n  CPU: 40 PID: 555153 Comm: kworker/u98:50 Kdump: loaded Not tainted\n  ...\n  Workqueue: writeback wb_workfn (flush-btrfs-1)\n  RIP: 0010:_raw_spin_lock_irqsave+0x10/0x30\n  Code: 48 89 d8 5b c3 e8 50 db 6b ff eb f4 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 53 9c 5b fa 31 c0 ba 01 00 00 00 \u003cf0\u003e 0f b1 17 75 05 48 89 d8 5b c3 89 c6 e8 fe ca 6b ff eb f2 66 90\n  RSP: 0018:ffffc90049b27d98 EFLAGS: 00010046\n  RAX: 0000000000000000 RBX: 0000000000000246 RCX: 0000000000000000\n  RDX: 0000000000000001 RSI: 0000000000000003 RDI: 0000000000000002\n  RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000001\n  R10: ffff889fff407600 R11: ffff88ba9395d740 R12: 000000000000e300\n  R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000000\n  FS:  0000000000000000(0000) GS:ffff88bfdfa00000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n  CR2: 0000000000000002 CR3: 0000000002409005 CR4: 00000000001606e0\n  Call Trace:\n   __wake_up_common_lock+0x63/0xc0\n   wb_workfn+0xd2/0x3e0\n   process_one_work+0x1f5/0x3f0\n   worker_thread+0x2d/0x3d0\n   kthread+0x111/0x130\n   ret_from_fork+0x1f/0x30\n\nFix it by reading and caching @done-\u003ewaitq before decrementing\n@done-\u003ecnt.\n\nLink: http://lkml.kernel.org/r/20190924010631.GH2233839@devbig004.ftw2.facebook.com\nFixes: 5b9cce4c7eb069 (\"writeback: Generalize and expose wb_completion\")\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nDebugged-by: Chris Mason \u003cclm@fb.com\u003e\nReviewed-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[5.2+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d0e9849417bfcbe997405371e0ed712b364ba0a",
      "tree": "c402b6de8a6d7b2ae759d078a88662e58c4a7451",
      "parents": [
        "20bb759a66be52cf4a9ddd17fddaf509e11490cd"
      ],
      "author": {
        "name": "Anshuman Khandual",
        "email": "anshuman.khandual@arm.com",
        "time": "Sun Oct 06 17:58:05 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "mm/memremap: drop unused SECTION_SIZE and SECTION_MASK\n\nSECTION_SIZE and SECTION_MASK macros are not getting used anymore.  But\nthey do conflict with existing definitions on arm64 platform causing\nfollowing warning during build.  Lets drop these unused macros.\n\n  mm/memremap.c:16: warning: \"SECTION_MASK\" redefined\n   #define SECTION_MASK ~((1UL \u003c\u003c PA_SECTION_SHIFT) - 1)\n  arch/arm64/include/asm/pgtable-hwdef.h:79: note: this is the location of the previous definition\n   #define SECTION_MASK  (~(SECTION_SIZE-1))\n\n  mm/memremap.c:17: warning: \"SECTION_SIZE\" redefined\n   #define SECTION_SIZE (1UL \u003c\u003c PA_SECTION_SHIFT)\n  arch/arm64/include/asm/pgtable-hwdef.h:78: note: this is the location of the previous definition\n   #define SECTION_SIZE  (_AC(1, UL) \u003c\u003c SECTION_SHIFT)\n\nLink: http://lkml.kernel.org/r/1569312010-31313-1-git-send-email-anshuman.khandual@arm.com\nSigned-off-by: Anshuman Khandual \u003canshuman.khandual@arm.com\u003e\nReported-by: kbuild test robot \u003clkp@intel.com\u003e\nReviewed-by: David Hildenbrand \u003cdavid@redhat.com\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: Jason Gunthorpe \u003cjgg@ziepe.ca\u003e\nCc: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nCc: Ira Weiny \u003cira.weiny@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20bb759a66be52cf4a9ddd17fddaf509e11490cd",
      "tree": "9b2468c3f5311f60a3b9c8e7c5f3a5047b26600a",
      "parents": [
        "2abb7d3b12d007c30193f48bebed781009bebdd2"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Sun Oct 06 17:58:00 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "panic: ensure preemption is disabled during panic()\n\nCalling \u0027panic()\u0027 on a kernel with CONFIG_PREEMPT\u003dy can leave the\ncalling CPU in an infinite loop, but with interrupts and preemption\nenabled.  From this state, userspace can continue to be scheduled,\ndespite the system being \"dead\" as far as the kernel is concerned.\n\nThis is easily reproducible on arm64 when booting with \"nosmp\" on the\ncommand line; a couple of shell scripts print out a periodic \"Ping\"\nmessage whilst another triggers a crash by writing to\n/proc/sysrq-trigger:\n\n  | sysrq: Trigger a crash\n  | Kernel panic - not syncing: sysrq triggered crash\n  | CPU: 0 PID: 1 Comm: init Not tainted 5.2.15 #1\n  | Hardware name: linux,dummy-virt (DT)\n  | Call trace:\n  |  dump_backtrace+0x0/0x148\n  |  show_stack+0x14/0x20\n  |  dump_stack+0xa0/0xc4\n  |  panic+0x140/0x32c\n  |  sysrq_handle_reboot+0x0/0x20\n  |  __handle_sysrq+0x124/0x190\n  |  write_sysrq_trigger+0x64/0x88\n  |  proc_reg_write+0x60/0xa8\n  |  __vfs_write+0x18/0x40\n  |  vfs_write+0xa4/0x1b8\n  |  ksys_write+0x64/0xf0\n  |  __arm64_sys_write+0x14/0x20\n  |  el0_svc_common.constprop.0+0xb0/0x168\n  |  el0_svc_handler+0x28/0x78\n  |  el0_svc+0x8/0xc\n  | Kernel Offset: disabled\n  | CPU features: 0x0002,24002004\n  | Memory Limit: none\n  | ---[ end Kernel panic - not syncing: sysrq triggered crash ]---\n  |  Ping 2!\n  |  Ping 1!\n  |  Ping 1!\n  |  Ping 2!\n\nThe issue can also be triggered on x86 kernels if CONFIG_SMP\u003dn,\notherwise local interrupts are disabled in \u0027smp_send_stop()\u0027.\n\nDisable preemption in \u0027panic()\u0027 before re-enabling interrupts.\n\nLink: http://lkml.kernel.org/r/20191002123538.22609-1-will@kernel.org\nLink: https://lore.kernel.org/r/BX1W47JXPMR8.58IYW53H6M5N@dragonstone\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\nReported-by: Xogium \u003ccontact@xogium.me\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Russell King \u003clinux@armlinux.org.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Petr Mladek \u003cpmladek@suse.com\u003e\nCc: Feng Tang \u003cfeng.tang@intel.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": "2abb7d3b12d007c30193f48bebed781009bebdd2",
      "tree": "6eb4c90b31aa9bd964167b6b707b2f51af8f64cf",
      "parents": [
        "583fee3e12df0e6f1f66f063b989d8e7fed0e65a"
      ],
      "author": {
        "name": "Jia-Ju Bai",
        "email": "baijiaju1990@gmail.com",
        "time": "Sun Oct 06 17:57:57 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "fs: ocfs2: fix a possible null-pointer dereference in ocfs2_info_scan_inode_alloc()\n\nIn ocfs2_info_scan_inode_alloc(), there is an if statement on line 283\nto check whether inode_alloc is NULL:\n\n    if (inode_alloc)\n\nWhen inode_alloc is NULL, it is used on line 287:\n\n    ocfs2_inode_lock(inode_alloc, \u0026bh, 0);\n        ocfs2_inode_lock_full_nested(inode, ...)\n            struct ocfs2_super *osb \u003d OCFS2_SB(inode-\u003ei_sb);\n\nThus, a possible null-pointer dereference may occur.\n\nTo fix this bug, inode_alloc is checked on line 286.\n\nThis bug is found by a static analysis tool STCheck written by us.\n\nLink: http://lkml.kernel.org/r/20190726033717.32359-1-baijiaju1990@gmail.com\nSigned-off-by: Jia-Ju Bai \u003cbaijiaju1990@gmail.com\u003e\nReviewed-by: Joseph Qi \u003cjoseph.qi@linux.alibaba.com\u003e\nCc: Mark Fasheh \u003cmark@fasheh.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Junxiao Bi \u003cjunxiao.bi@oracle.com\u003e\nCc: Changwei Ge \u003cgechangwei@live.cn\u003e\nCc: Gang He \u003cghe@suse.com\u003e\nCc: Jun Piao \u003cpiaojun@huawei.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "583fee3e12df0e6f1f66f063b989d8e7fed0e65a",
      "tree": "931c6c1c8858cb2a91a153b6aceb3fec6088d84f",
      "parents": [
        "56e94ea132bb5c2c1d0b60a6aeb34dcb7d71a53d"
      ],
      "author": {
        "name": "Jia-Ju Bai",
        "email": "baijiaju1990@gmail.com",
        "time": "Sun Oct 06 17:57:54 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "fs: ocfs2: fix a possible null-pointer dereference in ocfs2_write_end_nolock()\n\nIn ocfs2_write_end_nolock(), there are an if statement on lines 1976,\n2047 and 2058, to check whether handle is NULL:\n\n    if (handle)\n\nWhen handle is NULL, it is used on line 2045:\n\n\tocfs2_update_inode_fsync_trans(handle, inode, 1);\n        oi-\u003ei_sync_tid \u003d handle-\u003eh_transaction-\u003et_tid;\n\nThus, a possible null-pointer dereference may occur.\n\nTo fix this bug, handle is checked before calling\nocfs2_update_inode_fsync_trans().\n\nThis bug is found by a static analysis tool STCheck written by us.\n\nLink: http://lkml.kernel.org/r/20190726033705.32307-1-baijiaju1990@gmail.com\nSigned-off-by: Jia-Ju Bai \u003cbaijiaju1990@gmail.com\u003e\nReviewed-by: Joseph Qi \u003cjoseph.qi@linux.alibaba.com\u003e\nCc: Mark Fasheh \u003cmark@fasheh.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Junxiao Bi \u003cjunxiao.bi@oracle.com\u003e\nCc: Changwei Ge \u003cgechangwei@live.cn\u003e\nCc: Gang He \u003cghe@suse.com\u003e\nCc: Jun Piao \u003cpiaojun@huawei.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "56e94ea132bb5c2c1d0b60a6aeb34dcb7d71a53d",
      "tree": "3fe025b19f43bfe824b95256f2ad92a682cb754c",
      "parents": [
        "7a243c82ea527cd1da47381ad9cd646844f3b693"
      ],
      "author": {
        "name": "Jia-Ju Bai",
        "email": "baijiaju1990@gmail.com",
        "time": "Sun Oct 06 17:57:50 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()\n\nIn ocfs2_xa_prepare_entry(), there is an if statement on line 2136 to\ncheck whether loc-\u003exl_entry is NULL:\n\n    if (loc-\u003exl_entry)\n\nWhen loc-\u003exl_entry is NULL, it is used on line 2158:\n\n    ocfs2_xa_add_entry(loc, name_hash);\n        loc-\u003exl_entry-\u003exe_name_hash \u003d cpu_to_le32(name_hash);\n        loc-\u003exl_entry-\u003exe_name_offset \u003d cpu_to_le16(loc-\u003exl_size);\n\nand line 2164:\n\n    ocfs2_xa_add_namevalue(loc, xi);\n        loc-\u003exl_entry-\u003exe_value_size \u003d cpu_to_le64(xi-\u003exi_value_len);\n        loc-\u003exl_entry-\u003exe_name_len \u003d xi-\u003exi_name_len;\n\nThus, possible null-pointer dereferences may occur.\n\nTo fix these bugs, if loc-xl_entry is NULL, ocfs2_xa_prepare_entry()\nabnormally returns with -EINVAL.\n\nThese bugs are found by a static analysis tool STCheck written by us.\n\n[akpm@linux-foundation.org: remove now-unused ocfs2_xa_add_entry()]\nLink: http://lkml.kernel.org/r/20190726101447.9153-1-baijiaju1990@gmail.com\nSigned-off-by: Jia-Ju Bai \u003cbaijiaju1990@gmail.com\u003e\nReviewed-by: Joseph Qi \u003cjoseph.qi@linux.alibaba.com\u003e\nCc: Mark Fasheh \u003cmark@fasheh.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Junxiao Bi \u003cjunxiao.bi@oracle.com\u003e\nCc: Changwei Ge \u003cgechangwei@live.cn\u003e\nCc: Gang He \u003cghe@suse.com\u003e\nCc: Jun Piao \u003cpiaojun@huawei.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a243c82ea527cd1da47381ad9cd646844f3b693",
      "tree": "d7c8e8ce34d95a871bdec2ed80441c89dedfd3df",
      "parents": [
        "4ea655343ce4180fe9b2c7ec8cb8ef9884a47901"
      ],
      "author": {
        "name": "Jia Guo",
        "email": "guojia12@huawei.com",
        "time": "Sun Oct 06 17:57:47 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 15:47:19 2019 -0700"
      },
      "message": "ocfs2: clear zero in unaligned direct IO\n\nUnused portion of a part-written fs-block-sized block is not set to zero\nin unaligned append direct write.This can lead to serious data\ninconsistencies.\n\nOcfs2 manage disk with cluster size(for example, 1M), part-written in\none cluster will change the cluster state from UN-WRITTEN to WRITTEN,\nVFS(function dio_zero_block) doesn\u0027t do the cleaning because bh\u0027s state\nis not set to NEW in function ocfs2_dio_wr_get_block when we write a\nWRITTEN cluster.  For example, the cluster size is 1M, file size is 8k\nand we direct write from 14k to 15k, then 12k~14k and 15k~16k will\ncontain dirty data.\n\nWe have to deal with two cases:\n 1.The starting position of direct write is outside the file.\n 2.The starting position of direct write is located in the file.\n\nWe need set bh\u0027s state to NEW in the first case.  In the second case, we\nneed mapped twice because bh\u0027s state of area out file should be set to\nNEW while area in file not.\n\n[akpm@linux-foundation.org: coding style fixes]\nLink: http://lkml.kernel.org/r/5292e287-8f1a-fd4a-1a14-661e555e0bed@huawei.com\nSigned-off-by: Jia Guo \u003cguojia12@huawei.com\u003e\nReviewed-by: Yiwen Jiang \u003cjiangyiwen@huawei.com\u003e\nCc: Mark Fasheh \u003cmark@fasheh.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Junxiao Bi \u003cjunxiao.bi@oracle.com\u003e\nCc: Joseph Qi \u003cjoseph.qi@huawei.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c512c69187197fe08026cb5bbe7b9709f4f89b73",
      "tree": "273d6279c7b34b2be2988418b855f461ab1fa800",
      "parents": [
        "da0c9ea146cbe92b832f1b0f694840ea8eb33cce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 12:56:48 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 07 12:56:48 2019 -0700"
      },
      "message": "uaccess: implement a proper unsafe_copy_to_user() and switch filldir over to it\n\nIn commit 9f79b78ef744 (\"Convert filldir[64]() from __put_user() to\nunsafe_put_user()\") I made filldir() use unsafe_put_user(), which\nimproves code generation on x86 enormously.\n\nBut because we didn\u0027t have a \"unsafe_copy_to_user()\", the dirent name\ncopy was also done by hand with unsafe_put_user() in a loop, and it\nturns out that a lot of other architectures didn\u0027t like that, because\nunlike x86, they have various alignment issues.\n\nMost non-x86 architectures trap and fix it up, and some (like xtensa)\nwill just fail unaligned put_user() accesses unconditionally.  Which\nmakes that \"copy using put_user() in a loop\" not work for them at all.\n\nI could make that code do explicit alignment etc, but the architectures\nthat don\u0027t like unaligned accesses also don\u0027t really use the fancy\n\"user_access_begin/end()\" model, so they might just use the regular old\n__copy_to_user() interface.\n\nSo this commit takes that looping implementation, turns it into the x86\nversion of \"unsafe_copy_to_user()\", and makes other architectures\nimplement the unsafe copy version as __copy_to_user() (the same way they\ndo for the other unsafe_xyz() accessor functions).\n\nNote that it only does this for the copying _to_ user space, and we\nstill don\u0027t have a unsafe version of copy_from_user().\n\nThat\u0027s partly because we have no current users of it, but also partly\nbecause the copy_from_user() case is slightly different and cannot\nefficiently be implemented in terms of a unsafe_get_user() loop (because\ngcc can\u0027t do asm goto with outputs).\n\nIt would be trivial to do this using \"rep movsb\", which would work\nreally nicely on newer x86 cores, but really badly on some older ones.\n\nAl Viro is looking at cleaning up all our user copy routines to make\nthis all a non-issue, but for now we have this simple-but-stupid version\nfor x86 that works fine for the dirent name copy case because those\nnames are short strings and we simply don\u0027t need anything fancier.\n\nFixes: 9f79b78ef744 (\"Convert filldir[64]() from __put_user() to unsafe_put_user()\")\nReported-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nReported-and-tested-by: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Max Filippov \u003cjcmvbkbc@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c4791c9efca8c105a86022f7d5532aeaa819125",
      "tree": "a78b0ef907204b58eb7843ea1538e79b25929d57",
      "parents": [
        "eff9cb67be21346402ea07d7a48564909b4f0f25"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 13:03:12 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 13:32:15 2019 +0100"
      },
      "message": "arm64: Kconfig: Make CONFIG_COMPAT_VDSO a proper Kconfig option\n\nCONFIG_COMPAT_VDSO is defined by passing \u0027-DCONFIG_COMPAT_VDSO\u0027 to the\ncompiler when the generic compat vDSO code is in use. It\u0027s much cleaner\nand simpler to expose this as a proper Kconfig option (like x86 does),\nso do that and remove the bodge.\n\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "eff9cb67be21346402ea07d7a48564909b4f0f25",
      "tree": "cc59a6334d9979b56289d2fcc6006cf1c0acef96",
      "parents": [
        "7424ee2b1617de62c3761bdd6260857363e1e4d4"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Fri Oct 04 14:20:06 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 13:32:13 2019 +0100"
      },
      "message": "arm64: vdso32: Rename COMPATCC to CC_COMPAT\n\nFor consistency with CROSS_COMPILE_COMPAT, mechanically rename COMPATCC\nto CC_COMPAT so that specifying aspects of the compat vDSO toolchain in\nthe environment isn\u0027t needlessly confusing.\n\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "7424ee2b1617de62c3761bdd6260857363e1e4d4",
      "tree": "6b2b1d915ee5b0d8256dde49b786493a1f222d01",
      "parents": [
        "c71e88c437962c1ec43d4d23a0ebf4c9cf9bee0d"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 12:27:59 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 13:32:09 2019 +0100"
      },
      "message": "arm64: vdso32: Pass \u0027--target\u0027 option to clang via VDSO_CAFLAGS\n\nDirectly passing the \u0027--target\u0027 option to clang by appending to\nCOMPATCC does not work if COMPATCC has been specified explicitly as\nan argument to Make unless the \u0027override\u0027 directive is used, which is\nugly and different to what is done in the top-level Makefile.\n\nMove the \u0027--target\u0027 option for clang out of COMPATCC and into\nVDSO_CAFLAGS, where it will be picked up when compiling and assembling\nthe 32-bit vDSO under clang.\n\nReported-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "c71e88c437962c1ec43d4d23a0ebf4c9cf9bee0d",
      "tree": "3b0a4f0a4a7554cb367077614d343389e3eff79e",
      "parents": [
        "bcaf9b57e4884e86717c1f4cee8157fd68189aa7"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Fri Oct 04 15:44:45 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 13:32:05 2019 +0100"
      },
      "message": "arm64: vdso32: Don\u0027t use KBUILD_CPPFLAGS unconditionally\n\nKBUILD_CPPFLAGS is defined differently depending on whether the main\ncompiler is clang or not. This means that it is not possible to build\nthe compat vDSO with GCC if the rest of the kernel is built with clang.\n\nDefine VDSO_CPPFLAGS directly to break this dependency and allow a clang\nkernel to build a compat vDSO with GCC:\n\n  $ make ARCH\u003darm64 CROSS_COMPILE\u003daarch64-linux-gnu- \\\n    CROSS_COMPILE_COMPAT\u003darm-linux-gnueabihf- CC\u003dclang \\\n    COMPATCC\u003darm-linux-gnueabihf-gcc\n\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "bcaf9b57e4884e86717c1f4cee8157fd68189aa7",
      "tree": "a5f8980941d74fa72ac82c3af1682c0922c3b349",
      "parents": [
        "24ee01a927bfe56c66429ec4b1df6955a814adc8"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Fri Oct 04 15:43:53 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 13:32:02 2019 +0100"
      },
      "message": "arm64: vdso32: Move definition of COMPATCC into vdso32/Makefile\n\nThere\u0027s no need to export COMPATCC, so just define it locally in the\nvdso32/Makefile, which is the only place where it is used.\n\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "24ee01a927bfe56c66429ec4b1df6955a814adc8",
      "tree": "42d6b9a4826313a83bda21beb5b3ec7df5fbce53",
      "parents": [
        "50a2610adec9d796b25e262734edb56ef324ce15"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Fri Oct 04 14:08:13 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 13:31:45 2019 +0100"
      },
      "message": "arm64: Default to building compat vDSO with clang when CONFIG_CC_IS_CLANG\n\nRather than force the use of GCC for the compat cross-compiler, instead\nextract the target from CROSS_COMPILE_COMPAT and pass it to clang if the\nmain compiler is clang.\n\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "50a2610adec9d796b25e262734edb56ef324ce15",
      "tree": "b2057c8f38b1bed64230cbd787532f066a4af472",
      "parents": [
        "a7f93103f86e2bbc5646831707d2fa565315004d"
      ],
      "author": {
        "name": "Vincenzo Frascino",
        "email": "vincenzo.frascino@arm.com",
        "time": "Thu Oct 03 18:48:38 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 11:07:17 2019 +0100"
      },
      "message": "lib: vdso: Remove CROSS_COMPILE_COMPAT_VDSO\n\narm64 was the last architecture using CROSS_COMPILE_COMPAT_VDSO config\noption. With this patch series the dependency in the architecture has\nbeen removed.\n\nRemove CROSS_COMPILE_COMPAT_VDSO from the Unified vDSO library code.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andy Lutomirski \u003cluto@kernel.org\u003e\nSigned-off-by: Vincenzo Frascino \u003cvincenzo.frascino@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "a7f93103f86e2bbc5646831707d2fa565315004d",
      "tree": "c6fbeaa6a6cecd89dff1822fed91d5ba0e6447fb",
      "parents": [
        "0df2c90eba60791148cee1823c0bf5fc66e3465c"
      ],
      "author": {
        "name": "Vincenzo Frascino",
        "email": "vincenzo.frascino@arm.com",
        "time": "Thu Oct 03 18:48:36 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 11:07:17 2019 +0100"
      },
      "message": "arm64: vdso32: Remove jump label config option in Makefile\n\nThe jump labels are not used in vdso32 since it is not possible to run\nruntime patching on them.\n\nRemove the configuration option from the Makefile.\n\nCc: Will Deacon \u003cwill@kernel.org\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Vincenzo Frascino \u003cvincenzo.frascino@arm.com\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "0df2c90eba60791148cee1823c0bf5fc66e3465c",
      "tree": "36653009e0f5f743ba09a52bd6f6ac8cc5acfd47",
      "parents": [
        "37a5076098c17f40913c772b017ff8e48e449656"
      ],
      "author": {
        "name": "Vincenzo Frascino",
        "email": "vincenzo.frascino@arm.com",
        "time": "Thu Oct 03 18:48:34 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 11:07:16 2019 +0100"
      },
      "message": "arm64: vdso32: Detect binutils support for dmb ishld\n\nOlder versions of binutils (prior to 2.24) do not support the \"ISHLD\"\noption for memory barrier instructions, which leads to a build failure\nwhen assembling the vdso32 library.\n\nAdd a compilation time mechanism that detects if binutils supports those\ninstructions and configure the kernel accordingly.\n\nCc: Will Deacon \u003cwill@kernel.org\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nReported-by: Will Deacon \u003cwill@kernel.org\u003e\nSigned-off-by: Vincenzo Frascino \u003cvincenzo.frascino@arm.com\u003e\nReviewed-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "37a5076098c17f40913c772b017ff8e48e449656",
      "tree": "2f68aec10ab764b014b137cb1a0736b29e68355a",
      "parents": [
        "e0de01aafc3dd7b73308106b056ead2d48391905"
      ],
      "author": {
        "name": "Vincenzo Frascino",
        "email": "vincenzo.frascino@arm.com",
        "time": "Thu Oct 03 18:48:35 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 11:07:16 2019 +0100"
      },
      "message": "arm64: vdso: Remove stale files from old assembly implementation\n\nMoving over to the generic C implementation of the vDSO inadvertently\nleft some stale files behind which are no longer used. Remove them.\n\nCc: Will Deacon \u003cwill@kernel.org\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Vincenzo Frascino \u003cvincenzo.frascino@arm.com\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "e0de01aafc3dd7b73308106b056ead2d48391905",
      "tree": "9e4ab4db699db791db2ac9fac30e10ff7194b49e",
      "parents": [
        "308c51561720547a90767a2f367f5390052c51da"
      ],
      "author": {
        "name": "Vincenzo Frascino",
        "email": "vincenzo.frascino@arm.com",
        "time": "Thu Oct 03 18:48:33 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 11:07:16 2019 +0100"
      },
      "message": "arm64: vdso32: Fix broken compat vDSO build warnings\n\nThe .config file and the generated include/config/auto.conf can\nend up out of sync after a set of commands since\nCONFIG_CROSS_COMPILE_COMPAT_VDSO is not updated correctly.\n\nThe sequence can be reproduced as follows:\n\n$ make ARCH\u003darm64 CROSS_COMPILE\u003daarch64-linux-gnu- defconfig\n[...]\n$ make ARCH\u003darm64 CROSS_COMPILE\u003daarch64-linux-gnu- menuconfig\n[set CONFIG_CROSS_COMPILE_COMPAT_VDSO\u003d\"arm-linux-gnueabihf-\"]\n$ make ARCH\u003darm64 CROSS_COMPILE\u003daarch64-linux-gnu-\n\nWhich results in:\n\narch/arm64/Makefile:62: CROSS_COMPILE_COMPAT not defined or empty,\nthe compat vDSO will not be built\n\neven though the compat vDSO has been built:\n\n$ file arch/arm64/kernel/vdso32/vdso.so\narch/arm64/kernel/vdso32/vdso.so: ELF 32-bit LSB pie executable, ARM,\nEABI5 version 1 (SYSV), dynamically linked,\nBuildID[sha1]\u003dc67f6c786f2d2d6f86c71f708595594aa25247f6, stripped\n\nA similar case that involves changing the configuration parameter\nmultiple times can be reconducted to the same family of problems.\n\nRemove the use of CONFIG_CROSS_COMPILE_COMPAT_VDSO altogether and\ninstead rely on the cross-compiler prefix coming from the environment\nvia CROSS_COMPILE_COMPAT, much like we do for the rest of the kernel.\n\nCc: Will Deacon \u003cwill@kernel.org\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nReported-by: Will Deacon \u003cwill@kernel.org\u003e\nSigned-off-by: Vincenzo Frascino \u003cvincenzo.frascino@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "308c51561720547a90767a2f367f5390052c51da",
      "tree": "c5e7be82f4129fe1a8893e903fa3605f6bff5978",
      "parents": [
        "dd8a1f13488438c6c220b7cafa500baaf21a6e53"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Fri Oct 04 14:58:47 2019 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will@kernel.org",
        "time": "Mon Oct 07 11:07:16 2019 +0100"
      },
      "message": "arm64: mm: fix spurious fault detection\n\nWhen detecting a spurious EL1 translation fault, we attempt to compare\nESR_EL1.DFSC with PAR_EL1.FST. We erroneously use FIELD_PREP() to\nextract PAR_EL1.FST, when we should be using FIELD_GET().\n\nIn the wise words of Robin Murphy:\n\n| FIELD_GET() is a UBFX, FIELD_PREP() is a BFI\n\nUsing FIELD_PREP() means that that dfsc \u0026 ESR_ELx_FSC_TYPE is always\nzero, and hence not equal to ESR_ELx_FSC_FAULT. Thus we detect any\nunhandled translation fault as spurious.\n\n... so let\u0027s use FIELD_GET() to ensure we don\u0027t decide all translation\nfaults are spurious. ESR_EL1.DFSC occupies bits [5:0], and requires no\nshifting.\n\nFixes: 42f91093b043332a (\"arm64: mm: Ignore spurious translation faults taken from the kernel\")\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReported-by: Robin Murphy \u003crobin.murphy@arm.com\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: James Morse \u003cjames.morse@arm.com\u003e\nCc: Will Deacon \u003cwill.deacon@kernel.org\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n"
    },
    {
      "commit": "3219e8cf0dade9884d3c6cb432d433b4ca56875d",
      "tree": "ac636fd31c84fd346ec0c923783aafb71033a4c3",
      "parents": [
        "d5cc14d9f92833bd71219bf7fff180f097c3816d"
      ],
      "author": {
        "name": "Bill O\u0027Donnell",
        "email": "billodo@redhat.com",
        "time": "Fri Oct 04 16:38:44 2019 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Sun Oct 06 15:39:06 2019 -0700"
      },
      "message": "xfs: assure zeroed memory buffers for certain kmem allocations\n\nGuarantee zeroed memory buffers for cases where potential memory\nleak to disk can occur. In these cases, kmem_alloc is used and\ndoesn\u0027t zero the buffer, opening the possibility of information\nleakage to disk.\n\nUse existing infrastucture (xfs_buf_allocate_memory) to obtain\nthe already zeroed buffer from kernel memory.\n\nThis solution avoids the performance issue that would occur if a\nwholesale change to replace kmem_alloc with kmem_zalloc was done.\n\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@redhat.com\u003e\n[darrick: fix bitwise complaint about kmflag_mask]\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n"
    },
    {
      "commit": "d5cc14d9f92833bd71219bf7fff180f097c3816d",
      "tree": "f7d4b091c2f6bef89d5aefb514ab971a46586cf3",
      "parents": [
        "6374ca03975ab0a2b1a5ced222e0ef2ea6e22f9e"
      ],
      "author": {
        "name": "Aliasgar Surti",
        "email": "aliasgar.surti500@gmail.com",
        "time": "Mon Sep 30 11:31:48 2019 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Sun Oct 06 15:39:05 2019 -0700"
      },
      "message": "xfs: removed unused error variable from xchk_refcountbt_rec\n\nRemoved unused error variable. Instead of using error variable,\nreturned the value directly as it wasn\u0027t updated.\n\nSigned-off-by: Aliasgar Surti \u003caliasgar.surti500@gmail.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n"
    },
    {
      "commit": "6374ca03975ab0a2b1a5ced222e0ef2ea6e22f9e",
      "tree": "683248948fd5b373b82b551073c2237321388506",
      "parents": [
        "e093c4be760ebf46c131ae0dd6138865a22f46fa"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Sep 30 11:31:12 2019 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Sun Oct 06 15:39:05 2019 -0700"
      },
      "message": "xfs: remove unused flags arg from xfs_get_aghdr_buf()\n\nThe flags arg is always passed as zero, so remove it.\n\n(xfs_buf_get_uncached takes flags to support XBF_NO_IOACCT for\nthe sb, but that should never be relevant for xfs_get_aghdr_buf)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n"
    },
    {
      "commit": "e093c4be760ebf46c131ae0dd6138865a22f46fa",
      "tree": "82261bab8e71e6c3fea87143beebfc9af97fb133",
      "parents": [
        "da0c9ea146cbe92b832f1b0f694840ea8eb33cce"
      ],
      "author": {
        "name": "Max Reitz",
        "email": "mreitz@redhat.com",
        "time": "Mon Sep 30 11:29:44 2019 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Sun Oct 06 15:39:05 2019 -0700"
      },
      "message": "xfs: Fix tail rounding in xfs_alloc_file_space()\n\nTo ensure that all blocks touched by the range [offset, offset + count)\nare allocated, we need to calculate the block count from the difference\nof the range end (rounded up) and the range start (rounded down).\n\nBefore this patch, we just round up the byte count, which may lead to\nunaligned ranges not being fully allocated:\n\n$ touch test_file\n$ block_size\u003d$(stat -fc \u0027%S\u0027 test_file)\n$ fallocate -o $((block_size / 2)) -l $block_size test_file\n$ xfs_bmap test_file\ntest_file:\n        0: [0..7]: 1396264..1396271\n        1: [8..15]: hole\n\nThere should not be a hole there.  Instead, the first two blocks should\nbe fully allocated.\n\nWith this patch applied, the result is something like this:\n\n$ touch test_file\n$ block_size\u003d$(stat -fc \u0027%S\u0027 test_file)\n$ fallocate -o $((block_size / 2)) -l $block_size test_file\n$ xfs_bmap test_file\ntest_file:\n        0: [0..15]: 11024..11039\n\nSigned-off-by: Max Reitz \u003cmreitz@redhat.com\u003e\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n"
    },
    {
      "commit": "da0c9ea146cbe92b832f1b0f694840ea8eb33cce",
      "tree": "52163ce5ab57dea443ee85571c32611eb0a9912e",
      "parents": [
        "b212921b13bda088a004328457c5c21458262fe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 06 14:27:30 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 06 14:27:30 2019 -0700"
      },
      "message": "Linux 5.4-rc2\n"
    },
    {
      "commit": "b212921b13bda088a004328457c5c21458262fe2",
      "tree": "8f937df8b01f1ea7e13bf8bb87d6ca26190e5b56",
      "parents": [
        "7cdb85df6061d001fffd09c6adfbcf20356615e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 06 13:53:27 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 06 13:53:27 2019 -0700"
      },
      "message": "elf: don\u0027t use MAP_FIXED_NOREPLACE for elf executable mappings\n\nIn commit 4ed28639519c (\"fs, elf: drop MAP_FIXED usage from elf_map\") we\nchanged elf to use MAP_FIXED_NOREPLACE instead of MAP_FIXED for the\nexecutable mappings.\n\nThen, people reported that it broke some binaries that had overlapping\nsegments from the same file, and commit ad55eac74f20 (\"elf: enforce\nMAP_FIXED on overlaying elf segments\") re-instated MAP_FIXED for some\noverlaying elf segment cases.  But only some - despite the summary line\nof that commit, it only did it when it also does a temporary brk vma for\none obvious overlapping case.\n\nNow Russell King reports another overlapping case with old 32-bit x86\nbinaries, which doesn\u0027t trigger that limited case.  End result: we had\nbetter just drop MAP_FIXED_NOREPLACE entirely, and go back to MAP_FIXED.\n\nYes, it\u0027s a sign of old binaries generated with old tool-chains, but we\ndo pride ourselves on not breaking existing setups.\n\nThis still leaves MAP_FIXED_NOREPLACE in place for the load_elf_interp()\nand the old load_elf_library() use-cases, because nobody has reported\nbreakage for those. Yet.\n\nNote that in all the cases seen so far, the overlapping elf sections\nseem to be just re-mapping of the same executable with different section\nattributes.  We could possibly introduce a new MAP_FIXED_NOFILECHANGE\nflag or similar, which acts like NOREPLACE, but allows just remapping\nthe same executable file using different protection flags.\n\nIt\u0027s not clear that would make a huge difference to anything, but if\npeople really hate that \"elf remaps over previous maps\" behavior, maybe\nat least a more limited form of remapping would alleviate some concerns.\n\nAlternatively, we should take a look at our elf_map() logic to see if we\nend up not mapping things properly the first time.\n\nIn the meantime, this is the minimal \"don\u0027t do that then\" patch while\npeople hopefully think about it more.\n\nReported-by: Russell King \u003clinux@armlinux.org.uk\u003e\nFixes: 4ed28639519c (\"fs, elf: drop MAP_FIXED usage from elf_map\")\nFixes: ad55eac74f20 (\"elf: enforce  MAP_FIXED on overlaying elf segments\")\nCc: Michal Hocko \u003cmhocko@suse.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cdb85df6061d001fffd09c6adfbcf20356615e2",
      "tree": "467294ac9a919bab1c8bfe2282dc84544b6e98b1",
      "parents": [
        "43b815c6a8e7dbccb5b8bd9c4b099c24bc22d135",
        "2cf2aa6a69db0b17b3979144287af8775c1c1534"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 06 11:10:15 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 06 11:10:15 2019 -0700"
      },
      "message": "Merge tag \u0027dma-mapping-5.4-1\u0027 of git://git.infradead.org/users/hch/dma-mapping\n\nPull dma-mapping regression fix from Christoph Hellwig:\n \"Revert an incorret hunk from a patch that caused problems on various\n  arm boards (Andrey Smirnov)\"\n\n* tag \u0027dma-mapping-5.4-1\u0027 of git://git.infradead.org/users/hch/dma-mapping:\n  dma-mapping: fix false positive warnings in dma_common_free_remap()\n"
    },
    {
      "commit": "43b815c6a8e7dbccb5b8bd9c4b099c24bc22d135",
      "tree": "1d3b90076acd12ad1978b601ca6608aaf37023cb",
      "parents": [
        "2d00aee21a5d4966e086d98f9d710afb92fb14e8",
        "60c1b3e25728e0485f08e72e61c3cad5331925a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 17:18:43 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 17:18:43 2019 -0700"
      },
      "message": "Merge tag \u0027armsoc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull ARM SoC fixes from Olof Johansson:\n \"A few fixes this time around:\n\n   - Fixup of some clock specifications for DRA7 (device-tree fix)\n\n   - Removal of some dead/legacy CPU OPP/PM code for OMAP that throws\n     warnings at boot\n\n   - A few more minor fixups for OMAPs, most around display\n\n   - Enable STM32 QSPI as \u003dy since their rootfs sometimes comes from\n     there\n\n   - Switch CONFIG_REMOTEPROC to \u003dy since it went from tristate to bool\n\n   - Fix of thermal zone definition for ux500 (5.4 regression)\"\n\n* tag \u0027armsoc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:\n  ARM: multi_v7_defconfig: Fix SPI_STM32_QSPI support\n  ARM: dts: ux500: Fix up the CPU thermal zone\n  arm64/ARM: configs: Change CONFIG_REMOTEPROC from m to y\n  ARM: dts: am4372: Set memory bandwidth limit for DISPC\n  ARM: OMAP2+: Fix warnings with broken omap2_set_init_voltage()\n  ARM: OMAP2+: Add missing LCDC midlemode for am335x\n  ARM: OMAP2+: Fix missing reset done flag for am3 and am43\n  ARM: dts: Fix gpio0 flags for am335x-icev2\n  ARM: omap2plus_defconfig: Enable more droid4 devices as loadable modules\n  ARM: omap2plus_defconfig: Enable DRM_TI_TFP410\n  DTS: ARM: gta04: introduce legacy spi-cs-high to make display work again\n  ARM: dts: Fix wrong clocks for dra7 mcasp\n  clk: ti: dra7: Fix mcasp8 clock bits\n"
    },
    {
      "commit": "2d00aee21a5d4966e086d98f9d710afb92fb14e8",
      "tree": "7e35b06f7834c4cdca1e1c320d3d9097c97ff85f",
      "parents": [
        "126195c972a2adba8cae12a65cdee155440a4525",
        "86cdd2fdc4e39c388d39c7ba2396d1a9dfd66226"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 12:56:59 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 12:56:59 2019 -0700"
      },
      "message": "Merge tag \u0027kbuild-fixes-v5.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild\n\nPull Kbuild fixes from Masahiro Yamada:\n\n - remove unneeded ar-option and KBUILD_ARFLAGS\n\n - remove long-deprecated SUBDIRS\n\n - fix modpost to suppress false-positive warnings for UML builds\n\n - fix namespace.pl to handle relative paths to ${objtree}, ${srctree}\n\n - make setlocalversion work for /bin/sh\n\n - make header archive reproducible\n\n - fix some Makefiles and documents\n\n* tag \u0027kbuild-fixes-v5.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:\n  kheaders: make headers archive reproducible\n  kbuild: update compile-test header list for v5.4-rc2\n  kbuild: two minor updates for Documentation/kbuild/modules.rst\n  scripts/setlocalversion: clear local variable to make it work for sh\n  namespace: fix namespace.pl script to support relative paths\n  video/logo: do not generate unneeded logo C files\n  video/logo: remove unneeded *.o pattern from clean-files\n  integrity: remove pointless subdir-$(CONFIG_...)\n  integrity: remove unneeded, broken attempt to add -fshort-wchar\n  modpost: fix static EXPORT_SYMBOL warnings for UML build\n  kbuild: correct formatting of header in kbuild module docs\n  kbuild: remove SUBDIRS support\n  kbuild: remove ar-option and KBUILD_ARFLAGS\n"
    },
    {
      "commit": "126195c972a2adba8cae12a65cdee155440a4525",
      "tree": "375106a3d36e171670d6c4b7ed91f5851b57f0ac",
      "parents": [
        "4f11918ab93bc113ec0831ed2ab7b88847d44dd7",
        "0aabb6b699f72dca96988d3f428e222f932dc889"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 12:53:27 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 12:53:27 2019 -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 \"Twelve patches mostly small but obvious fixes or cosmetic but small\n  updates\"\n\n* tag \u0027scsi-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:\n  scsi: qla2xxx: Fix Nport ID display value\n  scsi: qla2xxx: Fix N2N link up fail\n  scsi: qla2xxx: Fix N2N link reset\n  scsi: qla2xxx: Optimize NPIV tear down process\n  scsi: qla2xxx: Fix stale mem access on driver unload\n  scsi: qla2xxx: Fix unbound sleep in fcport delete path.\n  scsi: qla2xxx: Silence fwdump template message\n  scsi: hisi_sas: Make three functions static\n  scsi: megaraid: disable device when probe failed after enabled device\n  scsi: storvsc: setup 1:1 mapping between hardware queue and CPU queue\n  scsi: qedf: Remove always false \u0027tmp_prio \u003c 0\u0027 statement\n  scsi: ufs: skip shutdown if hba is not powered\n  scsi: bnx2fc: Handle scope bits when array returns BUSY or TSF\n"
    },
    {
      "commit": "4f11918ab93bc113ec0831ed2ab7b88847d44dd7",
      "tree": "22797fff6fee92d376f06de6462533a117a1d68b",
      "parents": [
        "9819a30c11ea439e5e3c81f5539c4d42d6c76314",
        "8a23eb804ca4f2be909e372cf5a9e7b30ae476cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 12:03:27 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 12:03:27 2019 -0700"
      },
      "message": "Merge branch \u0027readdir\u0027 (readdir speedup and sanity checking)\n\nThis makes getdents() and getdents64() do sanity checking on the\npathname that it gives to user space.  And to mitigate the performance\nimpact of that, it first cleans up the way it does the user copying, so\nthat the code avoids doing the SMAP/PAN updates between each part of the\ndirent structure write.\n\nI really wanted to do this during the merge window, but didn\u0027t have\ntime.  The conversion of filldir to unsafe_put_user() is something I\u0027ve\nhad around for years now in a private branch, but the extra pathname\nchecking finally made me clean it up to the point where it is mergable.\n\nIt\u0027s worth noting that the filename validity checking really should be a\nbit smarter: it would be much better to delay the error reporting until\nthe end of the readdir, so that non-corrupted filenames are still\nreturned.  But that involves bigger changes, so let\u0027s see if anybody\nactually hits the corrupt directory entry case before worrying about it\nfurther.\n\n* branch \u0027readdir\u0027:\n  Make filldir[64]() verify the directory entry filename is valid\n  Convert filldir[64]() from __put_user() to unsafe_put_user()\n"
    },
    {
      "commit": "8a23eb804ca4f2be909e372cf5a9e7b30ae476cd",
      "tree": "386f95726621b662371e30771a07b94cbac590f1",
      "parents": [
        "9f79b78ef74436c7507bac6bfb7b8b989263bccb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 11:32:52 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 12:00:36 2019 -0700"
      },
      "message": "Make filldir[64]() verify the directory entry filename is valid\n\nThis has been discussed several times, and now filesystem people are\ntalking about doing it individually at the filesystem layer, so head\nthat off at the pass and just do it in getdents{64}().\n\nThis is partially based on a patch by Jann Horn, but checks for NUL\nbytes as well, and somewhat simplified.\n\nThere\u0027s also commentary about how it might be better if invalid names\ndue to filesystem corruption don\u0027t cause an immediate failure, but only\nan error at the end of the readdir(), so that people can still see the\nfilenames that are ok.\n\nThere\u0027s also been discussion about just how much POSIX strictly speaking\nrequires this since it\u0027s about filesystem corruption.  It\u0027s really more\n\"protect user space from bad behavior\" as pointed out by Jann.  But\nsince Eric Biederman looked up the POSIX wording, here it is for context:\n\n \"From readdir:\n\n   The readdir() function shall return a pointer to a structure\n   representing the directory entry at the current position in the\n   directory stream specified by the argument dirp, and position the\n   directory stream at the next entry. It shall return a null pointer\n   upon reaching the end of the directory stream. The structure dirent\n   defined in the \u003cdirent.h\u003e header describes a directory entry.\n\n  From definitions:\n\n   3.129 Directory Entry (or Link)\n\n   An object that associates a filename with a file. Several directory\n   entries can associate names with the same file.\n\n  ...\n\n   3.169 Filename\n\n   A name consisting of 1 to {NAME_MAX} bytes used to name a file. The\n   characters composing the name may be selected from the set of all\n   character values excluding the slash character and the null byte. The\n   filenames dot and dot-dot have special meaning. A filename is\n   sometimes referred to as a \u0027pathname component\u0027.\"\n\nNote that I didn\u0027t bother adding the checks to any legacy interfaces\nthat nobody uses.\n\nAlso note that if this ends up being noticeable as a performance\nregression, we can fix that to do a much more optimized model that\nchecks for both NUL and \u0027/\u0027 at the same time one word at a time.\n\nWe haven\u0027t really tended to optimize \u0027memchr()\u0027, and it only checks for\none pattern at a time anyway, and we really _should_ check for NUL too\n(but see the comment about \"soft errors\" in the code about why it\ncurrently only checks for \u0027/\u0027)\n\nSee the CONFIG_DCACHE_WORD_ACCESS case of hash_name() for how the name\nlookup code looks for pathname terminating characters in parallel.\n\nLink: https://lore.kernel.org/lkml/20190118161440.220134-2-jannh@google.com/\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jann Horn \u003cjannh@google.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f79b78ef74436c7507bac6bfb7b8b989263bccb",
      "tree": "5deb7a6d15056c6ca31d911651ec7f74ac77c403",
      "parents": [
        "4d856f72c10ecb060868ed10ff1b1453943fc6c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 21 21:59:07 2016 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 12:00:36 2019 -0700"
      },
      "message": "Convert filldir[64]() from __put_user() to unsafe_put_user()\n\nWe really should avoid the \"__{get,put}_user()\" functions entirely,\nbecause they can easily be mis-used and the original intent of being\nused for simple direct user accesses no longer holds in a post-SMAP/PAN\nworld.\n\nManually optimizing away the user access range check makes no sense any\nmore, when the range check is generally much cheaper than the \"enable\nuser accesses\" code that the __{get,put}_user() functions still need.\n\nSo instead of __put_user(), use the unsafe_put_user() interface with\nuser_access_{begin,end}() that really does generate better code these\ndays, and which is generally a nicer interface.  Under some loads, the\nmultiple user writes that filldir() does are actually quite noticeable.\n\nThis also makes the dirent name copy use unsafe_put_user() with a couple\nof macros.  We do not want to make function calls with SMAP/PAN\ndisabled, and the code this generates is quite good when the\narchitecture uses \"asm goto\" for unsafe_put_user() like x86 does.\n\nNote that this doesn\u0027t bother with the legacy cases.  Nobody should use\nthem anyway, so performance doesn\u0027t really matter there.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9819a30c11ea439e5e3c81f5539c4d42d6c76314",
      "tree": "eee29b4735a2ddb944260ad3d281efd4a56788cc",
      "parents": [
        "6fe137cbe3e85e832a169006e8ccc04cec69c653",
        "ef129d34149ea23d0d442844fc25ae26a85589fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 08:50:15 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 08:50:15 2019 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net\n\nPull networking fixes from David Miller:\n\n 1) Fix ieeeu02154 atusb driver use-after-free, from Johan Hovold.\n\n 2) Need to validate TCA_CBQ_WRROPT netlink attributes, from Eric\n    Dumazet.\n\n 3) txq null deref in mac80211, from Miaoqing Pan.\n\n 4) ionic driver needs to select NET_DEVLINK, from Arnd Bergmann.\n\n 5) Need to disable bh during nft_connlimit GC, from Pablo Neira Ayuso.\n\n 6) Avoid division by zero in taprio scheduler, from Vladimir Oltean.\n\n 7) Various xgmac fixes in stmmac driver from Jose Abreu.\n\n 8) Avoid 64-bit division in mlx5 leading to link errors on 32-bit from\n    Michal Kubecek.\n\n 9) Fix bad VLAN check in rtl8366 DSA driver, from Linus Walleij.\n\n10) Fix sleep while atomic in sja1105, from Vladimir Oltean.\n\n11) Suspend/resume deadlock in stmmac, from Thierry Reding.\n\n12) Various UDP GSO fixes from Josh Hunt.\n\n13) Fix slab out of bounds access in tcp_zerocopy_receive(), from Eric\n    Dumazet.\n\n14) Fix OOPS in __ipv6_ifa_notify(), from David Ahern.\n\n15) Memory leak in NFC\u0027s llcp_sock_bind, from Eric Dumazet.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (72 commits)\n  selftests/net: add nettest to .gitignore\n  net: qlogic: Fix memory leak in ql_alloc_large_buffers\n  nfc: fix memory leak in llcp_sock_bind()\n  sch_dsmark: fix potential NULL deref in dsmark_init()\n  net: phy: at803x: use operating parameters from PHY-specific status\n  net: phy: extract pause mode\n  net: phy: extract link partner advertisement reading\n  net: phy: fix write to mii-ctrl1000 register\n  ipv6: Handle missing host route in __ipv6_ifa_notify\n  net: phy: allow for reset line to be tied to a sleepy GPIO controller\n  net: ipv4: avoid mixed n_redirects and rate_tokens usage\n  r8152: Set macpassthru in reset_resume callback\n  cxgb4:Fix out-of-bounds MSI-X info array access\n  Revert \"ipv6: Handle race in addrconf_dad_work\"\n  net: make sock_prot_memory_pressure() return \"const char *\"\n  rxrpc: Fix rxrpc_recvmsg tracepoint\n  qmi_wwan: add support for Cinterion CLS8 devices\n  tcp: fix slab-out-of-bounds in tcp_zerocopy_receive()\n  lib: textsearch: fix escapes in example code\n  udp: only do GSO if # of segs \u003e 1\n  ...\n"
    },
    {
      "commit": "6fe137cbe3e85e832a169006e8ccc04cec69c653",
      "tree": "15b5de1c94a59200568e76bb4d3a74ce0aa02315",
      "parents": [
        "4ea655343ce4180fe9b2c7ec8cb8ef9884a47901",
        "d0dea733f60efe94257d08ae6eba81d0b511d0a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 08:44:02 2019 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 05 08:44:02 2019 -0700"
      },
      "message": "Merge tag \u0027s390-5.4-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux\n\nPull s390 fixes from Vasily Gorbik:\n\n - defconfig updates\n\n - Fix build errors with CC_OPTIMIZE_FOR_SIZE due to usage of \"i\"\n   constraint for function arguments. Two kvm changes acked-by Christian\n   Borntraeger.\n\n - Fix -Wunused-but-set-variable warnings in mm code.\n\n - Avoid a constant misuse in qdio.\n\n - Handle a case when cpumf is temporarily unavailable.\n\n* tag \u0027s390-5.4-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:\n  KVM: s390: mark __insn32_query() as __always_inline\n  KVM: s390: fix __insn32_query() inline assembly\n  s390: update defconfigs\n  s390/pci: mark function(s) __always_inline\n  s390/mm: mark function(s) __always_inline\n  s390/jump_label: mark function(s) __always_inline\n  s390/cpu_mf: mark function(s) __always_inline\n  s390/atomic,bitops: mark function(s) __always_inline\n  s390/mm: fix -Wunused-but-set-variable warnings\n  s390: mark __cpacf_query() as __always_inline\n  s390/qdio: clarify size of the QIB parm area\n  s390/cpumf: Fix indentation in sampling device driver\n  s390/cpumsf: Check for CPU Measurement sampling\n  s390/cpumf: Use consistant debug print format\n"
    },
    {
      "commit": "d0dea733f60efe94257d08ae6eba81d0b511d0a9",
      "tree": "7893a3454ccbb6583cbd70eb3bfa6730ea7c1117",
      "parents": [
        "b1c41ac3ce569b04644bb1e3fd28926604637da3"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Oct 02 14:34:37 2019 +0200"
      },
      "committer": {
        "name": "Vasily Gorbik",
        "email": "gor@linux.ibm.com",
        "time": "Sat Oct 05 13:51:22 2019 +0200"
      },
      "message": "KVM: s390: mark __insn32_query() as __always_inline\n\n__insn32_query() will not compile if the compiler decides to not\ninline it, since it contains an inline assembly with an \"i\" constraint\nwith variable contents.\n\nAcked-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Vasily Gorbik \u003cgor@linux.ibm.com\u003e\n"
    },
    {
      "commit": "b1c41ac3ce569b04644bb1e3fd28926604637da3",
      "tree": "e3761ed2d0bd055573de739f9d12eb1d0678f3cd",
      "parents": [
        "61c313471574de93c63868689d42cd9fff297a1a"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Oct 02 14:24:47 2019 +0200"
      },
      "committer": {
        "name": "Vasily Gorbik",
        "email": "gor@linux.ibm.com",
        "time": "Sat Oct 05 13:51:18 2019 +0200"
      },
      "message": "KVM: s390: fix __insn32_query() inline assembly\n\nThe inline assembly constraints of __insn32_query() tell the compiler\nthat only the first byte of \"query\" is being written to. Intended was\nprobably that 32 bytes are written to.\n\nFix and simplify the code and just use a \"memory\" clobber.\n\nFixes: d668139718a9 (\"KVM: s390: provide query function for instructions returning 32 byte\")\nCc: stable@vger.kernel.org # v5.2+\nAcked-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Vasily Gorbik \u003cgor@linux.ibm.com\u003e\n"
    },
    {
      "commit": "2cf2aa6a69db0b17b3979144287af8775c1c1534",
      "tree": "08eb6d5b66eb4a627270f2012ae8aa013cb97a1e",
      "parents": [
        "4ea655343ce4180fe9b2c7ec8cb8ef9884a47901"
      ],
      "author": {
        "name": "Andrey Smirnov",
        "email": "andrew.smirnov@gmail.com",
        "time": "Sat Oct 05 10:23:30 2019 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 05 10:24:17 2019 +0200"
      },
      "message": "dma-mapping: fix false positivse warnings in dma_common_free_remap()\n\nCommit 5cf4537975bb (\"dma-mapping: introduce a dma_common_find_pages\nhelper\") changed invalid input check in dma_common_free_remap() from:\n\n    if (!area || !area-\u003eflags !\u003d VM_DMA_COHERENT)\n\nto\n\n    if (!area || !area-\u003eflags !\u003d VM_DMA_COHERENT || !area-\u003epages)\n\nwhich seem to produce false positives for memory obtained via\ndma_common_contiguous_remap()\n\nThis triggers the following warning message when doing \"reboot\" on ZII\nVF610 Dev Board Rev B:\n\nWARNING: CPU: 0 PID: 1 at kernel/dma/remap.c:112 dma_common_free_remap+0x88/0x8c\ntrying to free invalid coherent area: 9ef82980\nModules linked in:\nCPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 5.3.0-rc6-next-20190820 #119\nHardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)\nBacktrace:\n[\u003c8010d1ec\u003e] (dump_backtrace) from [\u003c8010d588\u003e] (show_stack+0x20/0x24)\n r7:8015ed78 r6:00000009 r5:00000000 r4:9f4d9b14\n[\u003c8010d568\u003e] (show_stack) from [\u003c8077e3f0\u003e] (dump_stack+0x24/0x28)\n[\u003c8077e3cc\u003e] (dump_stack) from [\u003c801197a0\u003e] (__warn.part.3+0xcc/0xe4)\n[\u003c801196d4\u003e] (__warn.part.3) from [\u003c80119830\u003e] (warn_slowpath_fmt+0x78/0x94)\n r6:00000070 r5:808e540c r4:81c03048\n[\u003c801197bc\u003e] (warn_slowpath_fmt) from [\u003c8015ed78\u003e] (dma_common_free_remap+0x88/0x8c)\n r3:9ef82980 r2:808e53e0\n r7:00001000 r6:a0b1e000 r5:a0b1e000 r4:00001000\n[\u003c8015ecf0\u003e] (dma_common_free_remap) from [\u003c8010fa9c\u003e] (remap_allocator_free+0x60/0x68)\n r5:81c03048 r4:9f4d9b78\n[\u003c8010fa3c\u003e] (remap_allocator_free) from [\u003c801100d0\u003e] (__arm_dma_free.constprop.3+0xf8/0x148)\n r5:81c03048 r4:9ef82900\n[\u003c8010ffd8\u003e] (__arm_dma_free.constprop.3) from [\u003c80110144\u003e] (arm_dma_free+0x24/0x2c)\n r5:9f563410 r4:80110120\n[\u003c80110120\u003e] (arm_dma_free) from [\u003c8015d80c\u003e] (dma_free_attrs+0xa0/0xdc)\n[\u003c8015d76c\u003e] (dma_free_attrs) from [\u003c8020f3e4\u003e] (dma_pool_destroy+0xc0/0x154)\n r8:9efa8860 r7:808f02f0 r6:808f02d0 r5:9ef82880 r4:9ef82780\n[\u003c8020f324\u003e] (dma_pool_destroy) from [\u003c805525d0\u003e] (ehci_mem_cleanup+0x6c/0x150)\n r7:9f563410 r6:9efa8810 r5:00000000 r4:9efd0148\n[\u003c80552564\u003e] (ehci_mem_cleanup) from [\u003c80558e0c\u003e] (ehci_stop+0xac/0xc0)\n r5:9efd0148 r4:9efd0000\n[\u003c80558d60\u003e] (ehci_stop) from [\u003c8053c4bc\u003e] (usb_remove_hcd+0xf4/0x1b0)\n r7:9f563410 r6:9efd0074 r5:81c03048 r4:9efd0000\n[\u003c8053c3c8\u003e] (usb_remove_hcd) from [\u003c8056361c\u003e] (host_stop+0x48/0xb8)\n r7:9f563410 r6:9efd0000 r5:9f5f4040 r4:9f5f5040\n[\u003c805635d4\u003e] (host_stop) from [\u003c80563d0c\u003e] (ci_hdrc_host_destroy+0x34/0x38)\n r7:9f563410 r6:9f5f5040 r5:9efa8800 r4:9f5f4040\n[\u003c80563cd8\u003e] (ci_hdrc_host_destroy) from [\u003c8055ef18\u003e] (ci_hdrc_remove+0x50/0x10c)\n[\u003c8055eec8\u003e] (ci_hdrc_remove) from [\u003c804a2ed8\u003e] (platform_drv_remove+0x34/0x4c)\n r7:9f563410 r6:81c4f99c r5:9efa8810 r4:9efa8810\n[\u003c804a2ea4\u003e] (platform_drv_remove) from [\u003c804a18a8\u003e] (device_release_driver_internal+0xec/0x19c)\n r5:00000000 r4:9efa8810\n[\u003c804a17bc\u003e] (device_release_driver_internal) from [\u003c804a1978\u003e] (device_release_driver+0x20/0x24)\n r7:9f563410 r6:81c41ed0 r5:9efa8810 r4:9f4a1dac\n[\u003c804a1958\u003e] (device_release_driver) from [\u003c804a01b8\u003e] (bus_remove_device+0xdc/0x108)\n[\u003c804a00dc\u003e] (bus_remove_device) from [\u003c8049c204\u003e] (device_del+0x150/0x36c)\n r7:9f563410 r6:81c03048 r5:9efa8854 r4:9efa8810\n[\u003c8049c0b4\u003e] (device_del) from [\u003c804a3368\u003e] (platform_device_del.part.2+0x20/0x84)\n r10:9f563414 r9:809177e0 r8:81cb07dc r7:81c78320 r6:9f563454 r5:9efa8800\n r4:9efa8800\n[\u003c804a3348\u003e] (platform_device_del.part.2) from [\u003c804a3420\u003e] (platform_device_unregister+0x28/0x34)\n r5:9f563400 r4:9efa8800\n[\u003c804a33f8\u003e] (platform_device_unregister) from [\u003c8055dce0\u003e] (ci_hdrc_remove_device+0x1c/0x30)\n r5:9f563400 r4:00000001\n[\u003c8055dcc4\u003e] (ci_hdrc_remove_device) from [\u003c805652ac\u003e] (ci_hdrc_imx_remove+0x38/0x118)\n r7:81c78320 r6:9f563454 r5:9f563410 r4:9f541010\n[\u003c8056538c\u003e] (ci_hdrc_imx_shutdown) from [\u003c804a2970\u003e] (platform_drv_shutdown+0x2c/0x30)\n[\u003c804a2944\u003e] (platform_drv_shutdown) from [\u003c8049e4fc\u003e] (device_shutdown+0x158/0x1f0)\n[\u003c8049e3a4\u003e] (device_shutdown) from [\u003c8013ac80\u003e] (kernel_restart_prepare+0x44/0x48)\n r10:00000058 r9:9f4d8000 r8:fee1dead r7:379ce700 r6:81c0b280 r5:81c03048\n r4:00000000\n[\u003c8013ac3c\u003e] (kernel_restart_prepare) from [\u003c8013ad14\u003e] (kernel_restart+0x1c/0x60)\n[\u003c8013acf8\u003e] (kernel_restart) from [\u003c8013af84\u003e] (__do_sys_reboot+0xe0/0x1d8)\n r5:81c03048 r4:00000000\n[\u003c8013aea4\u003e] (__do_sys_reboot) from [\u003c8013b0ec\u003e] (sys_reboot+0x18/0x1c)\n r8:80101204 r7:00000058 r6:00000000 r5:00000000 r4:00000000\n[\u003c8013b0d4\u003e] (sys_reboot) from [\u003c80101000\u003e] (ret_fast_syscall+0x0/0x54)\nException stack(0x9f4d9fa8 to 0x9f4d9ff0)\n9fa0:                   00000000 00000000 fee1dead 28121969 01234567 379ce700\n9fc0: 00000000 00000000 00000000 00000058 00000000 00000000 00000000 00016d04\n9fe0: 00028e0c 7ec87c64 000135ec 76c1f410\n\nRestore original invalid input check in dma_common_free_remap() to\navoid this problem.\n\nFixes: 5cf4537975bb (\"dma-mapping: introduce a dma_common_find_pages helper\")\nSigned-off-by: Andrey Smirnov \u003candrew.smirnov@gmail.com\u003e\n[hch: just revert the offending hunk instead of creating a new helper]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "86cdd2fdc4e39c388d39c7ba2396d1a9dfd66226",
      "tree": "c79544ad48bd9dedb9893a7c2d5c388a9ed5dfba",
      "parents": [
        "d188b8c901bb4966ab035ce90af02426f062e9e1"
      ],
      "author": {
        "name": "Dmitry Goldin",
        "email": "dgoldin+lkml@protonmail.ch",
        "time": "Fri Oct 04 10:40:07 2019 +0000"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "kheaders: make headers archive reproducible\n\nIn commit 43d8ce9d65a5 (\"Provide in-kernel headers to make\nextending kernel easier\") a new mechanism was introduced, for kernels\n\u003e\u003d5.2, which embeds the kernel headers in the kernel image or a module\nand exposes them in procfs for use by userland tools.\n\nThe archive containing the header files has nondeterminism caused by\nheader files metadata. This patch normalizes the metadata and utilizes\nKBUILD_BUILD_TIMESTAMP if provided and otherwise falls back to the\ndefault behaviour.\n\nIn commit f7b101d33046 (\"kheaders: Move from proc to sysfs\") it was\nmodified to use sysfs and the script for generation of the archive was\nrenamed to what is being patched.\n\nSigned-off-by: Dmitry Goldin \u003cdgoldin+lkml@protonmail.ch\u003e\nReviewed-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nReviewed-by: Joel Fernandes (Google) \u003cjoel@joelfernandes.org\u003e\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\n"
    },
    {
      "commit": "d188b8c901bb4966ab035ce90af02426f062e9e1",
      "tree": "85cd47b28e5eb9391dae8651df5a09dcd5f2ab3f",
      "parents": [
        "43496709f166aeb87ac0bdcc6f7bb2bedafb17c9"
      ],
      "author": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Thu Oct 03 11:36:29 2019 +0900"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "kbuild: update compile-test header list for v5.4-rc2\n\nCommit 6dc280ebeed2 (\"coda: remove uapi/linux/coda_psdev.h\") removed\na header in question. Some more build errors were fixed. Add more\nheaders into the test coverage.\n\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\n"
    },
    {
      "commit": "43496709f166aeb87ac0bdcc6f7bb2bedafb17c9",
      "tree": "fa5dfdf7135df1e71e67967c9d18ddc5bbfb6c28",
      "parents": [
        "7a82e3fa28f174ba23c9faca544c65986e3025f1"
      ],
      "author": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Thu Oct 03 19:29:12 2019 +0900"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "kbuild: two minor updates for Documentation/kbuild/modules.rst\n\nCapitalize the first word in the sentence.\n\nUse obj-m instead of obj-y. obj-y still works, but we have no built-in\nobjects in external module builds. So, obj-m is better IMHO.\n\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\n"
    },
    {
      "commit": "7a82e3fa28f174ba23c9faca544c65986e3025f1",
      "tree": "c73d7078a036f7c1e26e679e33d18126307b84d6",
      "parents": [
        "82fdd12b95727640c9a8233c09d602e4518e71f7"
      ],
      "author": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Tue Oct 01 21:17:24 2019 +0900"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "scripts/setlocalversion: clear local variable to make it work for sh\n\nGeert Uytterhoeven reports a strange side-effect of commit 858805b336be\n(\"kbuild: add $(BASH) to run scripts with bash-extension\"), which\ninserts the contents of a localversion file in the build directory twice.\n\n[Steps to Reproduce]\n  $ echo bar \u003e localversion\n  $ mkdir build\n  $ cd build/\n  $ echo foo \u003e localversion\n  $ make -s -f ../Makefile defconfig include/config/kernel.release\n  $ cat include/config/kernel.release\n  5.4.0-rc1foofoobar\n\nThis comes down to the behavior change of local variables.\n\nThe \u0027man sh\u0027 on my Ubuntu machine, where sh is an alias to dash,\nexplains as follows:\n  When a variable is made local, it inherits the initial value and\n  exported and readonly flags from the variable with the same name\n  in the surrounding scope, if there is one. Otherwise, the variable\n  is initially unset.\n\n[Test Code]\n\n  foo ()\n  {\n          local res\n          echo \"res: $res\"\n  }\n\n  res\u003d1\n  foo\n\n[Result]\n\n  $ sh test.sh\n  res: 1\n  $ bash test.sh\n  res:\n\nSo, scripts/setlocalversion correctly works only for bash in spite of\nits hashbang being #!/bin/sh. Nobody had noticed it before because\nCONFIG_SHELL was previously set to bash almost all the time.\n\nNow that CONFIG_SHELL is set to sh, we must write portable and correct\ncode. I gave the Fixes tag to the commit that uncovered the issue.\n\nClear the variable \u0027res\u0027 in collect_files() to make it work for sh\n(and it also works on distributions where sh is an alias to bash).\n\nFixes: 858805b336be (\"kbuild: add $(BASH) to run scripts with bash-extension\")\nReported-by: Geert Uytterhoeven \u003cgeert+renesas@glider.be\u003e\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\nTested-by: Geert Uytterhoeven \u003cgeert+renesas@glider.be\u003e\n"
    },
    {
      "commit": "82fdd12b95727640c9a8233c09d602e4518e71f7",
      "tree": "89d11bb314aa2c1c6892f2f237ec03ae333c9b91",
      "parents": [
        "01bb25156d856e3efb887a273c03f8ba66f8fb0f"
      ],
      "author": {
        "name": "Jacob Keller",
        "email": "jacob.e.keller@intel.com",
        "time": "Fri Sep 27 16:30:27 2019 -0700"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "namespace: fix namespace.pl script to support relative paths\n\nThe namespace.pl script does not work properly if objtree is not set to\nan absolute path. The do_nm function is run from within the find\nfunction, which changes directories.\n\nBecause of this, appending objtree, $File::Find::dir, and $source, will\nreturn a path which is not valid from the current directory.\n\nThis used to work when objtree was set to an absolute path when using\n\"make namespacecheck\". It appears to have not worked when calling\n./scripts/namespace.pl directly.\n\nThis behavior was changed in 7e1c04779efd (\"kbuild: Use relative path\nfor $(objtree)\", 2014-05-14)\n\nRather than fixing the Makefile to set objtree to an absolute path, just\nfix namespace.pl to work when srctree and objtree are relative. Also fix\nthe script to use an absolute path for these by default.\n\nUse the File::Spec module for this purpose. It\u0027s been part of perl\n5 since 5.005.\n\nThe curdir() function is used to get the current directory when the\nobjtree and srctree aren\u0027t set in the environment.\n\nrel2abs() is used to convert possibly relative objtree and srctree\nenvironment variables to absolute paths.\n\nFinally, the catfile() function is used instead of string appending\npaths together, since this is more robust when joining paths together.\n\nSigned-off-by: Jacob Keller \u003cjacob.e.keller@intel.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nTested-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\n"
    },
    {
      "commit": "01bb25156d856e3efb887a273c03f8ba66f8fb0f",
      "tree": "71976e8c95a470988b6751d4a00ed88ec514edd3",
      "parents": [
        "a9bbe79fd5cb2411d69ab8a2e94bb701ca45e133"
      ],
      "author": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Wed Aug 21 13:12:35 2019 +0900"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "video/logo: do not generate unneeded logo C files\n\nCurrently, all the logo C files are generated irrespective of the\nCONFIG options. Adding them to extra-y is wrong. What we need to do\nhere is to add them to \u0027targets\u0027 so that if_changed works properly.\n\nFiles listed in \u0027targets\u0027 are cleaned, so clean-files is unneeded.\n\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\n"
    },
    {
      "commit": "a9bbe79fd5cb2411d69ab8a2e94bb701ca45e133",
      "tree": "70f8faa22f00dfa0fb14f7bfdf85feaba7f42653",
      "parents": [
        "7a8beb7ad51551babd17331f3c0f58af25916f67"
      ],
      "author": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Wed Aug 21 13:12:34 2019 +0900"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "video/logo: remove unneeded *.o pattern from clean-files\n\nThe pattern *.o is cleaned up globally by the top Makefile.\n\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\n"
    },
    {
      "commit": "7a8beb7ad51551babd17331f3c0f58af25916f67",
      "tree": "44f7e274ce640514b43173f63770f02c3e23da18",
      "parents": [
        "6b190d3ce0a693750517256ba67011a9fa04a12a"
      ],
      "author": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Fri Jul 26 11:10:55 2019 +0900"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "integrity: remove pointless subdir-$(CONFIG_...)\n\nThe ima/ and evm/ sub-directories contain built-in objects, so\nobj-$(CONFIG_...) is the correct way to descend into them.\n\nsubdir-$(CONFIG_...) is redundant.\n\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\n"
    },
    {
      "commit": "6b190d3ce0a693750517256ba67011a9fa04a12a",
      "tree": "b22992e9758db1fb165af46b390008d5ee879f3d",
      "parents": [
        "47346e96f004eca07720e1e2b24fc7f0b0df4092"
      ],
      "author": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Fri Jul 26 11:10:54 2019 +0900"
      },
      "committer": {
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com",
        "time": "Sat Oct 05 15:29:49 2019 +0900"
      },
      "message": "integrity: remove unneeded, broken attempt to add -fshort-wchar\n\nI guess commit 15ea0e1e3e18 (\"efi: Import certificates from UEFI Secure\nBoot\") attempted to add -fshort-wchar for building load_uefi.o, but it\nhas never worked as intended.\n\nload_uefi.o is created in the platform_certs/ sub-directory. If you\nreally want to add -fshort-wchar, the correct code is:\n\n  $(obj)/platform_certs/load_uefi.o: KBUILD_CFLAGS +\u003d -fshort-wchar\n\nBut, you do not need to fix it.\n\nCommit 8c97023cf051 (\"Kbuild: use -fshort-wchar globally\") had already\nadded -fshort-wchar globally. This code was unneeded in the first place.\n\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\n"
    },
    {
      "commit": "ef129d34149ea23d0d442844fc25ae26a85589fc",
      "tree": "731fe37e52470d018d7d919b9025f12507c3b754",
      "parents": [
        "1acb8f2a7a9f10543868ddd737e37424d5c36cf4"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "jakub.kicinski@netronome.com",
        "time": "Fri Oct 04 17:36:50 2019 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:36:34 2019 -0700"
      },
      "message": "selftests/net: add nettest to .gitignore\n\nnettest is missing from gitignore.\n\nFixes: acda655fefae (\"selftests: Add nettest\")\nSigned-off-by: Jakub Kicinski \u003cjakub.kicinski@netronome.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1acb8f2a7a9f10543868ddd737e37424d5c36cf4",
      "tree": "4142fcb299d4ec5af3551184a9c453483f4f2e6b",
      "parents": [
        "a0c2dc1fe63e2869b74c1c7f6a81d1745c8a695d"
      ],
      "author": {
        "name": "Navid Emamdoost",
        "email": "navid.emamdoost@gmail.com",
        "time": "Fri Oct 04 15:24:39 2019 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:33:13 2019 -0700"
      },
      "message": "net: qlogic: Fix memory leak in ql_alloc_large_buffers\n\nIn ql_alloc_large_buffers, a new skb is allocated via netdev_alloc_skb.\nThis skb should be released if pci_dma_mapping_error fails.\n\nFixes: 0f8ab89e825f (\"qla3xxx: Check return code from pci_map_single() in ql_release_to_lrg_buf_free_list(), ql_populate_free_queue(), ql_alloc_large_buffers(), and ql3xxx_send()\")\nSigned-off-by: Navid Emamdoost \u003cnavid.emamdoost@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0c2dc1fe63e2869b74c1c7f6a81d1745c8a695d",
      "tree": "e82f8715926f8e63a033e1671d53f704e9d0347a",
      "parents": [
        "474f0813a3002cb299bb73a5a93aa1f537a80ca8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri Oct 04 11:08:34 2019 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:31:36 2019 -0700"
      },
      "message": "nfc: fix memory leak in llcp_sock_bind()\n\nsysbot reported a memory leak after a bind() has failed.\n\nWhile we are at it, abort the operation if kmemdup() has failed.\n\nBUG: memory leak\nunreferenced object 0xffff888105d83ec0 (size 32):\n  comm \"syz-executor067\", pid 7207, jiffies 4294956228 (age 19.430s)\n  hex dump (first 32 bytes):\n    00 69 6c 65 20 72 65 61 64 00 6e 65 74 3a 5b 34  .ile read.net:[4\n    30 32 36 35 33 33 30 39 37 5d 00 00 00 00 00 00  026533097]......\n  backtrace:\n    [\u003c0000000036bac473\u003e] kmemleak_alloc_recursive /./include/linux/kmemleak.h:43 [inline]\n    [\u003c0000000036bac473\u003e] slab_post_alloc_hook /mm/slab.h:522 [inline]\n    [\u003c0000000036bac473\u003e] slab_alloc /mm/slab.c:3319 [inline]\n    [\u003c0000000036bac473\u003e] __do_kmalloc /mm/slab.c:3653 [inline]\n    [\u003c0000000036bac473\u003e] __kmalloc_track_caller+0x169/0x2d0 /mm/slab.c:3670\n    [\u003c000000000cd39d07\u003e] kmemdup+0x27/0x60 /mm/util.c:120\n    [\u003c000000008e57e5fc\u003e] kmemdup /./include/linux/string.h:432 [inline]\n    [\u003c000000008e57e5fc\u003e] llcp_sock_bind+0x1b3/0x230 /net/nfc/llcp_sock.c:107\n    [\u003c000000009cb0b5d3\u003e] __sys_bind+0x11c/0x140 /net/socket.c:1647\n    [\u003c00000000492c3bbc\u003e] __do_sys_bind /net/socket.c:1658 [inline]\n    [\u003c00000000492c3bbc\u003e] __se_sys_bind /net/socket.c:1656 [inline]\n    [\u003c00000000492c3bbc\u003e] __x64_sys_bind+0x1e/0x30 /net/socket.c:1656\n    [\u003c0000000008704b2a\u003e] do_syscall_64+0x76/0x1a0 /arch/x86/entry/common.c:296\n    [\u003c000000009f4c57a4\u003e] entry_SYSCALL_64_after_hwframe+0x44/0xa9\n\nFixes: 30cc4587659e (\"NFC: Move LLCP code to the NFC top level diirectory\")\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: syzbot \u003csyzkaller@googlegroups.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "474f0813a3002cb299bb73a5a93aa1f537a80ca8",
      "tree": "cfba879ed9699462ccaa21b63535895669d6bc9d",
      "parents": [
        "e3ba9bf62a1c704d5ce176a44e26d2f445d6d6e8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri Oct 04 10:34:45 2019 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:28:30 2019 -0700"
      },
      "message": "sch_dsmark: fix potential NULL deref in dsmark_init()\n\nMake sure TCA_DSMARK_INDICES was provided by the user.\n\nsyzbot reported :\n\nkasan: CONFIG_KASAN_INLINE enabled\nkasan: GPF could be caused by NULL-ptr deref or user memory access\ngeneral protection fault: 0000 [#1] PREEMPT SMP KASAN\nCPU: 1 PID: 8799 Comm: syz-executor235 Not tainted 5.3.0+ #0\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011\nRIP: 0010:nla_get_u16 include/net/netlink.h:1501 [inline]\nRIP: 0010:dsmark_init net/sched/sch_dsmark.c:364 [inline]\nRIP: 0010:dsmark_init+0x193/0x640 net/sched/sch_dsmark.c:339\nCode: 85 db 58 0f 88 7d 03 00 00 e8 e9 1a ac fb 48 8b 9d 70 ff ff ff 48 b8 00 00 00 00 00 fc ff df 48 8d 7b 04 48 89 fa 48 c1 ea 03 \u003c0f\u003e b6 14 02 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 08 84 d2 0f 85 ca\nRSP: 0018:ffff88809426f3b8 EFLAGS: 00010247\nRAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff85c6eb09\nRDX: 0000000000000000 RSI: ffffffff85c6eb17 RDI: 0000000000000004\nRBP: ffff88809426f4b0 R08: ffff88808c4085c0 R09: ffffed1015d26159\nR10: ffffed1015d26158 R11: ffff8880ae930ac7 R12: ffff8880a7e96940\nR13: dffffc0000000000 R14: ffff88809426f8c0 R15: 0000000000000000\nFS:  0000000001292880(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 0000000020000080 CR3: 000000008ca1b000 CR4: 00000000001406e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\nCall Trace:\n qdisc_create+0x4ee/0x1210 net/sched/sch_api.c:1237\n tc_modify_qdisc+0x524/0x1c50 net/sched/sch_api.c:1653\n rtnetlink_rcv_msg+0x463/0xb00 net/core/rtnetlink.c:5223\n netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477\n rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5241\n netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline]\n netlink_unicast+0x531/0x710 net/netlink/af_netlink.c:1328\n netlink_sendmsg+0x8a5/0xd60 net/netlink/af_netlink.c:1917\n sock_sendmsg_nosec net/socket.c:637 [inline]\n sock_sendmsg+0xd7/0x130 net/socket.c:657\n ___sys_sendmsg+0x803/0x920 net/socket.c:2311\n __sys_sendmsg+0x105/0x1d0 net/socket.c:2356\n __do_sys_sendmsg net/socket.c:2365 [inline]\n __se_sys_sendmsg net/socket.c:2363 [inline]\n __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2363\n do_syscall_64+0xfa/0x760 arch/x86/entry/common.c:290\n entry_SYSCALL_64_after_hwframe+0x49/0xbe\nRIP: 0033:0x440369\n\nFixes: 758cc43c6d73 (\"[PKT_SCHED]: Fix dsmark to apply changes consistent\")\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: syzbot \u003csyzkaller@googlegroups.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3ba9bf62a1c704d5ce176a44e26d2f445d6d6e8",
      "tree": "d5b1e04d66cffe9b3dafdf2b923c30e055e9c437",
      "parents": [
        "2d819d250a1393a3e725715425ab70a0e0772a71",
        "06d5f3441b2e80eeb6deb0885aefa00589e463c1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:11:08 2019 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:11:08 2019 -0700"
      },
      "message": "Merge branch \u0027Fix-regression-with-AR8035-speed-downgrade\u0027\n\nRussell King says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nFix regression with AR8035 speed downgrade\n\nThe following series attempts to address an issue spotted by tinywrkb\nwith the AR8035 on the Cubox-i2 in a situation where the PHY downgrades\nthe negotiated link.\n\nThis is version 2, not much has changed other than rebasing on the\ncurrent net tree.  Changes have happend to patch 2 due to conflicts,\nso I dropped Andrew\u0027s reviewed-by.  Minor context changes to patch 4\nwhich I don\u0027t consider important enough to warrant dropping the\nreviewed-by.\n\nBefore commit 5502b218e001 (\"net: phy: use phy_resolve_aneg_linkmode in\ngenphy_read_status\"), we would read not only the link partner\u0027s\nadvertisement, but also our own advertisement from the PHY registers,\nand use both to derive the PHYs current link mode.  This works when the\nAR8035 downgrades the speed, because it appears that the AR8035 clears\nlink mode bits in the advertisement registers as part of the downgrade.\n\nCommentary: what is not yet known is whether the AR8035 restores the\n            advertisement register when the link goes down to the\n\t    previous state.\n\nHowever, since the above referenced commit, we no longer use the PHYs\nadvertisement registers, instead converting the link partner\u0027s\nadvertisement to the ethtool link mode array, and combine that with\nphylib\u0027s cached version of our advertisement - which is not updated on\nspeed downgrade.\n\nThis results in phylib disagreeing with the actual operating mode of\nthe PHY.\n\nCommentary: I wonder how many more PHY drivers are broken by this\n\t    commit, but have yet to be discovered.\n\nThe obvious way to address this would be to disable the downgrade\nfeature, and indeed this does fix the problem in tinywrkb\u0027s case - his\nlink partner instead downgrades the speed by reducing its\nadvertisement, resulting in phylib correctly evaluating a slower speed.\n\nHowever, it has a serious drawback - the gigabit control register (MII\nregister 9) appears to become read only.  It seems the only way to\nupdate the register is to re-enable the downgrade feature, reset the\nPHY, changing register 9, disable the downgrade feature, and reset the\nPHY again.\n\nThis series attempts to address the problem using a different approach,\nsimilar to the approach taken with Marvell PHYs.  The AR8031, AR8033\nand AR8035 have a PHY-Specific Status register which reports the\nactual operating mode of the PHY - both speed and duplex.  This\nregister correctly reports the operating mode irrespective of whether\nautoneg is enabled or not.  We use this register to fill in phylib\u0027s\nspeed and duplex parameters.\n\nIn detail:\n\nPatch 1 fixes a bug where writing to register 9 does not update\nphylib\u0027s advertisement mask in the same way that writing register 4\ndoes; this looks like an omission from when gigabit PHY support came\ninto being.\n\nPatch 2 seperates the generic phylib code which reads the link partners\nadvertisement from the PHY, so that we can re-use this in the Atheros\nPHY driver.\n\nPatch 3 seperates the generic phylib pause mode; phylib provides no\nhelp for MAC drivers to ascertain the negotiated pause mode, it merely\ncopies the link partner\u0027s pause mode bits into its own variables.\n\nCommentary: Both the aforementioned Atheros PHYs and Marvell PHYs\n            provide the resolved pause modes in terms of whether\n\t    we should transmit pause frames, or whether we should\n\t    allow reception of pause frames.  Surely the resolution\n\t    of this should be in phylib?\n\nPatch 4 provides the Atheros PHY driver with a private \"read_status\"\nimplementation that fills in phylib\u0027s speed and duplex settings\ndepending on the PHY-Specific status register.  This ensures that\nphylib and the MAC driver match the operating mode that the PHY has\ndecided to use.  Since the register also gives us MDIX status, we\ncan trivially fill that status in as well.\n\nNote that, although the bits mentioned in this patch for this register\nmatch those in th Marvell PHY driver, and it is located at the same\naddress, the meaning of other register bits varies between the PHYs.\nTherefore, I do not feel that it would be appropriate to make this some\nkind of generic function.\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": "06d5f3441b2e80eeb6deb0885aefa00589e463c1",
      "tree": "d5b1e04d66cffe9b3dafdf2b923c30e055e9c437",
      "parents": [
        "2d880b8709c013d47472f85a9d42ea1aca3bce47"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@armlinux.org.uk",
        "time": "Fri Oct 04 17:06:14 2019 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:11:08 2019 -0700"
      },
      "message": "net: phy: at803x: use operating parameters from PHY-specific status\n\nRead the PHY-specific status register for the current operating mode\n(speed and duplex) of the PHY.  This register reflects the actual\nmode that the PHY has resolved depending on either the advertisements\nof autoneg is enabled, or the forced mode if autoneg is disabled.\n\nThis ensures that phylib\u0027s software state always tracks the hardware\nstate.\n\nIt seems both AR8033 (which uses the AR8031 ID) and AR8035 support\nthis status register.  AR8030 is not known at the present time.\n\nThis patch depends on \"net: phy: extract pause mode\" and \"net: phy:\nextract link partner advertisement reading\".\n\nReported-by: tinywrkb \u003ctinywrkb@gmail.com\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nTested-by: tinywrkb \u003ctinywrkb@gmail.com\u003e\nFixes: 5502b218e001 (\"net: phy: use phy_resolve_aneg_linkmode in genphy_read_status\")\nSigned-off-by: Russell King \u003crmk+kernel@armlinux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d880b8709c013d47472f85a9d42ea1aca3bce47",
      "tree": "4c5811a9dd2e5b1898f232cce1cc8379bf0cc9ac",
      "parents": [
        "8d3dc3ac9dd6801c732a72ca6979698c38451b4f"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@armlinux.org.uk",
        "time": "Fri Oct 04 17:06:09 2019 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:11:08 2019 -0700"
      },
      "message": "net: phy: extract pause mode\n\nExtract the update of phylib\u0027s software pause mode state from\ngenphy_read_status(), so that we can re-use this functionality with\nPHYs that have alternative ways to read the negotiation results.\n\nTested-by: tinywrkb \u003ctinywrkb@gmail.com\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nSigned-off-by: Russell King \u003crmk+kernel@armlinux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d3dc3ac9dd6801c732a72ca6979698c38451b4f",
      "tree": "13f2d435ce56bc6f162fe2bc8edf3b8f6ec16adb",
      "parents": [
        "4cf6c57e61fee954f7b7685de31b80ec26843d27"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@armlinux.org.uk",
        "time": "Fri Oct 04 17:06:04 2019 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:11:08 2019 -0700"
      },
      "message": "net: phy: extract link partner advertisement reading\n\nMove reading the link partner advertisement out of genphy_read_status()\ninto its own separate function.  This will allow re-use of this code by\nPHY drivers that are able to read the resolved status from the PHY.\n\nTested-by: tinywrkb \u003ctinywrkb@gmail.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@armlinux.org.uk\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4cf6c57e61fee954f7b7685de31b80ec26843d27",
      "tree": "9e09dd1b4a1045a649f9b12fd1775d794700abab",
      "parents": [
        "2d819d250a1393a3e725715425ab70a0e0772a71"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@armlinux.org.uk",
        "time": "Fri Oct 04 17:05:58 2019 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:11:08 2019 -0700"
      },
      "message": "net: phy: fix write to mii-ctrl1000 register\n\nWhen userspace writes to the MII_ADVERTISE register, we update phylib\u0027s\nadvertising mask and trigger a renegotiation.  However, writing to the\nMII_CTRL1000 register, which contains the gigabit advertisement, does\nneither.  This can lead to phylib\u0027s copy of the advertisement becoming\nde-synced with the values in the PHY register set, which can result in\nincorrect negotiation resolution.\n\nFixes: 5502b218e001 (\"net: phy: use phy_resolve_aneg_linkmode in genphy_read_status\")\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nSigned-off-by: Russell King \u003crmk+kernel@armlinux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d819d250a1393a3e725715425ab70a0e0772a71",
      "tree": "d6cadd8c9badcbd1cf81643de4636e769fd4bc16",
      "parents": [
        "ea977d19d918324ad5b66953f051a6ed07d0a3c5"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@gmail.com",
        "time": "Fri Oct 04 08:03:09 2019 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:08:58 2019 -0700"
      },
      "message": "ipv6: Handle missing host route in __ipv6_ifa_notify\n\nRajendra reported a kernel panic when a link was taken down:\n\n    [ 6870.263084] BUG: unable to handle kernel NULL pointer dereference at 00000000000000a8\n    [ 6870.271856] IP: [\u003cffffffff8efc5764\u003e] __ipv6_ifa_notify+0x154/0x290\n\n    \u003csnip\u003e\n\n    [ 6870.570501] Call Trace:\n    [ 6870.573238] [\u003cffffffff8efc58c6\u003e] ? ipv6_ifa_notify+0x26/0x40\n    [ 6870.579665] [\u003cffffffff8efc98ec\u003e] ? addrconf_dad_completed+0x4c/0x2c0\n    [ 6870.586869] [\u003cffffffff8efe70c6\u003e] ? ipv6_dev_mc_inc+0x196/0x260\n    [ 6870.593491] [\u003cffffffff8efc9c6a\u003e] ? addrconf_dad_work+0x10a/0x430\n    [ 6870.600305] [\u003cffffffff8f01ade4\u003e] ? __switch_to_asm+0x34/0x70\n    [ 6870.606732] [\u003cffffffff8ea93a7a\u003e] ? process_one_work+0x18a/0x430\n    [ 6870.613449] [\u003cffffffff8ea93d6d\u003e] ? worker_thread+0x4d/0x490\n    [ 6870.619778] [\u003cffffffff8ea93d20\u003e] ? process_one_work+0x430/0x430\n    [ 6870.626495] [\u003cffffffff8ea99dd9\u003e] ? kthread+0xd9/0xf0\n    [ 6870.632145] [\u003cffffffff8f01ade4\u003e] ? __switch_to_asm+0x34/0x70\n    [ 6870.638573] [\u003cffffffff8ea99d00\u003e] ? kthread_park+0x60/0x60\n    [ 6870.644707] [\u003cffffffff8f01ae77\u003e] ? ret_from_fork+0x57/0x70\n    [ 6870.650936] Code: 31 c0 31 d2 41 b9 20 00 08 02 b9 09 00 00 0\n\naddrconf_dad_work is kicked to be scheduled when a device is brought\nup. There is a race between addrcond_dad_work getting scheduled and\ntaking the rtnl lock and a process taking the link down (under rtnl).\nThe latter removes the host route from the inet6_addr as part of\naddrconf_ifdown which is run for NETDEV_DOWN. The former attempts\nto use the host route in __ipv6_ifa_notify. If the down event removes\nthe host route due to the race to the rtnl, then the BUG listed above\noccurs.\n\nSince the DAD sequence can not be aborted, add a check for the missing\nhost route in __ipv6_ifa_notify. The only way this should happen is due\nto the previously mentioned race. The host route is created when the\naddress is added to an interface; it is only removed on a down event\nwhere the address is kept. Add a warning if the host route is missing\nAND the device is up; this is a situation that should never happen.\n\nFixes: f1705ec197e7 (\"net: ipv6: Make address flushing on ifdown optional\")\nReported-by: Rajendra Dendukuri \u003crajendra.dendukuri@broadcom.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@gmail.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea977d19d918324ad5b66953f051a6ed07d0a3c5",
      "tree": "d9076da483121f02b41317ea7264c58d8601f817",
      "parents": [
        "b406472b5ad79ede8d10077f0c8f05505ace8b6d"
      ],
      "author": {
        "name": "Andrea Merello",
        "email": "andrea.merello@gmail.com",
        "time": "Fri Oct 04 15:53:32 2019 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 18:07:45 2019 -0700"
      },
      "message": "net: phy: allow for reset line to be tied to a sleepy GPIO controller\n\nmdio_device_reset() makes use of the atomic-pretending API flavor for\nhandling the PHY reset GPIO line.\n\nI found no hint that mdio_device_reset() is called from atomic context\nand indeed it uses usleep_range() since long time, so I would assume that\nit is OK to sleep there.\n\nThis patch switch to gpiod_set_value_cansleep() in mdio_device_reset().\nThis is relevant if e.g. the PHY reset line is tied to a I2C GPIO\ncontroller.\n\nThis has been tested on a ZynqMP board running an upstream 4.19 kernel and\nthen hand-ported on current kernel tree.\n\nSigned-off-by: Andrea Merello \u003candrea.merello@gmail.com\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b406472b5ad79ede8d10077f0c8f05505ace8b6d",
      "tree": "e68b820360cf0a2f45dcba1d2a13a0f18a06cd61",
      "parents": [
        "a54cdeeb04fc719e4c7f19d6e28dba7ea86cee5b"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Fri Oct 04 15:11:17 2019 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 17:27:04 2019 -0700"
      },
      "message": "net: ipv4: avoid mixed n_redirects and rate_tokens usage\n\nSince commit c09551c6ff7f (\"net: ipv4: use a dedicated counter\nfor icmp_v4 redirect packets\") we use \u0027n_redirects\u0027 to account\nfor redirect packets, but we still use \u0027rate_tokens\u0027 to compute\nthe redirect packets exponential backoff.\n\nIf the device sent to the relevant peer any ICMP error packet\nafter sending a redirect, it will also update \u0027rate_token\u0027 according\nto the leaking bucket schema; typically \u0027rate_token\u0027 will raise\nabove BITS_PER_LONG and the redirect packets backoff algorithm\nwill produce undefined behavior.\n\nFix the issue using \u0027n_redirects\u0027 to compute the exponential backoff\nin ip_rt_send_redirect().\n\nNote that we still clear rate_tokens after a redirect silence period,\nto avoid changing an established behaviour.\n\nThe root cause predates git history; before the mentioned commit in\nthe critical scenario, the kernel stopped sending redirects, after\nthe mentioned commit the behavior more randomic.\n\nReported-by: Xiumei Mu \u003cxmu@redhat.com\u003e\nFixes: 1da177e4c3f4 (\"Linux-2.6.12-rc2\")\nFixes: c09551c6ff7f (\"net: ipv4: use a dedicated counter for icmp_v4 redirect packets\")\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nAcked-by: Lorenzo Bianconi \u003clorenzo.bianconi@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a54cdeeb04fc719e4c7f19d6e28dba7ea86cee5b",
      "tree": "517979acca9a124b227751b2e55cec050529c344",
      "parents": [
        "6b517374f4ea5a3c6e307e1219ec5f35d42e6d00"
      ],
      "author": {
        "name": "Kai-Heng Feng",
        "email": "kai.heng.feng@canonical.com",
        "time": "Fri Oct 04 20:51:04 2019 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 17:26:03 2019 -0700"
      },
      "message": "r8152: Set macpassthru in reset_resume callback\n\nr8152 may fail to establish network connection after resume from system\nsuspend.\n\nIf the USB port connects to r8152 lost its power during system suspend,\nthe MAC address was written before is lost. The reason is that The MAC\naddress doesn\u0027t get written again in its reset_resume callback.\n\nSo let\u0027s set MAC address again in reset_resume callback. Also remove\nunnecessary lock as no other locking attempt will happen during\nreset_resume.\n\nSigned-off-by: Kai-Heng Feng \u003ckai.heng.feng@canonical.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fffa6af94894126994a7600c6f6f09b892e89fa9",
      "tree": "db60b6c5437ab82a065336ed7c0aac5dcdf8b123",
      "parents": [
        "b8cd253a06dc1d06dfed5c0ed1ec886e1706d3fe"
      ],
      "author": {
        "name": "Thierry Reding",
        "email": "treding@nvidia.com",
        "time": "Wed Oct 02 14:28:23 2019 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Oct 04 23:58:10 2019 +0200"
      },
      "message": "gpio: max77620: Use correct unit for debounce times\n\nThe gpiod_set_debounce() function takes the debounce time in\nmicroseconds. Adjust the switch/case values in the MAX77620 GPIO to use\nthe correct unit.\n\nSigned-off-by: Thierry Reding \u003ctreding@nvidia.com\u003e\nLink: https://lore.kernel.org/r/20191002122825.3948322-1-thierry.reding@gmail.com\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "6b517374f4ea5a3c6e307e1219ec5f35d42e6d00",
      "tree": "dbab97c9cace62bcb9f3597e1ce6984f35d49d0b",
      "parents": [
        "8ae72cbf62d2c1879456c0c5872f958e18f53711"
      ],
      "author": {
        "name": "Vishal Kulkarni",
        "email": "vishal@chelsio.com",
        "time": "Fri Oct 04 04:06:15 2019 +0530"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 14:42:13 2019 -0700"
      },
      "message": "cxgb4:Fix out-of-bounds MSI-X info array access\n\nWhen fetching free MSI-X vectors for ULDs, check for the error code\nbefore accessing MSI-X info array. Otherwise, an out-of-bounds access is\nattempted, which results in kernel panic.\n\nFixes: 94cdb8bb993a (\"cxgb4: Add support for dynamic allocation of resources for ULD\")\nSigned-off-by: Shahjada Abul Husain \u003cshahjada@chelsio.com\u003e\nSigned-off-by: Vishal Kulkarni \u003cvishal@chelsio.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ae72cbf62d2c1879456c0c5872f958e18f53711",
      "tree": "25ae03726054fe2b5d77ca5b4dc747fed2845e7f",
      "parents": [
        "7a512eb865aa5fcfb396c71047bc9c3b046836b3"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@gmail.com",
        "time": "Thu Oct 03 14:46:15 2019 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 14:31:10 2019 -0700"
      },
      "message": "Revert \"ipv6: Handle race in addrconf_dad_work\"\n\nThis reverts commit a3ce2a21bb8969ae27917281244fa91bf5f286d7.\n\nEric reported tests failings with commit. After digging into it,\nthe bottom line is that the DAD sequence is not to be messed with.\nThere are too many cases that are expected to proceed regardless\nof whether a device is up.\n\nRevert the patch and I will send a different solution for the\nproblem Rajendra reported.\n\nSigned-off-by: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a512eb865aa5fcfb396c71047bc9c3b046836b3",
      "tree": "8c41c729af05973eb0de482bede35a82060ceea3",
      "parents": [
        "db9b2e0af605e7c994784527abfd9276cabd718a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Oct 04 00:44:40 2019 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 14:30:23 2019 -0700"
      },
      "message": "net: make sock_prot_memory_pressure() return \"const char *\"\n\nThis function returns string literals which are \"const char *\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db9b2e0af605e7c994784527abfd9276cabd718a",
      "tree": "49aeda7938e7759fe7ae957cc5a1e0011af4725d",
      "parents": [
        "cf74ac6db25d4002089e85cc623ad149ecc25614"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 03 17:44:44 2019 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 13:57:14 2019 -0700"
      },
      "message": "rxrpc: Fix rxrpc_recvmsg tracepoint\n\nFix the rxrpc_recvmsg tracepoint to handle being called with a NULL call\nparameter.\n\nFixes: a25e21f0bcd2 (\"rxrpc, afs: Use debug_ids rather than pointers in traces\")\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf74ac6db25d4002089e85cc623ad149ecc25614",
      "tree": "e28e95d5b6bb0f379582cca12a24b9f6478acb27",
      "parents": [
        "3afb0961884046c8fb4acbce65139088959681c8"
      ],
      "author": {
        "name": "Reinhard Speyerer",
        "email": "rspmn@arcor.de",
        "time": "Thu Oct 03 18:34:39 2019 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 04 13:55:47 2019 -0700"
      },
      "message": "qmi_wwan: add support for Cinterion CLS8 devices\n\nAdd support for Cinterion CLS8 devices.\nUse QMI_QUIRK_SET_DTR as required for Qualcomm MDM9x07 chipsets.\n\nT:  Bus\u003d01 Lev\u003d03 Prnt\u003d05 Port\u003d01 Cnt\u003d02 Dev#\u003d 25 Spd\u003d480  MxCh\u003d 0\nD:  Ver\u003d 2.00 Cls\u003d00(\u003eifc ) Sub\u003d00 Prot\u003d00 MxPS\u003d64 #Cfgs\u003d  1\nP:  Vendor\u003d1e2d ProdID\u003d00b0 Rev\u003d 3.18\nS:  Manufacturer\u003dGEMALTO\nS:  Product\u003dUSB Modem\nC:* #Ifs\u003d 5 Cfg#\u003d 1 Atr\u003d80 MxPwr\u003d500mA\nI:* If#\u003d 0 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003d42 Prot\u003d01 Driver\u003d(none)\nE:  Ad\u003d01(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d81(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nI:* If#\u003d 1 Alt\u003d 0 #EPs\u003d 3 Cls\u003dff(vend.) Sub\u003d00 Prot\u003d00 Driver\u003doption\nE:  Ad\u003d83(I) Atr\u003d03(Int.) MxPS\u003d  10 Ivl\u003d32ms\nE:  Ad\u003d82(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d02(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nI:* If#\u003d 2 Alt\u003d 0 #EPs\u003d 3 Cls\u003dff(vend.) Sub\u003d00 Prot\u003d00 Driver\u003doption\nE:  Ad\u003d85(I) Atr\u003d03(Int.) MxPS\u003d  10 Ivl\u003d32ms\nE:  Ad\u003d84(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d03(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nI:* If#\u003d 3 Alt\u003d 0 #EPs\u003d 3 Cls\u003dff(vend.) Sub\u003d00 Prot\u003d00 Driver\u003doption\nE:  Ad\u003d87(I) Atr\u003d03(Int.) MxPS\u003d  10 Ivl\u003d32ms\nE:  Ad\u003d86(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d04(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nI:* If#\u003d 4 Alt\u003d 0 #EPs\u003d 3 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003dqmi_wwan\nE:  Ad\u003d89(I) Atr\u003d03(Int.) MxPS\u003d   8 Ivl\u003d32ms\nE:  Ad\u003d88(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d05(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\n\nSigned-off-by: Reinhard Speyerer \u003crspmn@arcor.de\u003e\nAcked-by: Bjørn Mork \u003cbjorn@mork.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "4ea655343ce4180fe9b2c7ec8cb8ef9884a47901"
}
