1. 26 Oct, 2018 1 commit
    • Breno Leitao's avatar
      HID: hiddev: fix potential Spectre v1 · f1127439
      Breno Leitao authored
      uref->usage_index can be indirectly controlled by userspace, hence leading
      to a potential exploitation of the Spectre variant 1 vulnerability.
      
      This field is used as an array index by the hiddev_ioctl_usage() function,
      when 'cmd' is either HIDIOCGCOLLECTIONINDEX, HIDIOCGUSAGES or
      HIDIOCSUSAGES.
      
      For cmd == HIDIOCGCOLLECTIONINDEX case, uref->usage_index is compared to
      field->maxusage and then used as an index to dereference field->usage
      array. The same thing happens to the cmd == HIDIOC{G,S}USAGES cases, where
      uref->usage_index is checked against an array maximum value and then it is
      used as an index in an array.
      
      This is a summary of the HIDIOCGCOLLECTIONINDEX case, which matches the
      traditional Spectre V1 first load:
      
      	copy_from_user(uref, user_arg, sizeof(*uref))
      	if (uref->usage_index >= field->maxusage)
      		goto inval;
      	i = field->usage[uref->usage_index].collection_index;
      	return i;
      
      This patch fixes this by sanitizing field uref->usage_index before using it
      to index field->usage (HIDIOCGCOLLECTIONINDEX) or field->value in
      HIDIOC{G,S}USAGES arrays, thus, avoiding speculation in the first load.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
      --
      
      v2: Contemplate cmd == HIDIOC{G,S}USAGES case
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      f1127439
  2. 25 Oct, 2018 3 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 96f2f66a
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - rumble support for Xbox One S, from Andrey Smirnov
      
       - high-resolution support for Logitech mice, from Harry Cutts
      
       - support for recent devices requiring the HID parse to be able to cope
         with tag report sizes > 256
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (35 commits)
        HID: usbhid: Add quirk for Redragon/Dragonrise Seymur 2
        HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452
        HID: google: add dependency on Cros EC for Hammer
        HID: elan: fix spelling mistake "registred" -> "registered"
        HID: google: drop superfluous const before SIMPLE_DEV_PM_OPS()
        HID: google: add support tablet mode switch for Whiskers
        mfd: cros: add "base attached" MKBP switch definition
        Input: reserve 2 events code because of HID
        HID: magicmouse: add support for Apple Magic Trackpad 2
        HID: i2c-hid: override HID descriptors for certain devices
        HID: hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad
        HID: logitech: fix a used uninitialized GCC warning
        HID: intel-ish-hid: using list_head for ipc write queue
        HID: intel-ish-hid: use resource-managed api
        HID: intel_ish-hid: Enhance API to get ring buffer sizes
        HID: intel-ish-hid: use helper function to search client id
        HID: intel-ish-hid: ishtp: add helper function for client search
        HID: intel-ish-hid: use helper function to access client buffer
        HID: intel-ish-hid: ishtp: add helper functions for client buffer operation
        HID: intel-ish-hid: use helper function for private driver data set/get
        ...
      96f2f66a
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 3f2dcb64
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Old Drivers
         - Remove driver for S6E63M0
         - Remove driver for LD9040
      
        Fix-ups
         - Trivial (email address update); adp*_bl
         - Use 'atomic' PWM API; pwm_bl
      
        Bug Fixes
         - Remove pointless boolen '&ptr' check; lm3639_bl"
      
      * tag 'backlight-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: Remove ld9040 driver
        backlight: Remove s6e63m0 driver
        backlight: lm3639: Unconditionally call led_classdev_unregister
        backlight: pwm_bl: Switch to using "atomic" PWM API
        backlight: Update MODULE AUTHOR email address
      3f2dcb64
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 3ea172c8
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Drivers
         - Add support for USART SPI to AT91*
      
        New Functionality
         - Add support for Audio CODECs to motorola-cpcap
      
        Fix-ups
         - DT documentation fix-ups; atmel-usart
         - Staticise functions/structs; spi-at91-usart, arizona-core
         - Constify; ti-lmu
         - Fix memory leaks; menelaus
         - Change device 'wake-up' status; ti_am335x_tscadc, max8997
         - Power Management (suspend/resume) semantic changes; ti_am335x_adc, cros_ec, max8997
         - SPDX churn; sec-core (+ headers), max* (+ headers), intel* (+ headers),
         - Trivial (whitespace, email addresses, alphabetisise); Kconfig, adp5520, intel_soc_pmic_*
         - Build as module; sec-irq
         - Use new %pOFn printk format for device_node.name; max77620
         - Remove unused code; madera
         - Use generic MACROs; intel_msic, intel_soc_pmic_crc
         - Move to GPIOD; ti-lmu
         - Use managed resources; ti-lmu
      
        Bug Fixes
         - Add missing headers; at91-usart
         - Prevent device from entering low-power mode; arizona-core
         - Poll for BOOT_DONE to avoid still-booting NACK; madera-core
         - Prevent ADC read from shutting down device; mc13xxx-core"
      
      * tag 'mfd-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (45 commits)
        mfd: cros_ec: Avoid unneeded internal declaration warning
        mfd: ti-lmu: Use of_device_get_match_data() helper
        mfd: ti-lmu: Use managed resource for everything
        mfd: ti-lmu: Switch to GPIOD
        mfd: ti-lmu: constify mfd_cell tables
        mfd: max8997: Disable interrupt handling for suspend/resume cycle
        mfd: max8997: Enale irq-wakeup unconditionally
        mfd: arizona: Make array mclk_name static, shrinks object size
        MAINTAINERS: Add myself as designated reviewer of Intel MFD PMIC
        mfd: Convert Intel PMIC drivers to use SPDX identifier 1;5201;0c Reduce size of duplicated comments by switching to use SPDX identifier.
        mfd: Sort headers alphabetically for Intel PMIC drivers
        mfd: intel_soc_pmic_bxtwc: Chain power button IRQs as well
        mfd: intel_soc_pmic_crc: Use REGMAP_IRQ_REG() macro
        mfd: intel_soc_pmic_crc: Use DEFINE_RES_IRQ_NAMED() macro
        mfd: intel_msic: Use DEFINE_RES_IRQ() macro
        mfd: motorola-cpcap: Add audio-codec support
        mfd: mc13xxx-core: Fix PMIC shutdown when reading ADC values
        mfd: madera: Remove unused forward reference
        mfd: max77620: Convert to using %pOFn instead of device_node.name
        mfd: madera: Don't use regmap_read_poll_timeout to poll for BOOT_DONE
        ...
      3ea172c8
  3. 24 Oct, 2018 18 commits
    • Linus Torvalds's avatar
      Merge tag 'docs-4.20' of git://git.lwn.net/linux · 01aa9d51
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "This is a fairly typical cycle for documentation. There's some welcome
        readability improvements for the formatted output, some LICENSES
        updates including the addition of the ISC license, the removal of the
        unloved and unmaintained 00-INDEX files, the deprecated APIs document
        from Kees, more MM docs from Mike Rapoport, and the usual pile of typo
        fixes and corrections"
      
      * tag 'docs-4.20' of git://git.lwn.net/linux: (41 commits)
        docs: Fix typos in histogram.rst
        docs: Introduce deprecated APIs list
        kernel-doc: fix declaration type determination
        doc: fix a typo in adding-syscalls.rst
        docs/admin-guide: memory-hotplug: remove table of contents
        doc: printk-formats: Remove bogus kobject references for device nodes
        Documentation: preempt-locking: Use better example
        dm flakey: Document "error_writes" feature
        docs/completion.txt: Fix a couple of punctuation nits
        LICENSES: Add ISC license text
        LICENSES: Add note to CDDL-1.0 license that it should not be used
        docs/core-api: memory-hotplug: add some details about locking internals
        docs/core-api: rename memory-hotplug-notifier to memory-hotplug
        docs: improve readability for people with poorer eyesight
        yama: clarify ptrace_scope=2 in Yama documentation
        docs/vm: split memory hotplug notifier description to Documentation/core-api
        docs: move memory hotplug description into admin-guide/mm
        doc: Fix acronym "FEKEK" in ecryptfs
        docs: fix some broken documentation references
        iommu: Fix passthrough option documentation
        ...
      01aa9d51
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 5993692f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - further restructure ext4 documentation
      
       - fix up ext4's delayed allocation for bigalloc file systems
      
       - fix up some syzbot-detected races in EXT4_IOC_MOVE_EXT,
         EXT4_IOC_SWAP_BOOT, and ext4_remount
      
       - ... and a few other miscellaneous bugs and optimizations.
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (21 commits)
        ext4: fix use-after-free race in ext4_remount()'s error path
        ext4: cache NULL when both default_acl and acl are NULL
        docs: promote the ext4 data structures book to top level
        docs: move ext4 administrative docs to admin-guide/
        jbd2: fix use after free in jbd2_log_do_checkpoint()
        ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR
        ext4: fix setattr project check in fssetxattr ioctl
        docs: make ext4 readme tables readable
        docs: fix ext4 documentation table formatting problems
        docs: generate a separate ext4 pdf file from the documentation
        ext4: convert fault handler to use vm_fault_t type
        ext4: initialize retries variable in ext4_da_write_inline_data_begin()
        ext4: fix EXT4_IOC_SWAP_BOOT
        ext4: fix build error when DX_DEBUG is defined
        ext4: fix argument checking in EXT4_IOC_MOVE_EXT
        ext4: fix reserved cluster accounting at page invalidation time
        ext4: adjust reserved cluster count when removing extents
        ext4: reduce reserved cluster count by number of allocated clusters
        ext4: fix reserved cluster accounting at delayed write time
        ext4: add new pending reservation mechanism
        ...
      5993692f
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · d6edff78
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've added 1) superblock checksum feature, 2)
        implemented new mount option which we can disable/enable checkpoint to
        provide atomic updates of entire filesystem, 3) refactored quota
        operations to enhance its consistency along with checkpoint, 4) fixed
        subtle IO hang conditions and roll-forward recovery flow to resurrect
        any fsync'ed inode metadata.
      
        Enhancements:
         - add checksum to keep superblock contents more safe
         - add checkpoint=disable/enable to support A/B update of entire filesystem
         - use plug for readahead IO in readdir
         - add more IO counts to avoid block layer hacks
      
        Bug fixes:
         - prevent data corruption issue for hardware encryption
         - fix IO hang issues when GC is heavily triggered
         - add missing up_read in __write_node_page
         - recover inode metadata during roll-forward recovery flow
         - fix null pointer dereference issue in wrongly configured discard map
      
        There are some more sanity checks and minor bug fixes as well"
      
      * tag 'f2fs-for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (62 commits)
        f2fs: fix to keep project quota consistent
        f2fs: guarantee journalled quota data by checkpoint
        f2fs: cleanup dirty pages if recover failed
        f2fs: fix data corruption issue with hardware encryption
        f2fs: fix to recover inode->i_flags of inode block during POR
        f2fs: spread f2fs_set_inode_flags()
        f2fs: fix to spread clear_cold_data()
        Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()"
        f2fs: account read IOs and use IO counts for is_idle
        f2fs: fix to account IO correctly for cgroup writeback
        f2fs: fix to account IO correctly
        f2fs: remove request_list check in is_idle()
        f2fs: allow to mount, if quota is failed
        f2fs: update REQ_TIME in f2fs_cross_rename()
        f2fs: do not update REQ_TIME in case of error conditions
        f2fs: remove unneeded disable_nat_bits()
        f2fs: remove unused sbi->trigger_ssr_threshold
        f2fs: shrink sbi->sb_lock coverage in set_file_temperature()
        f2fs: use rb_*_cached friends
        f2fs: fix to recover cold bit of inode block during POR
        ...
      d6edff78
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · fe0142df
      Linus Torvalds authored
      Pul xfs updates from Dave Chinner:
       "There's not a huge amount of change in this cycle - Darrick has been
        out of action for a couple of months (hence me sending the last few
        pull requests), so we decided a quiet cycle mainly focussed on bug
        fixes was a good idea. Darrick will take the helm again at the end of
        this merge window.
      
        FYI, I may be sending another update later in the cycle - there's a
        pending rework of the clone/dedupe_file_range code that fixes numerous
        bugs that is spread amongst the VFS, XFS and ocfs2 code. It has been
        reviewed and tested, Al and I just need to work out the details of the
        merge, so it may come from him rather than me.
      
        Summary:
      
         - only support filesystems with unwritten extents
      
         - add definition for statfs XFS magic number
      
         - remove unused parameters around reflink code
      
         - more debug for dangling delalloc extents
      
         - cancel COW extents on extent swap targets
      
         - fix quota stats output and clean up the code
      
         - refactor some of the attribute code in preparation for parent
           pointers
      
         - fix several buffer handling bugs"
      
      * tag 'xfs-4.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (21 commits)
        xfs: cancel COW blocks before swapext
        xfs: clear ail delwri queued bufs on unmount of shutdown fs
        xfs: use offsetof() in place of offset macros for __xfsstats
        xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat
        xfs: fix use-after-free race in xfs_buf_rele
        xfs: Add attibute remove and helper functions
        xfs: Add attibute set and helper functions
        xfs: Add helper function xfs_attr_try_sf_addname
        xfs: Move fs/xfs/xfs_attr.h to fs/xfs/libxfs/xfs_attr.h
        xfs: issue log message on user force shutdown
        xfs: fix buffer state management in xrep_findroot_block
        xfs: always assign buffer verifiers when one is provided
        xfs: xrep_findroot_block should reject root blocks with siblings
        xfs: add a define for statfs magic to uapi
        xfs: print dangling delalloc extents
        xfs: fix fork selection in xfs_find_trim_cow_extent
        xfs: remove the unused trimmed argument from xfs_reflink_trim_around_shared
        xfs: remove the unused shared argument to xfs_reflink_reserve_cow
        xfs: handle zeroing in xfs_file_iomap_begin_delay
        xfs: remove suport for filesystems without unwritten extent flag
        ...
      fe0142df
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.20.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · bfd93a87
      Linus Torvalds authored
      Pull gfs2 updates from Bob Peterson:
       "We've got 18 patches for this merge window, none of which are very
        major:
      
         - clean up the gfs2 block allocator to prepare for future performance
           enhancements (Andreas Gruenbacher)
      
         - fix a use-after-free problem (Andy Price)
      
         - patches that fix gfs2's broken rgrplvb mount option (me)
      
         - cleanup patches and error message improvements (me)
      
         - enable getlabel support (Steve Whitehouse and Abhi Das)
      
         - flush the glock delete workqueue at exit (Tim Smith)"
      
      * tag 'gfs2-4.20.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Fix minor typo: couln't versus couldn't.
        gfs2: write revokes should traverse sd_ail1_list in reverse
        gfs2: Pass resource group to rgblk_free
        gfs2: Remove unnecessary gfs2_rlist_alloc parameter
        gfs2: Fix marking bitmaps non-full
        gfs2: Fix some minor typos
        gfs2: Rename bitmap.bi_{len => bytes}
        gfs2: Remove unused RGRP_RSRV_MINBYTES definition
        gfs2: Move rs_{sizehint, rgd_gh} fields into the inode
        gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block
        gfs2: Always check the result of gfs2_rbm_from_block
        gfs2: getlabel support
        GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads
        gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd
        gfs2: Use fs_* functions instead of pr_* function where we can
        gfs2: slow the deluge of io error messages
        gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated
        gfs2: improve debug information when lvb mismatches are found
      bfd93a87
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.20-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · e1cbbf40
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "Fixes and a cleanup.
      
        Fixes:
         - fix superfluous service_operation return code check in
           orangefs_lookup
         - fix some error code paths that missed kmem_cache_free
         - don't let orangefs_iget return NULL
         - don't let orangefs_new_inode return NULL
         - cache NULL when both default_acl and acl are NULL
      
       Cleanup:
         - rate limit the client not running info message"
      
      * tag 'for-linus-4.20-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: no need to check for service_operation returns > 0
        orangefs: some error code paths missed kmem_cache_free
        orangefs: don't let orangefs_iget return NULL.
        orangefs: don't let orangefs_new_inode return NULL
        orangefs: rate limit the client not running info message
        orangefs: cache NULL when both default_acl and acl are NULL
      e1cbbf40
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 6b609e3b
      Linus Torvalds authored
      Pull vfs fixes from Al Viro.
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        gfs2_meta: ->mount() can get NULL dev_name
        ecryptfs_rename(): verify that lower dentries are still OK after lock_rename()
        cachefiles: fix the race between cachefiles_bury_object() and rmdir(2)
      6b609e3b
    • Linus Torvalds's avatar
      Merge tag 'jfs-for-4.20' of git://github.com/kleikamp/linux-shaggy · deba28b1
      Linus Torvalds authored
      Pull jfs updates from David Kleikamp:
       "Just a few small fixes"
      
      * tag 'jfs-for-4.20' of git://github.com/kleikamp/linux-shaggy:
        jfs: remove redundant dquot_initialize() in jfs_evict_inode()
        jfs: remove quota option from ignore list
        jfs: cache NULL when both default_acl and acl are NULL
      deba28b1
    • Linus Torvalds's avatar
      Merge tag 'for-4.20-part1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 318b067a
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "This is the first batch with fixes and some nice performance
        improvements.
      
        Preliminary results show eg. more files/sec in fsmark, better perf on
        multi-threaded workloads (filebench, dbench), fewer context switches
        and overall better memory allocation characteristics (multiple
        benchmarks).
      
        Apart from general performance, there's an improvement for qgroups +
        balance workload that's been troubling our users.
      
        Note for stable: there are 20+ patches tagged for stable, out of 90.
        Not all of them apply cleanly on all stable versions but the conflicts
        are mostly due to simple cleanups and resolving should be obvious. The
        fixes are otherwise independent.
      
        Performance improvements:
      
         - transition between blocking and spinning modes of path is gone,
           which originally resulted to more unnecessary wakeups and updates
           to the path locks, the effects are measurable and improve latency
           and scalability
      
         - qgroups: first batch of changes that should speedup balancing with
           qgroups on, skip quota accounting on unchanged subtrees, overall
           gain is about 30+% in runtime
      
         - use rb-tree with cached first node for several structures, small
           improvement to avoid pointer chasing
      
        Fixes:
      
         - trim
            - fix: some blockgroups could have been missed if their logical
              address was past the total filesystem size (ie. after a lot of
              balancing)
            - better error reporting, after processing blockgroups and whole
              device
            - fix: continue trimming block groups after an error is
              encountered
            - check for trim support of the device earlier and avoid some
              unnecessary work
            - less interaction with transaction commit that improves latency
              on slower storage (eg. image files over NFS)
      
         - fsync
            - fix warning when replaying log after fsync of a O_TMPFILE
            - fix wrong dentries after fsync of file that got its parent
              replaced
      
         - qgroups: fix rescan that might misc some dirty groups
      
         - don't clean dirty pages during buffered writes, this could lead to
           lost updates in some corner cases
      
         - some block groups could have been delayed in creation, if the
           allocation triggered another one
      
         - error handling improvements
      
        Cleanups:
      
         - removed unused struct members and variables
      
         - function return type cleanups
      
         - delayed refs code refactoring
      
         - protect against deadlock that could be caused by crafted image that
           tries to allocate from a tree that's locked already"
      
      * tag 'for-4.20-part1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (93 commits)
        btrfs: switch return_bigger to bool in find_ref_head
        btrfs: remove fs_info from btrfs_should_throttle_delayed_refs
        btrfs: remove fs_info from btrfs_check_space_for_delayed_refs
        btrfs: delayed-ref: pass delayed_refs directly to btrfs_delayed_ref_lock
        btrfs: delayed-ref: pass delayed_refs directly to btrfs_select_ref_head
        btrfs: qgroup: move the qgroup->members check out from (!qgroup)'s else branch
        btrfs: relocation: Remove redundant tree level check
        btrfs: relocation: Cleanup while loop using rbtree_postorder_for_each_entry_safe
        btrfs: qgroup: Avoid calling qgroup functions if qgroup is not enabled
        Btrfs: fix wrong dentries after fsync of file that got its parent replaced
        Btrfs: fix warning when replaying log after fsync of a tmpfile
        btrfs: drop min_size from evict_refill_and_join
        btrfs: assert on non-empty delayed iputs
        btrfs: make sure we create all new block groups
        btrfs: reset max_extent_size on clear in a bitmap
        btrfs: protect space cache inode alloc with GFP_NOFS
        btrfs: release metadata before running delayed refs
        Btrfs: kill btrfs_clear_path_blocking
        btrfs: dev-replace: remove pointless assert in write unlock
        btrfs: dev-replace: move replace members out of fs_info
        ...
      318b067a
    • Linus Torvalds's avatar
      Merge branch 'work.tty-ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 44adbac8
      Linus Torvalds authored
      Pull tty ioctl updates from Al Viro:
       "This is the compat_ioctl work related to tty ioctls.
      
        Quite a bit of dead code taken out, all tty-related stuff gone from
        fs/compat_ioctl.c. A bunch of compat bugs fixed - some still remain,
        but all more or less generic tty-related ioctls should be covered
        (remaining issues are in things like driver-private ioctls in a pcmcia
        serial card driver not getting properly handled in 32bit processes on
        64bit host, etc)"
      
      * 'work.tty-ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (53 commits)
        kill TIOCSERGSTRUCT
        change semantics of ldisc ->compat_ioctl()
        kill TIOCSER[SG]WILD
        synclink_gt(): fix compat_ioctl()
        pty: fix compat ioctls
        compat_ioctl - kill keyboard ioctl handling
        gigaset: add ->compat_ioctl()
        vt_compat_ioctl(): clean up, use compat_ptr() properly
        gigaset: don't try to printk userland buffer contents
        dgnc: don't bother with (empty) stub for TCXONC
        dgnc: leave TIOC[GS]SOFTCAR to ldisc
        remove fallback to drivers for TIOCGICOUNT
        dgnc: break-related ioctls won't reach ->ioctl()
        kill the rest of tty COMPAT_IOCTL() entries
        dgnc: TIOCM... won't reach ->ioctl()
        isdn_tty: TCSBRK{,P} won't reach ->ioctl()
        kill capinc_tty_ioctl()
        take compat TIOC[SG]SERIAL treatment into tty_compat_ioctl()
        synclink: reduce pointless checks in ->ioctl()
        complete ->[sg]et_serial() switchover
        ...
      44adbac8
    • Linus Torvalds's avatar
      Merge tag 'pstore-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 08ffb584
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
       "pstore improvements:
      
         - refactor init to happen as early as possible again (Joel Fernandes)
      
         - improve resource reservation names"
      
      * tag 'pstore-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore/ram: Clarify resource reservation labels
        pstore: Refactor compression initialization
        pstore: Allocate compression during late_initcall()
        pstore: Centralize init/exit routines
      08ffb584
    • Linus Torvalds's avatar
      Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 638820d8
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "In this patchset, there are a couple of minor updates, as well as some
        reworking of the LSM initialization code from Kees Cook (these prepare
        the way for ordered stackable LSMs, but are a valuable cleanup on
        their own)"
      
      * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        LSM: Don't ignore initialization failures
        LSM: Provide init debugging infrastructure
        LSM: Record LSM name in struct lsm_info
        LSM: Convert security_initcall() into DEFINE_LSM()
        vmlinux.lds.h: Move LSM_TABLE into INIT_DATA
        LSM: Convert from initcall to struct lsm_info
        LSM: Remove initcall tracing
        LSM: Rename .security_initcall section to .lsm_info
        vmlinux.lds.h: Avoid copy/paste of security_init section
        LSM: Correctly announce start of LSM initialization
        security: fix LSM description location
        keys: Fix the use of the C++ keyword "private" in uapi/linux/keyctl.h
        seccomp: remove unnecessary unlikely()
        security: tomoyo: Fix obsolete function
        security/capabilities: remove check for -EINVAL
      638820d8
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20181022' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · d5e4d81d
      Linus Torvalds authored
      Pull SELinux updates from Paul Moore:
       "Three SELinux patches for v4.20, all fall under the bug-fix or
        behave-better category, which is good. All three have pretty good
        descriptions too, which is even better"
      
      * tag 'selinux-pr-20181022' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: Add __GFP_NOWARN to allocation at str_read()
        selinux: refactor mls_context_to_sid() and make it stricter
        selinux: fix mounting of cgroup2 under older policies
      d5e4d81d
    • Linus Torvalds's avatar
      Merge branch 'siginfo-linus' of... · ba9f6f89
      Linus Torvalds authored
      Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull siginfo updates from Eric Biederman:
       "I have been slowly sorting out siginfo and this is the culmination of
        that work.
      
        The primary result is in several ways the signal infrastructure has
        been made less error prone. The code has been updated so that manually
        specifying SEND_SIG_FORCED is never necessary. The conversion to the
        new siginfo sending functions is now complete, which makes it
        difficult to send a signal without filling in the proper siginfo
        fields.
      
        At the tail end of the patchset comes the optimization of decreasing
        the size of struct siginfo in the kernel from 128 bytes to about 48
        bytes on 64bit. The fundamental observation that enables this is by
        definition none of the known ways to use struct siginfo uses the extra
        bytes.
      
        This comes at the cost of a small user space observable difference.
        For the rare case of siginfo being injected into the kernel only what
        can be copied into kernel_siginfo is delivered to the destination, the
        rest of the bytes are set to 0. For cases where the signal and the
        si_code are known this is safe, because we know those bytes are not
        used. For cases where the signal and si_code combination is unknown
        the bits that won't fit into struct kernel_siginfo are tested to
        verify they are zero, and the send fails if they are not.
      
        I made an extensive search through userspace code and I could not find
        anything that would break because of the above change. If it turns out
        I did break something it will take just the revert of a single change
        to restore kernel_siginfo to the same size as userspace siginfo.
      
        Testing did reveal dependencies on preferring the signo passed to
        sigqueueinfo over si->signo, so bit the bullet and added the
        complexity necessary to handle that case.
      
        Testing also revealed bad things can happen if a negative signal
        number is passed into the system calls. Something no sane application
        will do but something a malicious program or a fuzzer might do. So I
        have fixed the code that performs the bounds checks to ensure negative
        signal numbers are handled"
      
      * 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (80 commits)
        signal: Guard against negative signal numbers in copy_siginfo_from_user32
        signal: Guard against negative signal numbers in copy_siginfo_from_user
        signal: In sigqueueinfo prefer sig not si_signo
        signal: Use a smaller struct siginfo in the kernel
        signal: Distinguish between kernel_siginfo and siginfo
        signal: Introduce copy_siginfo_from_user and use it's return value
        signal: Remove the need for __ARCH_SI_PREABLE_SIZE and SI_PAD_SIZE
        signal: Fail sigqueueinfo if si_signo != sig
        signal/sparc: Move EMT_TAGOVF into the generic siginfo.h
        signal/unicore32: Use force_sig_fault where appropriate
        signal/unicore32: Generate siginfo in ucs32_notify_die
        signal/unicore32: Use send_sig_fault where appropriate
        signal/arc: Use force_sig_fault where appropriate
        signal/arc: Push siginfo generation into unhandled_exception
        signal/ia64: Use force_sig_fault where appropriate
        signal/ia64: Use the force_sig(SIGSEGV,...) in ia64_rt_sigreturn
        signal/ia64: Use the generic force_sigsegv in setup_frame
        signal/arm/kvm: Use send_sig_mceerr
        signal/arm: Use send_sig_fault where appropriate
        signal/arm: Use force_sig_fault where appropriate
        ...
      ba9f6f89
    • Linus Torvalds's avatar
      net/kconfig: Make QCOM_QMI_HELPERS available when COMPILE_TEST · a978a5b8
      Linus Torvalds authored
      The networking merge brought in the experimental support for the
      Qualcomm ath10k system NOC, which selects QCOM_QMI_HELPERS as a
      dependency.
      
      But the ATH10K_SNOC option (which selects QCOM_QMI_HELPERS) depends on
      ARCH_QCOM || COMPILE_TEST in order to get wider build testing than just
      the unusual QCOM architecture build, while the QCOM_QMI_HELPERS option
      doesn't have that COMPILE_TEST option and is limited to only ARCH_QCOM.
      
      As a result, a "make allmodconfig" complains
      
        WARNING: unmet direct dependencies detected for QCOM_QMI_HELPERS
          Depends on [n]: ARCH_QCOM && NET [=y]
          Selected by [m]:
          - ATH10K_SNOC [=m] && NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_ATH [=y] && ATH10K [=m] && (ARCH_QCOM || COMPILE_TEST [=y])
      
      Fix the config-time warning by making QCOM_QMI_HELPERS available when
      COMPILE_TEST, since the result seems to build fine.
      
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Govind Singh <govinds@codeaurora.org>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a978a5b8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 50b825d7
      Linus Torvalds authored
      Pull networking updates from David Miller:
      
       1) Add VF IPSEC offload support in ixgbe, from Shannon Nelson.
      
       2) Add zero-copy AF_XDP support to i40e, from Björn Töpel.
      
       3) All in-tree drivers are converted to {g,s}et_link_ksettings() so we
          can get rid of the {g,s}et_settings ethtool callbacks, from Michal
          Kubecek.
      
       4) Add software timestamping to veth driver, from Michael Walle.
      
       5) More work to make packet classifiers and actions lockless, from Vlad
          Buslov.
      
       6) Support sticky FDB entries in bridge, from Nikolay Aleksandrov.
      
       7) Add ipv6 version of IP_MULTICAST_ALL sockopt, from Andre Naujoks.
      
       8) Support batching of XDP buffers in vhost_net, from Jason Wang.
      
       9) Add flow dissector BPF hook, from Petar Penkov.
      
      10) i40e vf --> generic iavf conversion, from Jesse Brandeburg.
      
      11) Add NLA_REJECT netlink attribute policy type, to signal when users
          provide attributes in situations which don't make sense. From
          Johannes Berg.
      
      12) Switch TCP and fair-queue scheduler over to earliest departure time
          model. From Eric Dumazet.
      
      13) Improve guest receive performance by doing rx busy polling in tx
          path of vhost networking driver, from Tonghao Zhang.
      
      14) Add per-cgroup local storage to bpf
      
      15) Add reference tracking to BPF, from Joe Stringer. The verifier can
          now make sure that references taken to objects are properly released
          by the program.
      
      16) Support in-place encryption in TLS, from Vakul Garg.
      
      17) Add new taprio packet scheduler, from Vinicius Costa Gomes.
      
      18) Lots of selftests additions, too numerous to mention one by one here
          but all of which are very much appreciated.
      
      19) Support offloading of eBPF programs containing BPF to BPF calls in
          nfp driver, frm Quentin Monnet.
      
      20) Move dpaa2_ptp driver out of staging, from Yangbo Lu.
      
      21) Lots of u32 classifier cleanups and simplifications, from Al Viro.
      
      22) Add new strict versions of netlink message parsers, and enable them
          for some situations. From David Ahern.
      
      23) Evict neighbour entries on carrier down, also from David Ahern.
      
      24) Support BPF sk_msg verdict programs with kTLS, from Daniel Borkmann
          and John Fastabend.
      
      25) Add support for filtering route dumps, from David Ahern.
      
      26) New igc Intel driver for 2.5G parts, from Sasha Neftin et al.
      
      27) Allow vxlan enslavement to bridges in mlxsw driver, from Ido
          Schimmel.
      
      28) Add queue and stack map types to eBPF, from Mauricio Vasquez B.
      
      29) Add back byte-queue-limit support to r8169, with all the bug fixes
          in other areas of the driver it works now! From Florian Westphal and
          Heiner Kallweit.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2147 commits)
        tcp: add tcp_reset_xmit_timer() helper
        qed: Fix static checker warning
        Revert "be2net: remove desc field from be_eq_obj"
        Revert "net: simplify sock_poll_wait"
        net: socionext: Reset tx queue in ndo_stop
        net: socionext: Add dummy PHY register read in phy_write()
        net: socionext: Stop PHY before resetting netsec
        net: stmmac: Set OWN bit for jumbo frames
        arm64: dts: stratix10: Support Ethernet Jumbo frame
        tls: Add maintainers
        net: ethernet: ti: cpsw: unsync mcast entries while switch promisc mode
        octeontx2-af: Support for NIXLF's UCAST/PROMISC/ALLMULTI modes
        octeontx2-af: Support for setting MAC address
        octeontx2-af: Support for changing RSS algorithm
        octeontx2-af: NIX Rx flowkey configuration for RSS
        octeontx2-af: Install ucast and bcast pkt forwarding rules
        octeontx2-af: Add LMAC channel info to NIXLF_ALLOC response
        octeontx2-af: NPC MCAM and LDATA extract minimal configuration
        octeontx2-af: Enable packet length and csum validation
        octeontx2-af: Support for VTAG strip and capture
        ...
      50b825d7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · a97a2d4d
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "Mostly VDSO cleanups and optimizations"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: Several small VDSO vclock_gettime.c improvements.
        sparc: Validate VDSO for undefined symbols.
        sparc: Really use linker with LDFLAGS.
        sparc: Improve VDSO CFLAGS.
        sparc: Set DISABLE_BRANCH_PROFILING in VDSO CFLAGS.
        sparc: Don't bother masking out TICK_PRIV_BIT in VDSO code.
        sparc: Inline VDSO gettime code aggressively.
        sparc: Improve VDSO instruction patching.
        sparc: Fix parport build warnings.
      a97a2d4d
    • Eric Dumazet's avatar
      tcp: add tcp_reset_xmit_timer() helper · 3f80e08f
      Eric Dumazet authored
      With EDT model, SRTT no longer is inflated by pacing delays.
      
      This means that RTO and some other xmit timers might be setup
      incorrectly. This is particularly visible with either :
      
      - Very small enforced pacing rates (SO_MAX_PACING_RATE)
      - Reduced rto (from the default 200 ms)
      
      This can lead to TCP flows aborts in the worst case,
      or spurious retransmits in other cases.
      
      For example, this session gets far more throughput
      than the requested 80kbit :
      
      $ netperf -H 127.0.0.2 -l 100 -- -q 10000
      MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 127.0.0.2 () port 0 AF_INET
      Recv   Send    Send
      Socket Socket  Message  Elapsed
      Size   Size    Size     Time     Throughput
      bytes  bytes   bytes    secs.    10^6bits/sec
      
      540000 262144 262144    104.00      2.66
      
      With the fix :
      
      $ netperf -H 127.0.0.2 -l 100 -- -q 10000
      MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 127.0.0.2 () port 0 AF_INET
      Recv   Send    Send
      Socket Socket  Message  Elapsed
      Size   Size    Size     Time     Throughput
      bytes  bytes   bytes    secs.    10^6bits/sec
      
      540000 262144 262144    104.00      0.12
      
      EDT allows for better control of rtx timers, since TCP has
      a better idea of the earliest departure time of each skb
      in the rtx queue. We only have to eventually add to the
      timer the difference of the EDT time with current time.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f80e08f
  4. 23 Oct, 2018 18 commits
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 44786880
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Lots of small fixes and enhancements, most noteably:
      
         - Many TLB and cache flush optimizations (Dave)
      
         - Fixed HPMC/crash handler on 64-bit kernel (Dave and myself)
      
         - Added alternative infrastructre. The kernel now live-patches itself
           for various situations, e.g. replace SMP code when running on one
           CPU only or drop cache flushes when system has no cache installed.
      
         - vmlinuz now contains a full copy of the compressed vmlinux file.
           This simplifies debugging the currently booted kernel.
      
         - Unused driver removal (Christoph)
      
         - Reduced warnings of Dino PCI bridge when running in qemu
      
         - Removed gcc version check (Masahiro)"
      
      * 'parisc-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (23 commits)
        parisc: Retrieve and display the PDC PAT capabilities
        parisc: Optimze cache flush algorithms
        parisc: Remove pte_inserted define
        parisc: Add PDC PAT cell_info() and pd_get_pdc_revisions() functions
        parisc: Drop two instructions from pte lookup code
        parisc: Use zdep for shlw macro on PA1.1 and PA2.0
        parisc: Add alternative coding infrastructure
        parisc: Include compressed vmlinux file in vmlinuz boot kernel
        extract-vmlinux: Check for uncompressed image as fallback
        parisc: Fix address in HPMC IVA
        parisc: Fix exported address of os_hpmc handler
        parisc: Fix map_pages() to not overwrite existing pte entries
        parisc: Purge TLB entries after updating page table entry and set page accessed flag in TLB handler
        parisc: Release spinlocks using ordered store
        parisc: Ratelimit dino stuck interrupt warnings
        parisc: dino: Utilize DINO_MASK_IRQ() macro
        parisc: Clean up crash header output
        parisc: Add SYSTEM_INFO and REGISTER TOC PAT functions
        parisc: Remove PTE load and fault check from L2_ptep macro
        parisc: Reorder TLB flush timing calculation
        ...
      44786880
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 07171da2
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "The main item in this pull request are the Spectre variant 1.1 fixes
        from Julien Thierry.
      
        A few other patches to improve various areas, and removal of some
        obsolete mcount bits and a redundant kbuild conditional"
      
      * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8802/1: Call syscall_trace_exit even when system call skipped
        ARM: 8797/1: spectre-v1.1: harden __copy_to_user
        ARM: 8796/1: spectre-v1,v1.1: provide helpers for address sanitization
        ARM: 8795/1: spectre-v1.1: use put_user() for __put_user()
        ARM: 8794/1: uaccess: Prevent speculative use of the current addr_limit
        ARM: 8793/1: signal: replace __put_user_error with __put_user
        ARM: 8792/1: oabi-compat: copy oabi events using __copy_to_user()
        ARM: 8791/1: vfp: use __copy_to_user() when saving VFP state
        ARM: 8790/1: signal: always use __copy_to_user to save iwmmxt context
        ARM: 8789/1: signal: copy registers using __copy_to_user()
        ARM: 8801/1: makefile: use ARMv3M mode for RiscPC
        ARM: 8800/1: use choice for kernel unwinders
        ARM: 8798/1: remove unnecessary KBUILD_SRC ifeq conditional
        ARM: 8788/1: ftrace: remove old mcount support
        ARM: 8786/1: Debug kernel copy by printing
      07171da2
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 034bda1c
      Linus Torvalds authored
      Pull x86 vdso updates from Ingo Molnar:
       "Two main changes:
      
         - Cleanups, simplifications and CLOCK_TAI support (Thomas Gleixner)
      
         - Improve code generation (Andy Lutomirski)"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Rearrange do_hres() to improve code generation
        x86/vdso: Document vgtod_ts better
        x86/vdso: Remove "memory" clobbers in the vDSO syscall fallbacks
        x66/vdso: Add CLOCK_TAI support
        x86/vdso: Move cycle_last handling into the caller
        x86/vdso: Simplify the invalid vclock case
        x86/vdso: Replace the clockid switch case
        x86/vdso: Collapse coarse functions
        x86/vdso: Collapse high resolution functions
        x86/vdso: Introduce and use vgtod_ts
        x86/vdso: Use unsigned int consistently for vsyscall_gtod_data:: Seq
        x86/vdso: Enforce 64bit clocksource
        x86/time: Implement clocksource_arch_init()
        clocksource: Provide clocksource_arch_init()
      034bda1c
    • Rahul Verma's avatar
      qed: Fix static checker warning · 68203a67
      Rahul Verma authored
      	Static Checker Warnings:
      	drivers/net/ethernet/qlogic/qed/qed_main.c:1510 qed_fill_link_capability()
      	error: uninitialized symbol 'tcvr_state'.
      	drivers/net/ethernet/qlogic/qed/qed_mcp.c:1951 qed_mcp_trans_speed_mask()
      	error: uninitialized symbol 'transceiver_state'.
      	drivers/net/ethernet/qlogic/qed/qed_mcp.c:1951 qed_mcp_trans_speed_mask()
      	error: uninitialized symbol 'transceiver_type'.
      
      	Symbols tcvr_state, transceiver_state and transceiver_type
      	are initialized with respective default state.
      
      Fixes: c56a8be7 ("qed: Add supported link and advertise link to display in ethtool.")
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarRahul Verma <Rahul.Verma@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      68203a67
    • Ivan Vecera's avatar
      Revert "be2net: remove desc field from be_eq_obj" · 5ef79151
      Ivan Vecera authored
      The mentioned commit needs to be reverted because we cannot pass
      string allocated on stack to request_irq(). This function stores
      uses this pointer for later use (e.g. /proc/interrupts) so we need
      to keep this string persistently.
      
      Fixes: d6d9704a ("be2net: remove desc field from be_eq_obj")
      Signed-off-by: default avatarIvan Vecera <ivecera@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5ef79151
    • Karsten Graul's avatar
      Revert "net: simplify sock_poll_wait" · 89ab066d
      Karsten Graul authored
      This reverts commit dd979b4d.
      
      This broke tcp_poll for SMC fallback: An AF_SMC socket establishes an
      internal TCP socket for the initial handshake with the remote peer.
      Whenever the SMC connection can not be established this TCP socket is
      used as a fallback. All socket operations on the SMC socket are then
      forwarded to the TCP socket. In case of poll, the file->private_data
      pointer references the SMC socket because the TCP socket has no file
      assigned. This causes tcp_poll to wait on the wrong socket.
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      89ab066d
    • David S. Miller's avatar
      Merge branch 'netsec-fixes' · 6b7a02f7
      David S. Miller authored
      Masahisa Kojima says:
      
      ====================
      Bugfix for the netsec driver
      
      This patch series include bugfix for the netsec ethernet
      controller driver, fix the problem in interface down/up.
      
      changes in v2:
       - change the place to perform the PHY power down
       - use the MACROs defiend in include/uapi/linux/mii.h
       - update commit comment
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6b7a02f7
    • Masahisa Kojima's avatar
      net: socionext: Reset tx queue in ndo_stop · 8d5b0bf6
      Masahisa Kojima authored
      We observed that packets and bytes count are not reset
      when user performs interface down. Eventually, tx queue is
      exhausted and packets will not be sent out.
      To avoid this problem, resets tx queue in ndo_stop.
      
      Fixes: 533dd11a ("net: socionext: Add Synquacer NetSec driver")
      Signed-off-by: default avatarMasahisa Kojima <masahisa.kojima@linaro.org>
      Signed-off-by: default avatarYoshitoyo Osaki <osaki.yoshitoyo@socionext.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d5b0bf6
    • Masahisa Kojima's avatar
      net: socionext: Add dummy PHY register read in phy_write() · a3241a91
      Masahisa Kojima authored
      There is a compatibility issue between RTL8211E implemented
      in Developerbox and netsec ethernet controller IP.
      
      Our MDIO controller stops MDC clock right after the write
      access, but RTL8211E expects MDC clock must be kept toggling
      for several clock cycle with MDIO high before entering
      the IDLE state. Without keeping clock after write access,
      write access is not correctly handled and register is not
      updated.
      
      To meet this requirement, netsec driver needs to issue dummy
      read(e.g. read PHYID1(offset 0x2) register) right after write
      access, to keep MDC clock.
      
      We think this compatibility issue is a problem specific to
      our MDIO controller and RTL8211E.
      
      Fixes: 533dd11a ("net: socionext: Add Synquacer NetSec driver")
      Signed-off-by: default avatarMasahisa Kojima <masahisa.kojima@linaro.org>
      Signed-off-by: default avatarYoshitoyo Osaki <osaki.yoshitoyo@socionext.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a3241a91
    • Masahisa Kojima's avatar
      net: socionext: Stop PHY before resetting netsec · 8e850f25
      Masahisa Kojima authored
      In ndo_stop, driver resets the netsec ethernet controller IP.
      When the netsec IP is reset, HW running mode turns to NRM mode
      and driver has to wait until this mode transition completes.
      
      But mode transition to NRM will not complete if the PHY is
      in normal operation state. Netsec IP requires PHY is in
      power down state when it is reset.
      
      This modification stops the PHY before resetting netsec.
      
      Together with this modification, phy_addr is stored in netsec_priv
      structure because ndev->phydev is not yet ready in ndo_init.
      
      Fixes: 533dd11a ("net: socionext: Add Synquacer NetSec driver")
      Signed-off-by: default avatarMasahisa Kojima <masahisa.kojima@linaro.org>
      Signed-off-by: default avatarYoshitoyo Osaki <osaki.yoshitoyo@socionext.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8e850f25
    • Linus Torvalds's avatar
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d82924c3
      Linus Torvalds authored
      Pull x86 pti updates from Ingo Molnar:
       "The main changes:
      
         - Make the IBPB barrier more strict and add STIBP support (Jiri
           Kosina)
      
         - Micro-optimize and clean up the entry code (Andy Lutomirski)
      
         - ... plus misc other fixes"
      
      * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/speculation: Propagate information about RSB filling mitigation to sysfs
        x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
        x86/speculation: Apply IBPB more strictly to avoid cross-process data leak
        x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant
        x86/CPU: Fix unused variable warning when !CONFIG_IA32_EMULATION
        x86/pti/64: Remove the SYSCALL64 entry trampoline
        x86/entry/64: Use the TSS sp2 slot for SYSCALL/SYSRET scratch space
        x86/entry/64: Document idtentry
      d82924c3
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d7197a5a
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "Two minor OLPC changes: a build fix and a new quirk"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/olpc: Fix build error with CONFIG_MFD_CS5535=m
        x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC
      d7197a5a
    • Linus Torvalds's avatar
      Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f682a792
      Linus Torvalds authored
      Pull x86 paravirt updates from Ingo Molnar:
       "Two main changes:
      
         - Remove no longer used parts of the paravirt infrastructure and put
           large quantities of paravirt ops under a new config option
           PARAVIRT_XXL=y, which is selected by XEN_PV only. (Joergen Gross)
      
         - Enable PV spinlocks on Hyperv (Yi Sun)"
      
      * 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hyperv: Enable PV qspinlock for Hyper-V
        x86/hyperv: Add GUEST_IDLE_MSR support
        x86/paravirt: Clean up native_patch()
        x86/paravirt: Prevent redefinition of SAVE_FLAGS macro
        x86/xen: Make xen_reservation_lock static
        x86/paravirt: Remove unneeded mmu related paravirt ops bits
        x86/paravirt: Move the Xen-only pv_mmu_ops under the PARAVIRT_XXL umbrella
        x86/paravirt: Move the pv_irq_ops under the PARAVIRT_XXL umbrella
        x86/paravirt: Move the Xen-only pv_cpu_ops under the PARAVIRT_XXL umbrella
        x86/paravirt: Move items in pv_info under PARAVIRT_XXL umbrella
        x86/paravirt: Introduce new config option PARAVIRT_XXL
        x86/paravirt: Remove unused paravirt bits
        x86/paravirt: Use a single ops structure
        x86/paravirt: Remove clobbers from struct paravirt_patch_site
        x86/paravirt: Remove clobbers parameter from paravirt patch functions
        x86/paravirt: Make paravirt_patch_call() and paravirt_patch_jmp() static
        x86/xen: Add SPDX identifier in arch/x86/xen files
        x86/xen: Link platform-pci-unplug.o only if CONFIG_XEN_PVHVM
        x86/xen: Move pv specific parts of arch/x86/xen/mmu.c to mmu_pv.c
        x86/xen: Move pv irq related functions under CONFIG_XEN_PV umbrella
      f682a792
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 99792e0c
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "Lots of changes in this cycle:
      
         - Lots of CPA (change page attribute) optimizations and related
           cleanups (Thomas Gleixner, Peter Zijstra)
      
         - Make lazy TLB mode even lazier (Rik van Riel)
      
         - Fault handler cleanups and improvements (Dave Hansen)
      
         - kdump, vmcore: Enable kdumping encrypted memory with AMD SME
           enabled (Lianbo Jiang)
      
         - Clean up VM layout documentation (Baoquan He, Ingo Molnar)
      
         - ... plus misc other fixes and enhancements"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
        x86/stackprotector: Remove the call to boot_init_stack_canary() from cpu_startup_entry()
        x86/mm: Kill stray kernel fault handling comment
        x86/mm: Do not warn about PCI BIOS W+X mappings
        resource: Clean it up a bit
        resource: Fix find_next_iomem_res() iteration issue
        resource: Include resource end in walk_*() interfaces
        x86/kexec: Correct KEXEC_BACKUP_SRC_END off-by-one error
        x86/mm: Remove spurious fault pkey check
        x86/mm/vsyscall: Consider vsyscall page part of user address space
        x86/mm: Add vsyscall address helper
        x86/mm: Fix exception table comments
        x86/mm: Add clarifying comments for user addr space
        x86/mm: Break out user address space handling
        x86/mm: Break out kernel address space handling
        x86/mm: Clarify hardware vs. software "error_code"
        x86/mm/tlb: Make lazy TLB mode lazier
        x86/mm/tlb: Add freed_tables element to flush_tlb_info
        x86/mm/tlb: Add freed_tables argument to flush_tlb_mm_range
        smp,cpumask: introduce on_each_cpu_cond_mask
        smp: use __cpumask_set_cpu in on_each_cpu_cond
        ...
      99792e0c
    • Linus Torvalds's avatar
      Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 382d72a9
      Linus Torvalds authored
      Pull x86 hyperv updates from Ingo Molnar:
       "Two small changes: a boot warning removal and a minor cleanup"
      
      * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hyperv: Remove unused include
        x86/hyperv: Suppress "PCI: Fatal: No config space access function found"
      382d72a9
    • Linus Torvalds's avatar
      Merge branch 'x86-grub2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac73e08e
      Linus Torvalds authored
      Pull x86 grub2 updates from Ingo Molnar:
       "This extends the x86 boot protocol to include an address for the RSDP
        table - utilized by Xen currently.
      
        Matching Grub2 patches are pending as well. (Juergen Gross)"
      
      * 'x86-grub2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/acpi, x86/boot: Take RSDP address for boot params if available
        x86/boot: Add ACPI RSDP address to setup_header
        x86/xen: Fix boot loader version reported for PVH guests
      ac73e08e
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fec98069
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Add support for the "Dhyana" x86 CPUs by Hygon: these are licensed
           based on the AMD Zen architecture, and are built and sold in China,
           for domestic datacenter use. The code is pretty close to AMD
           support, mostly with a few quirks and enumeration differences. (Pu
           Wen)
      
         - Enable CPUID support on Cyrix 6x86/6x86L processors"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools/cpupower: Add Hygon Dhyana support
        cpufreq: Add Hygon Dhyana support
        ACPI: Add Hygon Dhyana support
        x86/xen: Add Hygon Dhyana support to Xen
        x86/kvm: Add Hygon Dhyana support to KVM
        x86/mce: Add Hygon Dhyana support to the MCA infrastructure
        x86/bugs: Add Hygon Dhyana to the respective mitigation machinery
        x86/apic: Add Hygon Dhyana support
        x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge
        x86/amd_nb: Check vendor in AMD-only functions
        x86/alternative: Init ideal_nops for Hygon Dhyana
        x86/events: Add Hygon Dhyana support to PMU infrastructure
        x86/smpboot: Do not use BSP INIT delay and MWAIT to idle on Dhyana
        x86/cpu/mtrr: Support TOP_MEM2 and get MTRR number
        x86/cpu: Get cache info and setup cache cpumap for Hygon Dhyana
        x86/cpu: Create Hygon Dhyana architecture support file
        x86/CPU: Change query logic so CPUID is enabled before testing
        x86/CPU: Use correct macros for Cyrix calls
      fec98069
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 04ce7fae
      Linus Torvalds authored
      Pull x86 build update from Ingo Molnar:
       "A small cleanup to x86 Kconfigs"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kconfig: Remove redundant 'default n' lines from all x86 Kconfig's
      04ce7fae