1. 05 12月, 2018 4 次提交
  2. 22 11月, 2018 6 次提交
  3. 20 11月, 2018 7 次提交
    • A
      x86/fault: Don't set thread.cr2, etc before OOPSing · 1ad33f5a
      Andy Lutomirski 提交于
      The fault handling code sets the cr2, trap_nr, and error_code fields
      in thread_struct before OOPSing.  No one reads those fields during
      an OOPS, so remove the code to set them.
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
      Link: http://lkml.kernel.org/r/d418022aa0fad9cb40467aa7acaf4e95be50ee96.1542667307.git.luto@kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      1ad33f5a
    • A
      x86/fault: Make error_code sanitization more robust · e49d3cbe
      Andy Lutomirski 提交于
      The error code in a page fault on a kernel address indicates
      whether that address is mapped, which should not be revealed in a signal.
      
      The normal code path for a page fault on a kernel address sanitizes the bit,
      but the paths for vsyscall emulation and SIGBUS do not.  Both are
      harmless, but for subtle reasons.  SIGBUS is never sent for a kernel
      address, and vsyscall emulation will never fault on a kernel address
      per se because it will fail an access_ok() check instead.
      
      Make the code more robust by adding a helper that sets the relevant
      fields and sanitizing the error code in the helper.  This also
      cleans up the code -- we had three copies of roughly the same thing.
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
      Link: http://lkml.kernel.org/r/b31159bd55bd0c4fa061a20dfd6c429c094bebaa.1542667307.git.luto@kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      e49d3cbe
    • A
      x86/fault: Improve the condition for signalling vs OOPSing · 6ea59b07
      Andy Lutomirski 提交于
      __bad_area_nosemaphore() currently checks the X86_PF_USER bit in the
      error code to decide whether to send a signal or to treat the fault
      as a kernel error.  This can cause somewhat erratic behavior.  The
      straightforward cases where the CPL agrees with the hardware USER
      bit are all correct, but the other cases are confusing.
      
       - A user instruction accessing a kernel address with supervisor
         privilege (e.g. a descriptor table access failed).  The USER bit
         will be clear, and we OOPS.  This is correct, because it indicates
         a kernel bug, not a user error.
      
       - A user instruction accessing a user address with supervisor
         privilege (e.g. a descriptor table was incorrectly pointing at
         user memory).  __bad_area_nosemaphore() will be passed a modified
         error code with the user bit set, and we will send a signal.
         Sending the signal will work (because the regs and the entry
         frame genuinely come from user mode), but we really ought to
         OOPS, as this event indicates a severe kernel bug.
      
       - A kernel instruction with user privilege (i.e. WRUSS).  This
         should OOPS or get fixed up.  The current code would instead try
         send a signal and malfunction.
      
      Change the logic: a signal should be sent if the faulting context is
      user mode *and* the access has user privilege.  Otherwise it's
      either a kernel mode fault or a failed implicit access, either of
      which should end up in no_context().
      
      Note to -stable maintainers: don't backport this unless you backport
      CET.  The bug it fixes is unobservable in current kernels unless
      something is extremely wrong.
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
      Link: http://lkml.kernel.org/r/10e509c43893170e262e82027ea399130ae81159.1542667307.git.luto@kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      6ea59b07
    • A
      x86/fault: Fix SMAP #PF handling buglet for implicit supervisor accesses · e50928d7
      Andy Lutomirski 提交于
      Currently, if a user program somehow triggers an implicit supervisor
      access to a user address (e.g. if the kernel somehow sets LDTR to a
      user address), it will be incorrectly detected as a SMAP violation
      if AC is clear and SMAP is enabled.  This is incorrect -- the error
      has nothing to do with SMAP.  Fix the condition so that only
      accesses with the hardware USER bit set are diagnosed as SMAP
      violations.
      
      With the logic fixed, an implicit supervisor access to a user address
      will hit the code lower in the function that is intended to handle it
      even if SMAP is enabled.  That logic is still a bit buggy, and later
      patches will clean it up.
      
      I *think* this code is still correct for WRUSS, and I've added a
      comment to that effect.
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
      Link: http://lkml.kernel.org/r/d1d1b2e66ef31f884dba172084486ea9423ddcdb.1542667307.git.luto@kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      e50928d7
    • A
      x86/fault: Fold smap_violation() into do_user_addr_fault() · a15781b5
      Andy Lutomirski 提交于
      smap_violation() has a single caller, and the contents are a bit
      nonsensical.  I'm going to fix it, but first let's fold it into its
      caller for ease of comprehension.
      
      In this particular case, the user_mode(regs) check is incorrect --
      it will cause false positives in the case of a user-initiated
      kernel-privileged access.
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
      Link: http://lkml.kernel.org/r/806c366f6ca861152398ce2c01744d59d9aceb6d.1542667307.git.luto@kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      a15781b5
    • A
      x86/cpufeatures, x86/fault: Mark SMAP as disabled when configured out · dae0a105
      Andy Lutomirski 提交于
      Add X86_FEATURE_SMAP to the disabled features mask as appropriate
      and use cpu_feature_enabled() in the fault code.  This lets us get
      rid of a redundant IS_ENABLED(CONFIG_X86_SMAP).
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
      Link: http://lkml.kernel.org/r/fe93332eded3d702f0b0b4cf83928d6830739ba3.1542667307.git.luto@kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      dae0a105
    • A
      x86/fault: Check user_mode(regs) when avoiding an mmap_sem deadlock · 6344be60
      Andy Lutomirski 提交于
      The fault-handling code that takes mmap_sem needs to avoid a
      deadlock that could occur if the kernel took a bad (OOPS-worthy)
      page fault on a user address while holding mmap_sem.  This can only
      happen if the faulting instruction was in the kernel
      (i.e. user_mode(regs)).  Rather than checking the sw_error_code
      (which will have the USER bit set if the fault was a USER-permission
      access *or* if user_mode(regs)), just check user_mode(regs)
      directly.
      
      The old code would have malfunctioned if the kernel executed a bogus
      WRUSS instruction while holding mmap_sem.  Fortunately, that is
      extremely unlikely in current kernels, which don't use WRUSS.
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
      Link: http://lkml.kernel.org/r/4b89b542e8ceba9bd6abde2f386afed6d99244a9.1542667307.git.luto@kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      6344be60
  4. 12 11月, 2018 15 次提交
    • W
      x86/mm/fault: Allow stack access below %rsp · 1d8ca3be
      Waiman Long 提交于
      The current x86 page fault handler allows stack access below the stack
      pointer if it is no more than 64k+256 bytes. Any access beyond the 64k+
      limit will cause a segmentation fault.
      
      The gcc -fstack-check option generates code to probe the stack for
      large stack allocation to see if the stack is accessible. The newer gcc
      does that while updating the %rsp simultaneously. Older gcc's like gcc4
      doesn't do that. As a result, an application compiled with an old gcc
      and the -fstack-check option may fail to start at all:
      
        $ cat test.c
        int main() {
      	char tmp[1024*128];
      	printf("### ok\n");
      	return 0;
        }
      
        $ gcc -fstack-check -g -o test test.c
      
        $ ./test
        Segmentation fault
      
      The old binary was working in older kernels where expand_stack() was
      somehow called before the check. But it is not working in newer kernels.
      Besides, the 64k+ limit check is kind of crude and will not catch a
      lot of mistakes that userspace applications may be misbehaving anyway.
      I think the kernel isn't the right place for this kind of tests. We
      should leave it to userspace instrumentation tools to perform them.
      
      The 64k+ limit check is now removed to just let expand_stack() decide
      if a segmentation fault should happen, when the RLIMIT_STACK limit is
      exceeded, for example.
      Signed-off-by: NWaiman Long <longman@redhat.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1541535149-31963-1-git-send-email-longman@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      1d8ca3be
    • L
      Linux 4.20-rc2 · ccda4af0
      Linus Torvalds 提交于
      ccda4af0
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 7a3765ed
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "One last pull request before heading to Vancouver for LPC, here we have:
      
         1) Don't forget to free VSI contexts during ice driver unload, from
            Victor Raj.
      
         2) Don't forget napi delete calls during device remove in ice driver,
            from Dave Ertman.
      
         3) Don't request VLAN tag insertion of ibmvnic device when SKB
            doesn't have VLAN tags at all.
      
         4) IPV4 frag handling code has to accomodate the situation where two
            threads try to insert the same fragment into the hash table at the
            same time. From Eric Dumazet.
      
         5) Relatedly, don't flow separate on protocol ports for fragmented
            frames, also from Eric Dumazet.
      
         6) Memory leaks in qed driver, from Denis Bolotin.
      
         7) Correct valid MTU range in smsc95xx driver, from Stefan Wahren.
      
         8) Validate cls_flower nested policies properly, from Jakub Kicinski.
      
         9) Clearing of stats counters in mc88e6xxx driver doesn't retain
            important bits in the G1_STATS_OP register causing the chip to
            hang. Fix from Andrew Lunn"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits)
        act_mirred: clear skb->tstamp on redirect
        net: dsa: mv88e6xxx: Fix clearing of stats counters
        tipc: fix link re-establish failure
        net: sched: cls_flower: validate nested enc_opts_policy to avoid warning
        net: mvneta: correct typo
        flow_dissector: do not dissect l4 ports for fragments
        net: qualcomm: rmnet: Fix incorrect assignment of real_dev
        net: aquantia: allow rx checksum offload configuration
        net: aquantia: invalid checksumm offload implementation
        net: aquantia: fixed enable unicast on 32 macvlan
        net: aquantia: fix potential IOMMU fault after driver unbind
        net: aquantia: synchronized flow control between mac/phy
        net: smsc95xx: Fix MTU range
        net: stmmac: Fix RX packet size > 8191
        qed: Fix potential memory corruption
        qed: Fix SPQ entries not returned to pool in error flows
        qed: Fix blocking/unlimited SPQ entries leak
        qed: Fix memory/entry leak in qed_init_sp_request()
        inet: frags: better deal with smp races
        net: hns3: bugfix for not checking return value
        ...
      7a3765ed
    • L
      Merge tag 'kbuild-fixes-v4.20' of... · e12e00e3
      Linus Torvalds 提交于
      Merge tag 'kbuild-fixes-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - fix build errors in binrpm-pkg and bindeb-pkg targets
      
       - fix false positive matches in merge_config.sh
      
       - fix build version mismatch in deb-pkg target
      
       - fix dtbs_install handling in (bin)deb-pkg target
      
       - revert a commit that allows setlocalversion to write to source tree
      
      * tag 'kbuild-fixes-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        builddeb: Fix inclusion of dtbs in debian package
        Revert "scripts/setlocalversion: git: Make -dirty check more robust"
        kbuild: deb-pkg: fix too low build version number
        kconfig: merge_config: avoid false positive matches from comment lines
        kbuild: deb-pkg: fix bindeb-pkg breakage when O= is used
        kbuild: rpm-pkg: fix binrpm-pkg breakage when O= is used
      e12e00e3
    • L
      Merge tag 'for-4.20-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 63a42e1a
      Linus Torvalds 提交于
      Pull btrfs fixes from David Sterba:
       "Several fixes to recent release (4.19, fixes tagged for stable) and
        other fixes"
      
      * tag 'for-4.20-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: fix missing delayed iputs on unmount
        Btrfs: fix data corruption due to cloning of eof block
        Btrfs: fix infinite loop on inode eviction after deduplication of eof block
        Btrfs: fix deadlock on tree root leaf when finding free extent
        btrfs: avoid link error with CONFIG_NO_AUTO_INLINE
        btrfs: tree-checker: Fix misleading group system information
        Btrfs: fix missing data checksums after a ranged fsync (msync)
        btrfs: fix pinned underflow after transaction aborted
        Btrfs: fix cur_offset in the error case for nocow
      63a42e1a
    • L
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · c140f8b0
      Linus Torvalds 提交于
      Pull ext4 fixes from Ted Ts'o:
       "A large number of ext4 bug fixes, mostly buffer and memory leaks on
        error return cleanup paths"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: missing !bh check in ext4_xattr_inode_write()
        ext4: fix buffer leak in __ext4_read_dirblock() on error path
        ext4: fix buffer leak in ext4_expand_extra_isize_ea() on error path
        ext4: fix buffer leak in ext4_xattr_move_to_block() on error path
        ext4: release bs.bh before re-using in ext4_xattr_block_find()
        ext4: fix buffer leak in ext4_xattr_get_block() on error path
        ext4: fix possible leak of s_journal_flag_rwsem in error path
        ext4: fix possible leak of sbi->s_group_desc_leak in error path
        ext4: remove unneeded brelse call in ext4_xattr_inode_update_ref()
        ext4: avoid possible double brelse() in add_new_gdb() on error path
        ext4: avoid buffer leak in ext4_orphan_add() after prior errors
        ext4: avoid buffer leak on shutdown in ext4_mark_iloc_dirty()
        ext4: fix possible inode leak in the retry loop of ext4_resize_fs()
        ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing
        ext4: add missing brelse() update_backups()'s error path
        ext4: add missing brelse() add_new_gdb_meta_bg()'s error path
        ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path
        ext4: avoid potential extra brelse in setup_new_flex_group_blocks()
      c140f8b0
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b6df7b6d
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "A set of x86 fixes:
      
         - Cure the LDT remapping to user space on 5 level paging which ended
           up in the KASLR space
      
         - Remove LDT mapping before freeing the LDT pages
      
         - Make NFIT MCE handling more robust
      
         - Unbreak the VSMP build by removing the dependency on paravirt ops
      
         - Support broken PIT emulation on Microsoft hyperV
      
         - Don't trace vmware_sched_clock() to avoid tracer recursion
      
         - Remove -pipe from KBUILD CFLAGS which breaks clang and is also
           slower on GCC
      
         - Trivial coding style and typo fixes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu/vmware: Do not trace vmware_sched_clock()
        x86/vsmp: Remove dependency on pv_irq_ops
        x86/ldt: Remove unused variable in map_ldt_struct()
        x86/ldt: Unmap PTEs for the slot before freeing LDT pages
        x86/mm: Move LDT remap out of KASLR region on 5-level paging
        acpi/nfit, x86/mce: Validate a MCE's address before using it
        acpi/nfit, x86/mce: Handle only uncorrectable machine checks
        x86/build: Remove -pipe from KBUILD_CFLAGS
        x86/hyper-v: Fix indentation in hv_do_fast_hypercall16()
        Documentation/x86: Fix typo in zero-page.txt
        x86/hyper-v: Enable PIT shutdown quirk
        clockevents/drivers/i8253: Add support for PIT shutdown quirk
      b6df7b6d
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 655c6b97
      Linus Torvalds 提交于
      Pull perf fixes from Thomas Gleixner:
       "A bunch of perf tooling fixes:
      
         - Make the Intel PT SQL viewer more robust
      
         - Make the Intel PT debug log more useful
      
         - Support weak groups in perf record so it's behaving the same way as
           perf stat
      
         - Display the LBR stats in callchain entries properly in perf top
      
         - Handle different PMu names with common prefix properlin in pert
           stat
      
         - Start syscall augmenting in perf trace. Preparation for
           architecture independent eBPF instrumentation of syscalls.
      
         - Fix build breakage in JVMTI perf lib
      
         - Fix arm64 tools build failure wrt smp_load_{acquire,release}"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf tools: Do not zero sample_id_all for group members
        perf tools: Fix undefined symbol scnprintf in libperf-jvmti.so
        perf beauty: Use SRCARCH, ARCH=x86_64 must map to "x86" to find the headers
        perf intel-pt: Add MTC and CYC timestamps to debug log
        perf intel-pt: Add more event information to debug log
        perf scripts python: exported-sql-viewer.py: Fix table find when table re-ordered
        perf scripts python: exported-sql-viewer.py: Add help window
        perf scripts python: exported-sql-viewer.py: Add Selected branches report
        perf scripts python: exported-sql-viewer.py: Fall back to /usr/local/lib/libxed.so
        perf top: Display the LBR stats in callchain entry
        perf stat: Handle different PMU names with common prefix
        perf record: Support weak groups
        perf evlist: Move perf_evsel__reset_weak_group into evlist
        perf augmented_syscalls: Start collecting pathnames in the BPF program
        perf trace: Fix setting of augmented payload when using eBPF + raw_syscalls
        perf trace: When augmenting raw_syscalls plug raw_syscalls:sys_exit too
        perf examples bpf: Start augmenting raw_syscalls:sys_{start,exit}
        tools headers barrier: Fix arm64 tools build failure wrt smp_load_{acquire,release}
      655c6b97
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 08b52786
      Linus Torvalds 提交于
      Pull timer fix from Thomas Gleixner:
       "Just the removal of a redundant call into the sched deadline overrun
        check"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        posix-cpu-timers: Remove useless call to check_dl_overrun()
      08b52786
    • L
      Merge branch 'sched/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 024d4d4c
      Linus Torvalds 提交于
      Pull scheduler fixes from Thomas Gleixner:
       "Two small scheduler fixes:
      
         - Take hotplug lock in sched_init_smp(). Technically not really
           required, but lockdep will complain other.
      
         - Trivial comment fix in sched/fair"
      
      * 'sched/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Fix a comment in task_numa_fault()
        sched/core: Take the hotplug lock in sched_init_smp()
      024d4d4c
    • L
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1acf93ca
      Linus Torvalds 提交于
      Pull locking build fix from Thomas Gleixner:
       "A single fix for a build fail with CONFIG_PROFILE_ALL_BRANCHES=y in
        the qspinlock code"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/qspinlock: Fix compile error
      1acf93ca
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0b002cdd
      Linus Torvalds 提交于
      Pull core fixes from Thomas Gleixner:
       "A couple of fixlets for the core:
      
         - Kernel doc function documentation fixes
      
         - Missing prototypes for weak watchdog functions"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        resource/docs: Complete kernel-doc style function documentation
        watchdog/core: Add missing prototypes for weak functions
        resource/docs: Fix new kernel-doc warnings
      0b002cdd
    • E
      act_mirred: clear skb->tstamp on redirect · 7236ead1
      Eric Dumazet 提交于
      If sch_fq is used at ingress, skbs that might have been
      timestamped by net_timestamp_set() if a packet capture
      is requesting timestamps could be delayed by arbitrary
      amount of time, since sch_fq time base is MONOTONIC.
      
      Fix this problem by moving code from sch_netem.c to act_mirred.c.
      
      Fixes: fb420d5d ("tcp/fq: move back to CLOCK_MONOTONIC")
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7236ead1
    • A
      net: dsa: mv88e6xxx: Fix clearing of stats counters · a9049ff9
      Andrew Lunn 提交于
      The mv88e6161 would sometime fail to probe with a timeout waiting for
      the switch to complete an operation. This operation is supposed to
      clear the statistics counters. However, due to a read/modify/write,
      without the needed mask, the operation actually carried out was more
      random, with invalid parameters, resulting in the switch not
      responding. We need to preserve the histogram mode bits, so apply a
      mask to keep them.
      Reported-by: NChris Healy <Chris.Healy@zii.aero>
      Fixes: 40cff8fc ("net: dsa: mv88e6xxx: Fix stats histogram mode")
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a9049ff9
    • J
      tipc: fix link re-establish failure · 7ab412d3
      Jon Maloy 提交于
      When a link failure is detected locally, the link is reset, the flag
      link->in_session is set to false, and a RESET_MSG with the 'stopping'
      bit set is sent to the peer.
      
      The purpose of this bit is to inform the peer that this endpoint just
      is going down, and that the peer should handle the reception of this
      particular RESET message as a local failure. This forces the peer to
      accept another RESET or ACTIVATE message from this endpoint before it
      can re-establish the link. This again is necessary to ensure that
      link session numbers are properly exchanged before the link comes up
      again.
      
      If a failure is detected locally at the same time at the peer endpoint
      this will do the same, which is also a correct behavior.
      
      However, when receiving such messages, the endpoints will not
      distinguish between 'stopping' RESETs and ordinary ones when it comes
      to updating session numbers. Both endpoints will copy the received
      session number and set their 'in_session' flags to true at the
      reception, while they are still expecting another RESET from the
      peer before they can go ahead and re-establish. This is contradictory,
      since, after applying the validation check referred to below, the
      'in_session' flag will cause rejection of all such messages, and the
      link will never come up again.
      
      We now fix this by not only handling received RESET/STOPPING messages
      as a local failure, but also by omitting to set a new session number
      and the 'in_session' flag in such cases.
      
      Fixes: 7ea817f4 ("tipc: check session number before accepting link protocol messages")
      Signed-off-by: NJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ab412d3
  5. 11 11月, 2018 8 次提交
    • R
      builddeb: Fix inclusion of dtbs in debian package · d5615e47
      Rob Herring 提交于
      Commit 37c8a5fa ("kbuild: consolidate Devicetree dtb build rules")
      moved the location of 'dtbs_install' target which caused dtbs to not be
      installed when building debian package with 'bindeb-pkg' target. Update
      the builddeb script to use the same logic that determines if there's a
      'dtbs_install' target which is presence of the arch dts directory. Also,
      use CONFIG_OF_EARLY_FLATTREE instead of CONFIG_OF as that's a better
      indication of whether we are building dtbs.
      
      This commit will also have the side effect of installing dtbs on any
      arch that has dts files. Previously, it was dependent on whether the
      arch defined 'dtbs_install'.
      
      Fixes: 37c8a5fa ("kbuild: consolidate Devicetree dtb build rules")
      Reported-by: NNuno Gonçalves <nunojpg@gmail.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      d5615e47
    • G
      Revert "scripts/setlocalversion: git: Make -dirty check more robust" · 8ef14c2c
      Guenter Roeck 提交于
      This reverts commit 6147b1cf.
      
      The reverted patch results in attempted write access to the source
      repository, even if that repository is mounted read-only.
      
      Output from "strace git status -uno --porcelain":
      
      getcwd("/tmp/linux-test", 129)          = 16
      open("/tmp/linux-test/.git/index.lock", O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0666) =
      	-1 EROFS (Read-only file system)
      
      While git appears to be able to handle this situation, a monitored
      build environment (such as the one used for Chrome OS kernel builds)
      may detect it and bail out with an access violation error. On top of
      that, the attempted write access suggests that git _will_ write to the
      file even if a build output directory is specified. Users may have the
      reasonable expectation that the source repository remains untouched in
      that situation.
      
      Fixes: 6147b1cf ("scripts/setlocalversion: git: Make -dirty check more robust"
      Cc: Genki Sky <sky@genki.is>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: NBrian Norris <briannorris@chromium.org>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      8ef14c2c
    • M
      kbuild: deb-pkg: fix too low build version number · bbcde0a7
      Masahiro Yamada 提交于
      Since commit b41d920a ("kbuild: deb-pkg: split generating packaging
      and build"), the build version of the kernel contained in a deb package
      is too low by 1.
      
      Prior to the bad commit, the kernel was built first, then the number
      in .version file was read out, and written into the debian control file.
      
      Now, the debian control file is created before the kernel is actually
      compiled, which is causing the version number mismatch.
      
      Let the mkdebian script pass KBUILD_BUILD_VERSION=${revision} to require
      the build system to use the specified version number.
      
      Fixes: b41d920a ("kbuild: deb-pkg: split generating packaging and build")
      Reported-by: NDoug Smythies <dsmythies@telus.net>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Tested-by: NDoug Smythies <dsmythies@telus.net>
      bbcde0a7
    • M
      kconfig: merge_config: avoid false positive matches from comment lines · 6bbe4385
      Masahiro Yamada 提交于
      The current SED_CONFIG_EXP could match to comment lines in config
      fragment files, especially when CONFIG_PREFIX_ is empty. For example,
      Buildroot uses empty prefixing; starting symbols with BR2_ is just
      convention.
      
      Make the sed expression more robust against false positives from
      comment lines. The new sed expression matches to only valid patterns.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NPetr Vorel <petr.vorel@gmail.com>
      Reviewed-by: NArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
      6bbe4385
    • L
      Merge tag 'tty-4.20-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · e255aee5
      Linus Torvalds 提交于
      Pull tty/serial fixes from Greg KH:
       "Here are some small tty fixes for 4.20-rc2
      
        One of these missed the original 4.19-final release, I missed that I
        hadn't done a pull request for it as it was in linux-next and my
        branch for a long time, that's my fault.
      
        The others are small, fixing some reported issues and finally fixing
        the termios mess for alpha so that glibc has a chance to implement
        some missing functionality that has been pending for many years now.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'tty-4.20-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: sh-sci: Fix could not remove dev_attr_rx_fifo_timeout
        arch/alpha, termios: implement BOTHER, IBSHIFT and termios2
        termios, tty/tty_baudrate.c: fix buffer overrun
        vt: fix broken display when running aptitude
        serial: sh-sci: Fix receive on SCIFA/SCIFB variants with DMA
      e255aee5
    • L
      Merge tag 'drm-fixes-2018-11-11' of git://anongit.freedesktop.org/drm/drm · 20ef6d06
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "drm: i915, amdgpu, sun4i, exynos and etnaviv fixes:
      
         - amdgpu has some display fixes, KFD ioctl fixes and a Vega20 bios
           interaction fix.
      
         - sun4i has some NULL checks added
      
         - i915 has a 32-bit system fix, LPE audio oops, and HDMI2.0 clock
           fixes.
      
         - Exynos has a 3 regression fixes (one frame counter, fbdev missing,
           dsi->panel check)
      
         - Etnaviv has a single fencing fix for GPU recovery"
      
      * tag 'drm-fixes-2018-11-11' of git://anongit.freedesktop.org/drm/drm: (39 commits)
        drm/amd/amdgpu/dm: Fix dm_dp_create_fake_mst_encoder()
        drm/amd/display: Drop reusing drm connector for MST
        drm/amd/display: Cleanup MST non-atomic code workaround
        drm/amd/powerplay: always use fast UCLK switching when UCLK DPM enabled
        drm/amd/powerplay: set a default fclk/gfxclk ratio
        drm/amdgpu/display/dce11: only enable FBC when selected
        drm/amdgpu/display/dm: handle FBC dc feature parameter
        drm/amdgpu/display/dc: add FBC to dc_config
        drm/amdgpu: add DC feature mask module parameter
        drm/amdgpu/display: check if fbc is available in set_static_screen_control (v2)
        drm/amdgpu/vega20: add CLK base offset
        drm/amd/display: Stop leaking planes
        drm/amd/display: Fix misleading buffer information
        Revert "drm/amd/display: set backlight level limit to 1"
        drm/amd: Update atom_smu_info_v3_3 structure
        drm/i915: Fix ilk+ watermarks when disabling pipes
        drm/sun4i: tcon: prevent tcon->panel dereference if NULL
        drm/sun4i: tcon: fix check of tcon->panel null pointer
        drm/i915: Don't oops during modeset shutdown after lpe audio deinit
        drm/i915: Mark pin flags as u64
        ...
      20ef6d06
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 1de4f2ef
      Linus Torvalds 提交于
      Pull namespace fixes from Eric Biederman:
       "I believe all of these are simple obviously correct bug fixes. These
        fall into two groups:
      
         - Fixing the implementation of MNT_LOCKED which prevents lesser
           privileged users from seeing unders mounts created by more
           privileged users.
      
         - Fixing the extended uid and group mapping in user namespaces.
      
        As well as ensuring the code looks correct I have spot tested these
        changes as well and in my testing the fixes are working"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        mount: Prevent MNT_DETACH from disconnecting locked mounts
        mount: Don't allow copying MNT_UNBINDABLE|MNT_LOCKED mounts
        mount: Retest MNT_LOCKED in do_umount
        userns: also map extents in the reverse map to kernel IDs
      1de4f2ef
    • L
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · a1aa42f1
      Linus Torvalds 提交于
      Pull clk fixes from Stephen Boyd:
       "A small set of fixes for clk drivers.
      
        One to fix a DT refcount imbalance, two to mark some Amlogic clks as
        critical, and one final one that fixes a clk name for the Qualcomm
        driver merged this cycle"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: qcom: gcc: Fix board clock node name
        clk: meson: axg: mark fdiv2 and fdiv3 as critical
        clk: meson-gxbb: set fclk_div3 as CLK_IS_CRITICAL
        clk: fixed-factor: fix of_node_get-put imbalance
      a1aa42f1