1. 12 Jul, 2018 11 commits
    • Dave Chinner's avatar
      xfs: make xfs_writepage_map extent map centric · e2f6ad46
      Dave Chinner authored
      xfs_writepage_map() iterates over the bufferheads on a page to decide
      what sort of IO to do and what actions to take.  However, when it comes
      to reflink and deciding when it needs to execute a COW operation, we no
      longer look at the bufferhead state but instead we ignore than and look
      up internal state held in the COW fork extent list.
      
      This means xfs_writepage_map() is somewhat confused. It does stuff, then
      ignores it, then tries to handle the impedence mismatch by shovelling the
      results inside the existing mapping code.  It works, but it's a bit of a
      mess and it makes it hard to fix the cached map bug that the writepage
      code currently has.
      
      To unify the two different mechanisms, we first have to choose a direction.
      That's already been set - we're de-emphasising bufferheads so they are no
      longer a control structure as we need to do taht to allow for eventual
      removal.  Hence we need to move away from looking at bufferhead state to
      determine what operations we need to perform.
      
      We can't completely get rid of bufferheads yet - they do contain some
      state that is absolutely necessary, such as whether that part of the page
      contains valid data or not (buffer_uptodate()).  Other state in the
      bufferhead is redundant:
      
      	BH_dirty - the page is dirty, so we can ignore this and just
      		write it
      	BH_delay - we have delalloc extent info in the DATA fork extent
      		tree
      	BH_unwritten - same as BH_delay
      	BH_mapped - indicates we've already used it once for IO and it is
      		mapped to a disk address. Needs to be ignored for COW
      		blocks.
      
      The BH_mapped flag is an interesting case - it's supposed to indicate that
      it's already mapped to disk and so we can just use it "as is".  In theory,
      we don't even have to do an extent lookup to find where to write it too,
      but we have to do that anyway to determine we are actually writing over a
      valid extent.  Hence it's not even serving the purpose of avoiding a an
      extent lookup during writeback, and so we can pretty much ignore it.
      Especially as we have to ignore it for COW operations...
      
      Therefore, use the extent map as the source of information to tell us
      what actions we need to take and what sort of IO we should perform.  The
      first step is to have xfs_map_blocks() set the io type according to what
      it looks up.  This means it can easily handle both normal overwrite and
      COW cases.  The only thing we also need to add is the ability to return
      hole mappings.
      
      We need to return and cache hole mappings now for the case of multiple
      blocks per page.  We no longer use the BH_mapped to indicate a block over
      a hole, so we have to get that info from xfs_map_blocks().  We cache it so
      that holes that span two pages don't need separate lookups.  This allows us
      to avoid ever doing write IO over a hole, too.
      
      Now that we have xfs_map_blocks() returning both a cached map and the type
      of IO we need to perform, we can rewrite xfs_writepage_map() to drop all
      the bufferhead control. It's also much simplified because it doesn't need
      to explicitly handle COW operations.  Instead of iterating bufferheads, it
      iterates blocks within the page and then looks up what per-block state is
      required from the appropriate bufferhead.  It then validates the cached
      map, and if it's not valid, we get a new map.  If we don't get a valid map
      or it's over a hole, we skip the block.
      
      At this point, we have to remap the bufferhead via xfs_map_at_offset().
      As previously noted, we had to do this even if the buffer was already
      mapped as the mapping would be stale for XFS_IO_DELALLOC, XFS_IO_UNWRITTEN
      and XFS_IO_COW IO types.  With xfs_map_blocks() now controlling the type,
      even XFS_IO_OVERWRITE types need remapping, as converted-but-not-yet-
      written delalloc extents beyond EOF can be reported at XFS_IO_OVERWRITE.
      Bufferheads that span such regions still need their BH_Delay flags cleared
      and their block numbers calculated, so we now unconditionally map each
      bufferhead before submission.
      
      But wait! There's more - remember the old "treat unwritten extents as
      holes on read" hack?  Yeah, that means we can have a dirty page with
      unmapped, unwritten bufferheads that contain data!  What makes these so
      special is that the unwritten "hole" bufferheads do not have a valid block
      device pointer, so if we attempt to write them xfs_add_to_ioend() blows
      up. So we make xfs_map_at_offset() do the "realtime or data device"
      lookup from the inode and ignore what was or wasn't put into the
      bufferhead when the buffer was instantiated.
      
      The astute reader will have realised by now that this code treats
      unwritten extents in multiple-blocks-per-page situations differently.
      If we get any combination of unwritten blocks on a dirty page that contain
      valid data in the page, we're going to convert them to real extents.  This
      can actually be a win, because it means that pages with interleaving
      unwritten and written blocks will get converted to a single written extent
      with zeros replacing the interspersed unwritten blocks.  This is actually
      good for reducing extent list and conversion overhead, and it means we
      issue a contiguous IO instead of lots of little ones.  The downside is
      that we use up a little extra IO bandwidth.  Neither of these seem like a
      bad thing given that spinning disks are seek sensitive, and SSDs/pmem have
      bandwidth to burn and the lower Io latency/CPU overhead of fewer, larger
      IOs will result in better performance on them...
      
      As a result of all this, the only state we actually care about from the
      bufferhead is a single flag - BH_Uptodate. We still use the bufferhead to
      pass some information to the bio via xfs_add_to_ioend(), but that is
      trivial to separate and pass explicitly.  This means we really only need
      1 bit of state per block per page from the buffered write path in the
      writeback path.  Everything else we do with the bufferhead is purely to
      make the buffered IO front end continue to work correctly. i.e we've
      pretty much marginalised bufferheads in the writeback path completely.
      Signed-off-By: default avatarDave Chinner <dchinner@redhat.com>
      [hch: forward port, refactor and split off bits into other commits]
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      e2f6ad46
    • Christoph Hellwig's avatar
      xfs: rename the offset variable in xfs_writepage_map · 6a4c9501
      Christoph Hellwig authored
      Calling it file_offset makes the usage more clear, especially with
      a new poffset variable that will be added soon for the offset inside
      the page.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      6a4c9501
    • Christoph Hellwig's avatar
      xfs: remove xfs_map_cow · 5c665e5b
      Christoph Hellwig authored
      We can handle the existing cow mapping case as a special case directly
      in xfs_writepage_map, and share code for allocating delalloc blocks
      with regular I/O in xfs_map_blocks.  This means we need to always
      call xfs_map_blocks for reflink inodes, but we can still skip most of
      the work if it turns out that there is no COW mapping overlapping the
      current block.
      
      As a subtle detail we need to start caching holes in the wpc to deal
      with the case of COW reservations between EOF.  But we'll need that
      infrastructure later anyway, so this is no big deal.
      
      Based on a patch from Dave Chinner.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      5c665e5b
    • Christoph Hellwig's avatar
      xfs: remove xfs_reflink_trim_irec_to_next_cow · fca8c805
      Christoph Hellwig authored
      We already have to check for overlapping COW extents everytime we
      come back to a page in xfs_writepage_map / xfs_map_cow, so this
      additional trim is not required.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      fca8c805
    • Christoph Hellwig's avatar
      xfs: don't use XFS_BMAPI_IGSTATE in xfs_map_blocks · a7b28f72
      Christoph Hellwig authored
      We want to be able to use the extent state as a reliably indicator for
      the type of I/O, and stop using the buffer head state.  For this we
      need to stop using the XFS_BMAPI_IGSTATE so that we don't see merged
      extents of different types.
      
      Based on a patch from Dave Chinner.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      a7b28f72
    • Christoph Hellwig's avatar
      xfs: don't clear imap_valid for a non-uptodate buffers · c57371a1
      Christoph Hellwig authored
      Finding a buffer that isn't uptodate doesn't invalidate the mapping for
      any given block.  The last_sector check will already take care of starting
      another ioend as soon as we find any non-update buffer, and if the current
      mapping doesn't include the next uptodate buffer the xfs_imap_valid check
      will take care of it.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      c57371a1
    • Christoph Hellwig's avatar
      xfs: do not set the page uptodate in xfs_writepage_map · 91cdfd17
      Christoph Hellwig authored
      We already track the page uptodate status based on the buffer uptodate
      status, which is updated whenever reading or zeroing blocks.
      
      This code has been there since commit a ptool commit in 2002, which
      claims to:
      
          "merge" the 2.4 fsx fix for block size < page size to 2.5.  This needed
          major changes to actually fit.
      
      and isn't present in other writepage implementations.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      91cdfd17
    • Christoph Hellwig's avatar
      xfs: move locking into xfs_bmap_punch_delalloc_range · d4380177
      Christoph Hellwig authored
      Both callers want the same looking, so do it only once.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      d4380177
    • Christoph Hellwig's avatar
      xfs: simplify xfs_aops_discard_page · 03625721
      Christoph Hellwig authored
      Instead of looking at the buffer heads to see if a block is delalloc just
      call xfs_bmap_punch_delalloc_range on the whole page - this will leave
      any non-delalloc block intact and handle the iteration for us.  As a side
      effect one more place stops caring about buffer heads and we can remove the
      xfs_check_page_type function entirely.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      03625721
    • Christoph Hellwig's avatar
      xfs: use iomap for blocksize == PAGE_SIZE readpage and readpages · 8b2e77c1
      Christoph Hellwig authored
      For file systems with a block size that equals the page size we never do
      partial reads, so we can use the buffer_head-less iomap versions of
      readpage and readpages without conflicting with the buffer_head structures
      create later in write_begin.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      8b2e77c1
    • Darrick J. Wong's avatar
      c2efdfc1
  2. 08 Jul, 2018 13 commits
    • Linus Torvalds's avatar
      Linux 4.18-rc4 · 1e4b044d
      Linus Torvalds authored
      1e4b044d
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · ca04b3cc
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A small collection of fixes, sort of the usual at this point, all for
        i.MX or OMAP:
      
         - Enable ULPI drivers on i.MX to avoid a hang
      
         - Pinctrl fix for touchscreen on i.MX51 ZII RDU1
      
         - Fixes for ethernet clock references on am3517
      
         - mmc0 write protect detection fix for am335x
      
         - kzalloc->kcalloc conversion in an OMAP driver
      
         - USB metastability fix for USB on dra7
      
         - Fix touchscreen wakeup on am437x"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: imx_v4_v5_defconfig: Select ULPI support
        ARM: imx_v6_v7_defconfig: Select ULPI support
        ARM: dts: omap3: Fix am3517 mdio and emac clock references
        ARM: dts: am335x-bone-common: Fix mmc0 Write Protect
        bus: ti-sysc: Use 2-factor allocator arguments
        ARM: dts: dra7: Disable metastability workaround for USB2
        ARM: dts: imx51-zii-rdu1: fix touchscreen pinctrl
        ARM: dts: am437x: make edt-ft5x06 a wakeup source
      ca04b3cc
    • Linus Torvalds's avatar
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 23adbe6f
      Linus Torvalds authored
      Pull x86/pti updates from Thomas Gleixner:
       "Two small fixes correcting the handling of SSB mitigations on AMD
        processors"
      
      * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR
        x86/bugs: Update when to check for the LS_CFG SSBD mitigation
      23adbe6f
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6f27a640
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
      
       - Prevent an out-of-bounds access in mtrr_write()
      
       - Break a circular dependency in the new hyperv IPI acceleration code
      
       - Address the build breakage related to inline functions by enforcing
         gnu_inline and explicitly bringing native_save_fl() out of line,
         which also adds a set of _ARM_ARG macros which provide 32/64bit
         safety.
      
       - Initialize the shadow CR4 per cpu variable before using it.
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mtrr: Don't copy out-of-bounds data in mtrr_write
        x86/hyper-v: Fix the circular dependency in IPI enlightenment
        x86/paravirt: Make native_save_fl() extern inline
        x86/asm: Add _ASM_ARG* constants for argument registers to <asm/asm.h>
        compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations
        x86/mm/32: Initialize the CR4 shadow before __flush_tlb_all()
      6f27a640
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6fb2489d
      Linus Torvalds authored
      Pull scheduler fixes from Thomas Gleixner:
      
       - The hopefully final fix for the reported race problems in
         kthread_parkme(). The previous attempt still left a hole and was
         partially wrong.
      
       - Plug a race in the remote tick mechanism which triggers a warning
         about updates not being done correctly. That's a false positive if
         the race condition is hit as the remote CPU is idle. Plug it by
         checking the condition again when holding run queue lock.
      
       - Fix a bug in the utilization estimation of a run queue which causes
         the estimation to be 0 when a run queue is throttled.
      
       - Advance the global expiration of the period timer when the timer is
         restarted after a idle period. Otherwise the expiry time is stale and
         the timer fires prematurely.
      
       - Cure the drift between the bandwidth timer and the runqueue
         accounting, which leads to bogus throttling of runqueues
      
       - Place the call to cpufreq_update_util() correctly so the function
         will observe the correct number of running RT tasks and not a stale
         one.
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        kthread, sched/core: Fix kthread_parkme() (again...)
        sched/util_est: Fix util_est_dequeue() for throttled cfs_rq
        sched/fair: Advance global expiration when period timer is restarted
        sched/fair: Fix bandwidth timer clock drift condition
        sched/rt: Fix call to cpufreq_update_util()
        sched/nohz: Skip remote tick on idle task entirely
      6fb2489d
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f5c926b9
      Linus Torvalds authored
      Pull objtool fix from Thomas Gleixner:
       "A single fix for objtool to address a bug in handling the cold
        subfunction detection for aliased functions which was added recently.
        The bug causes objtool to enter an infinite loop"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Support GCC 8 '-fnoreorder-functions'
      f5c926b9
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 124b99fb
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
      
       - add missing RETs in x86 aegis/morus
      
       - fix build error in arm speck
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: x86 - Add missing RETs
        crypto: arm/speck - fix building in Thumb2 mode
      124b99fb
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 70a2dc6a
      Linus Torvalds authored
      Pull ext4 bugfixes from Ted Ts'o:
       "Bug fixes for ext4; most of which relate to vulnerabilities where a
        maliciously crafted file system image can result in a kernel OOPS or
        hang.
      
        At least one fix addresses an inline data bug could be triggered by
        userspace without the need of a crafted file system (although it does
        require that the inline data feature be enabled)"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: check superblock mapped prior to committing
        ext4: add more mount time checks of the superblock
        ext4: add more inode number paranoia checks
        ext4: avoid running out of journal credits when appending to an inline file
        jbd2: don't mark block as modified if the handle is out of credits
        ext4: never move the system.data xattr out of the inode body
        ext4: clear i_data in ext4_inode_info when removing inline data
        ext4: include the illegal physical block in the bad map ext4_error msg
        ext4: verify the depth of extent tree in ext4_find_extent()
        ext4: only look at the bg_flags field if it is valid
        ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
        ext4: always check block group bounds in ext4_init_block_bitmap()
        ext4: always verify the magic number in xattr blocks
        ext4: add corruption check in ext4_xattr_set_entry()
        ext4: add warn_on_error mount option
      70a2dc6a
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.18-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 8979319f
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - Fix a use-after-free in the endpoint code (Dan Carpenter)
      
       - Stop defaulting CONFIG_PCIE_DW_PLAT_HOST to yes (Geert Uytterhoeven)
      
       - Fix an nfp regression caused by a change in how we limit the number
         of VFs we can enable (Jakub Kicinski)
      
       - Fix failure path cleanup issues in the new R-Car gen3 PHY support
         (Marek Vasut)
      
       - Fix leaks of OF nodes in faraday, xilinx-nwl, xilinx (Nicholas Mc
         Guire)
      
      * tag 'pci-v4.18-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        nfp: stop limiting VFs to 0
        PCI/IOV: Reset total_VFs limit after detaching PF driver
        PCI: faraday: Add missing of_node_put()
        PCI: xilinx-nwl: Add missing of_node_put()
        PCI: xilinx: Add missing of_node_put()
        PCI: endpoint: Use after free in pci_epf_unregister_driver()
        PCI: controller: dwc: Do not let PCIE_DW_PLAT_HOST default to yes
        PCI: rcar: Clean up PHY init on failure
        PCI: rcar: Shut the PHY down in failpath
      8979319f
    • Linus Torvalds's avatar
      Merge tag '4.18-rc3-smb3fixes' of git://git.samba.org/sfrench/cifs-2.6 · b2d44d14
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Five smb3/cifs fixes for stable (including for some leaks and memory
        overwrites) and also a few fixes for recent regressions in packet
        signing.
      
        Additional testing at the recent SMB3 test event, and some good work
        by Paulo and others spotted the issues fixed here. In addition to my
        xfstest runs on these, Aurelien and Stefano did additional test runs
        to verify this set"
      
      * tag '4.18-rc3-smb3fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Fix stack out-of-bounds in smb{2,3}_create_lease_buf()
        cifs: Fix infinite loop when using hard mount option
        cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting
        cifs: Fix memory leak in smb2_set_ea()
        cifs: fix SMB1 breakage
        cifs: Fix validation of signed data in smb2
        cifs: Fix validation of signed data in smb3+
        cifs: Fix use after free of a mid_q_entry
      b2d44d14
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-4.18-3' of git://git.infradead.org/users/hch/dma-mapping · 4f572efd
      Linus Torvalds authored
      Pull dma-mapping fix from Christoph Hellwig:
       "Revert an incorrect dma-mapping commit for 4.18-rc"
      
      * tag 'dma-mapping-4.18-3' of git://git.infradead.org/users/hch/dma-mapping:
        Revert "iommu/intel-iommu: Enable CONFIG_DMA_DIRECT_OPS=y and clean up intel_{alloc,free}_coherent()"
      4f572efd
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-4.18-rc4' of git://git.infradead.org/users/vkoul/slave-dma · 89ac2233
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       "We have few odd driver fixes and one email update change for you this
        time:
      
         - Driver fixes for k3dma (off by one), pl330 (burst residue
           granularity) and omap-dma (incorrect residue_granularity)
      
         - Sinan's email update"
      
      * tag 'dmaengine-fix-4.18-rc4' of git://git.infradead.org/users/vkoul/slave-dma:
        dmaengine: k3dma: Off by one in k3_of_dma_simple_xlate()
        dmaengine: pl330: report BURST residue granularity
        MAINTAINERS: Update email-id of Sinan Kaya
        dmaengine: ti: omap-dma: Fix OMAP1510 incorrect residue_granularity
      89ac2233
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.18-2' of git://github.com/cminyard/linux-ipmi · ea9561cf
      Linus Torvalds authored
      Pull IPMI fixes from Corey Minyard:
       "A couple of small fixes: one to the BMC side of things that fixes an
        interrupt issue, and one oops fix if init fails in a certain way on
        the client driver"
      
      * tag 'for-linus-4.18-2' of git://github.com/cminyard/linux-ipmi:
        ipmi: kcs_bmc: fix IRQ exception if the channel is not open
        ipmi: Cleanup oops on initialization failure
      ea9561cf
  3. 07 Jul, 2018 4 commits
  4. 06 Jul, 2018 10 commits
  5. 05 Jul, 2018 2 commits
    • Olof Johansson's avatar
      Merge tag 'omap-for-v4.18/fixes-signed' of... · f0463f36
      Olof Johansson authored
      Merge tag 'omap-for-v4.18/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Fixes for omap for v4.18-rc cycle
      
      Few dts fixes for regressions for various SoCs and
      devices for touchscreen wake, dra7 USB quirk, pinmux
      for beaglebone mmc, and emac clock.
      
      Also included is a change for ti-sysc to use kcalloc
      that Kees wanted to get into v4.18 as that's the last
      one he wanted to fix for improved defense against
      allocation overflows.
      
      * tag 'omap-for-v4.18/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: omap3: Fix am3517 mdio and emac clock references
        ARM: dts: am335x-bone-common: Fix mmc0 Write Protect
        bus: ti-sysc: Use 2-factor allocator arguments
        ARM: dts: dra7: Disable metastability workaround for USB2
        ARM: dts: am437x: make edt-ft5x06 a wakeup source
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      f0463f36
    • Linus Torvalds's avatar
      Fix up non-directory creation in SGID directories · 0fa3ecd8
      Linus Torvalds authored
      sgid directories have special semantics, making newly created files in
      the directory belong to the group of the directory, and newly created
      subdirectories will also become sgid.  This is historically used for
      group-shared directories.
      
      But group directories writable by non-group members should not imply
      that such non-group members can magically join the group, so make sure
      to clear the sgid bit on non-directories for non-members (but remember
      that sgid without group execute means "mandatory locking", just to
      confuse things even more).
      Reported-by: default avatarJann Horn <jannh@google.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0fa3ecd8