Skip to content
  1. May 15, 2019
    • Sabrina Dubroca's avatar
      rtnetlink: always put IFLA_LINK for links with a link-netnsid · feadc4b6
      Sabrina Dubroca authored
      
      
      Currently, nla_put_iflink() doesn't put the IFLA_LINK attribute when
      iflink == ifindex.
      
      In some cases, a device can be created in a different netns with the
      same ifindex as its parent. That device will not dump its IFLA_LINK
      attribute, which can confuse some userspace software that expects it.
      For example, if the last ifindex created in init_net and foo are both
      8, these commands will trigger the issue:
      
          ip link add parent type dummy                   # ifindex 9
          ip link add link parent netns foo type macvlan  # ifindex 9 in ns foo
      
      So, in case a device puts the IFLA_LINK_NETNSID attribute in a dump,
      always put the IFLA_LINK attribute as well.
      
      Thanks to Dan Winship for analyzing the original OpenShift bug down to
      the missing netlink attribute.
      
      v2: change Fixes tag, it's been here forever, as Nicolas Dichtel said
          add Nicolas' ack
      v3: change Fixes tag
          fix subject typo, spotted by Edward Cree
      
      Analyzed-by: default avatarDan Winship <danw@redhat.com>
      Fixes: d8a5ec67
      
       ("[NET]: netlink support for moving devices between network namespaces.")
      Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Acked-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      feadc4b6
    • Yunjian Wang's avatar
      net/mlx4_core: Change the error print to info print · 00f9fec4
      Yunjian Wang authored
      The error print within mlx4_flow_steer_promisc_add() should
      be a info print.
      
      Fixes: 592e49dd
      
       ('net/mlx4: Implement promiscuous mode with device managed flow-steering')
      Signed-off-by: default avatarYunjian Wang <wangyunjian@huawei.com>
      Reviewed-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      00f9fec4
    • Johannes Berg's avatar
      NFC: Orphan the subsystem · d0a7e8cb
      Johannes Berg authored
      
      
      Samuel clearly hasn't been working on this in many years and
      patches getting to the wireless list are just being ignored
      entirely now. Mark the subsystem as orphan to reflect the
      current state and revert back to the netdev list so at least
      some fixes can be picked up by Dave.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Acked-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d0a7e8cb
    • Florian Fainelli's avatar
      net: Always descend into dsa/ · 0fe9f173
      Florian Fainelli authored
      
      
      Jiri reported that with a kernel built with CONFIG_FIXED_PHY=y,
      CONFIG_NET_DSA=m and CONFIG_NET_DSA_LOOP=m, we would not get to a
      functional state where the mock-up driver is registered. Turns out that
      we are not descending into drivers/net/dsa/ unconditionally, and we
      won't be able to link-in dsa_loop_bdinfo.o which does the actual mock-up
      mdio device registration.
      
      Reported-by: default avatarJiri Pirko <jiri@resnulli.us>
      Fixes: 40013ff2
      
       ("net: dsa: Fix functional dsa-loop dependency on FIXED_PHY")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: default avatarVivien Didelot <vivien.didelot@gmail.com>
      Tested-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0fe9f173
    • Yuchung Cheng's avatar
      tcp: fix retrans timestamp on passive Fast Open · cd736d8b
      Yuchung Cheng authored
      Commit c7d13c8f ("tcp: properly track retry time on
      passive Fast Open") sets the start of SYNACK retransmission
      time on passive Fast Open in "retrans_stamp". However the
      timestamp is not reset upon the handshake has completed. As a
      result, future data packet retransmission may not update it in
      tcp_retransmit_skb(). This may lead to socket aborting earlier
      unexpectedly by retransmits_timed_out() since retrans_stamp remains
      the SYNACK rtx time.
      
      This bug only manifests on passive TFO sender that a) suffered
      SYNACK timeout and then b) stalls on very first loss recovery. Any
      successful loss recovery would reset the timestamp to avoid this
      issue.
      
      Fixes: c7d13c8f
      
       ("tcp: properly track retry time on passive Fast Open")
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cd736d8b
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 35c99ffa
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - enable packed ring support for s390
      
       - several fixes
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio/s390: enable packed ring
        virtio/s390: DMA support for virtio-ccw
        virtio/s390: use vring_create_virtqueue
        virtio/virtio_ring: do some comment fixes
        vhost-scsi: remove incorrect memory barrier
        tools/virtio/ringtest: Remove bogus definition of BUG_ON()
        virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packed
      35c99ffa
    • Linus Torvalds's avatar
      Add gitignore file for samples/vfs/ generated files · 81413776
      Linus Torvalds authored
      Commit f1b5618e
      
       ("vfs: Add a sample program for the new mount API")
      added sample programs that get built during the kernel build, but then
      cause 'git status' to worry about whether the resulting binaries should
      be managed by git.
      
      Tell git not to worry, and to ignore the sample binaries.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      81413776
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · b2c91128
      Linus Torvalds authored
      Pull more parisc updates from Helge Deller:
       "Two small enhancements, which I didn't included in the last pull
        request because I wanted to keep them a few more days in for-next
        before sending upstream:
      
         - Replace the ldcw barrier instruction by a nop instruction in the
           CAS code on uniprocessor machines.
      
         - Map variables read-only after init (enable ro_after_init feature)"
      
      * 'parisc-5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Use __ro_after_init in init.c
        parisc: Use __ro_after_init in unwind.c
        parisc: Use __ro_after_init in time.c
        parisc: Use __ro_after_init in processor.c
        parisc: Use __ro_after_init in process.c
        parisc: Use __ro_after_init in perf_images.h
        parisc: Use __ro_after_init in pci.c
        parisc: Use __ro_after_init in inventory.c
        parisc: Use __ro_after_init in head.S
        parisc: Use __ro_after_init in firmware.c
        parisc: Use __ro_after_init in drivers.c
        parisc: Use __ro_after_init in cache.c
        parisc: Enable the ro_after_init feature
        parisc: Drop LDCW barrier in CAS code when running UP
      b2c91128
    • Linus Torvalds's avatar
      Merge tag 'kgdb-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux · ca4b4062
      Linus Torvalds authored
      Pull kgdb updates from Daniel Thompson:
       "Mostly cleanups but there are also a couple of fixes for out-of-bounds
        accesses (including a potential write to the byte before a static
        buffer).
      
        The main changes are:
      
         - Fixes to those out-of-bounds access (empty string to configure test
           module could write the byte before a buffer, high cpu counts could
           read outside of per-cpu structures).
      
         - Improvements to string handling problems picked up by new compiler
           warnings and other static checks. Most are fixing benign issues
           that can't be tickled without code changes but still reduce the wtf
           factor a little.
      
         - Tidy up the terminal output"
      
      * tag 'kgdb-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
        kdb: Fix bound check compiler warning
        kdb: do a sanity check on the cpu in kdb_per_cpu()
        kdb: Get rid of broken attempt to print CCVERSION in kdb summary
        misc: kgdbts: fix out-of-bounds access in function param_set_kgdbts_var
        kdb: kdb_support: replace strcpy() by strscpy()
        gdbstub: Replace strcpy() by strscpy()
        gdbstub: mark expected switch fall-throughs
      ca4b4062
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 280664f5
      Linus Torvalds authored
      Pull modules updates from Jessica Yu:
      
       - Use a separate table to store symbol types instead of hijacking
         fields in struct Elf_Sym
      
       - Trivial code cleanups
      
      * tag 'modules-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: add stubs for within_module functions
        kallsyms: store type information in its own array
        vmlinux.lds.h: drop unused __vermagic
      280664f5
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · e0654264
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Fix-ups:
         - Remove unused BACKLIGHT_LCD_SUPPORT symbol
         - Remove unused BACKLIGHT_CLASS_DEVICE dependencies
         - Add DT support to lm3630a_bl
      
        Bug Fixes:
         - Fix error path issues in lm3630a_bl"
      
      * tag 'backlight-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: lm3630a: Add firmware node support
        dt-bindings: backlight: Add lm3630a bindings
        backlight: lm3630a: Return 0 on success in update_status functions
        video: lcd: Remove useless BACKLIGHT_CLASS_DEVICE dependencies
        video: backlight: Remove useless BACKLIGHT_LCD_SUPPORT kernel symbol
      e0654264
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · ebcf5bb2
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "Core Framework:
         - Document (kerneldoc) core mfd_add_devices() API
      
        New Drivers:
         - Altera SOCFPGA System Manager
         - Maxim MAX77650/77651 PMIC
         - Maxim MAX77663 PMIC
         - ST Multi-Function eXpander (STMFX)
      
        New Device Support:
         - LEDs support in Intel Cherry Trail Whiskey Cove PMIC
         - RTC support in SAMSUNG Electronics S2MPA01 PMIC
         - SAM9X60 support in Atmel HLCDC (High-end LCD Controller)
         - USB X-Powers AXP 8xx PMICs
         - Integrated Sensor Hub (ISH) in ChromeOS EC
         - USB PD Logger in ChromeOS EC
         - AXP223 in X-Powers AXP series PMICs
         - Power Supply in X-Powers AXP 803 PMICs
         - Comet Lake in Intel Low Power Subsystem
         - Fingerprint MCU in ChromeOS EC
         - Touchpad MCU in ChromeOS EC
         - Move TI LM3532 support to LED
      
        New Functionality:
         - max77650, max77620: Add/extend DT support
         - max77620 power-off
         - syscon clocking
         - croc_ec host sleep event
      
        Fix-ups:
         - Trivial; Formatting, spelling, etc; Kconfig, sec-core, ab8500-debugfs
         - Remove unused functionality; rk808, da9063-*
         - SPDX conversion; da9063-*, atmel-*,
         - Adapt/add new register definitions; cs47l35-tables, cs47l90-tables, imx6q-iomuxc-gpr
         - Fix-up DT bindings; ti-lmu, cirrus,lochnagar
         - Simply obtaining driver data; ssbi, t7l66xb, tc6387xb, tc6393xb
      
        Bug Fixes:
         - Fix incorrect defined values; max77620, da9063
         - Fix device initialisation; twl6040
         - Reset device on init; intel-lpss
         - Fix build warnings when !OF; sun6i-prcm
         - Register OF match tables; tps65912-spi
         - Fix DMI matching; intel_quark_i2c_gpio"
      
      * tag 'mfd-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (65 commits)
        mfd: Use dev_get_drvdata() directly
        mfd: cros_ec: Instantiate properly CrOS Touchpad MCU device
        mfd: cros_ec: Instantiate properly CrOS FP MCU device
        mfd: cros_ec: Update the EC feature codes
        mfd: intel-lpss: Add Intel Comet Lake PCI IDs
        mfd: lochnagar: Add links to binding docs for sound and hwmon
        mfd: ab8500-debugfs: Fix a typo ("deubgfs")
        mfd: imx6sx: Add MQS register definition for iomuxc gpr
        dt-bindings: mfd: LMU: Fix lm3632 dt binding example
        mfd: intel_quark_i2c_gpio: Adjust IOT2000 matching
        mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L
        mfd: tps65912-spi: Add missing of table registration
        mfd: axp20x: Add USB power supply mfd cell to AXP803
        mfd: sun6i-prcm: Fix build warning for non-OF configurations
        mfd: intel-lpss: Set the device in reset state when init
        platform/chrome: Add support for v1 of host sleep event
        mfd: cros_ec: Add host_sleep_event_v1 command
        mfd: cros_ec: Instantiate the CrOS USB PD logger driver
        mfd: cs47l90: Make DAC_AEC_CONTROL_2 readable
        mfd: cs47l35: Make DAC_AEC_CONTROL_2 readable
        ...
      ebcf5bb2
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 414147d9
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration changes:
      
         - Add _HPX Type 3 settings support, which gives firmware more
           influence over device configuration (Alexandru Gagniuc)
      
         - Support fixed bus numbers from bridge Enhanced Allocation
           capabilities (Subbaraya Sundeep)
      
         - Add "external-facing" DT property to identify cases where we
           require IOMMU protection against untrusted devices (Jean-Philippe
           Brucker)
      
         - Enable PCIe services for host controller drivers that use managed
           host bridge alloc (Jean-Philippe Brucker)
      
         - Log PCIe port service messages with pci_dev, not the pcie_device
           (Frederick Lawler)
      
         - Convert pciehp from pciehp_debug module parameter to generic
           dynamic debug (Frederick Lawler)
      
        Peer-to-peer DMA:
      
         - Add whitelist of Root Complexes that support peer-to-peer DMA
           between Root Ports (Christian König)
      
        Native controller drivers:
      
         - Add PCI host bridge DMA ranges for bridges that can't DMA
           everywhere, e.g., iProc (Srinath Mannam)
      
         - Add Amazon Annapurna Labs PCIe host controller driver (Jonathan
           Chocron)
      
         - Fix Tegra MSI target allocation so DMA doesn't generate unwanted
           MSIs (Vidya Sagar)
      
         - Fix of_node reference leaks (Wen Yang)
      
         - Fix Hyper-V module unload & device removal issues (Dexuan Cui)
      
         - Cleanup R-Car driver (Marek Vasut)
      
         - Cleanup Keystone driver (Kishon Vijay Abraham I)
      
         - Cleanup i.MX6 driver (Andrey Smirnov)
      
        Significant bug fixes:
      
         - Reset Lenovo ThinkPad P50 GPU so nouveau works after reboot (Lyude
           Paul)
      
         - Fix Switchtec firmware update performance issue (Wesley Sheng)
      
         - Work around Pericom switch link retraining erratum (Stefan Mätje)"
      
      * tag 'pci-v5.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (141 commits)
        MAINTAINERS: Add Karthikeyan Mitran and Hou Zhiqiang for Mobiveil PCI
        PCI: pciehp: Remove pointless MY_NAME definition
        PCI: pciehp: Remove pointless PCIE_MODULE_NAME definition
        PCI: pciehp: Remove unused dbg/err/info/warn() wrappers
        PCI: pciehp: Log messages with pci_dev, not pcie_device
        PCI: pciehp: Replace pciehp_debug module param with dyndbg
        PCI: pciehp: Remove pciehp_debug uses
        PCI/AER: Log messages with pci_dev, not pcie_device
        PCI/DPC: Log messages with pci_dev, not pcie_device
        PCI/PME: Replace dev_printk(KERN_DEBUG) with dev_info()
        PCI/AER: Replace dev_printk(KERN_DEBUG) with dev_info()
        PCI: Replace dev_printk(KERN_DEBUG) with dev_info(), etc
        PCI: Replace printk(KERN_INFO) with pr_info(), etc
        PCI: Use dev_printk() when possible
        PCI: Cleanup setup-bus.c comments and whitespace
        PCI: imx6: Allow asynchronous probing
        PCI: dwc: Save root bus for driver remove hooks
        PCI: dwc: Use devm_pci_alloc_host_bridge() to simplify code
        PCI: dwc: Free MSI in dw_pcie_host_init() error path
        PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi()
        ...
      414147d9
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 318222a3
      Linus Torvalds authored
      Merge misc updates from Andrew Morton:
      
       - a few misc things and hotfixes
      
       - ocfs2
      
       - almost all of MM
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (139 commits)
        kernel/memremap.c: remove the unused device_private_entry_fault() export
        mm: delete find_get_entries_tag
        mm/huge_memory.c: make __thp_get_unmapped_area static
        mm/mprotect.c: fix compilation warning because of unused 'mm' variable
        mm/page-writeback: introduce tracepoint for wait_on_page_writeback()
        mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags
        mm/Kconfig: update "Memory Model" help text
        mm/vmscan.c: don't disable irq again when count pgrefill for memcg
        mm: memblock: make keeping memblock memory opt-in rather than opt-out
        hugetlbfs: always use address space in inode for resv_map pointer
        mm/z3fold.c: support page migration
        mm/z3fold.c: add structure for buddy handles
        mm/z3fold.c: improve compression by extending search
        mm/z3fold.c: introduce helper functions
        mm/page_alloc.c: remove unnecessary parameter in rmqueue_pcplist
        mm/hmm: add ARCH_HAS_HMM_MIRROR ARCH_HAS_HMM_DEVICE Kconfig
        mm/vmscan.c: simplify shrink_inactive_list()
        fs/sync.c: sync_file_range(2) may use WB_SYNC_ALL writeback
        xen/privcmd-buf.c: convert to use vm_map_pages_zero()
        xen/gntdev.c: convert to use vm_map_pages()
        ...
      318222a3
    • Christoph Hellwig's avatar
      kernel/memremap.c: remove the unused device_private_entry_fault() export · 640be2d1
      Christoph Hellwig authored
      
      
      This export has been entirely unused since it was added more than 1 1/2
      years ago.
      
      Link: http://lkml.kernel.org/r/20190429115535.12793-1-hch@lst.de
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarDan Williams <dan.j.williams@intel.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      640be2d1
    • Matthew Wilcox (Oracle)'s avatar
      mm: delete find_get_entries_tag · a1b8e6ab
      Matthew Wilcox (Oracle) authored
      
      
      I removed the only user of this and hadn't noticed it was now unused.
      
      Link: http://lkml.kernel.org/r/20190430152929.21813-1-willy@infradead.org
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Reviewed-by: default avatarRoss Zwisler <zwisler@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a1b8e6ab
    • Bharath Vedartham's avatar
      mm/huge_memory.c: make __thp_get_unmapped_area static · b3b07077
      Bharath Vedartham authored
      
      
      __thp_get_unmapped_area is only used in mm/huge_memory.c.  Make it static.
      Tested by building and booting the kernel.
      
      Link: http://lkml.kernel.org/r/20190504102353.GA22525@bharath12345-Inspiron-5559
      Signed-off-by: default avatarBharath Vedartham <linux.bhar@gmail.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b3b07077
    • Mike Rapoport's avatar
      mm/mprotect.c: fix compilation warning because of unused 'mm' variable · 94393c78
      Mike Rapoport authored
      Since 0cbe3e26
      
       ("mm: update ptep_modify_prot_start/commit to take
      vm_area_struct as arg") the only place that uses the local 'mm' variable
      in change_pte_range() is the call to set_pte_at().
      
      Many architectures define set_pte_at() as macro that does not use the 'mm'
      parameter, which generates the following compilation warning:
      
       CC      mm/mprotect.o
      mm/mprotect.c: In function 'change_pte_range':
      mm/mprotect.c:42:20: warning: unused variable 'mm' [-Wunused-variable]
        struct mm_struct *mm = vma->vm_mm;
                          ^~
      
      Fix it by passing vma->mm to set_pte_at() and dropping the local 'mm'
      variable in change_pte_range().
      
      [liu.song.a23@gmail.com: fix missed conversions]
        Link: http://lkml.kernel.org/r/CAPhsuW6wcQgYLHNdBdw6m0YiR4RWsS4XzfpSKU7wBLLeOCTbpw@mail.gmail.comLink: http://lkml.kernel.org/r/1557305432-4940-1-git-send-email-rppt@linux.ibm.com
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Song Liu <liu.song.a23@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94393c78
    • Yafang Shao's avatar
      mm/page-writeback: introduce tracepoint for wait_on_page_writeback() · 19343b5b
      Yafang Shao authored
      
      
      Recently there have been some hung tasks on our server due to
      wait_on_page_writeback(), and we want to know the details of this
      PG_writeback, i.e.  this page is writing back to which device.  But it is
      not so convenient to get the details.
      
      I think it would be better to introduce a tracepoint for diagnosing the
      writeback details.
      
      Link: http://lkml.kernel.org/r/1556274402-19018-1-git-send-email-laoar.shao@gmail.com
      Signed-off-by: default avatarYafang Shao <laoar.shao@gmail.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Michal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      19343b5b
    • Yafang Shao's avatar
      mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags · 60b62ff7
      Yafang Shao authored
      
      
      trace_reclaim_flags and trace_shrink_flags are almost the same.
      We can simplify them to avoid redundant code.
      
      Link: http://lkml.kernel.org/r/1556169203-5858-1-git-send-email-laoar.shao@gmail.com
      Signed-off-by: default avatarYafang Shao <laoar.shao@gmail.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      60b62ff7
    • Mike Rapoport's avatar
      mm/Kconfig: update "Memory Model" help text · d66d109d
      Mike Rapoport authored
      
      
      The help describing the memory model selection is outdated.  It still says
      that SPARSEMEM is experimental and DISCONTIGMEM is a preferred over
      SPARSEMEM.
      
      Update the help text for the relevant options:
      * add a generic help for the "Memory Model" prompt
      * add description for FLATMEM
      * reduce the description of DISCONTIGMEM and add a deprecation note
      * prefer SPARSEMEM over DISCONTIGMEM
      
      Link: http://lkml.kernel.org/r/1556188531-20728-1-git-send-email-rppt@linux.ibm.com
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d66d109d
    • Yafang Shao's avatar
      mm/vmscan.c: don't disable irq again when count pgrefill for memcg · 2fa2690c
      Yafang Shao authored
      
      
      We can use __count_memcg_events() directly because this callsite is alreay
      protected by spin_lock_irq().
      
      Link: http://lkml.kernel.org/r/1556093494-30798-1-git-send-email-laoar.shao@gmail.com
      Signed-off-by: default avatarYafang Shao <laoar.shao@gmail.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2fa2690c
    • Mike Rapoport's avatar
      mm: memblock: make keeping memblock memory opt-in rather than opt-out · 350e88ba
      Mike Rapoport authored
      
      
      Most architectures do not need the memblock memory after the page
      allocator is initialized, but only few enable ARCH_DISCARD_MEMBLOCK in the
      arch Kconfig.
      
      Replacing ARCH_DISCARD_MEMBLOCK with ARCH_KEEP_MEMBLOCK and inverting the
      logic makes it clear which architectures actually use memblock after
      system initialization and skips the necessity to add ARCH_DISCARD_MEMBLOCK
      to the architectures that are still missing that option.
      
      Link: http://lkml.kernel.org/r/1556102150-32517-1-git-send-email-rppt@linux.ibm.com
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Eric Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      350e88ba
    • Mike Kravetz's avatar
      hugetlbfs: always use address space in inode for resv_map pointer · f27a5136
      Mike Kravetz authored
      Continuing discussion about 58b6e5e8
      
       ("hugetlbfs: fix memory leak for
      resv_map") brought up the issue that inode->i_mapping may not point to the
      address space embedded within the inode at inode eviction time.  The
      hugetlbfs truncate routine handles this by explicitly using inode->i_data.
      However, code cleaning up the resv_map will still use the address space
      pointed to by inode->i_mapping.  Luckily, private_data is NULL for address
      spaces in all such cases today but, there is no guarantee this will
      continue.
      
      Change all hugetlbfs code getting a resv_map pointer to explicitly get it
      from the address space embedded within the inode.  In addition, add more
      comments in the code to indicate why this is being done.
      
      Link: http://lkml.kernel.org/r/20190419204435.16984-1-mike.kravetz@oracle.com
      Signed-off-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Reported-by: default avatarYufen Yu <yuyufen@huawei.com>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f27a5136
    • Vitaly Wool's avatar
      mm/z3fold.c: support page migration · 1f862989
      Vitaly Wool authored
      
      
      Now that we are not using page address in handles directly, we can make
      z3fold pages movable to decrease the memory fragmentation z3fold may
      create over time.
      
      This patch starts advertising non-headless z3fold pages as movable and
      uses the existing kernel infrastructure to implement moving of such pages
      per memory management subsystem's request.  It thus implements 3 required
      callbacks for page migration:
      
      * isolation callback: z3fold_page_isolate(): try to isolate the page by
        removing it from all lists.  Pages scheduled for some activity and
        mapped pages will not be isolated.  Return true if isolation was
        successful or false otherwise
      
      * migration callback: z3fold_page_migrate(): re-check critical
        conditions and migrate page contents to the new page provided by the
        memory subsystem.  Returns 0 on success or negative error code otherwise
      
      * putback callback: z3fold_page_putback(): put back the page if
        z3fold_page_migrate() for it failed permanently (i.  e.  not with
        -EAGAIN code).
      
      [lkp@intel.com: z3fold_page_isolate() can be static]
        Link: http://lkml.kernel.org/r/20190419130924.GA161478@ivb42
      Link: http://lkml.kernel.org/r/20190417103922.31253da5c366c4ebe0419cfc@gmail.com
      Signed-off-by: default avatarVitaly Wool <vitaly.vul@sony.com>
      Signed-off-by: default avatarkbuild test robot <lkp@intel.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: Dan Streetman <ddstreet@ieee.org>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
      Cc: Uladzislau Rezki <urezki@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1f862989
    • Vitaly Wool's avatar
      mm/z3fold.c: add structure for buddy handles · 7c2b8baa
      Vitaly Wool authored
      
      
      For z3fold to be able to move its pages per request of the memory
      subsystem, it should not use direct object addresses in handles.  Instead,
      it will create abstract handles (3 per page) which will contain pointers
      to z3fold objects.  Thus, it will be possible to change these pointers
      when z3fold page is moved.
      
      Link: http://lkml.kernel.org/r/20190417103826.484eaf18c1294d682769880f@gmail.com
      Signed-off-by: default avatarVitaly Wool <vitaly.vul@sony.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: Dan Streetman <ddstreet@ieee.org>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
      Cc: Uladzislau Rezki <urezki@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7c2b8baa
    • Vitaly Wool's avatar
      mm/z3fold.c: improve compression by extending search · 351618b2
      Vitaly Wool authored
      
      
      The current z3fold implementation only searches this CPU's page lists for
      a fitting page to put a new object into.  This patch adds quick search for
      very well fitting pages (i.  e.  those having exactly the required number
      of free space) on other CPUs too, before allocating a new page for that
      object.
      
      Link: http://lkml.kernel.org/r/20190417103733.72ae81abe1552397c95a008e@gmail.com
      Signed-off-by: default avatarVitaly Wool <vitaly.vul@sony.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: Dan Streetman <ddstreet@ieee.org>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
      Cc: Uladzislau Rezki <urezki@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      351618b2
    • Vitaly Wool's avatar
      mm/z3fold.c: introduce helper functions · 9050cce1
      Vitaly Wool authored
      
      
      Patch series "z3fold: support page migration", v2.
      
      This patchset implements page migration support and slightly better buddy
      search.  To implement page migration support, z3fold has to move away from
      the current scheme of handle encoding.  i.  e.  stop encoding page address
      in handles.  Instead, a small per-page structure is created which will
      contain actual addresses for z3fold objects, while pointers to fields of
      that structure will be used as handles.
      
      Thus, it will be possible to change the underlying addresses to reflect
      page migration.
      
      To support migration itself, 3 callbacks will be implemented:
      
      1: isolation callback: z3fold_page_isolate(): try to isolate the page
         by removing it from all lists.  Pages scheduled for some activity and
         mapped pages will not be isolated.  Return true if isolation was
         successful or false otherwise
      
      2: migration callback: z3fold_page_migrate(): re-check critical
         conditions and migrate page contents to the new page provided by the
         system.  Returns 0 on success or negative error code otherwise
      
      3: putback callback: z3fold_page_putback(): put back the page if
         z3fold_page_migrate() for it failed permanently (i.  e.  not with
         -EAGAIN code).
      
      To make sure an isolated page doesn't get freed, its kref is incremented
      in z3fold_page_isolate() and decremented during post-migration compaction,
      if migration was successful, or by z3fold_page_putback() in the other
      case.
      
      Since the new handle encoding scheme implies slight memory consumption
      increase, better buddy search (which decreases memory consumption) is
      included in this patchset.
      
      This patch (of 4):
      
      Introduce a separate helper function for object allocation, as well as 2
      smaller helpers to add a buddy to the list and to get a pointer to the
      pool from the z3fold header.  No functional changes here.
      
      Link: http://lkml.kernel.org/r/20190417103633.a4bb770b5bf0fb7e43ce1666@gmail.com
      Signed-off-by: default avatarVitaly Wool <vitaly.vul@sony.com>
      Cc: Dan Streetman <ddstreet@ieee.org>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
      Cc: Uladzislau Rezki <urezki@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9050cce1
    • Yafang Shao's avatar
      mm/page_alloc.c: remove unnecessary parameter in rmqueue_pcplist · 1c52e6d0
      Yafang Shao authored
      
      
      Because rmqueue_pcplist() is only called when order is 0, we don't need to
      use order as a parameter.
      
      Link: http://lkml.kernel.org/r/1555591709-11744-1-git-send-email-laoar.shao@gmail.com
      Signed-off-by: default avatarYafang Shao <laoar.shao@gmail.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: default avatarPankaj Gupta <pagupta@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c52e6d0
    • Jérôme Glisse's avatar
      mm/hmm: add ARCH_HAS_HMM_MIRROR ARCH_HAS_HMM_DEVICE Kconfig · 2c8fc3dc
      Jérôme Glisse authored
      
      
      Add 2 new Kconfig variables that are not used by anyone.  I check that
      various make ARCH=somearch allmodconfig do work and do not complain.  This
      new Kconfig needs to be added first so that device drivers that depend on
      HMM can be updated.
      
      Once drivers are updated then I can update the HMM Kconfig to depend on
      this new Kconfig in a followup patch.
      
      This is about solving Kconfig for HMM given that device driver are
      going through their own tree we want to avoid changing them from the mm
      tree.  So plan is:
      
      1 - Kernel release N add the new Kconfig to mm/Kconfig (this patch)
      2 - Kernel release N+1 update driver to depend on new Kconfig ie
          stop using ARCH_HASH_HMM and start using ARCH_HAS_HMM_MIRROR
          and ARCH_HAS_HMM_DEVICE (one or the other or both depending
          on the driver)
      3 - Kernel release N+2 remove ARCH_HASH_HMM and do final Kconfig
          update in mm/Kconfig
      
      Link: http://lkml.kernel.org/r/20190417211141.17580-1-jglisse@redhat.com
      Signed-off-by: default avatarJérôme Glisse <jglisse@redhat.com>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: Leon Romanovsky <leonro@mellanox.com>
      Cc: Jason Gunthorpe <jgg@mellanox.com>
      Cc: Ralph Campbell <rcampbell@nvidia.com>
      Cc: John Hubbard <jhubbard@nvidia.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2c8fc3dc
    • Kirill Tkhai's avatar
      mm/vmscan.c: simplify shrink_inactive_list() · f46b7912
      Kirill Tkhai authored
      
      
      This merges together duplicated patterns of code.  Also, replace
      count_memcg_events() with its irq-careless namesake, because they are
      already called in interrupts disabled context.
      
      Link: http://lkml.kernel.org/r/2ece1df4-2989-bc9b-6172-61e9fdde5bfd@virtuozzo.com
      Signed-off-by: default avatarKirill Tkhai <ktkhai@virtuozzo.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Reviewed-by: default avatarDaniel Jordan <daniel.m.jordan@oracle.com>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: Baoquan He <bhe@redhat.com>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f46b7912
    • Amir Goldstein's avatar
      fs/sync.c: sync_file_range(2) may use WB_SYNC_ALL writeback · c553ea4f
      Amir Goldstein authored
      23d01270 ("fs/sync.c: make sync_file_range(2) use WB_SYNC_NONE
      writeback") claims that sync_file_range(2) syscall was "created for
      userspace to be able to issue background writeout and so waiting for
      in-flight IO is undesirable there" and changes the writeback (back) to
      WB_SYNC_NONE.
      
      This claim is only partially true.  It is true for users that use the flag
      SYNC_FILE_RANGE_WRITE by itself, as does PostgreSQL, the user that was the
      reason for changing to WB_SYNC_NONE writeback.
      
      However, that claim is not true for users that use that flag combination
      SYNC_FILE_RANGE_{WAIT_BEFORE|WRITE|_WAIT_AFTER}.  Those users explicitly
      requested to wait for in-flight IO as well as to writeback of dirty pages.
      
      Re-brand that flag combination as SYNC_FILE_RANGE_WRITE_AND_WAIT and use
      WB_SYNC_ALL writeback to perform the full range sync request.
      
      Link: http://lkml.kernel.org/r/20190409114922.30095-1-amir73il@gmail.com
      Link: http://lkml.kernel.org/r/20190419072938.31320-1-amir73il@gmail.com
      Fixes: 23d01270
      
       ("fs/sync.c: make sync_file_range(2) use WB_SYNC_NONE")
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Acked-by: default avatarJan Kara <jack@suse.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c553ea4f
    • Souptick Joarder's avatar
      xen/privcmd-buf.c: convert to use vm_map_pages_zero() · 53269057
      Souptick Joarder authored
      
      
      Convert to use vm_map_pages_zero() to map range of kernel memory to user
      vma.
      
      This driver has ignored vm_pgoff.  We could later "fix" these drivers to
      behave according to the normal vm_pgoff offsetting simply by removing the
      _zero suffix on the function name and if that causes regressions, it gives
      us an easy way to revert.
      
      Link: http://lkml.kernel.org/r/acf678e81d554d01a9b590716ac0ccbdcdf71c25.1552921225.git.jrdr.linux@gmail.com
      Signed-off-by: default avatarSouptick Joarder <jrdr.linux@gmail.com>
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
      Cc: Pawel Osciak <pawel@osciak.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      53269057
    • Souptick Joarder's avatar
      xen/gntdev.c: convert to use vm_map_pages() · df9bde01
      Souptick Joarder authored
      
      
      Convert to use vm_map_pages() to map range of kernel memory to user vma.
      
      map->count is passed to vm_map_pages() and internal API verify map->count
      against count ( count = vma_pages(vma)) for page array boundary overrun
      condition.
      
      Link: http://lkml.kernel.org/r/88e56e82d2db98705c2d842e9c9806c00b366d67.1552921225.git.jrdr.linux@gmail.com
      Signed-off-by: default avatarSouptick Joarder <jrdr.linux@gmail.com>
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
      Cc: Pawel Osciak <pawel@osciak.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      df9bde01
    • Souptick Joarder's avatar
      videobuf2/videobuf2-dma-sg.c: convert to use vm_map_pages() · a17ae147
      Souptick Joarder authored
      
      
      Convert to use vm_map_pages() to map range of kernel memory to user vma.
      
      vm_pgoff is treated in V4L2 API as a 'cookie' to select a buffer, not as a
      in-buffer offset by design and it always want to mmap a whole buffer from
      its beginning.
      
      Link: http://lkml.kernel.org/r/a953fe6b3056de1cc6eab654effdd4a22f125375.1552921225.git.jrdr.linux@gmail.com
      Signed-off-by: default avatarSouptick Joarder <jrdr.linux@gmail.com>
      Suggested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Reviewed-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
      Cc: Pawel Osciak <pawel@osciak.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a17ae147
    • Souptick Joarder's avatar
      iommu/dma-iommu.c: convert to use vm_map_pages() · b0d0084f
      Souptick Joarder authored
      
      
      Convert to use vm_map_pages() to map range of kernel memory to user vma.
      
      Link: http://lkml.kernel.org/r/80c3d220fc6ada73a88ce43ca049afb55a889258.1552921225.git.jrdr.linux@gmail.com
      Signed-off-by: default avatarSouptick Joarder <jrdr.linux@gmail.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
      Cc: Pawel Osciak <pawel@osciak.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b0d0084f
    • Souptick Joarder's avatar
      drm/xen/xen_drm_front_gem.c: convert to use vm_map_pages() · e60b72b1
      Souptick Joarder authored
      
      
      Convert to use vm_map_pages() to map range of kernel memory to user vma.
      
      Link: http://lkml.kernel.org/r/ff8e10ba778d79419c66ee8215bccf01560540fd.1552921225.git.jrdr.linux@gmail.com
      Signed-off-by: default avatarSouptick Joarder <jrdr.linux@gmail.com>
      Reviewed-by: default avatarOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Pawel Osciak <pawel@osciak.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e60b72b1
    • Souptick Joarder's avatar
      drm/rockchip/rockchip_drm_gem.c: convert to use vm_map_pages() · 2f69b3c8
      Souptick Joarder authored
      
      
      Convert to use vm_map_pages() to map range of kernel memory to user vma.
      
      Tested on Rockchip hardware and display is working, including talking to
      Lima via prime.
      
      Link: http://lkml.kernel.org/r/7ba359eb1aceac388d05983c1f29b915bdf291f9.1552921225.git.jrdr.linux@gmail.com
      Signed-off-by: default avatarSouptick Joarder <jrdr.linux@gmail.com>
      Tested-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
      Cc: Pawel Osciak <pawel@osciak.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f69b3c8
    • Souptick Joarder's avatar
      drivers/firewire/core-iso.c: convert to use vm_map_pages_zero() · 22660db8
      Souptick Joarder authored
      
      
      Convert to use vm_map_pages_zero() to map range of kernel memory to user
      vma.
      
      This driver has ignored vm_pgoff and mapped the entire pages.  We could
      later "fix" these drivers to behave according to the normal vm_pgoff
      offsetting simply by removing the _zero suffix on the function name and if
      that causes regressions, it gives us an easy way to revert.
      
      Link: http://lkml.kernel.org/r/88645f5ea8202784a8baaf389e592aeb8c505e8e.1552921225.git.jrdr.linux@gmail.com
      Signed-off-by: default avatarSouptick Joarder <jrdr.linux@gmail.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
      Cc: Pawel Osciak <pawel@osciak.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      22660db8
    • Souptick Joarder's avatar
      arm: mm: dma-mapping: convert to use vm_map_pages() · 6248461d
      Souptick Joarder authored
      
      
      Convert to use vm_map_pages() to map range of kernel memory to user vma.
      
      Link: http://lkml.kernel.org/r/936e5e107c746a7310e3a3c471188ca3ac8f9754.1552921225.git.jrdr.linux@gmail.com
      Signed-off-by: default avatarSouptick Joarder <jrdr.linux@gmail.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
      Cc: Pawel Osciak <pawel@osciak.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6248461d