1. May 04, 2017
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · d26f552e
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Drivers:
         - Freescale MXS Low Resolution ADC
         - Freescale i.MX23/i.MX28 LRADC touchscreen
         - Motorola CPCAP Power Button
         - TI LMU (Lighting Management Unit)
         - Atmel SMC (Static Memory Controller)
      
        New Device Support:
         - Add support for X-Powers AXP803 to axp20x
         - Add support for Dialog Semi DA9061 to da9062-core
         - Add support for Intel Cougar Mountain to lpc_ich
         - Add support for Intel Gemini Lake to lpc_ich
      
        New Functionality:
         - Add Device Tree support; wm831x-*, axp20x, ti-lmu, da9062, sun4i-gpadc
         - Add IRQ sense support; motorola-cpcap
         - Add ACPI support; cros_ec
         - Add Reset support; altera-a10sr
         - Add ADC support; axp20x
         - Add AC Power support; axp20x
         - Add Runtime PM support; atmel-ebi, exynos-lpass
         - Add Battery Power Supply support; axp20x
         - Add Clock support; exynos-lpass, hi655x-pmic
      
        Fix-ups:
         - Implicitly specify required headers; motorola-cpcap, intel_soc_pmic_bxtwc
         - Add .remove() method; stm32-timers, exynos-lpass
         - Remove unused code; intel_soc_pmic_core, intel-lpss-acpi, ipaq-micro, atmel-smc, menelaus
         - Rename variables for clarity; axp20x
         - Convert pr_warning() to pr_warn(); db8500-prcmu, sta2x11-mfd, twl4030-power
         - Improve formatting; arizona-core, axp20x
         - Use raw_spinlock_*() variants; asic3, t7l66xb, tc6393xb
         - Simplify/refactor code; arizona-core, atmel-ebi
         - Improve error checking; intel_soc_pmic_core
      
        Bug Fixes:
         - Ensure OMAP3630/3730 boards can successfully reboot; twl4030-power
         - Correct max-register value; stm32-timers
         - Extend timeout to account for clock stretching; cros_ec_spi
         - Use correct IRQ trigger type; motorola-cpcap
         - Fix bad use of IRQ sense register; motorola-cpcap
         - Logic error "||" should be "&&"; mxs-lradc-ts"
      
      * tag 'mfd-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (79 commits)
        input: touchscreen: mxs-lradc: || vs && typos
        dt-bindings: Add AXP803's regulator info
        mfd: axp20x: Support AXP803 variant
        dt-bindings: Add device tree binding for X-Powers AXP803 PMIC
        dt-bindings: Make AXP20X compatible strings one per line
        mfd: intel_soc_pmic_core: Fix unchecked return value
        mfd: menelaus: Remove obsolete local_irq_disable() and local_irq_enable()
        mfd: omap-usb-tll: Configure ULPIAUTOIDLE
        mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode
        mfd: palmas: Fixed spelling mistake in error message
        mfd: lpc_ich: Add support for Intel Gemini Lake SoC
        mfd: hi655x: Add the clock cell to provide WiFi and Bluetooth
        mfd: intel_soc_pmic: Fix a mess with compilation units
        mfd: exynos-lpass: Add runtime PM support
        mfd: exynos-lpass: Add missing remove() function
        mfd: exynos-lpass: Add support for clocks
        mfd: exynos-lpass: Remove pad retention control
        iio: adc: add support for X-Powers AXP20X and AXP22X PMICs ADCs
        mfd: cpcap: Fix bad use of IRQ sense register
        mfd: cpcap: Use ack_invert interrupts
        ...
      d26f552e
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · e897f267
      Linus Torvalds authored
      Pull backlight update from Lee Jones:
       "New Arctic Sand ARC2C0608 LED Backlight driver"
      
      * tag 'backlight-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: Add support for Arctic Sand LED backlight driver chips
        dt-bindings: backlight: arcxcnn: Supply bindings for Arctic Sand backlight
      e897f267
    • Linus Torvalds's avatar
      Merge tag 'sound-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 221656e7
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "It was a relatively calm development cycle, and no scaring changes are
        seen in both core and driver sides. Here are some highlights:
      
        ASoC:
         - A new API for hooking up jacks more generically and easily
      
         - Card longname is set based on DMI for a unique UCM profile
      
         - Lots of Intel driver fixes: Atom, Broxton, Skylake and newer chips
      
         - New drivers for Cirrus CS35L35, DIO DIO2125, Everest ES7132,
           HiSilicon hi6210, Maxim MAX98927, MT2701 systems with WM8960,
           Nuvoton NAU8824, Odroid systems, ST STM32 SAI controllers and x86
           systems with DA7213
      
        HD-audio:
         - Many new quirks to support headset for various devices (mostly ASUS
           ones) as usual
      
         - Support for dual codecs on some Gigabyte mobos and Lenovo laptop
      
         - Improvement on PCM position reporting for Skylake and newer
      
        FireWire:
         - New drivers for MOTU and RME Fireface series
      
         - Updates for Digidesign Digi00x and TASCAM series
      
         - Support for tracepoints
      
        Others:
         - USB-audio: improved support for quirk_alias option
      
         - Cleanups, constification allover the places"
      
      * tag 'sound-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (299 commits)
        ASoC: codec: wm8960: Relax bit clock computation when using PLL
        ASoC: codec: wm9860: avoid maybe-uninitialized warning
        ASoC: nau8824: leave Class D gain at chip default
        ASoC: nau8824: rename controls to match DAPM controls
        ASoC: Intel: Skylake: Return negative error code
        ASoC: Intel: Skylake: Fix unused variable warning
        ASoC: Intel: Skylake: fix uninitialized pointer use
        ASoC: sti: Fix error handling if of_clk_get() fails
        ASoC: cs4271: configure reset GPIO as output
        ASoC: dwc: Disallow building designware_pcm as a module
        ALSA: ali5451: fix spelling mistake in "ali_capture_preapre"
        ASoC: stm32: add SAI driver
        ASoC: stm32: add bindings for SAI
        ASoC: Intel: Skylake: Add loadable module support on KBL platform
        ASoC: Intel: Skylake: Modify load_lib_ipc arguments for a nowait version
        ASoC: Intel: Skylake: Register dsp_fw_ops for kabylake
        ASoC: Intel: Skylake: Modify arguments to reuse module transfer function
        ASoC: Intel: Skylake: Commonize library load
        ASoC: Intel: Skylake: Move sst common initialization to a helper function
        ASoC: nau8824: new driver
        ...
      221656e7
    • Linus Torvalds's avatar
      Merge tag 'drm-for-v4.12' of git://people.freedesktop.org/~airlied/linux · 2f34c123
      Linus Torvalds authored
      Pull drm u pdates from Dave Airlie:
       "This is the main drm pull request for v4.12. Apart from two fixes
        pulls, everything should have been in drm-next for at least 2 weeks.
      
        The biggest thing in here is AMD released the public headers for their
        upcoming VEGA GPUs. These as always are quite a sizeable chunk of
        header files. They've also added initial non-display support for those
        GPUs, though they aren't available in production yet.
      
        Otherwise it's pretty much normal.
      
        New bridge drivers:
         - megachips-stdpxxxx-ge-b850v3-fw LVDS->DP++
         - generic LVDS bridge support.
      
        Core:
         - Displayport link train failure reporting to userspace
         - debugfs interface cleaned up
         - subsystem TODO in kerneldoc now
         - Extended fbdev support (flipping and vblank wait)
         - drm_platform removed
         - EDP CRC support in helper
         - HF-VSDB SCDC support in EDID parser
         - Lots of code cleanups and header extraction
         - Thunderbolt external GPU awareness
         - Atomic helper improvements
         - Documentation improvements
      
        panel:
         - Sitronix and Samsung new panel support
      
        amdgpu:
         - Preliminary vega10 support
         - Multi-level page table support
         - GPU sensor support for userspace
         - PRT support for sparse buffers
         - SR-IOV improvements
         - Non-contig VRAM CPU mapping
      
        i915:
         - Atomic modesetting enabled by default on Gen5+
         - LSPCON improvements
         - Atomic state handling for cdclk
         - GPU reset improvements
         - In-kernel unit tests
         - Geminilake improvements and color manager support
         - Designware i2c fixes
         - vblank evasion improvements
         - Hotplug safe connector iterators
         - GVT scheduler QoS support
         - GVT Kabylake support
      
        nouveau:
         - Acceleration support for Pascal (GP10x).
         - Rearchitecture of code handling proprietary signed firmware
         - Fix GTX 970 with odd MMU configuration
         - GP10B support
         - GP107 acceleration support
      
        vmwgfx:
         - Atomic modesetting support for vmwgfx
      
        omapdrm:
         - Support for render nodes
         - Refactor omapdss code
         - Fix some probe ordering issues
         - Fix too dark RGB565 rendering
      
        sunxi:
         - prelim rework for multiple pipes.
      
        mali-dp:
         - Color management support
         - Plane scaling
         - Power management improvements
      
        imx-drm:
         - Prefetch Resolve Engine/Gasket on i.MX6QP
         - Deferred plane disabling
         - Separate alpha support
      
        mediatek:
         - Mediatek SoC MT2701 support
      
        rcar-du:
         - Gen3 HDMI support
      
        msm:
         - 4k support for newer chips
         - OPP bindings for gpu
         - prep work for per-process pagetables
      
        vc4:
         - HDMI audio support
         - fixes
      
        qxl:
         - minor fixes.
      
        dw-hdmi:
         - PHY improvements
         - CSC fixes
         - Amlogic GX SoC support"
      
      * tag 'drm-for-v4.12' of git://people.freedesktop.org/~airlied/linux: (1778 commits)
        drm/nouveau/fb/gf100-: Fix 32 bit wraparound in new ram detection
        drm/nouveau/secboot/gm20b: fix the error return code in gm20b_secboot_tegra_read_wpr()
        drm/nouveau/kms: Increase max retries in scanout position queries.
        drm/nouveau/bios/bitP: check that table is long enough for optional pointers
        drm/nouveau/fifo/nv40: no ctxsw for pre-nv44 mpeg engine
        drm: mali-dp: use div_u64 for expensive 64-bit divisions
        drm/i915: Confirm the request is still active before adding it to the await
        drm/i915: Avoid busy-spinning on VLV_GLTC_PW_STATUS mmio
        drm/i915/selftests: Allocate inode/file dynamically
        drm/i915: Fix system hang with EI UP masked on Haswell
        drm/i915: checking for NULL instead of IS_ERR() in mock selftests
        drm/i915: Perform link quality check unconditionally during long pulse
        drm/i915: Fix use after free in lpe_audio_platdev_destroy()
        drm/i915: Use the right mapping_gfp_mask for final shmem allocation
        drm/i915: Make legacy cursor updates more unsynced
        drm/i915: Apply a cond_resched() to the saturated signaler
        drm/i915: Park the signaler before sleeping
        drm: mali-dp: Check the mclk rate and allow up/down scaling
        drm: mali-dp: Enable image enhancement when scaling
        drm: mali-dp: Add plane upscaling support
        ...
      2f34c123
    • Linus Torvalds's avatar
      Merge branch 'generic' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · a3719f34
      Linus Torvalds authored
      Pull quota, reiserfs, udf and ext2 updates from Jan Kara:
       "The branch contains changes to quota code so that it does not modify
        persistent flags in inode->i_flags (it was the only place in kernel
        doing that) and handle it inside filesystem's quotaon/off handlers
        instead.
      
        The branch also contains two UDF cleanups, a couple of reiserfs fixes
        and one fix for ext2 quota locking"
      
      * 'generic' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext4: Improve comments in ext4_quota_{on|off}()
        udf: use kmap_atomic for memcpy copying
        udf: use octal for permissions
        quota: Remove dquot_quotactl_ops
        reiserfs: Remove i_attrs_to_sd_attrs()
        reiserfs: Remove useless setting of i_flags
        jfs: Remove jfs_get_inode_flags()
        ext2: Remove ext2_get_inode_flags()
        ext4: Remove ext4_get_inode_flags()
        quota: Stop setting IMMUTABLE and NOATIME flags on quota files
        jfs: Set flags on quota files directly
        ext2: Set flags on quota files directly
        reiserfs: Set flags on quota files directly
        ext4: Set flags on quota files directly
        reiserfs: Protect dquot_writeback_dquots() by s_umount semaphore
        reiserfs: Make cancel_old_flush() reliable
        ext2: Call dquot_writeback_dquots() with s_umount held
        reiserfs: avoid a -Wmaybe-uninitialized warning
      a3719f34
    • Linus Torvalds's avatar
      Merge branch 'fsnotify' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 5133cd75
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "The branch contains mainly a rework of fsnotify infrastructure fixing
        a shortcoming that we have waited for response to fanotify permission
        events with SRCU read lock held and when the process consuming events
        was slow to respond the kernel has stalled.
      
        It also contains several cleanups of unnecessary indirections in
        fsnotify framework and a bugfix from Amir fixing leakage of kernel
        internal errno to userspace"
      
      * 'fsnotify' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (37 commits)
        fanotify: don't expose EOPENSTALE to userspace
        fsnotify: remove a stray unlock
        fsnotify: Move ->free_mark callback to fsnotify_ops
        fsnotify: Add group pointer in fsnotify_init_mark()
        fsnotify: Drop inode_mark.c
        fsnotify: Remove fsnotify_find_{inode|vfsmount}_mark()
        fsnotify: Remove fsnotify_detach_group_marks()
        fsnotify: Rename fsnotify_clear_marks_by_group...
      5133cd75
    • Linus Torvalds's avatar
      Merge tag 'for-4.12/dm-post-merge-changes' of... · 7b66f132
      Linus Torvalds authored
      Merge tag 'for-4.12/dm-post-merge-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull additional device mapper updates from Mike Snitzer:
       "Here are some changes from Christoph that needed to be rebased ontop
        of changes that were already merged into the device mapper tree. In
        addition, these changes depend on the 'for-4.12/block' changes that
        you've already merged.
      
         - Cleanups to request-based DM and DM multipath from Christoph that
           prepare for his block core error code type checking improvements"
      
      * tag 'for-4.12/dm-post-merge-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: introduce a new DM_MAPIO_KILL return value
        dm rq: change ->rq_end_io calling conventions
        dm mpath: merge do_end_io into multipath_end_io
      7b66f132
    • Linus Torvalds's avatar
      Merge tag 'for-4.12/dm-changes' of... · d35a878a
      Linus Torvalds authored
      Merge tag 'for-4.12/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - A major update for DM cache that reduces the latency for deciding
         whether blocks should migrate to/from the cache. The bio-prison-v2
         interface supports this improvement by enabling direct dispatch of
         work to workqueues rather than having to delay the actual work
         dispatch to the DM cache core. So the dm-cache policies are much more
         nimble by being able to drive IO as they see fit. One immediate
         benefit from the improved latency is a cache that should be much more
         adaptive to changing workloads.
      
       - Add a new DM integrity target that emulates a block device that has
         additional per-sector tags that can be used for storing integrity
         information.
      
       - Add a new authenticated encryption feature to the DM crypt target
         that builds on the capabilities provided by the DM integrity target.
      
       - Add MD interface for switching the raid4/5/6 journal mode and update
         the DM raid target to use it to enable aid4/5/6 journal write-back
         support.
      
       - Switch the DM verity target over to using the asynchronous hash
         crypto API (this helps work better with architectures that have
         access to off-CPU algorithm providers, which should reduce CPU
         utilization).
      
       - Various request-based DM and DM multipath fixes and improvements from
         Bart and Christoph.
      
       - A DM thinp target fix for a bio structure leak that occurs for each
         discard IFF discard passdown is enabled.
      
       - A fix for a possible deadlock in DM bufio and a fix to re-check the
         new buffer allocation watermark in the face of competing admin
         changes to the 'max_cache_size_bytes' tunable.
      
       - A couple DM core cleanups.
      
      * tag 'for-4.12/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (50 commits)
        dm bufio: check new buffer allocation watermark every 30 seconds
        dm bufio: avoid a possible ABBA deadlock
        dm mpath: make it easier to detect unintended I/O request flushes
        dm mpath: cleanup QUEUE_IF_NO_PATH bit manipulation by introducing assign_bit()
        dm mpath: micro-optimize the hot path relative to MPATHF_QUEUE_IF_NO_PATH
        dm: introduce enum dm_queue_mode to cleanup related code
        dm mpath: verify __pg_init_all_paths locking assumptions at runtime
        dm: verify suspend_locking assumptions at runtime
        dm block manager: remove an unused argument from dm_block_manager_create()
        dm rq: check blk_mq_register_dev() return value in dm_mq_init_request_queue()
        dm mpath: delay requeuing while path initialization is in progress
        dm mpath: avoid that path removal can trigger an infinite loop
        dm mpath: split and rename activate_path() to prepare for its expanded use
        dm ioctl: prevent stack leak in dm ioctl call
        dm integrity: use previously calculated log2 of sectors_per_block
        dm integrity: use hex2bin instead of open-coded variant
        dm crypt: replace custom implementation of hex2bin()
        dm crypt: remove obsolete references to per-CPU state
        dm verity: switch to using asynchronous hash crypto API
        dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues
        ...
      d35a878a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · e5021876
      Linus Torvalds authored
      Pull MD updates from Shaohua Li:
      
       - Add Partial Parity Log (ppl) feature found in Intel IMSM raid array
         by Artur Paszkiewicz. This feature is another way to close RAID5
         writehole. The Linux implementation is also available for normal
         RAID5 array if specific superblock bit is set.
      
       - A number of md-cluser fixes and enabling md-cluster array resize from
         Guoqing Jiang
      
       - A bunch of patches from Ming Lei and Neil Brown to rewrite MD bio
         handling related code. Now MD doesn't directly access bio bvec,
         bi_phys_segments and uses modern bio API for bio split.
      
       - Improve RAID5 IO pattern to improve performance for hard disk based
         RAID5/6 from me.
      
       - Several patches from Song Liu to speed up raid5-cache recovery and
         allow raid5 cache feature disabling in runtime.
      
       - Fix a performance regression in raid1 resync from Xiao Ni.
      
       - Other cleanup and fixes from various people.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md: (84 commits)
        md/raid10: skip spare disk as 'first' disk
        md/raid1: Use a new variable to count flighting sync requests
        md: clear WantReplacement once disk is removed
        md/raid1/10: remove unused queue
        md: handle read-only member devices better.
        md/raid10: wait up frozen array in handle_write_completed
        uapi: fix linux/raid/md_p.h userspace compilation error
        md-cluster: Fix a memleak in an error handling path
        md: support disabling of create-on-open semantics.
        md: allow creation of mdNNN arrays via md_mod/parameters/new_array
        raid5-ppl: use a single mempool for ppl_io_unit and header_page
        md/raid0: fix up bio splitting.
        md/linear: improve bio splitting.
        md/raid5: make chunk_aligned_read() split bios more cleanly.
        md/raid10: simplify handle_read_error()
        md/raid10: simplify the splitting of requests.
        md/raid1: factor out flush_bio_list()
        md/raid1: simplify handle_read_error().
        Revert "block: introduce bio_copy_data_partial"
        md/raid1: simplify alloc_behind_master_bio()
        ...
      e5021876
    • Linus Torvalds's avatar
      Merge branch 'stable-4.12' of git://git.infradead.org/users/pcmoore/audit · 46f0537b
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Fourteen audit patches for v4.12 that span the full range of fixes,
        new features, and internal cleanups.
      
        We have a patches to move to 64-bit timestamps, convert refcounts from
        atomic_t to refcount_t, track PIDs using the pid struct instead of
        pid_t, convert our own private audit buffer cache to a standard
        kmem_cache, log kernel module names when they are unloaded, and
        normalize the NETFILTER_PKT to make the userspace folks happier.
      
        From a fixes perspective, the most important is likely the auditd
        connection tracking RCU fix; it was a rather brain dead bug that I'll
        take the blame for, but thankfully it didn't seem to affect many
        people (only one report).
      
        I think the patch subject lines and commit descriptions do a pretty
        good job of explaining the details and why the changes are important
        so I'll point you there instead of duplicating it here; as usual, if
        you have...
      46f0537b
  2. May 03, 2017
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 0302e28d
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "Highlights:
      
        IMA:
         - provide ">" and "<" operators for fowner/uid/euid rules
      
        KEYS:
         - add a system blacklist keyring
      
         - add KEYCTL_RESTRICT_KEYRING, exposes keyring link restriction
           functionality to userland via keyctl()
      
        LSM:
         - harden LSM API with __ro_after_init
      
         - add prlmit security hook, implement for SELinux
      
         - revive security_task_alloc hook
      
        TPM:
         - implement contextual TPM command 'spaces'"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (98 commits)
        tpm: Fix reference count to main device
        tpm_tis: convert to using locality callbacks
        tpm: fix handling of the TPM 2.0 event logs
        tpm_crb: remove a cruft constant
        keys: select CONFIG_CRYPTO when selecting DH / KDF
        apparmor: Make path_max parameter readonly
        apparmor: fix parameters so that the permission test is bypassed at boot
       ...
      0302e28d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 89c9fea3
      Linus Torvalds authored
      Pull trivial tree updates from Jiri Kosina.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
        tty: fix comment for __tty_alloc_driver()
        init/main: properly align the multi-line comment
        init/main: Fix double "the" in comment
        Fix dead URLs to ftp.kernel.org
        drivers: Clean up duplicated email address
        treewide: Fix typo in xml/driver-api/basics.xml
        tools/testing/selftests/powerpc: remove redundant CFLAGS in Makefile: "-Wall -O2 -Wall" -> "-O2 -Wall"
        selftests/timers: Spelling s/privledges/privileges/
        HID: picoLCD: Spelling s/REPORT_WRTIE_MEMORY/REPORT_WRITE_MEMORY/
        net: phy: dp83848: Fix Typo
        UBI: Fix typos
        Documentation: ftrace.txt: Correct nice value of 120 priority
        net: fec: Fix typo in error msg and comment
        treewide: Fix typos in printk
      89c9fea3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching · 76f1948a
      Linus Torvalds authored
      Pull livepatch updates from Jiri Kosina:
      
       - a per-task consistency model is being added for architectures that
         support reliable stack dumping (extending this, currently rather
         trivial set, is currently in the works).
      
         This extends the nature of the types of patches that can be applied
         by live patching infrastructure. The code stems from the design
         proposal made [1] back in November 2014. It's a hybrid of SUSE's
         kGraft and RH's kpatch, combining advantages of both: it uses
         kGraft's per-task consistency and syscall barrier switching combined
         with kpatch's stack trace switching. There are also a number of
         fallback options which make it quite flexible.
      
         Most of the heavy lifting done by Josh Poimboeuf with help from
         Miroslav Benes and Petr Mladek
      
         [1] https://lkml.kernel.org/r/20141107140458.GA21774@suse.cz
      
       - module load time patch optimization from Zhou Chengming
      
       - a few assorted small fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
        livepatch: add missing printk newlines
        livepatch: Cancel transition a safe way for immediate patches
        livepatch: Reduce the time of finding module symbols
        livepatch: make klp_mutex proper part of API
        livepatch: allow removal of a disabled patch
        livepatch: add /proc/<pid>/patch_state
        livepatch: change to a per-task consistency model
        livepatch: store function sizes
        livepatch: use kstrtobool() in enabled_store()
        livepatch: move patching functions into patch.c
        livepatch: remove unnecessary object loaded check
        livepatch: separate enabled and patched states
        livepatch/s390: add TIF_PATCH_PENDING thread flag
        livepatch/s390: reorganize TIF thread flag bits
        livepatch/powerpc: add TIF_PATCH_PENDING thread flag
        livepatch/x86: add TIF_PATCH_PENDING thread flag
        livepatch: create temporary klp_update_patch_state() stub
        x86/entry: define _TIF_ALLWORK_MASK flags explicitly
        stacktrace/x86: add function for detecting reliable stack traces
      76f1948a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 7af4c727
      Linus Torvalds authored
      Pull HID subsystem updates from Jiri Kosina:
      
       - The need for HID_QUIRK_NO_INIT_REPORTS per-device quirk has been
         growing dramatically during past years, so the time has come to
         switch over the default, and perform the pro-active reading only in
         cases where it's really needed (multitouch, wacom).
      
         The only place where this behavior is (in some form) preserved is
         hiddev so that we don't introduce userspace-visible change of
         behavior.
      
         From Benjamin Tissoires
      
       - HID++ support for power_supply / baterry reporting.
      
         From Benjamin Tissoires and Bastien Nocera
      
       - Vast improvements / rework of DS3 and DS4 in Sony driver.
      
         From Roderick Colenbrander
      
       - Improvment (in terms of getting closer to the Microsoft's
         interpretation of slightly ambiguous specification) of logical range
         interpretation in case null-state is set in the rdesc.
      
         From Valtteri Heikkilä and Tomasz Kramkowski
      
       - A lot of newly supported device IDs and small assorted fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (71 commits)
        HID: usbhid: Add HID_QUIRK_NOGET for Aten CS-1758 KVM switch
        HID: asus: support backlight on USB keyboards
        HID: wacom: Move wacom_remote_irq and wacom_remote_status_irq
        HID: wacom: generic: sync pad events only for actual packets
        HID: sony: remove redundant check for -ve err
        HID: sony: Make sure to unregister sensors on failure
        HID: sony: Make DS4 bt poll interval adjustable
        HID: sony: Set proper bit flags on DS4 output report
        HID: sony: DS4 use brighter LED colors
        HID: sony: Improve navigation controller axis/button mapping
        HID: sony: Use DS3 MAC address as unique identifier on USB
        HID: logitech-hidpp: add a sysfs file to tell we support power_supply
        HID: logitech-hidpp: enable HID++ 1.0 battery reporting
        HID: logitech-hidpp: add support for battery status for the K750
        HID: logitech-hidpp: battery: provide CAPACITY_LEVEL
        HID: logitech-hidpp: rename battery level into capacity
        HID: logitech-hidpp: battery: provide ONLINE property
        HID: logitech-hidpp: notify battery on connect
        HID: logitech-hidpp: return an error if the queried feature is not present
        HID: logitech-hidpp: create the battery for all types of HID++ devices
        ...
      7af4c727
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 68fed41e
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v4.12 cycle.
      
        The extra week before the merge window actually resulted in some of
        the type of fixes that usually arrive after the merge window already
        starting to trickle in from eager developers using -next, I'm
        impressed.
      
        I have recruited a Samsung subsubsystem maintainer (Krzysztof) to deal
        with the onset of Samsung patches. It works great.
      
        Apart from that it is a boring round, just incremental updates and
        fixes all over the place, no serious core changes or anything exciting
        like that. The most pleasing to see is Julia Cartwrights work to audit
        the irqchip-providing drivers for realtime locking compliance. It's
        one of those "I should really get around to looking into that" things
        that have been on my TODO list since forever.
      
        Summary:
      
        Core changes:
      
         - add bi-directional and output-enable pin configurations to the
           generic bindings and generic pin controlling core.
      
        New drivers or subdrivers:
      
         - Armada 37xx SoC pin controller and GPIO support.
      
         - Axis ARTPEC-6 SoC pin controller support.
      
         - AllWinner A64 R_PIO controller support, and opening up the
           AllWinner sunxi driver for ARM64 use.
      
         - Rockchip RK3328 support.
      
         - Renesas R-Car H3 ES2.0 support.
      
         - STM32F469 support in the STM32 driver.
      
         - Aspeed G4 and G5 pin controller support.
      
        Improvements:
      
         - a whole slew of realtime improvements to drivers implementing
           irqchips: BCM, AMD, SiRF, sunxi, rockchip.
      
         - switch meson driver to get the GPIO ranges from the device tree.
      
         - input schmitt trigger support on the Rockchip driver.
      
         - enable the sunxi (AllWinner) driver to also be used on ARM64
           silicon.
      
         - name the Qualcomm QDF2xxx GPIO lines.
      
         - support GMMR GPIO regions on the Intel Cherryview. This fixes a
           serialization problem on these platforms.
      
         - pad retention support for the Samsung Exynos 5433.
      
         - handle suspend-to-ram in the AT91-pio4 driver.
      
         - pin configuration support in the Aspeed driver.
      
        Cleanups:
      
         - the final name of Rockchip RK1108 was RV1108 so rename the driver
           and variables to stay consistent"
      
      * tag 'pinctrl-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (80 commits)
        pinctrl: mediatek: Add missing pinctrl bindings for mt7623
        pinctrl: artpec6: Fix return value check in artpec6_pmx_probe()
        pinctrl: artpec6: Remove .owner field for driver
        pinctrl: tegra: xusb: Silence sparse warnings
        ARM: at91/at91-pinctrl documentation: fix spelling mistake: "contoller" -> "controller"
        pinctrl: make artpec6 explicitly non-modular
        pinctrl: aspeed: g5: Add pinconf support
        pinctrl: aspeed: g4: Add pinconf support
        pinctrl: aspeed: Add core pinconf support
        pinctrl: aspeed: Document pinconf in devicetree bindings
        pinctrl: Add st,stm32f469-pinctrl compatible to stm32-pinctrl
        pinctrl: stm32: Add STM32F469 MCU support
        Documentation: dt: Remove ngpios from stm32-pinctrl binding
        pinctrl: stm32: replace device_initcall() with arch_initcall()
        pinctrl: stm32: add possibility to use gpio-ranges to declare bank range
        pinctrl: armada-37xx: Add gpio support
        pinctrl: armada-37xx: Add pin controller support for Armada 37xx
        pinctrl: dt-bindings: Add documentation for Armada 37xx pin controllers
        pinctrl: core: Make pinctrl_init_controller() static
        pinctrl: generic: Add bi-directional and output-enable
        ...
      68fed41e
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · be580e75
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Continue to re-factor code to prepare for eMMC CMDQ and blkmq support
         - Introduce queue semantics to prepare for eMMC CMDQ and blkmq support
         - Add helper functions to manage temporary enable/disable of eMMC CMDQ
         - Improve wait-busy detection for SDIO
      
        MMC host:
         - cavium: Add driver to support Cavium controllers
         - cavium: Extend Cavium driver to support Octeon and ThunderX SOCs
         - bcm2835: Add new driver for Broadcom BCM2835 controller
         - sdhci-xenon: Add driver to support Marvell Xenon SDHCI controller
         - sdhci-tegra: Add support for the Tegra186 variant
         - sdhci-of-esdhc: Support for UHS-I SD cards
         - sdhci-of-esdhc: Support for eMMC HS200 cards
         - sdhci-cadence: Add eMMC HS400 enhanced strobe support
         - sdhci-esdhc-imx: Reset tuning circuit when needed
         - sdhci-pci: Modernize and clean-up some PM related code
         - sdhci-pci: Avoid re-tuning at runtime PM for some Intel devices
         - sdhci-pci|acpi: Use aggressive PM for some Intel BYT controllers
         - sdhci: Re-factoring and modernizations
         - sdhci: Optimize delay loops
         - sdhci: Improve register dump print format
         - sdhci: Add support for the Command Queue Engine
         - meson-gx: Various improvements and clean-ups
         - meson-gx: Add support for CMD23
         - meson-gx: Basic tuning support to avoid CRC errors
         - s3cmci: Enable probing via DT
         - mediatek: Improve tuning support for eMMC HS200 and HS400 mode
         - tmio: Improve DMA support
         - tmio: Use correct response for CMD12
         - dw_mmc: Minor improvements and clean-ups"
      
      * tag 'mmc-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (148 commits)
        mmc: sdhci-of-esdhc: limit SD clock for ls1012a/ls1046a
        mmc: sdhci-of-esdhc: poll ESDHC_CLOCK_STABLE bit with udelay
        mmc: sdhci-xenon: Fix default value of LOGIC_TIMING_ADJUST for eMMC5.0 PHY
        mmc: sdhci-xenon: Fix the work flow in xenon_remove().
        MIPS: Octeon: cavium_octeon_defconfig: Enable Octeon MMC
        mmc: sdhci-xenon: Remove redundant dev_err call in get_dt_pad_ctrl_data()
        mmc: cavium: Use module_pci_driver to simplify the code
        mmc: cavium: Add MMC support for Octeon SOCs.
        mmc: cavium: Fix detection of block or byte addressing.
        mmc: core: Export API to allow hosts to get the card address
        mmc: sdio: Fix sdio wait busy implement limitation
        mmc: sdhci-esdhc-imx: reset tuning circuit when power on mmc card
        clk: apn806: fix spelling mistake: "mising" -> "missing"
        mmc: sdhci-of-esdhc: add delay between tuning cycles
        mmc: sdhci: Control the delay between tuning commands
        mmc: sdhci-of-esdhc: add tuning support
        mmc: sdhci-of-esdhc: add support for signal voltage switch
        mmc: sdhci-of-esdhc: add peripheral clock support
        mmc: sdhci-pci: Allow for 3 bytes from Intel DSM
        mmc: cavium: Fix a shift wrapping bug
        ...
      be580e75
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 8d65b08d
      Linus Torvalds authored
      Pull networking updates from David Millar:
       "Here are some highlights from the 2065 networking commits that
        happened this development cycle:
      
         1) XDP support for IXGBE (John Fastabend) and thunderx (Sunil Kowuri)
      
         2) Add a generic XDP driver, so that anyone can test XDP even if they
            lack a networking device whose driver has explicit XDP support
            (me).
      
         3) Sparc64 now has an eBPF JIT too (me)
      
         4) Add a BPF program testing framework via BPF_PROG_TEST_RUN (Alexei
            Starovoitov)
      
         5) Make netfitler network namespace teardown less expensive (Florian
            Westphal)
      
         6) Add symmetric hashing support to nft_hash (Laura Garcia Liebana)
      
         7) Implement NAPI and GRO in netvsc driver (Stephen Hemminger)
      
         8) Support TC flower offload statistics in mlxsw (Arkadi Sharshevsky)
      
         9) Multiqueue support in stmmac driver (Joao Pinto)
      
        10) Remove TCP timewait recycling, it never really could possibly work
            well in the real world and timestamp randomization really zaps any
            hint of usability this feature had (Soheil Hassas Yeganeh)
      
        11) Support level3 vs level4 ECMP route hashing in ipv4 (Nikolay
            Aleksandrov)
      
        12) Add socket busy poll support to epoll (Sridhar Samudrala)
      
        13) Netlink extended ACK support (Johannes Berg, Pablo Neira Ayuso,
            and several others)
      
        14) IPSEC hw offload infrastructure (Steffen Klassert)"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2065 commits)
        tipc: refactor function tipc_sk_recv_stream()
        tipc: refactor function tipc_sk_recvmsg()
        net: thunderx: Optimize page recycling for XDP
        net: thunderx: Support for XDP header adjustment
        net: thunderx: Add support for XDP_TX
        net: thunderx: Add support for XDP_DROP
        net: thunderx: Add basic XDP support
        net: thunderx: Cleanup receive buffer allocation
        net: thunderx: Optimize CQE_TX handling
        net: thunderx: Optimize RBDR descriptor handling
        net: thunderx: Support for page recycling
        ipx: call ipxitf_put() in ioctl error path
        net: sched: add helpers to handle extended actions
        qed*: Fix issues in the ptp filter config implementation.
        qede: Fix concurrency issue in PTP Tx path processing.
        stmmac: Add support for SIMATIC IOT2000 platform
        net: hns: fix ethtool_get_strings overflow in hns driver
        tcp: fix wraparound issue in tcp_lp
        bpf, arm64: fix jit branch offset related to ldimm64
        bpf, arm64: implement jiting of BPF_XADD
        ...
      8d65b08d
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 5a0387a8
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "Here is the crypto update for 4.12:
      
        API:
         - Add batch registration for acomp/scomp
         - Change acomp testing to non-unique compressed result
         - Extend algorithm name limit to 128 bytes
         - Require setkey before accept(2) in algif_aead
      
        Algorithms:
         - Add support for deflate rfc1950 (zlib)
      
        Drivers:
         - Add accelerated crct10dif for powerpc
         - Add crc32 in stm32
         - Add sha384/sha512 in ccp
         - Add 3des/gcm(aes) for v5 devices in ccp
         - Add Queue Interface (QI) backend support in caam
         - Add new Exynos RNG driver
         - Add ThunderX ZIP driver
         - Add driver for hardware random generator on MT7623 SoC"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (101 commits)
        crypto: stm32 - Fix OF module alias information
        crypto: algif_aead - Require setkey before accept(2)
        crypto: scomp - add support for deflate rfc1950 (zlib)
        crypto: scomp - allow registration of multiple scomps
        crypto: ccp - Change ISR handler method for a v5 CCP
        crypto: ccp - Change ISR handler method for a v3 CCP
        crypto: crypto4xx - rename ce_ring_contol to ce_ring_control
        crypto: testmgr - Allow ecb(cipher_null) in FIPS mode
        Revert "crypto: arm64/sha - Add constant operand modifier to ASM_EXPORT"
        crypto: ccp - Disable interrupts early on unload
        crypto: ccp - Use only the relevant interrupt bits
        hwrng: mtk - Add driver for hardware random generator on MT7623 SoC
        dt-bindings: hwrng: Add Mediatek hardware random generator bindings
        crypto: crct10dif-vpmsum - Fix missing preempt_disable()
        crypto: testmgr - replace compression known answer test
        crypto: acomp - allow registration of multiple acomps
        hwrng: n2 - Use devm_kcalloc() in n2rng_probe()
        crypto: chcr - Fix error handling related to 'chcr_alloc_shash'
        padata: get_next is never NULL
        crypto: exynos - Add new Exynos RNG driver
        ...
      5a0387a8
    • David S. Miller's avatar
      Merge branch 'tipc-refactor-socket-receive-functions' · 5d15af67
      David S. Miller authored
      
      
      Jon Maloy says:
      
      ====================
      tipc: refactor socket receive functions
      
      We try to make the functions tipc_sk_recvmsg() and
      tipc_sk_recvstream() more readable.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5d15af67
    • Jon Paul Maloy's avatar
      tipc: refactor function tipc_sk_recv_stream() · ec8a09fb
      Jon Paul Maloy authored
      
      
      We try to make this function more readable by improving variable names
      and comments, using more stack variables, and doing some smaller changes
      to the logics. We also rename the function to make it consistent with
      naming conventions used elsewhere in the code.
      
      Reviewed-by: default avatarParthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
      Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ec8a09fb
    • Jon Paul Maloy's avatar
      tipc: refactor function tipc_sk_recvmsg() · e9f8b101
      Jon Paul Maloy authored
      
      
      We try to make this function more readable by improving variable names
      and comments, plus some minor changes to the logics.
      
      Reviewed-by: default avatarParthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
      Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e9f8b101
    • David S. Miller's avatar
      Merge branch 'thunderx-xdp' · b0e92279
      David S. Miller authored
      
      
      Sunil Goutham says:
      
      ====================
      net: thunderx: Adds XDP support
      
      This patch series adds support for XDP to ThunderX NIC driver
      which is used on CN88xx, CN81xx and CN83xx platforms.
      
      Patches 1-4 are performance improvement and cleanup patches
      which are done keeping XDP performance bottlenecks in view.
      Rest of the patches adds actual XDP support.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0e92279
    • Sunil Goutham's avatar
      net: thunderx: Optimize page recycling for XDP · 77322538
      Sunil Goutham authored
      
      
      Driver follows a method of taking one extra reference on the
      page for recycling which is fine in usual packet path where
      each 64KB page is segmented into multiple receive buffers.
      
      But in XDP mode since there is just one receive buffer per
      page taking extra page reference itself becomes big bottleneck
      consuming ~50% of CPU cycles due to atomic operations.
      
      This patch adds a internal ref count in pgcache for each
      page and additional page references are taken in a batch
      instead of just one at a time. Internal i.e 'pgcache->ref_count'
      and page's i.e 'page->_refcount' counters are compared to check
      page's recyclability.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      77322538
    • Sunil Goutham's avatar
      net: thunderx: Support for XDP header adjustment · e3d06ff9
      Sunil Goutham authored
      
      
      When in XDP mode reserve XDP_PACKET_HEADROOM bytes at the start
      of receive buffer for XDP program to modify headers and adjust
      packet start. Additional code changes done to handle such packets.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e3d06ff9
    • Sunil Goutham's avatar
      net: thunderx: Add support for XDP_TX · 16f2bccd
      Sunil Goutham authored
      
      
      Adds support for XDP_TX i.e transmits packet out of
      the XDP TX queue mapped to the corresponding Rx queue
      on which packet is received.
      
      Since SQ for XDP TX will be used only on a single cpu i.e
      SQ description creation and freeing, using atomic free count
      is not necessary and will become a bottleneck. Hence added
      a separate 'xdp_free_cnt' used for SQs designated for XDP
      to track descriptor free count.
      
      Changes also include
      - A new entry 'xdp_page' is added to save transmitted packet's
        page pointer for later cleanup.
      - XDP Tx SQ's doorbell is ringed once per NAPI instance.
      - Retrieving designated SQ for packets being sent out by stack
        via 'nicvf_xmit'.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      16f2bccd
    • Sunil Goutham's avatar
      net: thunderx: Add support for XDP_DROP · c56d91ce
      Sunil Goutham authored
      
      
      Adds support for XDP_DROP.
      Also since in XDP mode there is just a single buffer per page,
      made changes to recycle DMA mapping info as well along with pages.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c56d91ce
    • Sunil Goutham's avatar
      net: thunderx: Add basic XDP support · 05c773f5
      Sunil Goutham authored
      
      
      Adds basic XDP support i.e attaching a BPF program to an
      interface. Also takes care of allocating separate Tx queues
      for XDP path and for network stack packet transmission.
      
      This patch doesn't support handling of any of the XDP actions,
      all are treated as XDP_PASS i.e packets will be handed over to
      the network stack.
      
      Changes also involve allocating one receive buffer per page in XDP
      mode and multiple in normal mode i.e when no BPF program is attached.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      05c773f5
    • Sunil Goutham's avatar
      net: thunderx: Cleanup receive buffer allocation · 927987f3
      Sunil Goutham authored
      
      
      Get rid of unnecessary double pointer references and type casting
      in receive buffer allocation code.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      927987f3
    • Sunil Goutham's avatar
      net: thunderx: Optimize CQE_TX handling · 0dada88b
      Sunil Goutham authored
      
      
      Optimized CQE handling with below changes
      - Feeing descriptors back to SQ in bulk i.e once per NAPI
        instance instead for every CQE_TX, this will reduce number
        of atomic updates to 'sq->free_cnt'.
      - Checking errors in CQE_TX and CQE_RX before calling appropriate
        fn()s to update error stats i.e reduce branching.
      
      Also removed debug messages in packet handling path which otherwise
      causes issues if DEBUG is enabled.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0dada88b
    • Sunil Goutham's avatar
      net: thunderx: Optimize RBDR descriptor handling · 5e848e4c
      Sunil Goutham authored
      
      
      Receive buffer's physical address or iova will anyway not
      go beyond 49bits, since it is the max supported HW address.
      As per perf, updating bitfields i.e buf_addr:42 in RBDR
      descriptor entry consumes lots of cpu cycles, hence changed
      it to a 64bit field with alignment requirements taken care of.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5e848e4c
    • Sunil Goutham's avatar
      net: thunderx: Support for page recycling · 5836b442
      Sunil Goutham authored
      
      
      Adds support for page recycling for allocating receive buffers
      to reduce cost of refilling RBDR ring. Also got rid of using
      compound pages when pagesize is 4K, only order-0 pages now.
      
      Only page is recycled, DMA mappings still needs to be done for
      every receive buffer allocated due to following constraints
      - Cannot have just one receive buffer per 64KB page.
      - There is just one buffer ring shared across 8 Rx queues, so
        buffers of same page can go to any Rx queue.
      - HW gives buffer address where packet has been DMA'ed and not
        the index into buffer ring.
      This makes it not possible to resue DMA mapping info. So unfortunately
      have to go through costly mapping route for every buffer.
      
      Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5836b442
    • Dan Carpenter's avatar
      ipx: call ipxitf_put() in ioctl error path · ee0d8d84
      Dan Carpenter authored
      
      
      We should call ipxitf_put() if the copy_to_user() fails.
      
      Reported-by: default avatar李强 <liqiang6-s@360.cn>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ee0d8d84
    • Jiri Pirko's avatar
      net: sched: add helpers to handle extended actions · 9da3242e
      Jiri Pirko authored
      Jump is now the only one using value action opcode. This is going to
      change soon. So introduce helpers to work with this. Convert TC_ACT_JUMP.
      
      This also fixes the TC_ACT_JUMP check, which is incorrectly done as a
      bit check, not a value check.
      
      Fixes: e0ee84de
      
       ("net sched actions: Complete the JUMPX opcode")
      Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9da3242e
    • David S. Miller's avatar
      Merge branch 'qed-PTP-fixes' · 5657f89a
      David S. Miller authored
      
      
      Sudarsana Reddy Kalluru says:
      
      ====================
      qed*: PTP bug fixes.
      
      The series addresses couple of issues in the PTP implementation.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5657f89a
    • sudarsana.kalluru@cavium.com's avatar
      qed*: Fix issues in the ptp filter config implementation. · 8d3f87d8
      sudarsana.kalluru@cavium.com authored
      
      
      PTP hardware filter configuration performed by the driver for a given
      user requested config is not correct for some of the PTP modes.
      Following changes are needed for PTP config-filter implementation.
       1. NIG_REG_TX_PTP_EN register - Bits 0/1/2 respectively enables
          TimeSync/"V1 frame format support"/"V2 frame format support" on
          the TX side. Set the associated bits based on the user request.
       2. ptp4l application fails to operate in Peer Delay mode. Following
          changes are needed to fix this,
          a. Driver should enable (set to 0) DA #1-related bits for IPv4,
             IPv6 and MAC destination addresses in these registers:
               NIG_REG_TX_LLH_PTP_RULE_MASK
               NIG_REG_LLH_PTP_RULE_MASK
          b. NIG_REG_LLH_PTP_PARAM_MASK/NIG_REG_TX_LLH_PTP_PARAM_MASK should
             be set to 0x0 in all modes.
      
      Signed-off-by: default avatarSudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d3f87d8
    • sudarsana.kalluru@cavium.com's avatar
      qede: Fix concurrency issue in PTP Tx path processing. · 461eec12
      sudarsana.kalluru@cavium.com authored
      
      
      PTP Tx timestamping data structures are not protected against the
      concurrent access in the Tx paths. Protecting the same using atomic
      bit locks.
      
      Signed-off-by: default avatarSudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      461eec12
    • Jan Kiszka's avatar
      stmmac: Add support for SIMATIC IOT2000 platform · 212c7fd6
      Jan Kiszka authored
      
      
      The IOT2000 is industrial controller platform, derived from the Intel
      Galileo Gen2 board. The variant IOT2020 comes with one LAN port, the
      IOT2040 has two of them. They can be told apart based on the board asset
      tag in the DMI table.
      
      Based on patch by Sascha Weisenberger.
      
      Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: default avatarSascha Weisenberger <sascha.weisenberger@siemens.com>
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      212c7fd6
    • Timmy Li's avatar
      net: hns: fix ethtool_get_strings overflow in hns driver · 412b65d1
      Timmy Li authored
      
      
      hns_get_sset_count() returns HNS_NET_STATS_CNT and the data space allocated
      is not enough for ethtool_get_strings(), which will cause random memory
      corruption.
      
      When SLAB and DEBUG_SLAB are both enabled, memory corruptions like the
      the following can be observed without this patch:
      [   43.115200] Slab corruption (Not tainted): Acpi-ParseExt start=ffff801fb0b69030, len=80
      [   43.115206] Redzone: 0x9f911029d006462/0x5f78745f31657070.
      [   43.115208] Last user: [<5f7272655f746b70>](0x5f7272655f746b70)
      [   43.115214] 010: 70 70 65 31 5f 74 78 5f 70 6b 74 00 6b 6b 6b 6b  ppe1_tx_pkt.kkkk
      [   43.115217] 030: 70 70 65 31 5f 74 78 5f 70 6b 74 5f 6f 6b 00 6b  ppe1_tx_pkt_ok.k
      [   43.115218] Next obj: start=ffff801fb0b69098, len=80
      [   43.115220] Redzone: 0x706d655f6f666966/0x9f911029d74e35b.
      [   43.115229] Last user: [<ffff0000084b11b0>](acpi_os_release_object+0x28/0x38)
      [   43.115231] 000: 74 79 00 6b 6b 6b 6b 6b 70 70 65 31 5f 74 78 5f  ty.kkkkkppe1_tx_
      [   43.115232] 010: 70 6b 74 5f 65 72 72 5f 63 73 75 6d 5f 66 61 69  pkt_err_csum_fai
      
      Signed-off-by: default avatarTimmy Li <lixiaoping3@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      412b65d1
    • Eric Dumazet's avatar
      tcp: fix wraparound issue in tcp_lp · a9f11f96
      Eric Dumazet authored
      Be careful when comparing tcp_time_stamp to some u32 quantity,
      otherwise result can be surprising.
      
      Fixes: 7c106d7e
      
       ("[TCP]: TCP Low Priority congestion control")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a9f11f96
    • Daniel Borkmann's avatar
      bpf, arm64: fix jit branch offset related to ldimm64 · ddc665a4
      Daniel Borkmann authored
      When the instruction right before the branch destination is
      a 64 bit load immediate, we currently calculate the wrong
      jump offset in the ctx->offset[] array as we only account
      one instruction slot for the 64 bit load immediate although
      it uses two BPF instructions. Fix it up by setting the offset
      into the right slot after we incremented the index.
      
      Before (ldimm64 test 1):
      
        [...]
        00000020:  52800007  mov w7, #0x0 // #0
        00000024:  d2800060  mov x0, #0x3 // #3
        00000028:  d2800041  mov x1, #0x2 // #2
        0000002c:  eb01001f  cmp x0, x1
        00000030:  54ffff82  b.cs 0x00000020
        00000034:  d29fffe7  mov x7, #0xffff // #65535
        00000038:  f2bfffe7  movk x7, #0xffff, lsl #16
        0000003c:  f2dfffe7  movk x7, #0xffff, lsl #32
        00000040:  f2ffffe7  movk x7, #0xffff, lsl #48
        00000044:  d29dddc7  mov x7, #0xeeee // #61166
        00000048:  f2bdddc7  movk x7, #0xeeee, lsl #16
        0000004c:  f2ddddc7  movk x7, #0xeeee, lsl #32
        00000050:  f2fdddc7  movk x7, #0xeeee, lsl #48
        [...]
      
      After (ldimm64 test 1):
      
        [...]
        00000020:  52800007  mov w7, #0x0 // #0
        00000024:  d2800060  mov x0, #0x3 // #3
        00000028:  d2800041  mov x1, #0x2 // #2
        0000002c:  eb01001f  cmp x0, x1
        00000030:  540000a2  b.cs 0x00000044
        00000034:  d29fffe7  mov x7, #0xffff // #65535
        00000038:  f2bfffe7  movk x7, #0xffff, lsl #16
        0000003c:  f2dfffe7  movk x7, #0xffff, lsl #32
        00000040:  f2ffffe7  movk x7, #0xffff, lsl #48
        00000044:  d29dddc7  mov x7, #0xeeee // #61166
        00000048:  f2bdddc7  movk x7, #0xeeee, lsl #16
        0000004c:  f2ddddc7  movk x7, #0xeeee, lsl #32
        00000050:  f2fdddc7  movk x7, #0xeeee, lsl #48
        [...]
      
      Also, add a couple of test cases to make sure JITs pass
      this test. Tested on Cavium ThunderX ARMv8. The added
      test cases all pass after the fix.
      
      Fixes: 8eee539d
      
       ("arm64: bpf: fix out-of-bounds read in bpf2a64_offset()")
      Reported-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Cc: Xi Wang <xi.wang@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ddc665a4