1. 06 Jul, 2017 14 commits
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.13-1' of git://git.infradead.org/linux-platform-drivers-x86 · 0dfaeb61
      Linus Torvalds authored
      Pull x86 platform driver updates from Darren Hart:
       "Introduce new bus architecture for WMI and expose BMOF data through
        sysfs. Correct several assumptions about WMI instance number from 1 to
        0. Further fujitsu-laptop cleanups, continuing to prepare for
        separation into two modules. Add support for several new ideapad
        laptops and silead-based tablets. Various minor fixes and const
        cleanups.
      
        Detail summary:
      
        sony-laptop:
         - constify attribute_group and input index array
      
        fujitsu-laptop:
         - rework debugging
         - do not evaluate ACPI _INI methods
         - do not update ACPI device power status
         - sanitize hotkey input device identification
         - use strcpy to set ACPI device names and classes
         - remove redundant safety checks
         - use device-specific data in remaining module code
         - use device-specific data in LED-related code
         - explicitly pass ACPI device to call_fext_func()
         - track the last instantiated FUJ02E3 ACPI device
         - allocate fujitsu_laptop in acpi_fujitsu_laptop_add()
         - use device-specific data in backlight code
         - allocate fujitsu_bl in acpi_fujitsu_bl_add()
         - distinguish current uses of device-specific data
      
        msi-laptop:
         - constify msipf*_attribute_group
      
        eeepc-laptop:
         - constify platform_attribute_group
      
        toshiba_haps:
         - constify haps_attr_group
      
        dell-wmi-led:
         - Adjust instance of wmi_evaluate_method calls to 0
      
        alienware-wmi:
         - Adjust instance of wmi_evaluate_method calls to 0
      
        intel_menlow:
         - Add const to thermal_cooling_device_ops structure
      
        acerhdf:
         - Add const to thermal_cooling_device_ops structure
      
        dell-laptop:
         - Fix bogus keyboard backlight sysfs interface
      
        acer-wmi:
         - Using zero as first WMI instance number
         - Detect RF Button capability
      
        ideapad-laptop:
         - Add Y720-15IKBN to no_hw_rfkill
         - Add Y520-15IKBN to no_hw_rfkill
         - constify rfkill_ops structure
         - Squelch ACPI event 1
         - hide unused 'touchpad_store'
         - Switch touchpad attribute to be RO
         - Add sysfs interface for touchpad state
      
        silead_dmi:
         - Add touchscreen info for PoV mobii wintab p800w
         - Add touchscreen info for Pipo W2S tablet
         - Add touchscreen info for GP-electronic T701
      
        dell-rbtn:
         - constify rfkill_ops structures
         - Improve explanation about DELLABC6
      
        samsung-laptop:
         - constify rfkill_ops structures
      
        panasonic-laptop:
         - remove unused code
      
        samsung-laptop:
         - Initialize loca variable
      
        dell-wmi:
         - Convert to the WMI bus infrastructure
         - Add a better description for "stealth mode"
         - Add a comment explaining the 0xb2 magic number
      
        wmi-bmof:
         - New driver to expose embedded Binary WMI MOF metadata
      
        wmi*:
         - Fix printing info about WDG structure
         - Add recent copyright statements
         - Require query for data blocks, rename writable to setable
         - Add an interface for subdrivers to access sibling devices
         - Bind the platform device, not the ACPI node
         - Add a new interface to read block data
         - Incorporate acpi_install_notify_handler
         - Instantiate all devices before adding them
         - Probe data objects for read and write capabilities
         - Split devices into types and add basic sysfs attributes
         - Fix error handling when creating devices
         - Turn WMI into a bus driver
         - Track wmi devices per ACPI device
         - Clean up acpi_wmi_add
         - Pass the acpi_device through to parse_wdg
         - Drop "Mapper (un)loaded" messages
      
        intel_cht_int33fe:
         - Set supplied-from property on max17047 dev
      
        intel_pmc_ipc:
         - Mark ipc_data_readb() as __maybe_unused
      
        topstar-laptop:
         - Add new device id
      
        peaq-wmi:
         - Add new peaq-wmi driver
      
        thinkpad_acpi:
         - Add a comment about 0 in module_param_call()
         - Join string literals back
      
        toshiba_acpi:
         - use memdup_user_nul"
      
      * tag 'platform-drivers-x86-v4.13-1' of git://git.infradead.org/linux-platform-drivers-x86: (67 commits)
        platform/x86: sony-laptop: constify attribute_group and input index array
        platform/x86: fujitsu-laptop: rework debugging
        platform/x86: fujitsu-laptop: do not evaluate ACPI _INI methods
        platform/x86: fujitsu-laptop: do not update ACPI device power status
        platform/x86: fujitsu-laptop: sanitize hotkey input device identification
        platform/x86: fujitsu-laptop: use strcpy to set ACPI device names and classes
        platform/x86: fujitsu-laptop: remove redundant safety checks
        platform/x86: msi-laptop: constify msipf*_attribute_group
        platform/x86: eeepc-laptop: constify platform_attribute_group
        platform/x86: toshiba_haps: constify haps_attr_group
        platform/x86: dell-wmi-led: Adjust instance of wmi_evaluate_method calls to 0
        platform/x86: alienware-wmi: Adjust instance of wmi_evaluate_method calls to 0
        platform/x86: intel_menlow: Add const to thermal_cooling_device_ops structure
        platform/x86: acerhdf: Add const to thermal_cooling_device_ops structure
        platform/x86: dell-laptop: Fix bogus keyboard backlight sysfs interface
        platform/x86: acer-wmi: Using zero as first WMI instance number
        platform/x86: ideapad-laptop: Add Y720-15IKBN to no_hw_rfkill
        platform/x86: ideapad-laptop: Add Y520-15IKBN to no_hw_rfkill
        platform/x86: silead_dmi: Add touchscreen info for PoV mobii wintab p800w
        platform/x86: silead_dmi: Add touchscreen info for Pipo W2S tablet
        ...
      0dfaeb61
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 90311148
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This is mostly updates of the usual suspects: lpfc, qla2xxx, bnx2fc,
        qedf, hpsa, hisi_sas, smartpqi, cxlflash, aacraid, csiostor along with
        a host of minor and miscellaneous changes"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (276 commits)
        qla2xxx: Fix NVMe entry_type for iocb packet on BE system
        scsi: qla2xxx: avoid unused-function warning
        scsi: snic: fix a couple of spelling mistakes/typos
        scsi: qla2xxx: fix a bunch of typos and spelling mistakes
        scsi: lpfc: don't double count abort errors
        scsi: lpfc: spin_lock_irq() is not nestable
        scsi: hisi_sas: optimise DMA slot memory
        scsi: ibmvfc: constify dev_pm_ops structures.
        scsi: ibmvscsi: constify dev_pm_ops structures.
        scsi: cxlflash: Update debug prints in reset handlers
        scsi: cxlflash: Update send_tmf() parameters
        scsi: cxlflash: Avoid double free of character device
        scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state
        scsi: ses: do not add a device to an enclosure if enclosure_add_links() fails.
        scsi: ufs: flush eh_work when eh_work scheduled.
        scsi: qla2xxx: Protect access to qpair members with qpair->qp_lock
        scsi: sun_esp: fix device reference leaks
        scsi: fnic: changing queue command to return result DID_IMM_RETRY when rport is init
        scsi: fnic: correct speed display and add support for 25,40 and 100G
        scsi: fnic: added timestamp reporting in fnic debug stats
        ...
      90311148
    • Linus Torvalds's avatar
      Merge tag 'for-4.13/dm-changes' of... · 3a564bb3
      Linus Torvalds authored
      Merge tag 'for-4.13/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Add the ability to use select or poll /dev/mapper/control to wait for
         events from multiple DM devices.
      
       - Convert DM's printk macros over to using pr_<level> macros.
      
       - Add a big-endian variant of plain64 IV to dm-crypt.
      
       - Add support for zoned (aka SMR) devices to DM core. DM kcopyd was
         also improved to provide a sequential write feature needed by zoned
         devices.
      
       - Introduce DM zoned target that provides support for host-managed
         zoned devices, the result dm-zoned device acts as a drive-managed
         interface to the underlying host-managed device.
      
       - A DM raid fix to avoid using BUG() for error handling.
      
      * tag 'for-4.13/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm zoned: fix overflow when converting zone ID to sectors
        dm raid: stop using BUG() in __rdev_sectors()
        dm zoned: drive-managed zoned block device target
        dm kcopyd: add sequential write feature
        dm linear: add support for zoned block devices
        dm flakey: add support for zoned block devices
        dm: introduce dm_remap_zone_report()
        dm: fix REQ_OP_ZONE_REPORT bio handling
        dm: fix REQ_OP_ZONE_RESET bio handling
        dm table: add zoned block devices validation
        dm: convert DM printk macros to pr_<level> macros
        dm crypt: add big-endian variant of plain64 IV
        dm bio prison: use rb_entry() rather than container_of()
        dm ioctl: report event number in DM_LIST_DEVICES
        dm ioctl: add a new DM_DEV_ARM_POLL ioctl
        dm: add basic support for using the select or poll function
      3a564bb3
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 9871ab22
      Linus Torvalds authored
      Pull rdma update from Doug Ledford:
       "This includes two bugs against the newly added opa vnic that were
        found by turning on the debug kernel options:
      
         - sleeping while holding a lock, so a one line fix where they
           switched it from GFP_KERNEL allocation to a GFP_ATOMIC allocation
      
         - a case where they had an isolated caller of their code that could
           call them in an atomic context so they had to switch their use of a
           mutex to a spinlock to be safe, so this was considerably more lines
           of diff because all uses of that lock had to be switched
      
        In addition, the bug that was discussed with you already about an out
        of bounds array access in ib_uverbs_modify_qp and ib_uverbs_create_ah
        and is only seven lines of diff.
      
        And finally, one fix to an earlier fix in the -rc cycle that broke
        hfi1 and qib in regards to IPoIB (this one is, unfortunately, larger
        than I would like for a -rc7 submission, but fixing the problem
        required that we not treat all devices as though they had allocated a
        netdev universally because it isn't true, and it took 70 lines of diff
        to resolve the issue, but the final patch has been vetted by Intel and
        Mellanox and they've both given their approval to the fix).
      
        Summary:
      
         - Two fixes for OPA found by debug kernel
         - Fix for user supplied input causing kernel problems
         - Fix for the IPoIB fixes submitted around -rc4"
      
      [ Doug sent this having not noticed the 4.12 release, so I guess I'll be
        getting another rdma pull request with the actuakl merge window
        updates and not just fixes.
      
        Oh well - it would have been nice if this small update had been the
        merge window one.     - Linus ]
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        IB/core, opa_vnic, hfi1, mlx5: Properly free rdma_netdev
        RDMA/uverbs: Check port number supplied by user verbs cmds
        IB/opa_vnic: Use spinlock instead of mutex for stats_lock
        IB/opa_vnic: Use GFP_ATOMIC while sending trap
      9871ab22
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · ac7b7596
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the big bulk of pin control changes for the v4.13 series:
      
        Core:
         - The documentation is moved over to RST.
         - We now have agreed bindings for enabling input and output buffers
           without actually enabling input and/or output on a pin. We are
           chiseling out some details of pin control electronics.
      
        New drivers:
         - ZTE ZX
         - Renesas RZA1
         - MIPS Ingenic JZ47xx: also switch over existing drivers in the tree
           to use this pin controller and consolidate earlier spread out code.
         - Microschip MCP23S08: this driver is migrated from the GPIO
           subsystem and totally rewritten to use proper pin control. All
           users are switched over.
      
        New subdrivers:
         - Renesas R8A7743 and R8A7745.
         - Allwinner Sunxi A83T R_PIO.
         - Marvell MVEBU Armada CP110 and AP806.
         - Intel Cannon Lake PCH.
         - Qualcomm IPQ8074.
      
        Notable improvements:
         - IRQ support on the Marvell MVEBU Armada 37xx.
         - Meson driver supports HDMI CEC, AO, I2S, SPDIF and PWM.
         - Rockchip driver now supports iomux-route switching for RK3228,
           RK3328 and RK3399.
         - Rockchip A10 and A20 are merged into a single driver.
         - STM32 has improved GPIO support.
         - Samsung Exynos drivers are split per ARMv7 and ARMv8.
         - Marvell MVEBU is converted to use regmap for register access.
      
        Maintenance:
         - Several Renesas SH-PFC refactorings and updates.
         - Serious code size cut for Mediatek MT7623.
         - Misc janitorial and MAINTAINERS fixes"
      
      * tag 'pinctrl-v4.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (137 commits)
        pinctrl: samsung: Remove bogus irq_[un]mask from resource management
        pinctrl: rza1: make structures rza1_gpiochip_template and rza1_pinmux_ops static
        pinctrl: rza1: Remove unneeded wrong check for wrong variable
        pinctrl: qcom: Add ipq8074 pinctrl driver
        pinctrl: freescale: imx7d: make of_device_ids const.
        pinctrl: DT: extend the pinmux property to support integers array
        pinctrl: generic: Add output-enable property
        pinctrl: armada-37xx: Fix number of pin in sdio_sb
        pinctrl: armada-37xx: Fix uart2 group selection register mask
        pinctrl: bcm2835: Avoid warning from __irq_do_set_handler
        pinctrl: sh-pfc: r8a7795: Add PWM support
        MAINTAINERS: Add Qualcomm pinctrl drivers section
        arm: dts: dt-bindings: Add Renesas RZ/A1 pinctrl header
        dt-bindings: pinctrl: Add RZ/A1 bindings doc
        pinctrl: Renesas RZ/A1 pin and gpio controller
        pinctrl: sh-pfc: r8a7792: Add SCIF1 and SCIF2 pin groups
        pinctrl.txt: move it to the driver-api book
        pinctrl: ingenic: checking for NULL instead of IS_ERR()
        pinctrl: uniphier: fix WARN_ON() of pingroups dump on LD20
        pinctrl: uniphier: fix WARN_ON() of pingroups dump on LD11
        ...
      ac7b7596
    • Linus Torvalds's avatar
      Merge tag 'leds_for_4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds · 4f5dfdd2
      Linus Torvalds authored
      Pull LED updates from Jacek Anaszewski:
       "This time we're removing more than adding:
      
        Removed drivers:
      
          leds-versatile:
            - all users of the Versatile LED driver are deleted and replaced
              with the very generic leds-syscon
      
          leds-sead3:
            - SEAD3 is using the generic leds-syscon & regmap based
              register-bit-led driver
      
        LED class drivers improvements:
      
          ledtrig-gpio:
            - use threaded IRQ, which both simplifies the code because we can
              drop the workqueue indirection, and it enables using the trigger
              for GPIOs that work with threaded IRQs themselves
            - refresh LED state after GPIO change since the new GPIO may have
              a different state than the old one
      
          leds-lp55xx:
            - make various arrays static const
      
          leds-pca963x:
            - add bindings to invert polarity"
      
      * tag 'leds_for_4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        leds: lp55xx: make various arrays static const
        leds: Remove SEAD-3 driver
        leds: trigger: gpio: Use threaded IRQ
        leds: trigger: gpio: Refresh LED state after GPIO change
        leds: Delete obsolete Versatile driver
        leds: pca963x: Add bindings to invert polarity
      4f5dfdd2
    • Linus Torvalds's avatar
      Merge tag 'media/v4.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 0b49ce5a
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - addition of fwnode support at V4L2 core
      
       - addition of a few more SDR formats
      
       - new imx driver to support i.MX6 cameras
      
       - new driver for Qualcon venus codecs
      
       - new I2C sensor drivers: dw9714, max2175, ov13858, ov5640
      
       - new CEC driver: stm32-cec
      
       - some improvements to DVB frontend documentation and a few fixups
      
       - several driver improvements and fixups
      
      * tag 'media/v4.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (361 commits)
        [media] media: entity: Catch unbalanced media_pipeline_stop calls
        [media] media/uapi/v4l: clarify cropcap/crop/selection behavior
        [media] v4l2-ioctl/exynos: fix G/S_SELECTION's type handling
        [media] vimc: sen: Declare vimc_sen_video_ops as static
        [media] vimc: sca: Add scaler
        [media] vimc: deb: Add debayer filter
        [media] vimc: Subdevices as modules
        [media] vimc: cap: Support several image formats
        [media] vimc: sen: Support several image formats
        [media] vimc: common: Add vimc_colorimetry_clamp
        [media] vimc: common: Add vimc_link_validate
        [media] vimc: common: Add vimc_pipeline_s_stream helper
        [media] vimc: common: Add vimc_ent_sd_* helper
        [media] vimc: Move common code from the core
        [media] vimc: sen: Integrate the tpg on the sensor
        [media] media: i2c: ov772x: Force use of SCCB protocol
        [media] dvb uapi docs: enums are passed by value, not reference
        [media] dvb: don't use 'time_t' in event ioctl
        [media] media: venus: enable building with COMPILE_TEST
        [media] af9013: refactor power control
        ...
      0b49ce5a
    • Linus Torvalds's avatar
      Merge tag 'sound-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 920f2ecd
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "This development cycle resulted in a fair amount of changes in both
        core and driver sides. The most significant change in ALSA core is
        about PCM. Also the support of of-graph card and the new DAPM widget
        for DSP are noteworthy changes in ASoC core. And there're lots of
        small changes splat over the tree, as you can see in diffstat.
      
        Below are a few highlights:
      
        ALSA core:
         - Removal of set_fs() hackery from PCM core stuff, and the code
           reorganization / optimization thereafter
         - Improved support of PCM ack ops, and a new ABI for improved
           control/status mmap handling
         - Lots of constifications in various codes
      
        ASoC core:
         - The support of of-graph card, which may work as a better generic
           device for a replacement of simple-card
         - New widget types intended mainly for use with DSPs
      
        ASoC drivers:
         - New drivers for Allwinner V3s SoCs
         - Ensonic ES8316 codec support
         - More Intel SKL and KBL works
         - More device support for Intel SST Atom (mostly for cheap tablets
           and 2-in-1 devices)
         - Support for Rockchip PDM controllers
         - Support for STM32 I2S and S/PDIF controllers
         - Support for ZTE AUD96P22 codecs
      
        HD-audio:
         - Support of new Realtek codecs (ALC215/ALC285/ALC289), more quirks
           for HP and Dell machines
         - A few more fixes for i915 component binding"
      
      * tag 'sound-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (418 commits)
        ALSA: hda - Fix unbalance of i915 module refcount
        ASoC: Intel: Skylake: Remove driver debugfs exit
        ASoC: Intel: Skylake: explicitly add the headers sst-dsp.h
        ALSA: hda/realtek - Remove GPIO_MASK
        ALSA: hda/realtek - Fix typo of pincfg for Dell quirk
        ALSA: pcm: add a documentation for tracepoints
        ALSA: atmel: ac97c: fix error return code in atmel_ac97c_probe()
        ALSA: x86: fix error return code in hdmi_lpe_audio_probe()
        ASoC: Intel: Skylake: Add support to read firmware registers
        ASoC: Intel: Skylake: Add sram address to sst_addr structure
        ASoC: Intel: Skylake: Debugfs facility to dump module config
        ASoC: Intel: Skylake: Add debugfs support
        ASoC: fix semicolon.cocci warnings
        ASoC: rt5645: Add quirk override by module option
        ASoC: rsnd: make arrays path and cmd_case static const
        ASoC: audio-graph-card: add widgets and routing for external amplifier support
        ASoC: audio-graph-card: update bindings for amplifier support
        ASoC: rt5665: calibration should be done before jack detection
        ASoC: rsnd: constify dev_pm_ops structures.
        ASoC: nau8825: change crosstalk-bypass property to bool type
        ...
      920f2ecd
    • Linus Torvalds's avatar
      Merge branch 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 9ced560b
      Linus Torvalds authored
      Pull cgroup changes from Tejun Heo:
      
       - Waiman made the debug controller work and a lot more useful on
         cgroup2
      
       - There were a couple issues with cgroup subtree delegation. The
         documentation on delegating to a non-root user was missing some part
         and cgroup namespace support wasn't factoring in delegation at all.
         The documentation is updated and the now there is a mount option to
         make cgroup namespace fit for delegation
      
      * 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: implement "nsdelegate" mount option
        cgroup: restructure cgroup_procs_write_permission()
        cgroup: "cgroup.subtree_control" should be writeable by delegatee
        cgroup: fix lockdep warning in debug controller
        cgroup: refactor cgroup_masks_read() in the debug controller
        cgroup: make debug an implicit controller on cgroup2
        cgroup: Make debug cgroup support v2 and thread mode
        cgroup: Make Kconfig prompt of debug cgroup more accurate
        cgroup: Move debug cgroup to its own file
        cgroup: Keep accurate count of tasks in each css_set
      9ced560b
    • Linus Torvalds's avatar
      Merge branch 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 109a5db5
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
      
       - Christoph added support for TCG OPAL self encrypting disks
      
       - Minwoo added support for ATA PASS-THROUGH(32)
      
       - Linus Walleij removed spurious drvdata assignments in some drivers
      
       - Support for a few new device and other fixes
      
      * 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (33 commits)
        sd: add support for TCG OPAL self encrypting disks
        libata: fix build warning from unused goto label
        libata: Support for an ATA PASS-THROUGH(32) command.
        ahci: Add Device ID for ASMedia 1061R and 1062R
        sata_via: Enable optional hotplug on VT6420
        ata: ahci_brcm: Avoid writing to read-only registers
        libata: Add the AHCI_HFLAG_NO_WRITE_TO_RO flag
        libata: Add the AHCI_HFLAG_YES_ALPM flag
        ata: ftide010: fix resource printing
        libata: make the function name in comment match the actual function
        ata: sata_rcar: make of_device_ids const.
        ata: pata_octeon_cf: make of_device_ids const.
        libata: Convert bare printks to pr_cont
        libahci: wrong comments in ahci_do_softreset()
        ata: declare ata_port_info structures as const
        ata: Add driver for Faraday Technology FTIDE010
        ata: Add DT bindings for the Gemini SATA bridge
        ata: Add DT bindings for Faraday Technology FTIDE010
        libata: implement SECURITY PROTOCOL IN/OUT
        libata: factor out a ata_identify_page_supported helper
        ...
      109a5db5
    • Linus Torvalds's avatar
      Merge branch 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · a4c20b9a
      Linus Torvalds authored
      Pull percpu updates from Tejun Heo:
       "These are the percpu changes for the v4.13-rc1 merge window. There are
        a couple visibility related changes - tracepoints and allocator stats
        through debugfs, along with __ro_after_init markings and a cosmetic
        rename in percpu_counter.
      
        Please note that the simple O(#elements_in_the_chunk) area allocator
        used by percpu allocator is again showing scalability issues,
        primarily with bpf allocating and freeing large number of counters.
        Dennis is working on the replacement allocator and the percpu
        allocator will be seeing increased churns in the coming cycles"
      
      * 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: fix static checker warnings in pcpu_destroy_chunk
        percpu: fix early calls for spinlock in pcpu_stats
        percpu: resolve err may not be initialized in pcpu_alloc
        percpu_counter: Rename __percpu_counter_add to percpu_counter_add_batch
        percpu: add tracepoint support for percpu memory
        percpu: expose statistics about percpu memory via debugfs
        percpu: migrate percpu data structures to internal header
        percpu: add missing lockdep_assert_held to func pcpu_free_area
        mark most percpu globals as __ro_after_init
      a4c20b9a
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 9b51f044
      Linus Torvalds authored
      Pull another parisc update from Helge Deller:
       "Christoph Hellwig provided one patch for the parisc architecture to
        drop the DMA_ERROR_CODE define from the parisc architecture"
      
      * 'parisc-4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: ->mapping_error
      9b51f044
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 55a7b212
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
      
       - RAS reporting via GHES/APEI (ACPI)
      
       - Indirect ftrace trampolines for modules
      
       - Improvements to kernel fault reporting
      
       - Page poisoning
      
       - Sigframe cleanups and preparation for SVE context
      
       - Core dump fixes
      
       - Sparse fixes (mainly relating to endianness)
      
       - xgene SoC PMU v3 driver
      
       - Misc cleanups and non-critical fixes
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (75 commits)
        arm64: fix endianness annotation for 'struct jit_ctx' and friends
        arm64: cpuinfo: constify attribute_group structures.
        arm64: ptrace: Fix incorrect get_user() use in compat_vfp_set()
        arm64: ptrace: Remove redundant overrun check from compat_vfp_set()
        arm64: ptrace: Avoid setting compat FP[SC]R to garbage if get_user fails
        arm64: fix endianness annotation for __apply_alternatives()/get_alt_insn()
        arm64: fix endianness annotation in get_kaslr_seed()
        arm64: add missing conversion to __wsum in ip_fast_csum()
        arm64: fix endianness annotation in acpi_parking_protocol.c
        arm64: use readq() instead of readl() to read 64bit entry_point
        arm64: fix endianness annotation for reloc_insn_movw() & reloc_insn_imm()
        arm64: fix endianness annotation for aarch64_insn_write()
        arm64: fix endianness annotation in aarch64_insn_read()
        arm64: fix endianness annotation in call_undef_hook()
        arm64: fix endianness annotation for debug-monitors.c
        ras: mark stub functions as 'inline'
        arm64: pass endianness info to sparse
        arm64: ftrace: fix !CONFIG_ARM64_MODULE_PLTS kernels
        arm64: signal: Allow expansion of the signal frame
        acpi: apei: check for pending errors when probing GHES entries
        ...
      55a7b212
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · e5f76a2e
      Linus Torvalds authored
      Pull mnt namespace updates from Eric Biederman:
       "A big break-through came during this development cycle as a way was
        found to maintain the existing umount -l semantics while allowing for
        optimizations that improve the performance. That is represented by the
        first change in this series moving the reparenting of mounts into
        their own pass. This has allowed addressing the horrific performance
        of umount -l on a carefully crafted tree of mounts with locks held
        (0.06s vs 60s in my testing). What allowed this was not changing where
        umounts propagate to while propgating umounts.
      
        The next change fixes the case where the order of the mount whose
        umount are being progated visits a tree where the mounts are stacked
        upon each other in another order. This is weird but not hard to
        implement.
      
        The final change takes advantage of the unchanging mount propgation
        tree to skip parts of the mount propgation tree that have already been
        visited. Yielding a very nice speed up in the worst case.
      
        There remains one outstanding question about the semantics of umount -l
        that I am still discussiong with Ram Pai. In practice that area of the
        semantics was changed by 1064f874 ("mnt: Tuck mounts under others
        instead of creating shadow/side mounts.") and no regressions have been
        reported. Still I intend to finish talking that out with him to ensure
        there is not something a more intense use of mount propagation in the
        future will not cause to become significant"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        mnt: Make propagate_umount less slow for overlapping mount propagation trees
        mnt: In propgate_umount handle visiting mounts in any order
        mnt: In umount propagation reparent in a separate pass
      e5f76a2e
  2. 05 Jul, 2017 26 commits
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.13.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · c96e6dab
      Linus Torvalds authored
      Pull GFS2 updates from Bob Peterson:
       "We've got eight GFS2 patches for this merge window:
      
         - Andreas Gruenbacher has four patches related to cleaning up the
           GFS2 inode evict process. This is about half of his patches
           designed to fix a long-standing GFS2 hang related to the inode
           shrinker: Shrinker calls gfs2 evict, evict calls DLM, DLM requires
           memory and blocks on the shrinker.
      
           These four patches have been well tested. His second set of patches
           are still being tested, so I plan to hold them until the next merge
           window, after we have more weeks of testing. The first patch
           eliminates the flush_delayed_work, which can block.
      
         - Andreas's second patch protects setting of gl_object for rgrps with
           a spin_lock to prevent proven races.
      
         - His third patch introduces a centralized mechanism for queueing
           glock work with better reference counting, to prevent more races.
      
          -His fourth patch retains a reference to inode glocks when an error
           occurs while creating an inode. This keeps the subsequent evict
           from needing to reacquire the glock, which might call into DLM and
           block in low memory conditions.
      
         - Arvind Yadav has a patch to add const to attribute_group
           structures.
      
         - I have a patch to detect directory entry inconsistencies and
           withdraw the file system if any are found. Better that than silent
           corruption.
      
         - I have a patch to remove a vestigial variable from glock
           structures, saving some slab space.
      
         - I have another patch to remove a vestigial variable from the GFS2
           in-core superblock structure"
      
      * tag 'gfs2-4.13.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        GFS2: constify attribute_group structures.
        gfs2: gfs2_create_inode: Keep glock across iput
        gfs2: Clean up glock work enqueuing
        gfs2: Protect gl->gl_object by spin lock
        gfs2: Get rid of flush_delayed_work in gfs2_evict_inode
        GFS2: Eliminate vestigial sd_log_flush_wrapped
        GFS2: Remove gl_list from glock structure
        GFS2: Withdraw when directory entry inconsistencies are detected
      c96e6dab
    • Linus Torvalds's avatar
      Merge branch 'for-4.13-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 8c27cb35
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "The core updates improve error handling (mostly related to bios), with
        the usual incremental work on the GFP_NOFS (mis)use removal,
        refactoring or cleanups. Except the two top patches, all have been in
        for-next for an extensive amount of time.
      
        User visible changes:
      
         - statx support
      
         - quota override tunable
      
         - improved compression thresholds
      
         - obsoleted mount option alloc_start
      
        Core updates:
      
         - bio-related updates:
             - faster bio cloning
             - no allocation failures
             - preallocated flush bios
      
         - more kvzalloc use, memalloc_nofs protections, GFP_NOFS updates
      
         - prep work for btree_inode removal
      
         - dir-item validation
      
         - qgoup fixes and updates
      
         - cleanups:
             - removed unused struct members, unused code, refactoring
             - argument refactoring (fs_info/root, caller -> callee sink)
             - SEARCH_TREE ioctl docs"
      
      * 'for-4.13-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (115 commits)
        btrfs: Remove false alert when fiemap range is smaller than on-disk extent
        btrfs: Don't clear SGID when inheriting ACLs
        btrfs: fix integer overflow in calc_reclaim_items_nr
        btrfs: scrub: fix target device intialization while setting up scrub context
        btrfs: qgroup: Fix qgroup reserved space underflow by only freeing reserved ranges
        btrfs: qgroup: Introduce extent changeset for qgroup reserve functions
        btrfs: qgroup: Fix qgroup reserved space underflow caused by buffered write and quotas being enabled
        btrfs: qgroup: Return actually freed bytes for qgroup release or free data
        btrfs: qgroup: Cleanup btrfs_qgroup_prepare_account_extents function
        btrfs: qgroup: Add quick exit for non-fs extents
        Btrfs: rework delayed ref total_bytes_pinned accounting
        Btrfs: return old and new total ref mods when adding delayed refs
        Btrfs: always account pinned bytes when dropping a tree block ref
        Btrfs: update total_bytes_pinned when pinning down extents
        Btrfs: make BUG_ON() in add_pinned_bytes() an ASSERT()
        Btrfs: make add_pinned_bytes() take an s64 num_bytes instead of u64
        btrfs: fix validation of XATTR_ITEM dir items
        btrfs: Verify dir_item in iterate_object_props
        btrfs: Check name_len before in btrfs_del_root_ref
        btrfs: Check name_len before reading btrfs_get_name
        ...
      8c27cb35
    • Linus Torvalds's avatar
      Merge branch 'work.memdup_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7114f51f
      Linus Torvalds authored
      Pull memdup_user() conversions from Al Viro:
       "A fairly self-contained series - hunting down open-coded memdup_user()
        and memdup_user_nul() instances"
      
      * 'work.memdup_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        bpf: don't open-code memdup_user()
        kimage_file_prepare_segments(): don't open-code memdup_user()
        ethtool: don't open-code memdup_user()
        do_ip_setsockopt(): don't open-code memdup_user()
        do_ipv6_setsockopt(): don't open-code memdup_user()
        irda: don't open-code memdup_user()
        xfrm_user_policy(): don't open-code memdup_user()
        ima_write_policy(): don't open-code memdup_user_nul()
        sel_write_validatetrans(): don't open-code memdup_user_nul()
      7114f51f
    • Linus Torvalds's avatar
      Merge branch 'timers-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ea3b25e1
      Linus Torvalds authored
      Pull timer-related user access updates from Al Viro:
       "Continuation of timers-related stuff (there had been more, but my
        parts of that series are already merged via timers/core). This is more
        of y2038 work by Deepa Dinamani, partially disrupted by the
        unification of native and compat timers-related syscalls"
      
      * 'timers-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        posix_clocks: Use get_itimerspec64() and put_itimerspec64()
        timerfd: Use get_itimerspec64() and put_itimerspec64()
        nanosleep: Use get_timespec64() and put_timespec64()
        posix-timers: Use get_timespec64() and put_timespec64()
        posix-stubs: Conditionally include COMPAT_SYS_NI defines
        time: introduce {get,put}_itimerspec64
        time: add get_timespec64 and put_timespec64
      ea3b25e1
    • Linus Torvalds's avatar
      Merge branch 'work.read_write' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 89fbf538
      Linus Torvalds authored
      Pull read/write updates from Al Viro:
       "Christoph's fs/read_write.c series - consolidation and cleanups"
      
      * 'work.read_write' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        nfsd: remove nfsd_vfs_read
        nfsd: use vfs_iter_read/write
        fs: implement vfs_iter_write using do_iter_write
        fs: implement vfs_iter_read using do_iter_read
        fs: move more code into do_iter_read/do_iter_write
        fs: remove __do_readv_writev
        fs: remove do_compat_readv_writev
        fs: remove do_readv_writev
      89fbf538
    • Niranjana Vishwanathapura's avatar
      IB/core, opa_vnic, hfi1, mlx5: Properly free rdma_netdev · 8e959601
      Niranjana Vishwanathapura authored
      IPOIB is calling free_rdma_netdev even though alloc_rdma_netdev has
      returned -EOPNOTSUPP.
      Move free_rdma_netdev from ib_device structure to rdma_netdev structure
      thus ensuring proper cleanup function is called for the rdma net device.
      
      Fix the following trace:
      
      ib0: Failed to modify QP to ERROR state
      BUG: unable to handle kernel paging request at 0000000000001d20
      IP: hfi1_vnic_free_rn+0x26/0xb0 [hfi1]
      Call Trace:
       ipoib_remove_one+0xbe/0x160 [ib_ipoib]
       ib_unregister_device+0xd0/0x170 [ib_core]
       rvt_unregister_device+0x29/0x90 [rdmavt]
       hfi1_unregister_ib_device+0x1a/0x100 [hfi1]
       remove_one+0x4b/0x220 [hfi1]
       pci_device_remove+0x39/0xc0
       device_release_driver_internal+0x141/0x200
       driver_detach+0x3f/0x80
       bus_remove_driver+0x55/0xd0
       driver_unregister+0x2c/0x50
       pci_unregister_driver+0x2a/0xa0
       hfi1_mod_cleanup+0x10/0xf65 [hfi1]
       SyS_delete_module+0x171/0x250
       do_syscall_64+0x67/0x150
       entry_SYSCALL64_slow_path+0x25/0x25
      Reviewed-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
      Signed-off-by: default avatarNiranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
      Signed-off-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      8e959601
    • Linus Torvalds's avatar
      Merge branch 'work.sys_wait' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 4be95131
      Linus Torvalds authored
      Pull wait syscall updates from Al Viro:
       "Consolidating sys_wait* and compat counterparts.
      
        Gets rid of set_fs()/double-copy mess, simplifies the whole thing
        (lifting the copyouts to the syscalls means less headache in the part
        that does actual work - fewer failure exits, to start with), gets rid
        of the overhead of field-by-field __put_user()"
      
      * 'work.sys_wait' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        osf_wait4: switch to kernel_wait4()
        waitid(): switch copyout of siginfo to unsafe_put_user()
        wait_task_zombie: consolidate info logics
        kill wait_noreap_copyout()
        lift getrusage() from wait_noreap_copyout()
        waitid(2): leave copyout of siginfo to syscall itself
        kernel_wait4()/kernel_waitid(): delay copying status to userland
        wait4(2)/waitid(2): separate copying rusage to userland
        move compat wait4 and waitid next to native variants
      4be95131
    • Linus Torvalds's avatar
      Merge branch 'work.misc-set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 3bad2f1c
      Linus Torvalds authored
      Pull misc user access cleanups from Al Viro:
       "The first pile is assorted getting rid of cargo-culted access_ok(),
        cargo-culted set_fs() and field-by-field copyouts.
      
        The same description applies to a lot of stuff in other branches -
        this is just the stuff that didn't fit into a more specific topical
        branch"
      
      * 'work.misc-set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        Switch flock copyin/copyout primitives to copy_{from,to}_user()
        fs/fcntl: return -ESRCH in f_setown when pid/pgid can't be found
        fs/fcntl: f_setown, avoid undefined behaviour
        fs/fcntl: f_setown, allow returning error
        lpfc debugfs: get rid of pointless access_ok()
        adb: get rid of pointless access_ok()
        isdn: get rid of pointless access_ok()
        compat statfs: switch to copy_to_user()
        fs/locks: don't mess with the address limit in compat_fcntl64
        nfsd_readlink(): switch to vfs_get_link()
        drbd: ->sendpage() never needed set_fs()
        fs/locks: pass kernel struct flock to fcntl_getlk/setlk
        fs: locks: Fix some troubles at kernel-doc comments
      3bad2f1c
    • Damien Le Moal's avatar
      dm zoned: fix overflow when converting zone ID to sectors · 3908c983
      Damien Le Moal authored
      A zone ID is a 32 bits unsigned int which can overflow when doing the
      bit shifts in dmz_start_sect().  With a 256 MB zone size drive, the
      overflow happens for a zone ID >= 8192.
      
      Fix this by casting the zone ID to a sector_t before doing the bit
      shift.  While at it, similarly fix dmz_start_block().
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      3908c983
    • Linus Torvalds's avatar
      Cavium CNN55XX: fix broken default Kconfig entry · b4b8cbf6
      Linus Torvalds authored
      Every developer always thinks that _their_ code is so special and
      magical that it should be enabled by default.
      
      And most of them are completely and utterly wrong.  That's definitely
      the case when you write a specialty driver for a very unsual "security
      processor". It does *not* get to mark itself as "default m".
      
      If you solve world hunger, and make a driver that cures people of
      cancer, by all means enable it by default.  But afaik, the Cavium
      CNN55XX does neither.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b4b8cbf6
    • Christoph Hellwig's avatar
      parisc: ->mapping_error · 227145eb
      Christoph Hellwig authored
      DMA_ERROR_CODE already went away in linux-next, but parisc unfortunately
      added a new instance of it without any review as far as I can tell.
      
      Move the two iommu drivers to report errors through ->mapping_error.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      227145eb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 5518b69b
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Reasonably busy this cycle, but perhaps not as busy as in the 4.12
        merge window:
      
         1) Several optimizations for UDP processing under high load from
            Paolo Abeni.
      
         2) Support pacing internally in TCP when using the sch_fq packet
            scheduler for this is not practical. From Eric Dumazet.
      
         3) Support mutliple filter chains per qdisc, from Jiri Pirko.
      
         4) Move to 1ms TCP timestamp clock, from Eric Dumazet.
      
         5) Add batch dequeueing to vhost_net, from Jason Wang.
      
         6) Flesh out more completely SCTP checksum offload support, from
            Davide Caratti.
      
         7) More plumbing of extended netlink ACKs, from David Ahern, Pablo
            Neira Ayuso, and Matthias Schiffer.
      
         8) Add devlink support to nfp driver, from Simon Horman.
      
         9) Add RTM_F_FIB_MATCH flag to RTM_GETROUTE queries, from Roopa
            Prabhu.
      
        10) Add stack depth tracking to BPF verifier and use this information
            in the various eBPF JITs. From Alexei Starovoitov.
      
        11) Support XDP on qed device VFs, from Yuval Mintz.
      
        12) Introduce BPF PROG ID for better introspection of installed BPF
            programs. From Martin KaFai Lau.
      
        13) Add bpf_set_hash helper for TC bpf programs, from Daniel Borkmann.
      
        14) For loads, allow narrower accesses in bpf verifier checking, from
            Yonghong Song.
      
        15) Support MIPS in the BPF selftests and samples infrastructure, the
            MIPS eBPF JIT will be merged in via the MIPS GIT tree. From David
            Daney.
      
        16) Support kernel based TLS, from Dave Watson and others.
      
        17) Remove completely DST garbage collection, from Wei Wang.
      
        18) Allow installing TCP MD5 rules using prefixes, from Ivan
            Delalande.
      
        19) Add XDP support to Intel i40e driver, from Björn Töpel
      
        20) Add support for TC flower offload in nfp driver, from Simon
            Horman, Pieter Jansen van Vuuren, Benjamin LaHaise, Jakub
            Kicinski, and Bert van Leeuwen.
      
        21) IPSEC offloading support in mlx5, from Ilan Tayari.
      
        22) Add HW PTP support to macb driver, from Rafal Ozieblo.
      
        23) Networking refcount_t conversions, From Elena Reshetova.
      
        24) Add sock_ops support to BPF, from Lawrence Brako. This is useful
            for tuning the TCP sockopt settings of a group of applications,
            currently via CGROUPs"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1899 commits)
        net: phy: dp83867: add workaround for incorrect RX_CTRL pin strap
        dt-bindings: phy: dp83867: provide a workaround for incorrect RX_CTRL pin strap
        cxgb4: Support for get_ts_info ethtool method
        cxgb4: Add PTP Hardware Clock (PHC) support
        cxgb4: time stamping interface for PTP
        nfp: default to chained metadata prepend format
        nfp: remove legacy MAC address lookup
        nfp: improve order of interfaces in breakout mode
        net: macb: remove extraneous return when MACB_EXT_DESC is defined
        bpf: add missing break in for the TCP_BPF_SNDCWND_CLAMP case
        bpf: fix return in load_bpf_file
        mpls: fix rtm policy in mpls_getroute
        net, ax25: convert ax25_cb.refcount from atomic_t to refcount_t
        net, ax25: convert ax25_route.refcount from atomic_t to refcount_t
        net, ax25: convert ax25_uid_assoc.refcount from atomic_t to refcount_t
        net, sctp: convert sctp_ep_common.refcnt from atomic_t to refcount_t
        net, sctp: convert sctp_transport.refcnt from atomic_t to refcount_t
        net, sctp: convert sctp_chunk.refcnt from atomic_t to refcount_t
        net, sctp: convert sctp_datamsg.refcnt from atomic_t to refcount_t
        net, sctp: convert sctp_auth_bytes.refcnt from atomic_t to refcount_t
        ...
      5518b69b
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 8ad06e56
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "Algorithms:
         - add private key generation to ecdh
      
        Drivers:
         - add generic gcm(aes) to aesni-intel
         - add SafeXcel EIP197 crypto engine driver
         - add ecb(aes), cfb(aes) and ecb(des3_ede) to cavium
         - add support for CNN55XX adapters in cavium
         - add ctr mode to chcr
         - add support for gcm(aes) to omap"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (140 commits)
        crypto: testmgr - Reenable sha1/aes in FIPS mode
        crypto: ccp - Release locks before returning
        crypto: cavium/nitrox - dma_mapping_error() returns bool
        crypto: doc - fix typo in docs
        Documentation/bindings: Document the SafeXel cryptographic engine driver
        crypto: caam - fix gfp allocation flags (part II)
        crypto: caam - fix gfp allocation flags (part I)
        crypto: drbg - Fixes panic in wait_for_completion call
        crypto: caam - make of_device_ids const.
        crypto: vmx - remove unnecessary check
        crypto: n2 - make of_device_ids const
        crypto: inside-secure - use the base_end pointer in ring rollback
        crypto: inside-secure - increase the batch size
        crypto: inside-secure - only dequeue when needed
        crypto: inside-secure - get the backlog before dequeueing the request
        crypto: inside-secure - stop requeueing failed requests
        crypto: inside-secure - use one queue per hw ring
        crypto: inside-secure - update the context and request later
        crypto: inside-secure - align the cipher and hash send functions
        crypto: inside-secure - optimize DSE bufferability control
        ...
      8ad06e56
    • Linus Torvalds's avatar
      Merge tag 'gcc-plugins-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 59005b0c
      Linus Torvalds authored
      Pull GCC plugin updates from Kees Cook:
       "The big part is the randstruct plugin infrastructure.
      
        This is the first of two expected pull requests for randstruct since
        there are dependencies in other trees that would be easier to merge
        once those have landed. Notably, the IPC allocation refactoring in
        -mm, and many trivial merge conflicts across several trees when
        applying the __randomize_layout annotation.
      
        As a result, it seemed like I should send this now since it is
        relatively self-contained, and once the rest of the trees have landed,
        send the annotation patches. I'm expecting the final phase of
        randstruct (automatic struct selection) will land for v4.14, but if
        its other tree dependencies actually make it for v4.13, I can send
        that merge request too.
      
        Summary:
      
        - typo fix in Kconfig (Jean Delvare)
      
        - randstruct infrastructure"
      
      * tag 'gcc-plugins-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        ARM: Prepare for randomized task_struct
        randstruct: Whitelist NIU struct page overloading
        randstruct: Whitelist big_key path struct overloading
        randstruct: Whitelist UNIXCB cast
        randstruct: Whitelist struct security_hook_heads cast
        gcc-plugins: Add the randstruct plugin
        Fix English in description of GCC_PLUGIN_STRUCTLEAK
        compiler: Add __designated_init annotation
        gcc-plugins: Detail c-common.h location for GCC 4.6
      59005b0c
    • Linus Torvalds's avatar
      Merge tag 'pstore-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 2cc7b4ca
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
       "Various fixes and tweaks for the pstore subsystem.
      
        Highlights:
      
         - use memdup_user() instead of open-coded copies (Geliang Tang)
      
         - fix record memory leak during initialization (Douglas Anderson)
      
         - avoid confused compressed record warning (Ankit Kumar)
      
         - prepopulate record timestamp and remove redundant logic from
           backends"
      
      * tag 'pstore-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        powerpc/nvram: use memdup_user
        pstore: use memdup_user
        pstore: Fix format string to use %u for record id
        pstore: Populate pstore record->time field
        pstore: Create common record initializer
        efi-pstore: Refactor erase routine
        pstore: Avoid potential infinite loop
        pstore: Fix leaked pstore_record in pstore_get_backend_records()
        pstore: Don't warn if data is uncompressed and type is not PSTORE_TYPE_DMESG
      2cc7b4ca
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · e24dd9ee
      Linus Torvalds authored
      Pull security layer updates from James Morris:
      
       - a major update for AppArmor. From JJ:
      
           * several bug fixes and cleanups
      
           * the patch to add symlink support to securityfs that was floated
             on the list earlier and the apparmorfs changes that make use of
             securityfs symlinks
      
           * it introduces the domain labeling base code that Ubuntu has been
             carrying for several years, with several cleanups applied. And it
             converts the current mediation over to using the domain labeling
             base, which brings domain stacking support with it. This finally
             will bring the base upstream code in line with Ubuntu and provide
             a base to upstream the new feature work that Ubuntu carries.
      
           * This does _not_ contain any of the newer apparmor mediation
             features/controls (mount, signals, network, keys, ...) that
             Ubuntu is currently carrying, all of which will be RFC'd on top
             of this.
      
       - Notable also is the Infiniband work in SELinux, and the new file:map
         permission. From Paul:
      
            "While we're down to 21 patches for v4.13 (it was 31 for v4.12),
             the diffstat jumps up tremendously with over 2k of line changes.
      
             Almost all of these changes are the SELinux/IB work done by
             Daniel Jurgens; some other noteworthy changes include a NFS v4.2
             labeling fix, a new file:map permission, and reporting of policy
             capabilities on policy load"
      
         There's also now genfscon labeling support for tracefs, which was
         lost in v4.1 with the separation from debugfs.
      
       - Smack incorporates a safer socket check in file_receive, and adds a
         cap_capable call in privilege check.
      
       - TPM as usual has a bunch of fixes and enhancements.
      
       - Multiple calls to security_add_hooks() can now be made for the same
         LSM, to allow LSMs to have hook declarations across multiple files.
      
       - IMA now supports different "ima_appraise=" modes (eg. log, fix) from
         the boot command line.
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (126 commits)
        apparmor: put back designators in struct initialisers
        seccomp: Switch from atomic_t to recount_t
        seccomp: Adjust selftests to avoid double-join
        seccomp: Clean up core dump logic
        IMA: update IMA policy documentation to include pcr= option
        ima: Log the same audit cause whenever a file has no signature
        ima: Simplify policy_func_show.
        integrity: Small code improvements
        ima: fix get_binary_runtime_size()
        ima: use ima_parse_buf() to parse template data
        ima: use ima_parse_buf() to parse measurements headers
        ima: introduce ima_parse_buf()
        ima: Add cgroups2 to the defaults list
        ima: use memdup_user_nul
        ima: fix up #endif comments
        IMA: Correct Kconfig dependencies for hash selection
        ima: define is_ima_appraise_enabled()
        ima: define Kconfig IMA_APPRAISE_BOOTPARAM option
        ima: define a set of appraisal rules requiring file signatures
        ima: extend the "ima_policy" boot command line to support multiple policies
        ...
      e24dd9ee
    • Linus Torvalds's avatar
      Merge branch 'stable-4.13' of git://git.infradead.org/users/pcmoore/audit · 7391786a
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Things are relatively quiet on the audit front for v4.13, just five
        patches for a total diffstat of 102 lines.
      
        There are two patches from Richard to consistently record the POSIX
        capabilities and add the ambient capability information as well.
      
        I also chipped in two patches to fix a race condition with the auditd
        tracking code and ensure we don't skip sending any records to the
        audit multicast group.
      
        Finally a single style fix that I accepted because I must have been in
        a good mood that day.
      
        Everything passes our test suite, and should be relatively harmless,
        please merge for v4.13"
      
      * 'stable-4.13' of git://git.infradead.org/users/pcmoore/audit:
        audit: make sure we never skip the multicast broadcast
        audit: fix a race condition with the auditd tracking code
        audit: style fix
        audit: add ambient capabilities to CAPSET and BPRM_FCAPS records
        audit: unswing cap_* fields in PATH records
      7391786a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · eed1fc87
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Store printk() messages into the main log buffer directly even in NMI
         when the lock is available. It is the best effort to print even large
         chunk of text. It is handy, for example, when all ftrace messages are
         printed during the system panic in NMI.
      
       - Add missing annotations to calm down compiler warnings
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        printk: add __printf attributes to internal functions
        printk: Use the main logbuf in NMI when logbuf_lock is available
      eed1fc87
    • Arvind Yadav's avatar
      GFS2: constify attribute_group structures. · 29695254
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         5259	   1344	      8	   6611	   19d3	fs/gfs2/sys.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         5371	   1216	      8	   6595	   19c3	fs/gfs2/sys.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      29695254
    • Andreas Gruenbacher's avatar
      gfs2: gfs2_create_inode: Keep glock across iput · e0b62e21
      Andreas Gruenbacher authored
      On failure, keep the inode glock across the final iput of the new inode
      so that gfs2_evict_inode doesn't have to re-acquire the glock.  That
      way, gfs2_evict_inode won't need to revalidate the block type.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      e0b62e21
    • Andreas Gruenbacher's avatar
      gfs2: Clean up glock work enqueuing · 6b0c7440
      Andreas Gruenbacher authored
      This patch adds a standardized queueing mechanism for glock work
      with spin_lock protection to prevent races.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      6b0c7440
    • Andreas Gruenbacher's avatar
      gfs2: Protect gl->gl_object by spin lock · 6f6597ba
      Andreas Gruenbacher authored
      Put all remaining accesses to gl->gl_object under the
      gl->gl_lockref.lock spinlock to prevent races.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      6f6597ba
    • Andreas Gruenbacher's avatar
      gfs2: Get rid of flush_delayed_work in gfs2_evict_inode · 4fd1a579
      Andreas Gruenbacher authored
      So far, gfs2_evict_inode clears gl->gl_object and then flushes the glock
      work queue to make sure that inode glops which dereference gl->gl_object
      have finished running before the inode is destroyed.  However, flushing
      the work queue may do more work than needed, and in particular, it may
      call into DLM, which we want to avoid here.  Use a bit lock
      (GIF_GLOP_PENDING) to synchronize between the inode glops and
      gfs2_evict_inode instead to get rid of the flushing.
      
      In addition, flush the work queues of existing glocks before reusing
      them for new inodes to get those glocks into a known state: the glock
      state engine currently doesn't handle glock re-appropriation correctly.
      (We may be able to fix the glock state engine instead later.)
      
      Based on a patch by Steven Whitehouse <swhiteho@redhat.com>.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      4fd1a579
    • David S. Miller's avatar
      Merge branch 'phy-dp83867-workaround-incorrect-RX_CTRL-pin-strap' · 0e725822
      David S. Miller authored
      Sekhar Nori says:
      
      ====================
      net: phy: dp83867: workaround incorrect RX_CTRL pin strap
      
      This patch series adds workaround for incorrect RX_CTRL pin strap
      setting that can be found on some TI boards.
      
      This is required to be complaint to PHY datamanual specification.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0e725822
    • Murali Karicheri's avatar
      net: phy: dp83867: add workaround for incorrect RX_CTRL pin strap · 37144476
      Murali Karicheri authored
      The data manual for DP83867IR/CR, SNLS484E[1], revised march 2017,
      advises that strapping RX_DV/RX_CTRL pin in mode 1 and 2 is not
      supported (see note below Table 5 (4-Level Strap Pins)).
      
      There are some boards which have the pin strapped this way and need
      software workaround suggested by the data manual. Bit[7] of
      Configuration Register 4 (address 0x0031) must be cleared to 0. This
      ensures proper operation of the PHY.
      
      Implement driver support for device-tree property meant to advertise
      the wrong strapping.
      
      [1] http://www.ti.com/lit/ds/snls484e/snls484e.pdfSigned-off-by: default avatarMurali Karicheri <m-karicheri2@ti.com>
      [nsekhar@ti.com: rebase to mainline, code simplification]
      Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      37144476
    • Murali Karicheri's avatar
      dt-bindings: phy: dp83867: provide a workaround for incorrect RX_CTRL pin strap · 908a7733
      Murali Karicheri authored
      The data manual for DP83867IR/CR, SNLS484E[1], revised march 2017,
      advises that strapping RX_DV/RX_CTRL pin in mode 1 and 2 is not
      supported (see note below Table 5 (4-Level Strap Pins)).
      
      It further advises that if a board has this pin strapped in mode 1 and
      mode 2, then to ensure proper operation of the PHY, a software workaround
      must be implemented.
      
      Since it is not possible to detect in software if RX_DV/RX_CTRL pin is
      incorrectly strapped, add a device-tree property for the board to
      advertise this and allow corrective action in software.
      
      [1] http://www.ti.com/lit/ds/snls484e/snls484e.pdfSigned-off-by: default avatarMurali Karicheri <m-karicheri2@ti.com>
      [nsekhar@ti.com: rebase to mainline, split documentation into separate patch]
      Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      908a7733