24 Jul, 2018

1 commit

  • On removal battery_present changes from 1 to 0 after calling
    acpi_battery_get_status() and battery->update_time is set to 0
    before returning.

    On insertion battery_present changes from 0 to 1 after calling
    acpi_battery_get_status() and acpi_battery_get_info() is called
    because battery->update_time is 0.

    The old_present condition is therefore redundant.

    This was added in the commit below when there was a path without
    sysfs that would skip getting the newly inserted battery info.

    commit 50b178512b7d ("Newly inserted battery might differ from one
    just removed, so update of battery info fields is required.")

    Signed-off-by: Lucas Rangit Magasweran
    Signed-off-by: Rafael J. Wysocki

    Lucas Rangit Magasweran
     

16 Jul, 2018

2 commits

  • Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:

    - A fix for OMAP5 and DRA7 to make the branch predictor hardening
    settings take proper effect on secondary cores

    - Disable USB OTG on am3517 since current driver isn't working

    - Fix thermal sensor register settings on Armada 38x

    - Fix suspend/resume IRQs on pxa3xx

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: am3517.dtsi: Disable reference to OMAP3 OTG controller
    ARM: DRA7/OMAP5: Enable ACTLR[0] (Enable invalidates of BTB) for secondary cores
    ARM: pxa: irq: fix handling of ICMR registers in suspend/resume
    ARM: dts: armada-38x: use the new thermal binding

    Linus Torvalds
     

15 Jul, 2018

19 commits

  • Pull RTC fixes from Alexandre Belloni:
    "Two fixes for 4.18:

    - an important core fix for RTCs using the core offsetting only one
    driver is affected

    - a fix for the error path of mrst"

    * tag 'rtc-4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
    rtc: fix alarm read and set offset
    rtc: mrst: fix error code in probe()

    Linus Torvalds
     
  • …x/kernel/git/tmlind/linux-omap into fixes

    Two omap fixes for v4.18-rc cycle

    Turns out the recent patches for ARM branch predictor hardening are
    not working on omap5 and dra7 as planned because the secondary CPU
    is parked to the bootrom code. We can't configure it in the bootloader.
    So we must enable invalidates of BTB for omap5 and dra7 secondary
    core in the kernel.

    And there's a fix for reserved register access for am3517. The
    usb otg module on am3517 is not the same as for other omap3.

    * tag 'omap-for-v4.18/fixes-rc4-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: dts: am3517.dtsi: Disable reference to OMAP3 OTG controller
    ARM: DRA7/OMAP5: Enable ACTLR[0] (Enable invalidates of BTB) for secondary cores

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • mvebu fixes for 4.18 (part 1)

    Use the new thermal binding on Armada 38x allowing to use a driver fix
    which is already part of the kernel.

    * tag 'mvebu-fixes-4.18-1' of git://git.infradead.org/linux-mvebu:
    ARM: dts: armada-38x: use the new thermal binding

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • This is the fixes set for v4.18 cycle.

    This is a fix for suspending all pxa3xx platforms, where high
    number interrupts are not reenabled.

    * tag 'pxa-fixes-4.18' of https://github.com/rjarzmik/linux:
    ARM: pxa: irq: fix handling of ICMR registers in suspend/resume

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • Pull xen fixes from Juergen Gross:
    "Two related fixes for a boot failure of Xen PV guests"

    * tag 'for-linus-4.18-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen: setup pv irq ops vector earlier
    xen: remove global bit from __default_kernel_pte_mask for pv guests

    Linus Torvalds
     
  • Pull block fix from Jens Axboe:
    "Just a single regression fix (from 4.17) for bsg, fixing an EINVAL
    return on non-data commands"

    * tag 'for-linus-20180713' of git://git.kernel.dk/linux-block:
    bsg: fix bogus EINVAL on non-data commands

    Linus Torvalds
     
  • Merge misc fixes from Andrew Morton:
    "11 fixes"

    * emailed patches form Andrew Morton :
    reiserfs: fix buffer overflow with long warning messages
    checkpatch: fix duplicate invalid vsprintf pointer extension '%p' messages
    mm: do not bug_on on incorrect length in __mm_populate()
    mm/memblock.c: do not complain about top-down allocations for !MEMORY_HOTREMOVE
    fs, elf: make sure to page align bss in load_elf_library
    x86/purgatory: add missing FORCE to Makefile target
    net/9p/client.c: put refcount of trans_mod in error case in parse_opts()
    mm: allow arch to supply p??_free_tlb functions
    autofs: fix slab out of bounds read in getname_kernel()
    fs/proc/task_mmu.c: fix Locked field in /proc/pid/smaps*
    mm: do not drop unused pages when userfaultd is running

    Linus Torvalds
     
  • ReiserFS prepares log messages into a 1024-byte buffer with no bounds
    checks. Long messages, such as the "unknown mount option" warning when
    userspace passes a crafted mount options string, overflow this buffer.
    This causes KASAN to report a global-out-of-bounds write.

    Fix it by truncating messages to the buffer size.

    Link: http://lkml.kernel.org/r/20180707203621.30922-1-ebiggers3@gmail.com
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Reported-by: syzbot+b890b3335a4d8c608963@syzkaller.appspotmail.com
    Signed-off-by: Eric Biggers
    Reviewed-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Biggers
     
  • Multiline statements with invalid %p uses produce multiple
    warnings. Fix that.

    e.g.:

    $ cat t_block.c
    void foo(void)
    {
    MY_DEBUG(drv->foo,
    "%pk",
    foo->boo);
    }

    $ ./scripts/checkpatch.pl -f t_block.c
    WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
    #1: FILE: t_block.c:1:
    +void foo(void)

    WARNING: Invalid vsprintf pointer extension '%pk'
    #3: FILE: t_block.c:3:
    + MY_DEBUG(drv->foo,
    + "%pk",
    + foo->boo);

    WARNING: Invalid vsprintf pointer extension '%pk'
    #3: FILE: t_block.c:3:
    + MY_DEBUG(drv->foo,
    + "%pk",
    + foo->boo);

    total: 0 errors, 3 warnings, 6 lines checked

    NOTE: For some of the reported defects, checkpatch may be able to
    mechanically convert to the typical style using --fix or --fix-inplace.

    t_block.c has style problems, please review.

    NOTE: If any of the errors are false positives, please report
    them to the maintainer, see CHECKPATCH in MAINTAINERS.

    Link: http://lkml.kernel.org/r/9e8341bbe4c9877d159cb512bb701043cbfbb10b.camel@perches.com
    Signed-off-by: Joe Perches
    Cc: "Tobin C. Harding"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • syzbot has noticed that a specially crafted library can easily hit
    VM_BUG_ON in __mm_populate

    kernel BUG at mm/gup.c:1242!
    invalid opcode: 0000 [#1] SMP
    CPU: 2 PID: 9667 Comm: a.out Not tainted 4.18.0-rc3 #644
    Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 05/19/2017
    RIP: 0010:__mm_populate+0x1e2/0x1f0
    Code: 55 d0 65 48 33 14 25 28 00 00 00 89 d8 75 21 48 83 c4 20 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 75 18 f1 ff 0f 0b e8 6e 18 f1 ff 0b 31 db eb c9 e8 93 06 e0 ff 0f 1f 00 55 48 89 e5 53 48 89 fb
    Call Trace:
    vm_brk_flags+0xc3/0x100
    vm_brk+0x1f/0x30
    load_elf_library+0x281/0x2e0
    __ia32_sys_uselib+0x170/0x1e0
    do_fast_syscall_32+0xca/0x420
    entry_SYSENTER_compat+0x70/0x7f

    The reason is that the length of the new brk is not page aligned when we
    try to populate the it. There is no reason to bug on that though.
    do_brk_flags already aligns the length properly so the mapping is
    expanded as it should. All we need is to tell mm_populate about it.
    Besides that there is absolutely no reason to to bug_on in the first
    place. The worst thing that could happen is that the last page wouldn't
    get populated and that is far from putting system into an inconsistent
    state.

    Fix the issue by moving the length sanitization code from do_brk_flags
    up to vm_brk_flags. The only other caller of do_brk_flags is brk
    syscall entry and it makes sure to provide the proper length so t here
    is no need for sanitation and so we can use do_brk_flags without it.

    Also remove the bogus BUG_ONs.

    [osalvador@techadventures.net: fix up vm_brk_flags s@request@len@]
    Link: http://lkml.kernel.org/r/20180706090217.GI32658@dhcp22.suse.cz
    Signed-off-by: Michal Hocko
    Reported-by: syzbot
    Tested-by: Tetsuo Handa
    Reviewed-by: Oscar Salvador
    Cc: Zi Yan
    Cc: "Aneesh Kumar K.V"
    Cc: Dan Williams
    Cc: "Kirill A. Shutemov"
    Cc: Michael S. Tsirkin
    Cc: Al Viro
    Cc: "Huang, Ying"
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • Mike Rapoport is converting architectures from bootmem to nobootmem
    allocator. While doing so for m68k Geert has noticed that he gets a
    scary looking warning:

    WARNING: CPU: 0 PID: 0 at mm/memblock.c:230
    memblock_find_in_range_node+0x11c/0x1be
    memblock: bottom-up allocation failed, memory hotunplug may be affected
    Modules linked in:
    CPU: 0 PID: 0 Comm: swapper Not tainted
    4.18.0-rc3-atari-01343-gf2fb5f2e09a97a3c-dirty #7
    Call Trace: __warn+0xa8/0xc2
    kernel_pg_dir+0x0/0x1000
    netdev_lower_get_next+0x2/0x22
    warn_slowpath_fmt+0x2e/0x36
    memblock_find_in_range_node+0x11c/0x1be
    memblock_find_in_range_node+0x11c/0x1be
    memblock_find_in_range_node+0x0/0x1be
    vprintk_func+0x66/0x6e
    memblock_virt_alloc_internal+0xd0/0x156
    netdev_lower_get_next+0x2/0x22
    netdev_lower_get_next+0x2/0x22
    kernel_pg_dir+0x0/0x1000
    memblock_virt_alloc_try_nid_nopanic+0x58/0x7a
    netdev_lower_get_next+0x2/0x22
    kernel_pg_dir+0x0/0x1000
    kernel_pg_dir+0x0/0x1000
    EXPTBL+0x234/0x400
    EXPTBL+0x234/0x400
    alloc_node_mem_map+0x4a/0x66
    netdev_lower_get_next+0x2/0x22
    free_area_init_node+0xe2/0x29e
    EXPTBL+0x234/0x400
    paging_init+0x430/0x462
    kernel_pg_dir+0x0/0x1000
    printk+0x0/0x1a
    EXPTBL+0x234/0x400
    setup_arch+0x1b8/0x22c
    start_kernel+0x4a/0x40a
    _sinittext+0x344/0x9e8

    The warning is basically saying that a top-down allocation can break
    memory hotremove because memblock allocation is not movable. But m68k
    doesn't even support MEMORY_HOTREMOVE so there is no point to warn about
    it.

    Make the warning conditional only to configurations that care.

    Link: http://lkml.kernel.org/r/20180706061750.GH32658@dhcp22.suse.cz
    Signed-off-by: Michal Hocko
    Reported-by: Geert Uytterhoeven
    Tested-by: Geert Uytterhoeven
    Reviewed-by: Andrew Morton
    Cc: Vlastimil Babka
    Cc: Mike Rapoport
    Cc: Greg Ungerer
    Cc: Sam Creasey
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • The current code does not make sure to page align bss before calling
    vm_brk(), and this can lead to a VM_BUG_ON() in __mm_populate() due to
    the requested lenght not being correctly aligned.

    Let us make sure to align it properly.

    Kees: only applicable to CONFIG_USELIB kernels: 32-bit and configured
    for libc5.

    Link: http://lkml.kernel.org/r/20180705145539.9627-1-osalvador@techadventures.net
    Signed-off-by: Oscar Salvador
    Reported-by: syzbot+5dcb560fe12aa5091c06@syzkaller.appspotmail.com
    Tested-by: Tetsuo Handa
    Acked-by: Kees Cook
    Cc: Michal Hocko
    Cc: Nicolas Pitre
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oscar Salvador
     
  • - Build the kernel without the fix
    - Add some flag to the purgatories KBUILD_CFLAGS,I used
    -fno-asynchronous-unwind-tables
    - Re-build the kernel

    When you look at makes output you see that sha256.o is not re-build in the
    last step. Also readelf -S still shows the .eh_frame section for
    sha256.o.

    With the fix sha256.o is rebuilt in the last step.

    Without FORCE make does not detect changes only made to the command line
    options. So object files might not be re-built even when they should be.
    Fix this by adding FORCE where it is missing.

    Link: http://lkml.kernel.org/r/20180704110044.29279-2-prudo@linux.ibm.com
    Fixes: df6f2801f511 ("kernel/kexec_file.c: move purgatories sha256 to common code")
    Signed-off-by: Philipp Rudo
    Acked-by: Dave Young
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: [4.17+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Philipp Rudo
     
  • In my testing, the second mount will fail after umounting successfully.
    The reason is that we put refcount of trans_mod in the correct case
    rather than the error case in parse_opts() at last. That will cause the
    refcount decrease to -1, and when we try to get trans_mod again in
    try_module_get(), we could only increase refcount to 0 which will cause
    failure as follows:

    parse_opts
    v9fs_get_trans_by_name
    try_module_get : return NULL to caller which cause error

    So we should put refcount of trans_mod in error case.

    Link: http://lkml.kernel.org/r/5B3F39A0.2030509@huawei.com
    Fixes: 9421c3e64137ec ("net/9p/client.c: fix potential refcnt problem of trans module")
    Signed-off-by: Jun Piao
    Reviewed-by: Yiwen Jiang
    Reviewed-by: Greg Kurz
    Reviewed-by: Dominique Martinet
    Tested-by: Dominique Martinet
    Cc: Eric Van Hensbergen
    Cc: Ron Minnich
    Cc: Latchesar Ionkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    piaojun
     
  • The mmu_gather APIs keep track of the invalidated address range
    including the span covered by invalidated page table pages. Ranges
    covered by page tables but not ptes (and therefore no TLBs) still need
    to be invalidated because some architectures (x86) can cache
    intermediate page table entries, and invalidate those with normal TLB
    invalidation instructions to be almost-backward-compatible.

    Architectures which don't cache intermediate page table entries, or
    which invalidate these caches separately from TLB invalidation, do not
    require TLB invalidation range expanded over page tables.

    Allow architectures to supply their own p??_free_tlb functions, which
    can avoid the __tlb_adjust_range.

    Link: http://lkml.kernel.org/r/20180703013131.2807-1-npiggin@gmail.com
    Signed-off-by: Nicholas Piggin
    Reviewed-by: Andrew Morton
    Cc: "Aneesh Kumar K. V"
    Cc: Minchan Kim
    Cc: Mel Gorman
    Cc: Nadav Amit
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicholas Piggin
     
  • The autofs subsystem does not check that the "path" parameter is present
    for all cases where it is required when it is passed in via the "param"
    struct.

    In particular it isn't checked for the AUTOFS_DEV_IOCTL_OPENMOUNT_CMD
    ioctl command.

    To solve it, modify validate_dev_ioctl(function to check that a path has
    been provided for ioctl commands that require it.

    Link: http://lkml.kernel.org/r/153060031527.26631.18306637892746301555.stgit@pluto.themaw.net
    Signed-off-by: Tomas Bortoli
    Signed-off-by: Ian Kent
    Reported-by: syzbot+60c837b428dc84e83a93@syzkaller.appspotmail.com
    Cc: Dmitry Vyukov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tomas Bortoli
     
  • Thomas reports:
    "While looking around in /proc on my v4.14.52 system I noticed that all
    processes got a lot of "Locked" memory in /proc/*/smaps. A lot more
    memory than a regular user can usually lock with mlock().

    Commit 493b0e9d945f (in v4.14-rc1) seems to have changed the behavior
    of "Locked".

    Before that commit the code was like this. Notice the VM_LOCKED check.

    (vma->vm_flags & VM_LOCKED) ?
    (unsigned long)(mss.pss >> (10 + PSS_SHIFT)) : 0);

    After that commit Locked is now the same as Pss:

    (unsigned long)(mss->pss >> (10 + PSS_SHIFT)));

    This looks like a mistake."

    Indeed, the commit has added mss->pss_locked with the correct value that
    depends on VM_LOCKED, but forgot to actually use it. Fix it.

    Link: http://lkml.kernel.org/r/ebf6c7fb-fec3-6a26-544f-710ed193c154@suse.cz
    Fixes: 493b0e9d945f ("mm: add /proc/pid/smaps_rollup")
    Signed-off-by: Vlastimil Babka
    Reported-by: Thomas Lindroth
    Cc: Alexey Dobriyan
    Cc: Daniel Colascione
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vlastimil Babka
     
  • KVM guests on s390 can notify the host of unused pages. This can result
    in pte_unused callbacks to be true for KVM guest memory.

    If a page is unused (checked with pte_unused) we might drop this page
    instead of paging it. This can have side-effects on userfaultd, when
    the page in question was already migrated:

    The next access of that page will trigger a fault and a user fault
    instead of faulting in a new and empty zero page. As QEMU does not
    expect a userfault on an already migrated page this migration will fail.

    The most straightforward solution is to ignore the pte_unused hint if a
    userfault context is active for this VMA.

    Link: http://lkml.kernel.org/r/20180703171854.63981-1-borntraeger@de.ibm.com
    Signed-off-by: Christian Borntraeger
    Cc: Martin Schwidefsky
    Cc: Andrea Arcangeli
    Cc: Mike Rapoport
    Cc: Janosch Frank
    Cc: David Hildenbrand
    Cc: Cornelia Huck
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Borntraeger
     
  • We must zero struct pages for memory that is not backed by physical
    memory, or kernel does not have access to.

    Recently, there was a change which zeroed all memmap for all holes in
    e820. Unfortunately, it introduced a bug that is discussed here:

    https://www.spinics.net/lists/linux-mm/msg156764.html

    Linus, also saw this bug on his machine, and confirmed that reverting
    commit 124049decbb1 ("x86/e820: put !E820_TYPE_RAM regions into
    memblock.reserved") fixes the issue.

    The problem is that we incorrectly zero some struct pages after they
    were setup.

    The fix is to zero unavailable struct pages prior to initializing of
    struct pages.

    A more detailed fix should come later that would avoid double zeroing
    cases: one in __init_single_page(), the other one in
    zero_resv_unavail().

    Fixes: 124049decbb1 ("x86/e820: put !E820_TYPE_RAM regions into memblock.reserved")
    Signed-off-by: Pavel Tatashin
    Signed-off-by: Linus Torvalds

    Pavel Tatashin
     

14 Jul, 2018

13 commits

  • Pull i2c fixes from Wolfram Sang:

    - I2C core bugfix regarding bus recovery

    - driver bugfix for the tegra driver

    - typo correction

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: recovery: if possible send STOP with recovery pulses
    i2c: tegra: Fix NACK error handling
    i2c: stu300: use non-archaic spelling of failes

    Linus Torvalds
     
  • Pull timer fixes from Ingo Molnar:
    "A clocksource driver fix and a revert"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    clocksource: arm_arch_timer: Set arch_mem_timer cpumask to cpu_possible_mask
    Revert "tick: Prefer a lower rating device only if it's CPU local device"

    Linus Torvalds
     
  • Pull perf tool fixes from Ingo Molnar:
    "Misc tooling fixes: python3 related fixes, gcc8 fix, bashism fixes and
    some other smaller fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tools: Use python-config --includes rather than --cflags
    perf script python: Fix dict reference counting
    perf stat: Fix --interval_clear option
    perf tools: Fix compilation errors on gcc8
    perf test shell: Prevent temporary editor files from being considered test scripts
    perf llvm-utils: Remove bashism from kernel include fetch script
    perf test shell: Make perf's inet_pton test more portable
    perf test shell: Replace '|&' with '2>&1 |' to work with more shells
    perf scripts python: Add Python 3 support to EventClass.py
    perf scripts python: Add Python 3 support to sched-migration.py
    perf scripts python: Add Python 3 support to Util.py
    perf scripts python: Add Python 3 support to SchedGui.py
    perf scripts python: Add Python 3 support to Core.py
    perf tools: Generate a Python script compatible with Python 2 and 3

    Linus Torvalds
     
  • Pull EFI fix from Ingo Molnar:
    "Fix a UEFI mixed mode (64-bit kernel on 32-bit UEFI) reboot loop
    regression"

    * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    efi/x86: Fix mixed mode reboot loop by removing pointless call to PciIo->Attributes()

    Linus Torvalds
     
  • Pull rseq fixes from Ingo Molnar:
    "Various rseq ABI fixes and cleanups: use get_user()/put_user(),
    validate parameters and use proper uapi types, etc"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    rseq/selftests: cleanup: Update comment above rseq_prepare_unload
    rseq: Remove unused types_32_64.h uapi header
    rseq: uapi: Declare rseq_cs field as union, update includes
    rseq: uapi: Update uapi comments
    rseq: Use get_user/put_user rather than __get_user/__put_user
    rseq: Use __u64 for rseq_cs fields, validate user inputs

    Linus Torvalds
     
  • Pull rdma fixes from Jason Gunthorpe:
    "Things have been quite slow, only 6 RC patches have been sent to the
    list. Regression, user visible bugs, and crashing fixes:

    - cxgb4 could wrongly fail MR creation due to a typo

    - various crashes if the wrong QP type is mixed in with APIs that
    expect other types

    - syzkaller oops

    - using ERR_PTR and NULL together cases HFI1 to crash in some cases

    - mlx5 memory leak in error unwind"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
    RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path
    RDMA/uverbs: Don't fail in creation of multiple flows
    IB/hfi1: Fix incorrect mixing of ERR_PTR and NULL return values
    RDMA/uverbs: Fix slab-out-of-bounds in ib_uverbs_ex_create_flow
    RDMA/uverbs: Protect from attempts to create flows on unsupported QP
    iw_cxgb4: correctly enforce the max reg_mr depth

    Linus Torvalds
     
  • Pull VFIO fix from Alex Williamson:
    "Fix deadlock in mbochs sample driver (Alexey Khoroshilov)"

    * tag 'vfio-v4.18-rc5' of git://github.com/awilliam/linux-vfio:
    sample: vfio-mdev: avoid deadlock in mdev_access()

    Linus Torvalds
     
  • …t/masahiroy/linux-kbuild

    Pull Kbuild fixes from Masahiro Yamada:

    - update Kbuild and Kconfig documents

    - sanitize -I compiler option handling

    - update extract-vmlinux script to recognize LZ4 and ZSTD

    - fix tools Makefiles

    - update tags.sh to handle __ro_after_init

    - suppress warnings in case getconf does not recognize LFS_* parameters

    * tag 'kbuild-fixes-v4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: suppress warnings from 'getconf LFS_*'
    scripts/tags.sh: add __ro_after_init
    tools: build: Use HOSTLDFLAGS with fixdep
    tools: build: Fixup host c flags
    tools build: fix # escaping in .cmd files for future Make
    scripts: teach extract-vmlinux about LZ4 and ZSTD
    kbuild: remove duplicated comments about PHONY
    kbuild: .PHONY is not a variable, but PHONY is
    kbuild: do not drop -I without parameter
    kbuild: document the KBUILD_KCONFIG env. variable
    kconfig: update user kconfig tools doc.
    kbuild: delete INSTALL_FW_PATH from kbuild documentation
    kbuild: update ARCH alias info for sparc
    kbuild: update ARCH alias info for sh

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:
    "Catalin's out enjoying the sunshine, so I'm sending the fixes for a
    couple of weeks (although there hopefully won't be any more!).

    We've got a revert of a previous fix because it broke the build with
    some distro toolchains and a preemption fix when detemining whether or
    not the SIMD unit is in use.

    Summary:

    - Revert back to the 'linux' target for LD, as 'elf' breaks some
    distributions

    - Fix preemption race when testing whether the vector unit is in use
    or not"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: neon: Fix function may_use_simd() return error status
    Revert "arm64: Use aarch64elf and aarch64elfb emulation mode variants"

    Linus Torvalds
     
  • Pull ARM fixes from Russell King:
    "A couple of small fixes this time around from Steven for an
    interaction between ftrace and kernel read-only protection, and
    Vladimir for nommu"

    * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
    ARM: 8780/1: ftrace: Only set kernel memory back to read-only after boot
    ARM: 8775/1: NOMMU: Use instr_sync instead of plain isb in common code

    Linus Torvalds
     
  • Pull tracing fixlet from Steven Rostedt:
    "Joel Fernandes asked to add a feature in tracing that Android had its
    own patch internally for. I took it back in 4.13. Now he realizes that
    he had a mistake, and swapped the values from what Android had. This
    means that the old Android tools will break when using a new kernel
    that has the new feature on it.

    The options are:

    1. To swap it back to what Android wants.
    2. Add a command line option or something to do the swap
    3. Just let Android carry a patch that swaps it back

    Since it requires setting a tracing option to enable this anyway, I
    doubt there are other users of this than Android. Thus, I've decided
    to take option 1. If someone else is actually depending on the order
    that is in the kernel, then we will have to revert this change and go
    to option 2 or 3"

    * tag 'trace-v4.18-rc3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Reorder display of TGID to be after PID

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Just a few HD-auio fixes: one fix for a possible mutex deadlock at
    HDMI hotplug handling is somewhat subtle and delicate, while the rest
    are usual device-specific quirks"

    * tag 'sound-4.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda/ca0132: Update a pci quirk device name
    ALSA: hda/ca0132: Add Recon3Di quirk for Gigabyte G1.Sniper Z97
    ALSA: hda/realtek - two more lenovo models need fixup of MIC_LOCATION
    ALSA: hda - Handle pm failure during hotplug

    Linus Torvalds
     
  • Pull libnvdimm fixes from Dave Jiang:

    - ensure that a variable passed in by reference to acpi_nfit_ctl is
    always set to a value. An incremental patch is provided due to notice
    from testing in -next. The rest of the commits did not exhibit
    issues.

    - fix a return path in nsio_rw_bytes() that was not returning "bytes
    remain" as expected for the function.

    - address an issue where applications polling on scrub-completion for
    the NVDIMM may falsely wakeup and read the wrong state value and
    cause hang.

    - change the test unit persistent capability attribute to fix up a
    broken assumption in the unit test infrastructure wrt the
    'write_cache' attribute

    - ratelimit dev_info() in the dax device check_vma() function since
    this is easily triggered from userspace

    * tag 'libnvdimm-fixes-4.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    nfit: fix unchecked dereference in acpi_nfit_ctl
    acpi, nfit: Fix scrub idle detection
    tools/testing/nvdimm: advertise a write cache for nfit_test
    acpi/nfit: fix cmd_rc for acpi_nfit_ctl to always return a value
    dev-dax: check_vma: ratelimit dev_info-s
    libnvdimm, pmem: Fix memcpy_mcsafe() return code handling in nsio_rw_bytes()

    Linus Torvalds
     

13 Jul, 2018

5 commits

  • The offset needs to be added after reading the alarm value.

    It also needs to be subtracted after the now < alarm test.

    Tested-by: Jon Hunter
    Signed-off-by: Alexandre Belloni

    Alexandre Belloni
     
  • Setting pv_irq_ops for Xen PV domains should be done as early as
    possible in order to support e.g. very early printk() usage.

    The same applies to xen_vcpu_info_reset(0), as it is needed for the
    pv irq ops.

    Move the call of xen_setup_machphys_mapping() after initializing the
    pv functions as it contains a WARN_ON(), too.

    Remove the no longer necessary conditional in xen_init_irq_ops()
    from PVH V1 times to make clear this is a PV only function.

    Cc: # 4.14
    Signed-off-by: Juergen Gross
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: Juergen Gross

    Juergen Gross
     
  • Currently ftrace displays data in trace output like so:

    _-----=> irqs-off
    / _----=> need-resched
    | / _---=> hardirq/softirq
    || / _--=> preempt-depth
    ||| / delay
    TASK-PID CPU TGID |||| TIMESTAMP FUNCTION
    | | | | |||| | |
    bash-1091 [000] ( 1091) d..2 28.313544: sched_switch:

    However Android's trace visualization tools expect a slightly different
    format due to an out-of-tree patch patch that was been carried for a
    decade, notice that the TGID and CPU fields are reversed:

    _-----=> irqs-off
    / _----=> need-resched
    | / _---=> hardirq/softirq
    || / _--=> preempt-depth
    ||| / delay
    TASK-PID TGID CPU |||| TIMESTAMP FUNCTION
    | | | | |||| | |
    bash-1091 ( 1091) [002] d..2 64.965177: sched_switch:

    From kernel v4.13 onwards, during which TGID was introduced, tracing
    with systrace on all Android kernels will break (most Android kernels
    have been on 4.9 with Android patches, so this issues hasn't been seen
    yet). From v4.13 onwards things will break.

    The chrome browser's tracing tools also embed the systrace viewer which
    uses the legacy TGID format and updates to that are known to be
    difficult to make.

    Considering this, I suggest we make this change to the upstream kernel
    and backport it to all Android kernels. I believe this feature is merged
    recently enough into the upstream kernel that it shouldn't be a problem.
    Also logically, IMO it makes more sense to group the TGID with the
    TASK-PID and the CPU after these.

    Link: http://lkml.kernel.org/r/20180626000822.113931-1-joel@joelfernandes.org

    Cc: jreck@google.com
    Cc: tkjos@google.com
    Cc: stable@vger.kernel.org
    Fixes: 441dae8f2f29 ("tracing: Add support for display of tgid in trace output")
    Signed-off-by: Joel Fernandes (Google)
    Signed-off-by: Steven Rostedt (VMware)

    Joel Fernandes (Google)
     
  • I2C clients may misunderstand recovery pulses if they can't read SDA to
    bail out early. In the worst case, as a write operation. To avoid that
    and if we can write SDA, try to send STOP to avoid the
    misinterpretation.

    Signed-off-by: Wolfram Sang
    Reviewed-by: Peter Rosin
    Signed-off-by: Wolfram Sang
    Cc: stable@kernel.org

    Wolfram Sang
     
  • Pull MTD fix from Boris Brezillon:
    "A SPI NOR fix to fix a timeout in the cadence QSPI controller driver"

    * tag 'mtd/fixes-for-4.18-rc5' of git://git.infradead.org/linux-mtd:
    mtd: spi-nor: cadence-quadspi: Fix direct mode write timeouts

    Linus Torvalds