1. 03 Oct, 2019 2 commits
    • Hans de Goede's avatar
      HID: Add driver for Logitech gaming keyboards (G15, G15 v2) · 3a027538
      Hans de Goede authored
      Add a driver to stop the extra "G" keys from sending F1 - F12 instead
      making them send KEY_GKEY# and also make the non-functional M1 - M3 and MR
      keys and the non-functional buttons below the LCD panel properly generated
      key events.
      
      Note the connect_mask and gkeys_settings_output_report variables may seem
      unnecessary since they are always set to the same value, these are there in
      preparation of adding support for the G, M and LCD keys on the G510 kbd.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      3a027538
    • Hans de Goede's avatar
      Input: Add event-codes for macro keys found on various keyboards · b5625db9
      Hans de Goede authored
      Various keyboards have macro keys, which are intended to have user
      programmable actions / key-sequences bound to them. In some cases these
      macro keys are actually programmable in hardware, but more often they
      basically are just extra keys and the playback of the key-sequence is done
      by software running on the host.
      
      One example of keyboards with macro-keys are various "internet" / "office"
      keyboards have a set of so-called "Smart Keys", typically a set of 4 keys
      labeled "[A]" - "[D]".
      
      Another example are gaming keyboards, such as the Logitech G15 Gaming
      keyboard, which has 18 "G"aming keys labeled "G1" to G18", 3 keys to select
      macro presets labeled "M1" - "M3" and a key to start recording a macro
      called "MR" note that even though there us a record key everything is
      handled in sw on the host.
      
      Besides macro keys the G15 (and other gaming keyboards) also has a buildin
      LCD panel where the contents are controlled by the host. There are 5 keys
      directly below the LCD intended for controlling a menu shown on the LCD.
      
      The Microsoft SideWinder X6 keyboard is another gaming keyboard example,
      this keyboard has 30 "S"idewinder keys and a key to cycle through
      macro-presets.
      
      After discussion between various involved userspace people we've come to
      the conclusion that since these are all really just extra keys we should
      simply treat them as such and give them their own event-codes, see:
      https://github.com/libratbag/libratbag/issues/172
      
      This commit adds the following new KEY_ defines for this:
      
      KEY_MACRO1 - KEY_MACRO30. KEY_MACRO_RECORD_START/-STOP,
      KEY_MACRO_PRESET_CYCLE, KEY_MACRO_PRESET1 - KEY_MACRO_PRESET3,
      KEY_KBD_LCD_MENU1 - KEY_KBD_LCD_MENU5.
      
      The defines leave room for adding some more LCD-menu, preset or macro keys,
      the maximum values above are based on the maximum values to support all
      currently known internet, office and gaming keyboards.
      
      BugLink: https://github.com/libratbag/libratbag/issues/172Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      b5625db9
  2. 23 Sep, 2019 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 1ad0bc78
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - syzbot memory corruption fixes for hidraw, Prodikeys, Logitech and
         Sony drivers from Alan Stern and Roderick Colenbrander
      
       - stuck 'fn' key fix for hid-apple from Joao Moreno
      
       - proper propagation of EPOLLOUT from hiddev and hidraw, from Fabian
         Henneke
      
       - fixes for handling power management for intel-ish devices with NO_D3
         flag set, from Zhang Lixu
      
       - extension of supported usage range for customer page, as some
         Logitech devices are actually making use of it. From Olivier Gay.
      
       - hid-multitouch is no longer filtering mice node creation, from
         Benjamin Tissoires
      
       - MobileStudio Pro 13 support, from Ping Cheng
      
       - a few other device ID additions and assorted smaller fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (27 commits)
        HID: core: fix dmesg flooding if report field larger than 32bit
        HID: core: Add printk_once variants to hid_warn() etc
        HID: core: reformat and reduce hid_printk macros
        HID: prodikeys: Fix general protection fault during probe
        HID: wacom: add new MobileStudio Pro 13 support
        HID: sony: Fix memory corruption issue on cleanup.
        HID: i2c-hid: modify quirks for weida's devices
        HID: apple: Fix stuck function keys when using FN
        HID: sb0540: add support for Creative SB0540 IR receivers
        HID: Add quirk for HP X500 PIXART OEM mouse
        HID: logitech-dj: Fix crash when initial logi_dj_recv_query_paired_devices fails
        hid-logitech-dj: add the new Lightspeed receiver
        HID: logitech-dj: add support of the G700(s) receiver
        HID: multitouch: add support for the Smart Tech panel
        HID: multitouch: do not filter mice nodes
        HID: do not call hid_set_drvdata(hdev, NULL) in drivers
        HID: wacom: do not call hid_set_drvdata(hdev, NULL)
        HID: logitech: Fix general protection fault caused by Logitech driver
        HID: hidraw: Fix invalid read in hidraw_ioctl
        HID: wacom: support named keys on older devices
        ...
      1ad0bc78
    • Linus Torvalds's avatar
      Merge tag 'safesetid-bugfix-5.4' of git://github.com/micah-morton/linux · 1b5fb415
      Linus Torvalds authored
      Pull SafeSetID fix from Micah Morton:
       "Jann Horn sent some patches to fix some bugs in SafeSetID for 5.3.
        After he had done his testing there were a couple small code tweaks
        that went in and caused this bug.
      
        From what I can see SafeSetID is broken in 5.3 and crashes the kernel
        every time during initialization if you try to use it. I came across
        this bug when backporting Jann's changes for 5.3 to older kernels
        (4.14 and 4.19). I've tested on a Chrome OS device with those kernels
        and verified that this change fixes things.
      
        It doesn't seem super useful to have this bake in linux-next, since it
        is completely broken in 5.3 and nobody noticed"
      
      * tag 'safesetid-bugfix-5.4' of git://github.com/micah-morton/linux:
        LSM: SafeSetID: Stop releasing uninitialized ruleset
      1b5fb415
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20190917' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 5825a95f
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
      
       - Add LSM hooks, and SELinux access control hooks, for dnotify,
         fanotify, and inotify watches. This has been discussed with both the
         LSM and fs/notify folks and everybody is good with these new hooks.
      
       - The LSM stacking changes missed a few calls to current_security() in
         the SELinux code; we fix those and remove current_security() for
         good.
      
       - Improve our network object labeling cache so that we always return
         the object's label, even when under memory pressure. Previously we
         would return an error if we couldn't allocate a new cache entry, now
         we always return the label even if we can't create a new cache entry
         for it.
      
       - Convert the sidtab atomic_t counter to a normal u32 with
         READ/WRITE_ONCE() and memory barrier protection.
      
       - A few patches to policydb.c to clean things up (remove forward
         declarations, long lines, bad variable names, etc)
      
      * tag 'selinux-pr-20190917' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        lsm: remove current_security()
        selinux: fix residual uses of current_security() for the SELinux blob
        selinux: avoid atomic_t usage in sidtab
        fanotify, inotify, dnotify, security: add security hook for fs notifications
        selinux: always return a secid from the network caches if we find one
        selinux: policydb - rename type_val_to_struct_array
        selinux: policydb - fix some checkpatch.pl warnings
        selinux: shuffle around policydb.c to get rid of forward declarations
      5825a95f
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 3c6a6910
      Linus Torvalds authored
      Pull crypto fixes froim Herbert Xu:
       "This fixes the following issues:
      
         - potential boot hang in hwrng
      
         - missing switch/break in talitos
      
         - bugs and warnings in hisilicon
      
         - build warning in inside-secure"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: hisilicon - avoid unused function warning
        hwrng: core - don't wait on add_early_randomness()
        crypto: hisilicon - Fix return value check in hisi_zip_acompress()
        crypto: hisilicon - Matching the dma address for dma_pool_free()
        crypto: hisilicon - Fix double free in sec_free_hw_sgl()
        crypto: inside-secure - Fix unused variable warning when CONFIG_PCI=n
        crypto: talitos - fix missing break in switch statement
      3c6a6910
  3. 22 Sep, 2019 21 commits
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/wacom' into for-linus · 8ca06d6f
      Jiri Kosina authored
      - MobileStudio Pro 13 support, from Ping Cheng
      
      - a few other assorted fixes
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      8ca06d6f
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/sb0540' into for-linus · 7af0f839
      Jiri Kosina authored
      - support for Creative SB0540 IR receivers, from Bastien Nocera
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      7af0f839
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/multitouch' into for-linus · 67fe00d8
      Jiri Kosina authored
      - support for the Smart Tech panel, from Benjamin Tissoires
      
      - hid-multitouch is no longer filtering mice node creation,
        from Benjamin Tissoires
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      67fe00d8
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/logitech' into for-linus · 08115756
      Jiri Kosina authored
      - extension of supported usage range for customer page, as some Logitech
        devices are actually making use of it. From Olivier Gay.
      
      - support for Lightspeed and G700(s) receivers from Filipe Laíns and
        Benjamin Tissoires
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      08115756
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/ish' into for-linus · 979d859d
      Jiri Kosina authored
      - fixes for handling power management for intel-ish devices with NO_D3 flag
        set, from Zhang Lixu
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      979d859d
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/hidraw-hiddev-epoll' into for-linus · 98656d50
      Jiri Kosina authored
      - proper propagation of EPOLLOUT from hiddev and hidraw, from
        Fabian Henneke
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      98656d50
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/core' into for-linus · ad049d52
      Jiri Kosina authored
      - fixes for formatting / ratelimiting kernel log by HID core, from
        Joshua Clayton
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ad049d52
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/cleanup' into for-linus · 7147935a
      Jiri Kosina authored
      - cleanup of ->drvdata handling between HID core and drivers, from
        Benjamin Tissoires
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      7147935a
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/apple' into for-linus · 53c71641
      Jiri Kosina authored
      - stuck 'fn' key fix for hid-apple from Joao Moreno
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      53c71641
    • Jiri Kosina's avatar
      Merge branch 'for-5.3/upstream-fixes' into for-linus · e6d64ce0
      Jiri Kosina authored
      - syzbot memory corruption fixes for hidraw, Prodikeys, Logitech and Sony
        drivers from Alan Stern and Roderick Colenbrander
      - error handling fix for Logitech unifying receivers from Hans de Goede
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e6d64ce0
    • Linus Torvalds's avatar
      Merge tag 'for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 619e17cf
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Core:
         - Ensure HWMON devices are registered with valid names
         - Fix device wakeup code
      
        Drivers:
         - bq25890_charger: Add BQ25895 support
         - axp288_fuel_gauge: Add Minix Neo Z83-4 to blacklist
         - sc27xx: improve battery calibration
         - misc small fixes all over drivers"
      
      * tag 'for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (24 commits)
        power: supply: cpcap-charger: Enable vbus boost voltage
        power: supply: sc27xx: Add POWER_SUPPLY_PROP_CALIBRATE attribute
        power: supply: sc27xx: Optimize the battery capacity calibration
        power: supply: sc27xx: Make sure the alarm capacity is larger than 0
        power: supply: sc27xx: Fix the the accuracy issue of coulomb calculation
        power: supply: sc27xx: Fix conditon to enable the FGU interrupt
        power: supply: sc27xx: Add POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN attribute
        power: supply: max77650: add MODULE_ALIAS()
        power: supply: isp1704: remove redundant assignment to variable ret
        power: supply: bq25890_charger: Add the BQ25895 part
        power: supply: sc27xx: Replace devm_add_action() followed by failure action with devm_add_action_or_reset()
        power: supply: sc27xx: Introduce local variable 'struct device *dev'
        power: reset: reboot-mode: Fix author email format
        power: supply: ab8500: remove set but not used variables 'vbup33_vrtcn' and 'bup_vch_range'
        power: supply: max17042_battery: Fix a typo in function names
        power: reset: gpio-restart: Fix typo when gpio reset is not found
        power: supply: Init device wakeup after device_add()
        power: supply: ab8500_charger: Mark expected switch fall-through
        power: supply: sbs-battery: only return health when battery present
        MAINTAINERS: N900: Remove isp1704_charger.h record
        ...
      619e17cf
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 57f1c3ca
      Linus Torvalds authored
      Pull HSI updates from Sebastian Reichel:
       "Misc cleanups"
      
      * tag 'hsi-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: Remove dev_err() usage after platform_get_irq()
        HSI: ssi_protocol: Mark expected switch fall-throughs
      57f1c3ca
    • Linus Torvalds's avatar
      firmware: bcm47xx_nvram: _really_ correct size_t printf format · 5d4156ac
      Linus Torvalds authored
      Commit feb4eb06 ("firmware: bcm47xx_nvram: Correct size_t printf
      format") was wrong, and changed a printout of 'header.len' - which is an
      u32 type - to use '%zu'.
      
      It apparently did pattern matching on the other case, where it printed
      out 'nvram_len', which is indeed of type 'size_t'.
      
      Rather than undoing the change, this just makes it use the variable that
      the change seemed to expect to be used.
      
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
      Cc: Paul Burton <paul.burton@mips.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5d4156ac
    • Linus Torvalds's avatar
      modules: make MODULE_IMPORT_NS() work even when modular builds are disabled · 3e4d890a
      Linus Torvalds authored
      It's an unusual configuration, and was apparently never tested, and not
      caught in linux-next because of a combination of travels and it making
      it into the tree too late.
      
      The fix is to simply move the #define to outside the CONFIG_MODULE
      section, since MODULE_INFO() will do the right thing.
      
      Cc: Martijn Coenen <maco@android.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Matthias Maennich <maennich@google.com>
      Cc: Jessica Yu <jeyu@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3e4d890a
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 9dbd83f6
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Two new drivers and the new pcf2127 feature make the bulk of the
        additions. The rest are the usual fixes and new features.
      
        Subsystem:
         - add debug message when registration fails
      
        New drivers:
         - Amlogic Virtual Wake
         - Freescale FlexTimer Module alarm
      
        Drivers:
         - remove superfluous error messages
         - convert to i2c_new_dummy_device and devm_i2c_new_dummy_device
         - Remove dev_err() usage after platform_get_irq()
         - Set RTC range for: pcf2123, pcf8563, snvs.
         - pcf2127: tamper detection and watchdog support
         - pcf85363: fix regmap issue
         - sun6i: H6 support
         - remove w90x900/nuc900 driver"
      
      * tag 'rtc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (51 commits)
        rtc: meson: mark PM functions as __maybe_unused
        rtc: sc27xx: Remove clearing SPRD_RTC_POWEROFF_ALM_FLAG flag
        dt-bindings: rtc: ds1307: add rx8130 compatible
        rtc: sun6i: Allow using as wakeup source from suspend
        rtc: pcf8563: let the core handle range offsetting
        rtc: pcf8563: remove useless indirection
        rtc: pcf8563: convert to devm_rtc_allocate_device
        rtc: pcf8563: add Microcrystal RV8564 compatible
        rtc: pcf8563: add Epson RTC8564 compatible
        rtc: s35390a: convert to devm_i2c_new_dummy_device()
        rtc: max77686: convert to devm_i2c_new_dummy_device()
        rtc: pcf85363/pcf85263: fix regmap error in set_time
        rtc: snvs: switch to rtc_time64_to_tm/rtc_tm_to_time64
        rtc: snvs: set range
        rtc: snvs: fix possible race condition
        rtc: pcf2127: bugfix: watchdog build dependency
        rtc: pcf2127: add tamper detection support
        rtc: pcf2127: add watchdog feature support
        rtc: pcf2127: bugfix: read rtc disables watchdog
        rtc: pcf2127: cleanup register and bit defines
        ...
      9dbd83f6
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 379bb045
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This contains updates to make the rpmsg sample driver more useful,
        fixes the naming of GLINK devices to avoid naming collisions and a few
        minor bug fixes. It also updates MAINTAINERS to reflect the move to
        kernel.org"
      
      * tag 'rpmsg-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        rpmsg: glink-smem: Name the edge based on parent remoteproc
        rpmsg: glink: Use struct_size() helper
        rpmsg: virtio_rpmsg_bus: replace "%p" with "%pK"
        MAINTAINERS: rpmsg: fix git tree location
        rpmsg: core: fix comments
        samples/rpmsg: Introduce a module parameter for message count
        samples/rpmsg: Replace print_hex_dump() with print_hex_dump_debug()
      379bb045
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 28de978b
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This exposes the remoteproc's name in sysfs, allows stm32 to enter
        platform standby and provides bug fixes for stm32 and Qualcomm's modem
        remoteproc drivers. Finally it updates MAINTAINERS to reflect the move
        to kernel.org"
      
      * tag 'rproc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        MAINTAINERS: remoteproc: update git tree location
        remoteproc: Remove dev_err() usage after platform_get_irq()
        remoteproc: stm32: manage the get_irq probe defer case
        remoteproc: stm32: clear MCU PDDS at firmware start
        remoteproc: qcom: q6v5-mss: fixup q6v5_pds_enable error handling
        remoteproc: Add a sysfs interface for name
        remoteproc: qcom: Move glink_ssr notification after stop
      28de978b
    • Linus Torvalds's avatar
      Merge tag 'soundwire-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 8d7ead5c
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
       "This includes DT support thanks to Srini and more work done by Intel
        (Pierre) on improving cadence and intel support.
      
        Summary:
      
         - Add DT bindings and DT support in core
      
         - Add debugfs support for soundwire properties
      
         - Improvements on streaming handling to core
      
         - Improved handling of Cadence module
      
         - More updates and improvements to Intel driver"
      
      * tag 'soundwire-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: (30 commits)
        soundwire: stream: make stream name a const pointer
        soundwire: Add compute_params callback
        soundwire: core: add device tree support for slave devices
        dt-bindings: soundwire: add slave bindings
        soundwire: bus: set initial value to port_status
        soundwire: intel: handle disabled links
        soundwire: intel: add debugfs register dump
        soundwire: cadence_master: add debugfs register dump
        soundwire: add debugfs support
        soundwire: intel: remove unused variables
        soundwire: intel: move shutdown() callback and don't export symbol
        soundwire: cadence_master: add kernel parameter to override interrupt mask
        soundwire: intel_init: add kernel module parameter to filter out links
        soundwire: cadence_master: fix divider setting in clock register
        soundwire: cadence_master: make use of mclk_freq property
        soundwire: intel: read mclk_freq property from firmware
        soundwire: add new mclk_freq field for properties
        soundwire: stream: remove unnecessary variable initializations
        soundwire: stream: fix disable sequence
        soundwire: include mod_devicetable.h to avoid compiling warnings
        ...
      8d7ead5c
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · e0703556
      Linus Torvalds authored
      Pull modules updates from Jessica Yu:
       "The main bulk of this pull request introduces a new exported symbol
        namespaces feature. The number of exported symbols is increasingly
        growing with each release (we're at about 31k exports as of 5.3-rc7)
        and we currently have no way of visualizing how these symbols are
        "clustered" or making sense of this huge export surface.
      
        Namespacing exported symbols allows kernel developers to more
        explicitly partition and categorize exported symbols, as well as more
        easily limiting the availability of namespaced symbols to other parts
        of the kernel. For starters, we have introduced the USB_STORAGE
        namespace to demonstrate the API's usage. I have briefly summarized
        the feature and its main motivations in the tag below.
      
        Summary:
      
         - Introduce exported symbol namespaces.
      
           This new feature allows subsystem maintainers to partition and
           categorize their exported symbols into explicit namespaces. Module
           authors are now required to import the namespaces they need.
      
           Some of the main motivations of this feature include: allowing
           kernel developers to better manage the export surface, allow
           subsystem maintainers to explicitly state that usage of some
           exported symbols should only be limited to certain users (think:
           inter-module or inter-driver symbols, debugging symbols, etc), as
           well as more easily limiting the availability of namespaced symbols
           to other parts of the kernel.
      
           With the module import requirement, it is also easier to spot the
           misuse of exported symbols during patch review.
      
           Two new macros are introduced: EXPORT_SYMBOL_NS() and
           EXPORT_SYMBOL_NS_GPL(). The API is thoroughly documented in
           Documentation/kbuild/namespaces.rst.
      
         - Some small code and kbuild cleanups here and there"
      
      * tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: Remove leftover '#undef' from export header
        module: remove unneeded casts in cmp_name()
        module: move CONFIG_UNUSED_SYMBOLS to the sub-menu of MODULES
        module: remove redundant 'depends on MODULES'
        module: Fix link failure due to invalid relocation on namespace offset
        usb-storage: export symbols in USB_STORAGE namespace
        usb-storage: remove single-use define for debugging
        docs: Add documentation for Symbol Namespaces
        scripts: Coccinelle script for namespace dependencies.
        modpost: add support for generating namespace dependencies
        export: allow definition default namespaces in Makefiles or sources
        module: add config option MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
        modpost: add support for symbol namespaces
        module: add support for symbol namespaces.
        export: explicitly align struct kernel_symbol
        module: support reading multiple values per modinfo tag
      e0703556
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 8808cf8c
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - fix various clang build and cppcheck issues
      
       - switch ARM to use new common outgoing-CPU-notification code
      
       - add some additional explanation about the boot code
      
       - kbuild "make clean" fixes
      
       - get rid of another "(____ptrval____)", this time for the VDSO code
      
       - avoid treating cache maintenance faults as a write
      
       - add a frame pointer unwinder implementation for clang
      
       - add EDAC support for Aurora L2 cache
      
       - improve robustness of adjust_lowmem_bounds() finding the bounds of
         lowmem.
      
       - add reset control for AMBA primecell devices
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (24 commits)
        ARM: 8906/1: drivers/amba: add reset control to amba bus probe
        ARM: 8905/1: Emit __gnu_mcount_nc when using Clang 10.0.0 or newer
        ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary
        ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address
        ARM: 8891/1: EDAC: armada_xp: Add support for more SoCs
        ARM: 8888/1: EDAC: Add driver for the Marvell Armada XP SDRAM and L2 cache ECC
        ARM: 8892/1: EDAC: Add missing debugfs_create_x32 wrapper
        ARM: 8890/1: l2x0: add marvell,ecc-enable property for aurora
        ARM: 8889/1: dt-bindings: document marvell,ecc-enable binding
        ARM: 8886/1: l2x0: support parity-enable/disable on aurora
        ARM: 8885/1: aurora-l2: add defines for parity and ECC registers
        ARM: 8887/1: aurora-l2: add prefix to MAX_RANGE_SIZE
        ARM: 8902/1: l2c: move cache-aurora-l2.h to asm/hardware
        ARM: 8900/1: UNWINDER_FRAME_POINTER implementation for Clang
        ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes
        ARM: 8896/1: VDSO: Don't leak kernel addresses
        ARM: 8895/1: visit mach-* and plat-* directories when cleaning
        ARM: 8894/1: boot: Replace open-coded nop with macro
        ARM: 8893/1: boot: Explain the 8 nops
        ARM: 8876/1: fix O= building with CONFIG_FPE_FASTFPE
        ...
      8808cf8c
    • Linus Torvalds's avatar
      Merge tag 'mips_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 5c6bd5de
      Linus Torvalds authored
      Pull MIPS updates from Paul Burton:
       "Main MIPS changes:
      
         - boot_mem_map is removed, providing a nice cleanup made possible by
           the recent removal of bootmem.
      
         - Some fixes to atomics, in general providing compiler barriers for
           smp_mb__{before,after}_atomic plus fixes specific to Loongson CPUs
           or MIPS32 systems using cmpxchg64().
      
         - Conversion to the new generic VDSO infrastructure courtesy of
           Vincenzo Frascino.
      
         - Removal of undefined behavior in set_io_port_base(), fixing the
           behavior of some MIPS kernel configurations when built with recent
           clang versions.
      
         - Initial MIPS32 huge page support, functional on at least Ingenic
           SoCs.
      
         - pte_special() is now supported for some configurations, allowing
           among other things generic fast GUP to be used.
      
         - Miscellaneous fixes & cleanups.
      
        And platform specific changes:
      
         - Major improvements to Ingenic SoC support from Paul Cercueil,
           mostly enabled by the inclusion of the new TCU (timer-counter unit)
           drivers he's spent a very patient year or so working on. Plus some
           fixes for X1000 SoCs from Zhou Yanjie.
      
         - Netgear R6200 v1 systems are now supported by the bcm47xx platform.
      
         - DT updates for BMIPS, Lantiq & Microsemi Ocelot systems"
      
      * tag 'mips_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (89 commits)
        MIPS: Detect bad _PFN_SHIFT values
        MIPS: Disable pte_special() for MIPS32 with RiXi
        MIPS: ralink: deactivate PCI support for SOC_MT7621
        mips: compat: vdso: Use legacy syscalls as fallback
        MIPS: Drop Loongson _CACHE_* definitions
        MIPS: tlbex: Remove cpu_has_local_ebase
        MIPS: tlbex: Simplify r3k check
        MIPS: Select R3k-style TLB in Kconfig
        MIPS: PCI: refactor ioc3 special handling
        mips: remove ioremap_cachable
        mips/atomic: Fix smp_mb__{before,after}_atomic()
        mips/atomic: Fix loongson_llsc_mb() wreckage
        mips/atomic: Fix cmpxchg64 barriers
        MIPS: Octeon: remove duplicated include from dma-octeon.c
        firmware: bcm47xx_nvram: Allow COMPILE_TEST
        firmware: bcm47xx_nvram: Correct size_t printf format
        MIPS: Treat Loongson Extensions as ASEs
        MIPS: Remove dev_err() usage after platform_get_irq()
        MIPS: dts: mscc: describe the PTP ready interrupt
        MIPS: dts: mscc: describe the PTP register range
        ...
      5c6bd5de
  4. 21 Sep, 2019 13 commits
    • Linus Torvalds's avatar
      Merge tag 'gfs2-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · f7c3bf8f
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - Use asynchronous glocks and timeouts to recover from deadlocks during
         rename and exchange: the lock ordering constraints the vfs uses are
         not sufficient to prevent deadlocks across multiple nodes.
      
       - Add support for IOMAP_ZERO and use iomap_zero_range to replace gfs2
         specific code.
      
       - Various other minor fixes and cleanups.
      
      * tag 'gfs2-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps
        gfs2: Improve mmap write vs. truncate consistency
        gfs2: Use async glocks for rename
        gfs2: create function gfs2_glock_update_hold_time
        gfs2: separate holder for rgrps in gfs2_rename
        gfs2: Delete an unnecessary check before brelse()
        gfs2: Minor PAGE_SIZE arithmetic cleanups
        gfs2: Fix recovery slot bumping
        gfs2: Fix possible fs name overflows
        gfs2: untangle the logic in gfs2_drevalidate
        gfs2: Always mark inode dirty in fallocate
        gfs2: Minor gfs2_alloc_inode cleanup
        gfs2: implement gfs2_block_zero_range using iomap_zero_range
        gfs2: Add support for IOMAP_ZERO
        gfs2: gfs2_iomap_begin cleanup
      f7c3bf8f
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · fbc246a1
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we introduced casefolding support in f2fs, and fixed
        various bugs in individual features such as IO alignment,
        checkpoint=disable, quota, and swapfile.
      
        Enhancement:
         - support casefolding w/ enhancement in ext4
         - support fiemap for directory
         - support FS_IO_GET|SET_FSLABEL
      
        Bug fix:
         - fix IO stuck during checkpoint=disable
         - avoid infinite GC loop
         - fix panic/overflow related to IO alignment feature
         - fix livelock in swap file
         - fix discard command leak
         - disallow dio for atomic_write"
      
      * tag 'f2fs-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (51 commits)
        f2fs: add a condition to detect overflow in f2fs_ioc_gc_range()
        f2fs: fix to add missing F2FS_IO_ALIGNED() condition
        f2fs: fix to fallback to buffered IO in IO aligned mode
        f2fs: fix to handle error path correctly in f2fs_map_blocks
        f2fs: fix extent corrupotion during directIO in LFS mode
        f2fs: check all the data segments against all node ones
        f2fs: Add a small clarification to CONFIG_FS_F2FS_FS_SECURITY
        f2fs: fix inode rwsem regression
        f2fs: fix to avoid accessing uninitialized field of inode page in is_alive()
        f2fs: avoid infinite GC loop due to stale atomic files
        f2fs: Fix indefinite loop in f2fs_gc()
        f2fs: convert inline_data in prior to i_size_write
        f2fs: fix error path of f2fs_convert_inline_page()
        f2fs: add missing documents of reserve_root/resuid/resgid
        f2fs: fix flushing node pages when checkpoint is disabled
        f2fs: enhance f2fs_is_checkpoint_ready()'s readability
        f2fs: clean up __bio_alloc()'s parameter
        f2fs: fix wrong error injection path in inc_valid_block_count()
        f2fs: fix to writeout dirty inode during node flush
        f2fs: optimize case-insensitive lookups
        ...
      fbc246a1
    • Linus Torvalds's avatar
      Merge tag 'for_v5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 7ce1e15d
      Linus Torvalds authored
      Pull ext2, quota, udf fixes and cleanups from Jan Kara:
      
       - two small quota fixes (in grace time handling and possible missed
         accounting of preallocated blocks beyond EOF).
      
       - some ext2 cleanups
      
       - udf fixes for better compatibility with Windows 10 generated media
         (named streams, write-protection using domain-identifier, placement
         of volume recognition sequence)
      
       - some udf cleanups
      
      * tag 'for_v5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: fix wrong condition in is_quota_modification()
        fs-udf: Delete an unnecessary check before brelse()
        ext2: Delete an unnecessary check before brelse()
        udf: Drop forward function declarations
        udf: Verify domain identifier fields
        udf: augment UDF permissions on new inodes
        udf: Use dynamic debug infrastructure
        udf: reduce leakage of blocks related to named streams
        udf: prevent allocation beyond UDF partition
        quota: fix condition for resetting time limit in do_set_dqblk()
        ext2: code cleanup for ext2_free_blocks()
        ext2: fix block range in ext2_data_block_valid()
        udf: support 2048-byte spacing of VRS descriptors on 4K media
        udf: refactor VRS descriptor identification
      7ce1e15d
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 70cb0d02
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Added new ext4 debugging ioctls to allow userspace to get information
        about the state of the extent status cache.
      
        Dropped workaround for pre-1970 dates which were encoded incorrectly
        in pre-4.4 kernels. Since both the kernel correctly generates, and
        e2fsck detects and fixes this issue for the past four years, it'e time
        to drop the workaround. (Also, it's not like files with dates in the
        distant past were all that common in the first place.)
      
        A lot of miscellaneous bug fixes and cleanups, including some ext4
        Documentation fixes. Also included are two minor bug fixes in
        fs/unicode"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (21 commits)
        unicode: make array 'token' static const, makes object smaller
        unicode: Move static keyword to the front of declarations
        ext4: add missing bigalloc documentation.
        ext4: fix kernel oops caused by spurious casefold flag
        ext4: fix integer overflow when calculating commit interval
        ext4: use percpu_counters for extent_status cache hits/misses
        ext4: fix potential use after free after remounting with noblock_validity
        jbd2: add missing tracepoint for reserved handle
        ext4: fix punch hole for inline_data file systems
        ext4: rework reserved cluster accounting when invalidating pages
        ext4: documentation fixes
        ext4: treat buffers with write errors as containing valid data
        ext4: fix warning inside ext4_convert_unwritten_extents_endio
        ext4: set error return correctly when ext4_htree_store_dirent fails
        ext4: drop legacy pre-1970 encoding workaround
        ext4: add new ioctl EXT4_IOC_GET_ES_CACHE
        ext4: add a new ioctl EXT4_IOC_GETSTATE
        ext4: add a new ioctl EXT4_IOC_CLEAR_ES_CACHE
        jbd2: flush_descriptor(): Do not decrease buffer head's ref count
        ext4: remove unnecessary error check
        ...
      70cb0d02
    • Linus Torvalds's avatar
      Merge tag 'upstream-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 104c0d6b
      Linus Torvalds authored
      Pull UBI, UBIFS and JFFS2 updates from Richard Weinberger:
       "UBI:
         - Be less stupid when placing a fastmap anchor
         - Try harder to get an empty PEB in case of contention
         - Make ubiblock to warn if image is not a multiple of 512
      
        UBIFS:
         - Various fixes in error paths
      
        JFFS2:
         - Various fixes in error paths"
      
      * tag 'upstream-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        jffs2: Fix memory leak in jffs2_scan_eraseblock() error path
        jffs2: Remove jffs2_gc_fetch_page and jffs2_gc_release_page
        jffs2: Fix possible null-pointer dereferences in jffs2_add_frag_to_fragtree()
        ubi: block: Warn if volume size is not multiple of 512
        ubifs: Fix memory leak bug in alloc_ubifs_info() error path
        ubifs: Fix memory leak in __ubifs_node_verify_hmac error path
        ubifs: Fix memory leak in read_znode() error path
        ubi: ubi_wl_get_peb: Increase the number of attempts while getting PEB
        ubi: Don't do anchor move within fastmap area
        ubifs: Remove redundant assignment to pointer fname
      104c0d6b
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 9dca3432
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - virtio support
      
       - fixes for our new time travel mode
      
       - various improvements to make lockdep and kasan work better
      
       - SPDX header updates
      
      * tag 'for-linus-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: (25 commits)
        um: irq: Fix LAST_IRQ usage in init_IRQ()
        um: Add SPDX headers for files in arch/um/include
        um: Add SPDX headers for files in arch/um/os-Linux
        um: Add SPDX headers to files in arch/um/kernel/
        um: Add SPDX headers for files in arch/um/drivers
        um: virtio: Implement VHOST_USER_PROTOCOL_F_REPLY_ACK
        um: virtio: Implement VHOST_USER_PROTOCOL_F_SLAVE_REQ
        um: drivers: Add virtio vhost-user driver
        um: Use real DMA barriers
        um: Don't use generic barrier.h
        um: time-travel: Restrict time update in IRQ handler
        um: time-travel: Fix periodic timers
        um: Enable CONFIG_CONSTRUCTORS
        um: Place (soft)irq text with macros
        um: Fix VDSO compiler warning
        um: Implement TRACE_IRQFLAGS_SUPPORT
        um: Remove misleading #define ARCh_IRQ_ENABLED
        um: Avoid using uninitialized regs
        um: Remove sig_info[SIGALRM]
        um: Error handling fixes in vector drivers
        ...
      9dca3432
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 4553d469
      Linus Torvalds authored
      Pull MTD updates from Richard Weinberger:
       "MTD core changes:
         - add debugfs nodes for querying the flash name and id
         - mtd parser reorganization
      
        SPI NOR core changes:
         - always use bounce buffer for register read/writes
         - move m25p80 code in spi-nor.c
         - rework hwcaps selection for the spi-mem case
         - rework the core in order to move the manufacturer specific code out
           of it:
             - regroup flash parameters in 'struct spi_nor_flash_parameter'
             - add default_init() and post_sfdp() hooks to tweak the flash
               parameters
             - introduce the ->set_4byte(), ->convert_addr() and ->setup()
               methods, to deal with manufacturer specific code
             - rework the SPI NOR lock/unlock logic
         - fix an error code in spi_nor_read_raw()
         - fix a memory leak bug
         - enable the debugfs for the partname and partid
         - add support for few flashes
      
        SPI NOR controller drivers changes:
         - intel-spi:
             - Whitelist 4B read commands
             - Add support for Intel Tiger Lake SPI serial flash
         - aspeed-smc: Add of_node_put()
         - hisi-sfc: add of_node_put()
         - cadence-quadspi: Fix QSPI RCU Schedule Stall
      
        NAND core:
         - Fixing typos
         - Adding missing of_node_put() in various drivers
      
        Raw NAND controller drivers:
         - Macronix: new controller driver
         - Omap2: fix the number of bitflips returned
         - Brcmnand: fix a pointer not iterating over all the page chunks
         - W90x900: driver removed
         - Onenand: fix a memory leak
         - Sharpsl: missing include guard
         - STM32: avoid warnings when building with W=1
         - Ingenic: fix a coccinelle warning
         - r852: call a helper to simplify the code
      
        CFI core:
         - Kill useless initializer in mtd_do_chip_probe()
         - Fix a rare write failure seen on some cfi_cmdset_0002 compliant
           Parallel NORs
         - Bunch of cleanups for cfi_cmdset_0002 driver's write functions by
           Tokunori Ikegami"
      
      * tag 'mtd/for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (77 commits)
        mtd: pmc551: Remove set but not used variable 'soff_lo'
        mtd: cfi_cmdset_0002: Fix do_erase_chip() to get chip as erasing mode
        mtd: sm_ftl: Fix memory leak in sm_init_zone() error path
        mtd: parsers: Move CMDLINE parser
        mtd: parsers: Move OF parser
        mtd: parsers: Move BCM63xx parser
        mtd: parsers: Move BCM47xx parser
        mtd: parsers: Move TI AR7 parser
        mtd: pismo: Simplify getting the adapter of a client
        mtd: phram: Module parameters add writable permissions
        mtd: pxa2xx: Use ioremap_cache insted of ioremap_cached
        mtd: spi-nor: Rename "n25q512a" to "mt25qu512a (n25q512a)"
        mtd: spi-nor: Add support for mt35xu02g
        mtd: rawnand: omap2: Fix number of bitflips reporting with ELM
        mtd: rawnand: brcmnand: Fix ecc chunk calculation for erased page bitfips
        mtd: spi-nor: remove superfluous pass of nor->info->sector_size
        mtd: spi-nor: enable the debugfs for the partname and partid
        mtd: mtdcore: add debugfs nodes for querying the flash name and id
        mtd: spi-nor: hisi-sfc: Add of_node_put() before break
        mtd: spi-nor: aspeed-smc: Add of_node_put()
        ...
      4553d469
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 6cb2e9ee
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "Some reworks to better support nvdimms on powerpc and an nvdimm
        security interface update:
      
         - Rework the nvdimm core to accommodate architectures with different
           page sizes and ones that can change supported huge page sizes at
           boot time rather than a compile time constant.
      
         - Introduce a distinct 'frozen' attribute for the nvdimm security
           state since it is independent of the locked state.
      
         - Miscellaneous fixups"
      
      * tag 'libnvdimm-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        libnvdimm: Use PAGE_SIZE instead of SZ_4K for align check
        libnvdimm/label: Remove the dpa align check
        libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock
        libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change
        libnvdimm/pmem: Advance namespace seed for specific probe errors
        libnvdimm/region: Rewrite _probe_success() to _advance_seeds()
        libnvdimm/security: Consolidate 'security' operations
        libnvdimm/security: Tighten scope of nvdimm->busy vs security operations
        libnvdimm/security: Introduce a 'frozen' attribute
        libnvdimm, region: Use struct_size() in kzalloc()
        tools/testing/nvdimm: Fix fallthrough warning
        libnvdimm/of_pmem: Provide a unique name for bus provider
      6cb2e9ee
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 10fd7178
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This is mostly update of the usual drivers: qla2xxx, ufs, smartpqi,
        lpfc, hisi_sas, qedf, mpt3sas; plus a whole load of minor updates. The
        only core change this time around is the addition of request batching
        for virtio. Since batching requires an additional flag to use, it
        should be invisible to the rest of the drivers"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (264 commits)
        scsi: hisi_sas: Fix the conflict between device gone and host reset
        scsi: hisi_sas: Add BIST support for phy loopback
        scsi: hisi_sas: Add hisi_sas_debugfs_alloc() to centralise allocation
        scsi: hisi_sas: Remove some unused function arguments
        scsi: hisi_sas: Remove redundant work declaration
        scsi: hisi_sas: Remove hisi_sas_hw.slot_complete
        scsi: hisi_sas: Assign NCQ tag for all NCQ commands
        scsi: hisi_sas: Update all the registers after suspend and resume
        scsi: hisi_sas: Retry 3 times TMF IO for SAS disks when init device
        scsi: hisi_sas: Remove sleep after issue phy reset if sas_smp_phy_control() fails
        scsi: hisi_sas: Directly return when running I_T_nexus reset if phy disabled
        scsi: hisi_sas: Use true/false as input parameter of sas_phy_reset()
        scsi: hisi_sas: add debugfs auto-trigger for internal abort time out
        scsi: virtio_scsi: unplug LUNs when events missed
        scsi: scsi_dh_rdac: zero cdb in send_mode_select()
        scsi: fcoe: fix null-ptr-deref Read in fc_release_transport
        scsi: ufs-hisi: use devm_platform_ioremap_resource() to simplify code
        scsi: ufshcd: use devm_platform_ioremap_resource() to simplify code
        scsi: hisi_sas: use devm_platform_ioremap_resource() to simplify code
        scsi: ufs: Use kmemdup in ufshcd_read_string_desc()
        ...
      10fd7178
    • Linus Torvalds's avatar
      Merge tag 'for-5.4/dm-changes' of... · 3e414b5b
      Linus Torvalds authored
      Merge tag 'for-5.4/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - crypto and DM crypt advances that allow the crypto API to reclaim
         implementation details that do not belong in DM crypt. The wrapper
         template for ESSIV generation that was factored out will also be used
         by fscrypt in the future.
      
       - Add root hash pkcs#7 signature verification to the DM verity target.
      
       - Add a new "clone" DM target that allows for efficient remote
         replication of a device.
      
       - Enhance DM bufio's cache to be tailored to each client based on use.
         Clients that make heavy use of the cache get more of it, and those
         that use less have reduced cache usage.
      
       - Add a new DM_GET_TARGET_VERSION ioctl to allow userspace to query the
         version number of a DM target (even if the associated module isn't
         yet loaded).
      
       - Fix invalid memory access in DM zoned target.
      
       - Fix the max_discard_sectors limit advertised by the DM raid target;
         it was mistakenly storing the limit in bytes rather than sectors.
      
       - Small optimizations and cleanups in DM writecache target.
      
       - Various fixes and cleanups in DM core, DM raid1 and space map portion
         of DM persistent data library.
      
      * tag 'for-5.4/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (22 commits)
        dm: introduce DM_GET_TARGET_VERSION
        dm bufio: introduce a global cache replacement
        dm bufio: remove old-style buffer cleanup
        dm bufio: introduce a global queue
        dm bufio: refactor adjust_total_allocated
        dm bufio: call adjust_total_allocated from __link_buffer and __unlink_buffer
        dm: add clone target
        dm raid: fix updating of max_discard_sectors limit
        dm writecache: skip writecache_wait for pmem mode
        dm stats: use struct_size() helper
        dm crypt: omit parsing of the encapsulated cipher
        dm crypt: switch to ESSIV crypto API template
        crypto: essiv - create wrapper template for ESSIV generation
        dm space map common: remove check for impossible sm_find_free() return value
        dm raid1: use struct_size() with kzalloc()
        dm writecache: optimize performance by sorting the blocks for writeback_all
        dm writecache: add unlikely for getting two block with same LBA
        dm writecache: remove unused member pointer in writeback_struct
        dm zoned: fix invalid memory access
        dm verity: add root hash pkcs#7 signature verification
        ...
      3e414b5b
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 018c6837
      Linus Torvalds authored
      Pull RDMA subsystem updates from Jason Gunthorpe:
       "This cycle mainly saw lots of bug fixes and clean up code across the
        core code and several drivers, few new functional changes were made.
      
         - Many cleanup and bug fixes for hns
      
         - Various small bug fixes and cleanups in hfi1, mlx5, usnic, qed,
           bnxt_re, efa
      
         - Share the query_port code between all the iWarp drivers
      
         - General rework and cleanup of the ODP MR umem code to fit better
           with the mmu notifier get/put scheme
      
         - Support rdma netlink in non init_net name spaces
      
         - mlx5 support for XRC devx and DC ODP"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (99 commits)
        RDMA: Fix double-free in srq creation error flow
        RDMA/efa: Fix incorrect error print
        IB/mlx5: Free mpi in mp_slave mode
        IB/mlx5: Use the original address for the page during free_pages
        RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp"
        RDMA/hns: Package operations of rq inline buffer into separate functions
        RDMA/hns: Optimize cmd init and mode selection for hip08
        IB/hfi1: Define variables as unsigned long to fix KASAN warning
        IB/{rdmavt, hfi1, qib}: Add a counter for credit waits
        IB/hfi1: Add traces for TID RDMA READ
        RDMA/siw: Relax from kmap_atomic() use in TX path
        IB/iser: Support up to 16MB data transfer in a single command
        RDMA/siw: Fix page address mapping in TX path
        RDMA: Fix goto target to release the allocated memory
        RDMA/usnic: Avoid overly large buffers on stack
        RDMA/odp: Add missing cast for 32 bit
        RDMA/hns: Use devm_platform_ioremap_resource() to simplify code
        Documentation/infiniband: update name of some functions
        RDMA/cma: Fix false error message
        RDMA/hns: Fix wrong assignment of qp_access_flags
        ...
      018c6837
    • Linus Torvalds's avatar
      Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 84da111d
      Linus Torvalds authored
      Pull hmm updates from Jason Gunthorpe:
       "This is more cleanup and consolidation of the hmm APIs and the very
        strongly related mmu_notifier interfaces. Many places across the tree
        using these interfaces are touched in the process. Beyond that a
        cleanup to the page walker API and a few memremap related changes
        round out the series:
      
         - General improvement of hmm_range_fault() and related APIs, more
           documentation, bug fixes from testing, API simplification &
           consolidation, and unused API removal
      
         - Simplify the hmm related kconfigs to HMM_MIRROR and DEVICE_PRIVATE,
           and make them internal kconfig selects
      
         - Hoist a lot of code related to mmu notifier attachment out of
           drivers by using a refcount get/put attachment idiom and remove the
           convoluted mmu_notifier_unregister_no_release() and related APIs.
      
         - General API improvement for the migrate_vma API and revision of its
           only user in nouveau
      
         - Annotate mmu_notifiers with lockdep and sleeping region debugging
      
        Two series unrelated to HMM or mmu_notifiers came along due to
        dependencies:
      
         - Allow pagemap's memremap_pages family of APIs to work without
           providing a struct device
      
         - Make walk_page_range() and related use a constant structure for
           function pointers"
      
      * tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (75 commits)
        libnvdimm: Enable unit test infrastructure compile checks
        mm, notifier: Catch sleeping/blocking for !blockable
        kernel.h: Add non_block_start/end()
        drm/radeon: guard against calling an unpaired radeon_mn_unregister()
        csky: add missing brackets in a macro for tlb.h
        pagewalk: use lockdep_assert_held for locking validation
        pagewalk: separate function pointers from iterator data
        mm: split out a new pagewalk.h header from mm.h
        mm/mmu_notifiers: annotate with might_sleep()
        mm/mmu_notifiers: prime lockdep
        mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end
        mm/mmu_notifiers: remove the __mmu_notifier_invalidate_range_start/end exports
        mm/hmm: hmm_range_fault() infinite loop
        mm/hmm: hmm_range_fault() NULL pointer bug
        mm/hmm: fix hmm_range_fault()'s handling of swapped out pages
        mm/mmu_notifiers: remove unregister_no_release
        RDMA/odp: remove ib_ucontext from ib_umem
        RDMA/odp: use mmu_notifier_get/put for 'struct ib_ucontext_per_mm'
        RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr
        RDMA/mlx5: Use ib_umem_start instead of umem.address
        ...
      84da111d
    • Linus Torvalds's avatar
      Merge tag 'compiler-attributes-for-linus-v5.4' of git://github.com/ojeda/linux · 227c3e9e
      Linus Torvalds authored
      Pull asm inline support from Miguel Ojeda:
       "Make use of gcc 9's "asm inline()" (Rasmus Villemoes):
      
        gcc 9+ (and gcc 8.3, 7.5) provides a way to override the otherwise
        crude heuristic that gcc uses to estimate the size of the code
        represented by an asm() statement. From the gcc docs
      
            If you use 'asm inline' instead of just 'asm', then for inlining
            purposes the size of the asm is taken as the minimum size, ignoring
            how many instructions GCC thinks it is.
      
        For compatibility with older compilers, we obviously want a
      
            #if [understands asm inline]
            #define asm_inline asm inline
            #else
            #define asm_inline asm
            #endif
      
        But since we #define the identifier inline to attach some attributes,
        we have to use an alternate spelling of that keyword. gcc provides
        both __inline__ and __inline, and we currently #define both to inline,
        so they all have the same semantics.
      
        We have to free up one of __inline__ and __inline, and the latter is
        by far the easiest.
      
        The two x86 changes cause smaller code gen differences than I'd
        expect, but I think we do want the asm_inline thing available sooner
        or later, so this is just to get the ball rolling"
      
      * tag 'compiler-attributes-for-linus-v5.4' of git://github.com/ojeda/linux:
        x86: bug.h: use asm_inline in _BUG_FLAGS definitions
        x86: alternative.h: use asm_inline for all alternative variants
        compiler-types.h: add asm_inline definition
        compiler_types.h: don't #define __inline
        lib/zstd/mem.h: replace __inline by inline
        staging: rtl8723bs: replace __inline by inline
      227c3e9e