1. 05 6月, 2018 10 次提交
    • L
      Merge tag 'docs-4.18' of git://git.lwn.net/linux · eeee3149
      Linus Torvalds 提交于
      Pull documentation updates from Jonathan Corbet:
       "There's been a fair amount of work in the docs tree this time around,
        including:
      
         - Extensive RST conversions and organizational work in the
           memory-management docs thanks to Mike Rapoport.
      
         - An update of Documentation/features from Andrea Parri and a script
           to keep it updated.
      
         - Various LICENSES updates from Thomas, along with a script to check
           SPDX tags.
      
         - Work to fix dangling references to documentation files; this
           involved a fair number of one-liner comment changes outside of
           Documentation/
      
        ... and the usual list of documentation improvements, typo fixes, etc"
      
      * tag 'docs-4.18' of git://git.lwn.net/linux: (103 commits)
        Documentation: document hung_task_panic kernel parameter
        docs/admin-guide/mm: add high level concepts overview
        docs/vm: move ksm and transhuge from "user" to "internals" section.
        docs: Use the kerneldoc comments for memalloc_no*()
        doc: document scope NOFS, NOIO APIs
        docs: update kernel versions and dates in tables
        docs/vm: transhuge: split userspace bits to admin-guide/mm/transhuge
        docs/vm: transhuge: minor updates
        docs/vm: transhuge: change sections order
        Documentation: arm: clean up Marvell Berlin family info
        Documentation: gpio: driver: Fix a typo and some odd grammar
        docs: ranoops.rst: fix location of ramoops.txt
        scripts/documentation-file-ref-check: rewrite it in perl with auto-fix mode
        docs: uio-howto.rst: use a code block to solve a warning
        mm, THP, doc: Add document for thp_swpout/thp_swpout_fallback
        w1: w1_io.c: fix a kernel-doc warning
        Documentation/process/posting: wrap text at 80 cols
        docs: admin-guide: add cgroup-v2 documentation
        Revert "Documentation/features/vm: Remove arch support status file for 'pte_special'"
        Documentation: refcount-vs-atomic: Update reference to LKMM doc.
        ...
      eeee3149
    • L
      swait: strengthen language to discourage use · c5e7a7ea
      Linus Torvalds 提交于
      We already earlier discouraged people from using this interface in
      commit 88796e7e ("sched/swait: Document it clearly that the swait
      facilities are special and shouldn't be used"), but I just got a pull
      request with a new broken user.
      
      So make the comment *really* clear.
      
      The swait interfaces are bad, and should not be used unless you have
      some *very* strong reasons that include tons of hard performance numbers
      on just why you want to use them, and you show that you actually
      understand that they aren't at all like the normal wait/wakeup
      interfaces.
      
      So far, every single user has been suspect.  The main user is KVM, which
      is completely pointless (there is only ever one waiter, which avoids the
      interface subtleties, but also means that having a queue instead of a
      pointer is counter-productive and certainly not an "optimization").
      
      So make the comments much stronger.
      
      Not that anybody likely reads them anyway, but there's always some
      slight hope that it will cause somebody to think twice.
      
      I'd like to remove this interface entirely, but there is the theoretical
      possibility that it's actually the right thing to use in some situation,
      most likely some deep RT use.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c5e7a7ea
    • L
      Merge tag 'regmap-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · a31895ad
      Linus Torvalds 提交于
      Pull regmap updates from Mark Brown:
       "This is another quiet release for regmap, there's one minor feature
        improvement for the recently added slimbus support and a few minor
        fixes and cleanups"
      
      * tag 'regmap-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: slimbus: allow register offsets up to 16 bits
        regmap: add missing prototype for devm_init_slimbus
        regmap: Skip clk_put for attached clocks when freeing context
        regmap: include <linux/ktime.h> from include/linux/regmap.h
      a31895ad
    • L
      Merge tag 'spi-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · cfd12db4
      Linus Torvalds 提交于
      Pull spi updates from Mark Brown:
       "Quite a busy release for SPI, mainly as a result of Boris Brezillon's
        work on improving the integration with MTD for accelerated SPI flash
        controllers. He's added a new spi_mem interface which works a lot
        better with general hardware and converted the users over to it, as a
        result of this work we've got some MTD changes in here as well.
      
        Other highlights include:
      
         - Lots of spring cleaning for the s3c64xx driver.
      
         - Removal of the bcm53xx, the hardware is also supported by the mspi
           driver but SoC naming had caused people to miss the duplication.
      
         - Conversion of the pxa2xx driver to use the standard message
           processing loop rather than open coding.
      
         - A bunch of improvements to the runtime PM of the OMAP McSPI driver"
      
      * tag 'spi-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (47 commits)
        spi: Fix typo on SPI_MEM help text
        spi: sh-msiof: Fix setting SIRMDR1.SYNCAC to match SITMDR1.SYNCAC
        mtd: devices: m25p80: Use spi_mem_set_drvdata() instead of spi_set_drvdata()
        spi: omap2-mcspi: Remove unnecessary pm_runtime_force_suspend()
        spi: Add missing pm_runtime_put_noidle() after failed get
        spi: ti-qspi: Make sure res_mmap != NULL before dereferencing it
        spi: spi-s3c64xx: Fix system resume support
        spi: bcm-qspi: Fix build failure caused by spi_flash_read() API removal
        spi: Get rid of the spi_flash_read() API
        mtd: spi-nor: Use the spi_mem_xx() API
        spi: ti-qspi: Implement the spi_mem interface
        spi: bcm-qspi: Implement the spi_mem interface
        spi: Make support for regular transfers optional when ->mem_ops != NULL
        spi: Extend the core to ease integration of SPI memory controllers
        spi: remove forgotten CONFIG_SPI_BCM53XX
        spi: remove the older/duplicated bcm53xx driver
        spi: pxa2xx: check clk_prepare_enable() return value
        spi: lpspi: Switch to SPDX identifier
        spi: mxs: Switch to SPDX identifier
        spi: imx: Switch to SPDX identifier
        ...
      cfd12db4
    • L
      Merge tag 'chrome-platform-for-linus-4.18' of... · 910470e0
      Linus Torvalds 提交于
      Merge tag 'chrome-platform-for-linus-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform
      
      Pull chrome platform updates from Benson Leung:
      
       - further changes from Dmitry related to the removal of platform data
         from atmel_mxt_ts and chromeos_laptop.
      
         This time, we have some changes that teach chromeos_laptop how to
         supply acpi properties for some input devices so that the peripheral
         driver doesn't have to do dmi matching on some Chromebook platforms.
      
       - new Chromebook Tablet switch driver, which is useful for x86
         convertible Chromebooks.
      
       - other misc cleanup
      
      * tag 'chrome-platform-for-linus-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform:
        platform/chrome: Use to_cros_ec_dev more broadly
        platform/chrome: chromeos_laptop: fix touchpad button mapping on Celes
        platform: chrome: Add input dependency for tablet switch driver
        platform/chrome: chromeos_laptop - supply properties for ACPI devices
        platform/chrome: chromeos_tbmc - add SPDX identifier
        platform: chrome: Add Tablet Switch ACPI driver
        platform/chrome: cros_ec_lpc: do not try DMI match when ACPI device found
      910470e0
    • L
      Merge tag 'hwmon-for-linus-v4.18' of... · bef82f81
      Linus Torvalds 提交于
      Merge tag 'hwmon-for-linus-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
      
       - asus_atk0110 driver modified to use new API
      
       - k10temp supports new CPUs and reports both Tctl and Tdie
      
       - minor fixes in gpio-fan, ltc2990, fschmd, and mc13783 drivers
      
      * tag 'hwmon-for-linus-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (asus_atk0110) Make use of device managed memory
        hwmon: (asus_atk0110) Replace deprecated device register call
        hwmon: (k10temp) Make function get_raw_temp static
        hwmon: (gpio-fan) Fix "#cooling-cells" property name in bindings
        MAINTAINERS: hwmon: Add Documentation/devicetree/bindings/hwmon
        hwmon: (ltc2990) support all measurement modes
        hwmon: (ltc2990) add devicetree binding
        hwmon: (ltc2990) Fix incorrect conversion of negative temperatures
        hwmon: (core) check parent dev != NULL when chip != NULL
        hwmon: (fschmd) fix typo 'can by' to 'can be'
        hwmon: (k10temp) Display both Tctl and Tdie
        hwmon: (k10temp) Add support for Stoney Ridge and Bristol Ridge CPUs
        hwmon: MC13783: Add uid and die temperature sensor inputs
      bef82f81
    • L
      Merge tag 'dma-mapping-4.18' of git://git.infradead.org/users/hch/dma-mapping · e5a59464
      Linus Torvalds 提交于
      Pull dma-mapping updates from Christoph Hellwig:
      
       - replace the force_dma flag with a dma_configure bus method. (Nipun
         Gupta, although one patch is іncorrectly attributed to me due to a
         git rebase bug)
      
       - use GFP_DMA32 more agressively in dma-direct. (Takashi Iwai)
      
       - remove PCI_DMA_BUS_IS_PHYS and rely on the dma-mapping API to do the
         right thing for bounce buffering.
      
       - move dma-debug initialization to common code, and apply a few
         cleanups to the dma-debug code.
      
       - cleanup the Kconfig mess around swiotlb selection
      
       - swiotlb comment fixup (Yisheng Xie)
      
       - a trivial swiotlb fix. (Dan Carpenter)
      
       - support swiotlb on RISC-V. (based on a patch from Palmer Dabbelt)
      
       - add a new generic dma-noncoherent dma_map_ops implementation and use
         it for arc, c6x and nds32.
      
       - improve scatterlist validity checking in dma-debug. (Robin Murphy)
      
       - add a struct device quirk to limit the dma-mask to 32-bit due to
         bridge/system issues, and switch x86 to use it instead of a local
         hack for VIA bridges.
      
       - handle devices without a dma_mask more gracefully in the dma-direct
         code.
      
      * tag 'dma-mapping-4.18' of git://git.infradead.org/users/hch/dma-mapping: (48 commits)
        dma-direct: don't crash on device without dma_mask
        nds32: use generic dma_noncoherent_ops
        nds32: implement the unmap_sg DMA operation
        nds32: consolidate DMA cache maintainance routines
        x86/pci-dma: switch the VIA 32-bit DMA quirk to use the struct device flag
        x86/pci-dma: remove the explicit nodac and allowdac option
        x86/pci-dma: remove the experimental forcesac boot option
        Documentation/x86: remove a stray reference to pci-nommu.c
        core, dma-direct: add a flag 32-bit dma limits
        dma-mapping: remove unused gfp_t parameter to arch_dma_alloc_attrs
        dma-debug: check scatterlist segments
        c6x: use generic dma_noncoherent_ops
        arc: use generic dma_noncoherent_ops
        arc: fix arc_dma_{map,unmap}_page
        arc: fix arc_dma_sync_sg_for_{cpu,device}
        arc: simplify arc_dma_sync_single_for_{cpu,device}
        dma-mapping: provide a generic dma-noncoherent implementation
        dma-mapping: simplify Kconfig dependencies
        riscv: add swiotlb support
        riscv: only enable ZONE_DMA32 for 64-bit
        ...
      e5a59464
    • L
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · f956d08a
      Linus Torvalds 提交于
      Pull misc vfs updates from Al Viro:
       "Misc bits and pieces not fitting into anything more specific"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: delete unnecessary assignment in vfs_listxattr
        Documentation: filesystems: update filesystem locking documentation
        vfs: namei: use path_equal() in follow_dotdot()
        fs.h: fix outdated comment about file flags
        __inode_security_revalidate() never gets NULL opt_dentry
        make xattr_getsecurity() static
        vfat: simplify checks in vfat_lookup()
        get rid of dead code in d_find_alias()
        it's SB_BORN, not MS_BORN...
        msdos_rmdir(): kill BS comment
        remove rpc_rmdir()
        fs: avoid fdput() after failed fdget() in vfs_dedupe_file_range()
      f956d08a
    • L
      Merge branch 'hch.procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · cf626b0d
      Linus Torvalds 提交于
      Pull procfs updates from Al Viro:
       "Christoph's proc_create_... cleanups series"
      
      * 'hch.procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (44 commits)
        xfs, proc: hide unused xfs procfs helpers
        isdn/gigaset: add back gigaset_procinfo assignment
        proc: update SIZEOF_PDE_INLINE_NAME for the new pde fields
        tty: replace ->proc_fops with ->proc_show
        ide: replace ->proc_fops with ->proc_show
        ide: remove ide_driver_proc_write
        isdn: replace ->proc_fops with ->proc_show
        atm: switch to proc_create_seq_private
        atm: simplify procfs code
        bluetooth: switch to proc_create_seq_data
        netfilter/x_tables: switch to proc_create_seq_private
        netfilter/xt_hashlimit: switch to proc_create_{seq,single}_data
        neigh: switch to proc_create_seq_data
        hostap: switch to proc_create_{seq,single}_data
        bonding: switch to proc_create_seq_data
        rtc/proc: switch to proc_create_single_data
        drbd: switch to proc_create_single
        resource: switch to proc_create_seq_data
        staging/rtl8192u: simplify procfs code
        jfs: simplify procfs code
        ...
      cf626b0d
    • L
      Merge branch 'work.rmdir' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9c50eafc
      Linus Torvalds 提交于
      Pull rmdir update from Al Viro:
       "More shrink_dcache_parent()-related stuff - killing the main source of
        potentially contended calls of that on large subtrees"
      
      * 'work.rmdir' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        rmdir(),rename(): do shrink_dcache_parent() only on success
      9c50eafc
  2. 04 6月, 2018 8 次提交
    • L
      Merge branch 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 06c86e66
      Linus Torvalds 提交于
      Pull dcache updates from Al Viro:
       "This is the first part of dealing with livelocks etc around
        shrink_dcache_parent()."
      
      * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        restore cond_resched() in shrink_dcache_parent()
        dput(): turn into explicit while() loop
        dcache: move cond_resched() into the end of __dentry_kill()
        d_walk(): kill 'finish' callback
        d_invalidate(): unhash immediately
      06c86e66
    • L
      Merge tag 'for-4.18/block-20180603' of git://git.kernel.dk/linux-block · f459c345
      Linus Torvalds 提交于
      Pull block updates from Jens Axboe:
      
       - clean up how we pass around gfp_t and
         blk_mq_req_flags_t (Christoph)
      
       - prepare us to defer scheduler attach (Christoph)
      
       - clean up drivers handling of bounce buffers (Christoph)
      
       - fix timeout handling corner cases (Christoph/Bart/Keith)
      
       - bcache fixes (Coly)
      
       - prep work for bcachefs and some block layer optimizations (Kent).
      
       - convert users of bio_sets to using embedded structs (Kent).
      
       - fixes for the BFQ io scheduler (Paolo/Davide/Filippo)
      
       - lightnvm fixes and improvements (Matias, with contributions from Hans
         and Javier)
      
       - adding discard throttling to blk-wbt (me)
      
       - sbitmap blk-mq-tag handling (me/Omar/Ming).
      
       - remove the sparc jsflash block driver, acked by DaveM.
      
       - Kyber scheduler improvement from Jianchao, making it more friendly
         wrt merging.
      
       - conversion of symbolic proc permissions to octal, from Joe Perches.
         Previously the block parts were a mix of both.
      
       - nbd fixes (Josef and Kevin Vigor)
      
       - unify how we handle the various kinds of timestamps that the block
         core and utility code uses (Omar)
      
       - three NVMe pull requests from Keith and Christoph, bringing AEN to
         feature completeness, file backed namespaces, cq/sq lock split, and
         various fixes
      
       - various little fixes and improvements all over the map
      
      * tag 'for-4.18/block-20180603' of git://git.kernel.dk/linux-block: (196 commits)
        blk-mq: update nr_requests when switching to 'none' scheduler
        block: don't use blocking queue entered for recursive bio submits
        dm-crypt: fix warning in shutdown path
        lightnvm: pblk: take bitmap alloc. out of critical section
        lightnvm: pblk: kick writer on new flush points
        lightnvm: pblk: only try to recover lines with written smeta
        lightnvm: pblk: remove unnecessary bio_get/put
        lightnvm: pblk: add possibility to set write buffer size manually
        lightnvm: fix partial read error path
        lightnvm: proper error handling for pblk_bio_add_pages
        lightnvm: pblk: fix smeta write error path
        lightnvm: pblk: garbage collect lines with failed writes
        lightnvm: pblk: rework write error recovery path
        lightnvm: pblk: remove dead function
        lightnvm: pass flag on graceful teardown to targets
        lightnvm: pblk: check for chunk size before allocating it
        lightnvm: pblk: remove unnecessary argument
        lightnvm: pblk: remove unnecessary indirection
        lightnvm: pblk: return NVM_ error on failed submission
        lightnvm: pblk: warn in case of corrupted write buffer
        ...
      f459c345
    • M
      869619e6
    • M
      16c10b3b
    • L
      Linux 4.17 · 29dcea88
      Linus Torvalds 提交于
      29dcea88
    • L
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 325e14f9
      Linus Torvalds 提交于
      Pull vfs fixes from Al Viro.
      
       - fix io_destroy()/aio_complete() race
      
       - the vfs_open() change to get rid of open_check_o_direct() boilerplate
         was nice, but buggy. Al has a patch avoiding a revert, but that's
         definitely not a last-day fodder, so for now revert it is...
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        Revert "fs: fold open_check_o_direct into do_dentry_open"
        fix io_destroy()/aio_complete() race
      325e14f9
    • A
      Revert "fs: fold open_check_o_direct into do_dentry_open" · af04fadc
      Al Viro 提交于
      This reverts commit cab64df1.
      
      Having vfs_open() in some cases drop the reference to
      struct file combined with
      
      	error = vfs_open(path, f, cred);
      	if (error) {
      		put_filp(f);
      		return ERR_PTR(error);
      	}
      	return f;
      
      is flat-out wrong.  It used to be
      
      		error = vfs_open(path, f, cred);
      		if (!error) {
      			/* from now on we need fput() to dispose of f */
      			error = open_check_o_direct(f);
      			if (error) {
      				fput(f);
      				f = ERR_PTR(error);
      			}
      		} else {
      			put_filp(f);
      			f = ERR_PTR(error);
      		}
      
      and sure, having that open_check_o_direct() boilerplate gotten rid of is
      nice, but not that way...
      
      Worse, another call chain (via finish_open()) is FUBAR now wrt
      FILE_OPENED handling - in that case we get error returned, with file
      already hit by fput() *AND* FILE_OPENED not set.  Guess what happens in
      path_openat(), when it hits
      
      	if (!(opened & FILE_OPENED)) {
      		BUG_ON(!error);
      		put_filp(file);
      	}
      
      The root cause of all that crap is that the callers of do_dentry_open()
      have no way to tell which way did it fail; while that could be fixed up
      (by passing something like int *opened to do_dentry_open() and have it
      marked if we'd called ->open()), it's probably much too late in the
      cycle to do so right now.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      af04fadc
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 874cd339
      Linus Torvalds 提交于
      Pull scheduler fixes from Thomas Gleixner:
      
       - two patches addressing the problem that the scheduler allows under
         certain conditions user space tasks to be scheduled on CPUs which are
         not yet fully booted which causes a few subtle and hard to debug
         issue
      
       - add a missing runqueue clock update in the deadline scheduler which
         triggers a warning under certain circumstances
      
       - fix a silly typo in the scheduler header file
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/headers: Fix typo
        sched/deadline: Fix missing clock update
        sched/core: Require cpu_active() in select_task_rq(), for user tasks
        sched/core: Fix rules for running on online && !active CPUs
      874cd339
  3. 03 6月, 2018 17 次提交
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 26bdace7
      Linus Torvalds 提交于
      Pull perf tooling fixes from Thomas Gleixner:
      
       - fix 'perf test Session topology' segfault on s390 (Thomas Richter)
      
       - fix NULL return handling in bpf__prepare_load() (YueHaibing)
      
       - fix indexing on Coresight ETM packet queue decoder (Mathieu Poirier)
      
       - fix perf.data format description of NRCPUS header (Arnaldo Carvalho
         de Melo)
      
       - update perf.data documentation section on cpu topology
      
       - handle uncore event aliases in small groups properly (Kan Liang)
      
       - add missing perf_sample.addr into python sample dictionary (Leo Yan)
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf tools: Fix perf.data format description of NRCPUS header
        perf script python: Add addr into perf sample dict
        perf data: Update documentation section on cpu topology
        perf cs-etm: Fix indexing for decoder packet queue
        perf bpf: Fix NULL return handling in bpf__prepare_load()
        perf test: "Session topology" dumps core on s390
        perf parse-events: Handle uncore event aliases in small groups properly
      26bdace7
    • M
      blk-mq: update nr_requests when switching to 'none' scheduler · 32a50fab
      Ming Lei 提交于
      Now we setup q->nr_requests when switching to one new scheduler,
      but not do it for 'none', then q->nr_requests may not be correct
      for 'none'.
      
      This patch fixes this issue by always updating 'nr_requests' when
      switching to 'none'.
      
      Cc: Marco Patalano <mpatalan@redhat.com>
      Cc: "Ewan D. Milne" <emilne@redhat.com>
      Signed-off-by: NMing Lei <ming.lei@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      32a50fab
    • J
      block: don't use blocking queue entered for recursive bio submits · cd4a4ae4
      Jens Axboe 提交于
      If we end up splitting a bio and the queue goes away between
      the initial submission and the later split submission, then we
      can block forever in blk_queue_enter() waiting for the reference
      to drop to zero. This will never happen, since we already hold
      a reference.
      
      Mark a split bio as already having entered the queue, so we can
      just use the live non-blocking queue enter variant.
      
      Thanks to Tetsuo Handa for the analysis.
      
      Reported-by: syzbot+c4f9cebf9d651f6e54de@syzkaller.appspotmail.com
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      cd4a4ae4
    • K
      dm-crypt: fix warning in shutdown path · d00a11df
      Kent Overstreet 提交于
      The counter for the number of allocated pages includes pages in the
      mempool's reserve, so checking that the number of allocated pages is 0
      needs to happen after we exit the mempool.
      
      Fixes: 6f1c819c ("dm: convert to bioset_init()/mempool_init()")
      Signed-off-by: NKent Overstreet <kent.overstreet@gmail.com>
      Reported-by: NKrzysztof Kozlowski <krzk@kernel.org>
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      
      Fixed to always just use percpu_counter_sum()
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      d00a11df
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 918fe1b3
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Infinite loop in _decode_session6(), from Eric Dumazet.
      
       2) Pass correct argument to nla_strlcpy() in netfilter, also from Eric
          Dumazet.
      
       3) Out of bounds memory access in ipv6 srh code, from Mathieu Xhonneux.
      
       4) NULL deref in XDP_REDIRECT handling of tun driver, from Toshiaki
          Makita.
      
       5) Incorrect idr release in cls_flower, from Paul Blakey.
      
       6) Probe error handling fix in davinci_emac, from Dan Carpenter.
      
       7) Memory leak in XPS configuration, from Alexander Duyck.
      
       8) Use after free with cloned sockets in kcm, from Kirill Tkhai.
      
       9) MTU handling fixes fo ip_tunnel and ip6_tunnel, from Nicolas
          Dichtel.
      
      10) Fix UAPI hole in bpf data structure for 32-bit compat applications,
          from Daniel Borkmann.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (33 commits)
        bpf: fix uapi hole for 32 bit compat applications
        net: usb: cdc_mbim: add flag FLAG_SEND_ZLP
        ip6_tunnel: remove magic mtu value 0xFFF8
        ip_tunnel: restore binding to ifaces with a large mtu
        net: dsa: b53: Add BCM5389 support
        kcm: Fix use-after-free caused by clonned sockets
        net-sysfs: Fix memory leak in XPS configuration
        ixgbe: fix parsing of TC actions for HW offload
        net: ethernet: davinci_emac: fix error handling in probe()
        net/ncsi: Fix array size in dumpit handler
        cls_flower: Fix incorrect idr release when failing to modify rule
        net/sonic: Use dma_mapping_error()
        xfrm Fix potential error pointer dereference in xfrm_bundle_create.
        vhost_net: flush batched heads before trying to busy polling
        tun: Fix NULL pointer dereference in XDP redirect
        be2net: Fix error detection logic for BE3
        net: qmi_wwan: Add Netgear Aircard 779S
        mlxsw: spectrum: Forbid creation of VLAN 1 over port/LAG
        atm: zatm: fix memcmp casting
        iwlwifi: pcie: compare with number of IRQs requested for, not number of CPUs
        ...
      918fe1b3
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · e0255aec
      Linus Torvalds 提交于
      Pull SCSI fix from James Bottomley:
       "Eve of merge window fix: The original code was so bogus as to be
        casting the wrong generic device to an rport and proceeding to take
        actions based on the bogus values it found.
      
        Fortunately it seems the location that is dereferenced always exists,
        so the code hasn't oopsed yet, but it certainly annoys the memory
        checkers"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: scsi_transport_srp: Fix shost to rport translation
      e0255aec
    • L
      Merge tag 'drm-fixes-for-v4.17-rc8' of git://people.freedesktop.org/~airlied/linux · ada7339e
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "A few final fixes:
      
        i915:
         - fix for potential Spectre vector in the new query uAPI
         - fix NULL pointer deref (FDO #106559)
         - DMI fix to hide LVDS for Radiant P845 (FDO #105468)
      
        amdgpu:
         - suspend/resume DC regression fix
         - underscan flicker fix on fiji
         - gamma setting fix after dpms
      
        omap:
         - fix oops regression
      
        core:
         - fix PSR timing
      
        dw-hdmi:
         - fix oops regression"
      
      * tag 'drm-fixes-for-v4.17-rc8' of git://people.freedesktop.org/~airlied/linux:
        drm/amd/display: Update color props when modeset is required
        drm/amd/display: Make atomic-check validate underscan changes
        drm/bridge/synopsys: dw-hdmi: fix dw_hdmi_setup_rx_sense
        drm/amd/display: Fix BUG_ON during CRTC atomic check update
        drm/i915/query: nospec expects no more than an unsigned long
        drm/i915/query: Protect tainted function pointer lookup
        drm/i915/lvds: Move acpi lid notification registration to registration phase
        drm/i915: Disable LVDS on Radiant P845
        drm/omap: fix NULL deref crash with SDI displays
        drm/psr: Fix missed entry in PSR setup time table.
      ada7339e
    • D
      Merge branch 'drm-fixes-4.17' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 012cface
      Dave Airlie 提交于
      Two last minute DC fixes for 4.17.  A fix for underscan on fiji and
      a fix for gamma settings getting after dpms.
      
      * 'drm-fixes-4.17' of git://people.freedesktop.org/~agd5f/linux:
        drm/amd/display: Update color props when modeset is required
        drm/amd/display: Make atomic-check validate underscan changes
      012cface
    • L
      Merge tag 'mips_fixes_4.17_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 4277e6b9
      Linus Torvalds 提交于
      Pull MIPS fixes from James Hogan:
       "A final few MIPS fixes for 4.17:
      
         - drop Lantiq gphy reboot/remove reset (4.14)
      
         - prctl(PR_SET_FP_MODE): Disallow PRE without FR (4.0)
      
         - ptrace(PTRACE_PEEKUSR): Fix 64-bit FGRs (3.15)"
      
      * tag 'mips_fixes_4.17_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs
        MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests
        MIPS: lantiq: gphy: Drop reboot/remove reset asserts
      4277e6b9
    • L
      Merge tag 'vfio-v4.17' of git://github.com/awilliam/linux-vfio · 7172a69c
      Linus Torvalds 提交于
      Pull VFIO fix from Alex Williamson:
       "Revert a pfn page mapping optimization identified as introducing a bad
        page state regression (Alex Williamson)"
      
      * tag 'vfio-v4.17' of git://github.com/awilliam/linux-vfio:
        Revert "vfio/type1: Improve memory pinning process for raw PFN mapping"
      7172a69c
    • L
      Merge tag 'char-misc-4.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 6ac9f42c
      Linus Torvalds 提交于
      Pull char/misc driver fixes from Greg KH:
       "Here are four small bugfixes for some char/misc drivers. Well, really
        three fixes and one fix for one of those fixes due to problems found
        by 0-day.
      
        This resolves some reported issues with the hwtracing drivers, and a
        reported regression for the thunderbolt subsystem. All of these have
        been in linux-next for a while now with no reported problems"
      
      * tag 'char-misc-4.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        hwtracing: stm: fix build error on some arches
        intel_th: Use correct device when freeing buffers
        stm class: Use vmalloc for the master map
        thunderbolt: Handle NULL boot ACL entries properly
      6ac9f42c
    • L
      Merge tag 'staging-4.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 34a8e640
      Linus Torvalds 提交于
      Pull IIO driver fixes from Greg KH:
       "Here are some old IIO driver fixes that were sitting in my tree for a
        few weeks. Sorry about not getting them to you sooner. They fix a
        number of small IIO driver issues that have been reported.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-4.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        iio: adc: select buffer for at91-sama5d2_adc
        iio: hid-sensor-trigger: Fix sometimes not powering up the sensor after resume
        iio: adc: at91-sama5d2_adc: fix channel configuration for differential channels
        iio:kfifo_buf: check for uint overflow
        iio:buffer: make length types match kfifo types
        iio: adc: stm32-dfsdm: fix sample rate for div2 spi clock
        iio: adc: stm32-dfsdm: fix successive oversampling settings
        iio: ad7793: implement IIO_CHAN_INFO_SAMP_FREQ
      34a8e640
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 7fdf3e86
      Linus Torvalds 提交于
      Pull rdma fixes from Jason Gunthorpe:
       "Just three small last minute regressions that were found in the last
        week. The Broadcom fix is a bit big for rc7, but since it is fixing
        driver crash regressions that were merged via netdev into rc1, I am
        sending it.
      
         - bnxt netdev changes merged this cycle caused the bnxt RDMA driver
           to crash under certain situations
      
         - Arnd found (several, unfortunately) kconfig problems with the
           patches adding INFINIBAND_ADDR_TRANS. Reverting this last part,
           will fix it more fully outside -rc.
      
         - Subtle change in error code for a uapi function caused breakage in
           userspace. This was bug was subtly introduced cycle"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        IB/core: Fix error code for invalid GID entry
        IB: Revert "remove redundant INFINIBAND kconfig dependencies"
        RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes
      7fdf3e86
    • L
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · a36b7968
      Linus Torvalds 提交于
      Pull i2c fixes from Wolfram Sang:
       "A documentation bugfix and a MAINTAINERS addition"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: ocores: update HDL sources URL
        i2c: xlp9xx: Add MAINTAINERS entry
      a36b7968
    • L
      Merge branch 'akpm' (patches from Andrew) · 0938a8f5
      Linus Torvalds 提交于
      Merge two fixes from Andrew Morton.
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm: fix the NULL mapping case in __isolate_lru_page()
        mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()
      0938a8f5
    • H
      mm: fix the NULL mapping case in __isolate_lru_page() · 145e1a71
      Hugh Dickins 提交于
      George Boole would have noticed a slight error in 4.16 commit
      69d763fc ("mm: pin address_space before dereferencing it while
      isolating an LRU page").  Fix it, to match both the comment above it,
      and the original behaviour.
      
      Although anonymous pages are not marked PageDirty at first, we have an
      old habit of calling SetPageDirty when a page is removed from swap
      cache: so there's a category of ex-swap pages that are easily
      migratable, but were inadvertently excluded from compaction's async
      migration in 4.16.
      
      Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1805302014001.12558@eggly.anvils
      Fixes: 69d763fc ("mm: pin address_space before dereferencing it while isolating an LRU page")
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Acked-by: NMinchan Kim <minchan@kernel.org>
      Acked-by: NMel Gorman <mgorman@techsingularity.net>
      Reported-by: NIvan Kalvachev <ikalvachev@gmail.com>
      Cc: "Huang, Ying" <ying.huang@intel.com>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      145e1a71
    • H
      mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty() · 2d077d4b
      Hugh Dickins 提交于
      Swapping load on huge=always tmpfs (with khugepaged tuned up to be very
      eager, but I'm not sure that is relevant) soon hung uninterruptibly,
      waiting for page lock in shmem_getpage_gfp()'s find_lock_entry(), most
      often when "cp -a" was trying to write to a smallish file.  Debug showed
      that the page in question was not locked, and page->mapping NULL by now,
      but page->index consistent with having been in a huge page before.
      
      Reproduced in minutes on a 4.15 kernel, even with 4.17's 605ca5ed
      ("mm/huge_memory.c: reorder operations in __split_huge_page_tail()") added
      in; but took hours to reproduce on a 4.17 kernel (no idea why).
      
      The culprit proved to be the __ClearPageDirty() on tails beyond i_size in
      __split_huge_page(): the non-atomic __bitoperation may have been safe when
      4.8's baa355fd ("thp: file pages support for split_huge_page()")
      introduced it, but liable to erase PageWaiters after 4.10's 62906027
      ("mm: add PageWaiters indicating tasks are waiting for a page bit").
      
      Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1805291841070.3197@eggly.anvils
      Fixes: 62906027 ("mm: add PageWaiters indicating tasks are waiting for a page bit")
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Acked-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
      Cc: Nicholas Piggin <npiggin@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2d077d4b
  4. 02 6月, 2018 5 次提交
    • A
      Revert "vfio/type1: Improve memory pinning process for raw PFN mapping" · 89c29def
      Alex Williamson 提交于
      Bisection by Amadeusz Sławiński implicates this commit leading to bad
      page state issues after VM shutdown, likely due to unbalanced page
      references.  The original commit was intended only as a performance
      improvement, therefore revert for offline rework.
      
      Link: https://lkml.org/lkml/2018/6/2/97
      Fixes: 356e88eb ("vfio/type1: Improve memory pinning process for raw PFN mapping")
      Cc: Jason Cai (Xiang Feng) <jason.cai@linux.alibaba.com>
      Reported-by: NAmadeusz Sławiński <amade@asmblr.net>
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      89c29def
    • D
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · cd075ce4
      David S. Miller 提交于
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf 2018-06-02
      
      The following pull-request contains BPF updates for your *net* tree.
      
      The main changes are:
      
      1) BPF uapi fix in struct bpf_prog_info and struct bpf_map_info in
         order to fix offsets on 32 bit archs.
      
      This will have a minor merge conflict with net-next which has the
      __u32 gpl_compatible:1 bitfield in struct bpf_prog_info at this
      location. Resolution is to use the gpl_compatible member.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd075ce4
    • D
      bpf: fix uapi hole for 32 bit compat applications · 36f9814a
      Daniel Borkmann 提交于
      In 64 bit, we have a 4 byte hole between ifindex and netns_dev in the
      case of struct bpf_map_info but also struct bpf_prog_info. In net-next
      commit b85fab0e ("bpf: Add gpl_compatible flag to struct bpf_prog_info")
      added a bitfield into it to expose some flags related to programs. Thus,
      add an unnamed __u32 bitfield for both so that alignment keeps the same
      in both 32 and 64 bit cases, and can be naturally extended from there
      as in b85fab0e.
      
      Before:
      
        # file test.o
        test.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
        # pahole test.o
        struct bpf_map_info {
      	__u32                      type;                 /*     0     4 */
      	__u32                      id;                   /*     4     4 */
      	__u32                      key_size;             /*     8     4 */
      	__u32                      value_size;           /*    12     4 */
      	__u32                      max_entries;          /*    16     4 */
      	__u32                      map_flags;            /*    20     4 */
      	char                       name[16];             /*    24    16 */
      	__u32                      ifindex;              /*    40     4 */
      	__u64                      netns_dev;            /*    44     8 */
      	__u64                      netns_ino;            /*    52     8 */
      
      	/* size: 64, cachelines: 1, members: 10 */
      	/* padding: 4 */
        };
      
      After (same as on 64 bit):
      
        # file test.o
        test.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
        # pahole test.o
        struct bpf_map_info {
      	__u32                      type;                 /*     0     4 */
      	__u32                      id;                   /*     4     4 */
      	__u32                      key_size;             /*     8     4 */
      	__u32                      value_size;           /*    12     4 */
      	__u32                      max_entries;          /*    16     4 */
      	__u32                      map_flags;            /*    20     4 */
      	char                       name[16];             /*    24    16 */
      	__u32                      ifindex;              /*    40     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	__u64                      netns_dev;            /*    48     8 */
      	__u64                      netns_ino;            /*    56     8 */
      	/* --- cacheline 1 boundary (64 bytes) --- */
      
      	/* size: 64, cachelines: 1, members: 10 */
      	/* sum members: 60, holes: 1, sum holes: 4 */
        };
      Reported-by: NDmitry V. Levin <ldv@altlinux.org>
      Reported-by: NEugene Syromiatnikov <esyr@redhat.com>
      Fixes: 52775b33 ("bpf: offload: report device information about offloaded maps")
      Fixes: 675fc275 ("bpf: offload: report device information for offloaded programs")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      36f9814a
    • D
      net: usb: cdc_mbim: add flag FLAG_SEND_ZLP · 9f7c7283
      Daniele Palmas 提交于
      Testing Telit LM940 with ICMP packets > 14552 bytes revealed that
      the modem needs FLAG_SEND_ZLP to properly work, otherwise the cdc
      mbim data interface won't be anymore responsive.
      Signed-off-by: NDaniele Palmas <dnlplm@gmail.com>
      Acked-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9f7c7283
    • D
      Merge branch 'tunnel-mtus' · 8a118015
      David S. Miller 提交于
      Nicolas Dichtel says:
      
      ====================
      ip[6] tunnels: fix mtu calculations
      
      The first patch restores the possibility to bind an ip4 tunnel to an
      interface whith a large mtu.
      The second patch was spotted after the first fix. I also target it to net
      because it fixes the max mtu value that can be used for ipv6 tunnels.
      
      v2: remove the 0xfff8 in ip_tunnel_newlink()
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8a118015