04 Feb, 2016

4 commits

  • Recently added commit 564b026fbd0d ("string_helpers: fix precision loss
    for some inputs") fixed precision issues for string_get_size() and broke
    tests.

    Fix and improve them: test both STRING_UNITS_2 and STRING_UNITS_10 at a
    time, better failure reporting, test small an huge values.

    Fixes: 564b026fbd0d28e9 ("string_helpers: fix precision loss for some inputs")
    Signed-off-by: Vitaly Kuznetsov
    Cc: Andy Shevchenko
    Cc: Rasmus Villemoes
    Cc: James Bottomley
    Cc: James Bottomley
    Cc: "James E.J. Bottomley"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vitaly Kuznetsov
     
  • If we have a lot of pages in queue to be split, deferred_split_scan()
    can spend unreasonable amount of time under spinlock with disabled
    interrupts.

    Let's cap number of pages to split on scan by sc->nr_to_scan.

    Signed-off-by: Kirill A. Shutemov
    Reported-by: Andrea Arcangeli
    Reviewed-by: Andrea Arcangeli
    Cc: Hugh Dickins
    Cc: Dave Hansen
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Vlastimil Babka
    Cc: "Aneesh Kumar K.V"
    Cc: Johannes Weiner
    Cc: Michal Hocko
    Cc: Jerome Marchand
    Cc: Sasha Levin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • I've got meaning of shrinker::count_objects() wrong: it should return
    number of potentially freeable objects, which is not necessary correlate
    with freeable memory.

    Returning 256 per THP in queue is not reasonable:
    shrinker::scan_objects() never called with nr_to_scan > 128 in my setup.

    Let's return 1 per THP and correct scan_object accordingly.

    Signed-off-by: Kirill A. Shutemov
    Reviewed-by: Andrea Arcangeli
    Cc: Hugh Dickins
    Cc: Dave Hansen
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Vlastimil Babka
    Cc: "Aneesh Kumar K.V"
    Cc: Johannes Weiner
    Cc: Michal Hocko
    Cc: Jerome Marchand
    Cc: Sasha Levin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Andrea Arcangeli suggested to make split queue per-node to improve
    scalability. Let's do it.

    Signed-off-by: Kirill A. Shutemov
    Suggested-by: Andrea Arcangeli
    Reviewed-by: Andrea Arcangeli
    Cc: Hugh Dickins
    Cc: Dave Hansen
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Vlastimil Babka
    Cc: "Aneesh Kumar K.V"
    Cc: Johannes Weiner
    Cc: Michal Hocko
    Cc: Jerome Marchand
    Cc: Sasha Levin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     

02 Feb, 2016

3 commits

  • Pull networking fixes from David Miller:
    "This looks like a lot but it's a mixture of regression fixes as well
    as fixes for longer standing issues.

    1) Fix on-channel cancellation in mac80211, from Johannes Berg.

    2) Handle CHECKSUM_COMPLETE properly in xt_TCPMSS netfilter xtables
    module, from Eric Dumazet.

    3) Avoid infinite loop in UDP SO_REUSEPORT logic, also from Eric
    Dumazet.

    4) Avoid a NULL deref if we try to set SO_REUSEPORT after a socket is
    bound, from Craig Gallek.

    5) GRO key comparisons don't take lightweight tunnels into account,
    from Jesse Gross.

    6) Fix struct pid leak via SCM credentials in AF_UNIX, from Eric
    Dumazet.

    7) We need to set the rtnl_link_ops of ipv6 SIT tunnels before we
    register them, otherwise the NEWLINK netlink message is missing
    the proper attributes. From Thadeu Lima de Souza Cascardo.

    8) Several Spectrum chip bug fixes for mlxsw switch driver, from Ido
    Schimmel

    9) Handle fragments properly in ipv4 easly socket demux, from Eric
    Dumazet.

    10) Don't ignore the ifindex key specifier on ipv6 output route
    lookups, from Paolo Abeni"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (128 commits)
    tcp: avoid cwnd undo after receiving ECN
    irda: fix a potential use-after-free in ircomm_param_request
    net: tg3: avoid uninitialized variable warning
    net: nb8800: avoid uninitialized variable warning
    net: vxge: avoid unused function warnings
    net: bgmac: clarify CONFIG_BCMA dependency
    net: hp100: remove unnecessary #ifdefs
    net: davinci_cpdma: use dma_addr_t for DMA address
    ipv6/udp: use sticky pktinfo egress ifindex on connect()
    ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail()
    netlink: not trim skb for mmaped socket when dump
    vxlan: fix a out of bounds access in __vxlan_find_mac
    net: dsa: mv88e6xxx: fix port VLAN maps
    fib_trie: Fix shift by 32 in fib_table_lookup
    net: moxart: use correct accessors for DMA memory
    ipv4: ipconfig: avoid unused ic_proto_used symbol
    bnxt_en: Fix crash in bnxt_free_tx_skbs() during tx timeout.
    bnxt_en: Exclude rx_drop_pkts hw counter from the stack's rx_dropped counter.
    bnxt_en: Ring free response from close path should use completion ring
    net_sched: drr: check for NULL pointer in drr_dequeue
    ...

    Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:
    "This fixes the following issues:

    API:
    - algif_hash needs to wait for init operations to complete.
    - The has_key setting for shash was always true.

    Algorithms:
    - Add missing selections of CRYPTO_HASH.
    - Fix pkcs7 authentication.

    Drivers:
    - Fix stack alignment bug in chacha20-ssse3.
    - Fix performance regression in caam due to incorrect setting.
    - Fix potential compile-only build failure of stm32"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: atmel-aes - remove calls of clk_prepare() from atomic contexts
    crypto: algif_hash - wait for crypto_ahash_init() to complete
    crypto: shash - Fix has_key setting
    hwrng: stm32 - Fix dependencies for !HAS_IOMEM archs
    crypto: ghash,poly1305 - select CRYPTO_HASH where needed
    crypto: chacha20-ssse3 - Align stack pointer to 64 bytes
    PKCS#7: Don't require SpcSpOpusInfo in Authenticode pkcs7 signatures
    crypto: caam - make write transactions bufferable on PPC platforms

    Linus Torvalds
     
  • Pull libnvdimm fixes from Dan Williams:
    "1/ Fixes to the libnvdimm 'pfn' device that establishes a reserved
    area for storing a struct page array.

    2/ Fixes for dax operations on a raw block device to prevent pagecache
    collisions with dax mappings.

    3/ A fix for pfn_t usage in vm_insert_mixed that lead to a null
    pointer de-reference.

    These have received build success notification from the kbuild robot
    across 153 configs and pass the latest ndctl tests"

    * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    phys_to_pfn_t: use phys_addr_t
    mm: fix pfn_t to page conversion in vm_insert_mixed
    block: use DAX for partition table reads
    block: revert runtime dax control of the raw block device
    fs, block: force direct-I/O for dax-enabled block devices
    devm_memremap_pages: fix vmem_altmap lifetime + alignment handling
    libnvdimm, pfn: fix restoring memmap location
    libnvdimm: fix mode determination for e820 devices

    Linus Torvalds
     

01 Feb, 2016

17 commits

  • Linus Torvalds
     
  • Pull USB driver fixes from Greg KH:
    "Here are some small USB fixes and new device ids for 4.5-rc2. Nothing
    major here, full details are in the shortlog, and all of these have
    been in linux-next successfully"

    * tag 'usb-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: option: fix Cinterion AHxx enumeration
    USB: mxu11x0: fix memory leak on usb_serial private data
    USB: serial: ftdi_sio: add support for Yaesu SCU-18 cable
    USB: serial: option: Adding support for Telit LE922
    USB: serial: visor: fix crash on detecting device without write_urbs
    USB: visor: fix null-deref at probe
    USB: cp210x: add ID for IAI USB to RS485 adaptor
    usb: hub: do not clear BOS field during reset device
    cdc-acm:exclude Samsung phone 04e8:685d
    usb: cdc-acm: send zero packet for intel 7260 modem
    usb: cdc-acm: handle unlinked urb in acm read callback

    Linus Torvalds
     
  • Pull tty/serial fixes from Greg KH:
    "Here are some small tty/serial driver fixes for 4.5-rc2.

    They resolve a number of reported problems (the ioctl one specifically
    has been pointed out by numerous people) and one patch adds some new
    device ids for the 8250_pci driver. All have been in linux-next
    successfully"

    * tag 'tty-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    serial: 8250_pci: Add Intel Broadwell ports
    staging/speakup: Use tty_ldisc_ref() for paste kworker
    n_tty: Fix unsafe reference to "other" ldisc
    tty: Fix unsafe ldisc reference via ioctl(TIOCGETD)
    tty: Retry failed reopen if tty teardown in-progress
    tty: Wait interruptibly for tty lock on reopen

    Linus Torvalds
     
  • Pull staging fixes from Greg KH:
    "Here are some small staging driver fixes for 4.5-rc2.

    One of them predated 4.4-final, but I missed that merge window due to
    the holliday. The others fix reported issues that have come up
    recently. The tty change is needed for the speakup driver fix and has
    the ack of the tty driver maintainer as well, i.e. myself :)

    All have been in linux-next with no reported issues"

    * tag 'staging-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    Staging: speakup: fix read scrolled-back VT
    Staging: speakup: Fix getting port information
    Revert "Staging: panel: usleep_range is preferred over udelay"
    iio: adis_buffer: Fix out-of-bounds memory access

    Linus Torvalds
     
  • Pull driver core fix from Greg KH:
    "Here's a single driver core fix that resolves an issue a lot of users
    have been hitting for a while now. It's been tested a lot and has
    been in linux-next successfully for a while"

    * tag 'driver-core-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    base/platform: Fix platform drivers with no probe callback

    Linus Torvalds
     
  • Pull MIPS fix from Ralf Baechle:
    "Just a single revert for a patch which I had upstreamed out of
    sequence"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    Revert "MIPS: bcm63xx: nvram: Remove unused bcm63xx_nvram_get_psi_size() function"

    Linus Torvalds
     
  • Pull x86 fixes from Thomas Gleixner:
    "A bit on the largish side due to a series of fixes for a regression in
    the x86 vector management which was introduced in 4.3. This work was
    started in December already, but it took some time to fix all corner
    cases and a couple of older bugs in that area which were detected
    while at it

    Aside of that a few platform updates for intel-mid, quark and UV and
    two fixes for in the mm code:
    - Use proper types for pgprot values to avoid truncation
    - Prevent a size truncation in the pageattr code when setting page
    attributes for large mappings"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    x86/mm/pat: Avoid truncation when converting cpa->numpages to address
    x86/mm: Fix types used in pgprot cacheability flags translations
    x86/platform/quark: Print boundaries correctly
    x86/platform/UV: Remove EFI memmap quirk for UV2+
    x86/platform/intel-mid: Join string and fix SoC name
    x86/platform/intel-mid: Enable 64-bit build
    x86/irq: Plug vector cleanup race
    x86/irq: Call irq_force_move_complete with irq descriptor
    x86/irq: Remove outgoing CPU from vector cleanup mask
    x86/irq: Remove the cpumask allocation from send_cleanup_vector()
    x86/irq: Clear move_in_progress before sending cleanup IPI
    x86/irq: Remove offline cpus from vector cleanup
    x86/irq: Get rid of code duplication
    x86/irq: Copy vectormask instead of an AND operation
    x86/irq: Check vector allocation early
    x86/irq: Reorganize the search in assign_irq_vector
    x86/irq: Reorganize the return path in assign_irq_vector
    x86/irq: Do not use apic_chip_data.old_domain as temporary buffer
    x86/irq: Validate that irq descriptor is still active
    x86/irq: Fix a race in x86_vector_free_irqs()
    ...

    Linus Torvalds
     
  • Pull timer fixes from Thomas Gleixner:
    "The timer departement delivers:

    - a regression fix for the NTP code along with a proper selftest
    - prevent a spurious timer interrupt in the NOHZ lowres code
    - a fix for user space interfaces returning the remaining time on
    architectures with CONFIG_TIME_LOW_RES=y
    - a few patches to fix COMPILE_TEST fallout"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tick/nohz: Set the correct expiry when switching to nohz/lowres mode
    clocksource: Fix dependencies for archs w/o HAS_IOMEM
    clocksource: Select CLKSRC_MMIO where needed
    tick/sched: Hide unused oneshot timer code
    kselftests: timers: Add adjtimex SETOFFSET validity tests
    ntp: Fix ADJ_SETOFFSET being used w/ ADJ_NANO
    itimers: Handle relative timers with CONFIG_TIME_LOW_RES proper
    posix-timers: Handle relative timers with CONFIG_TIME_LOW_RES proper
    timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper
    hrtimer: Handle remaining time proper for TIME_LOW_RES
    clockevents/tcb_clksrc: Prevent disabling an already disabled clock

    Linus Torvalds
     
  • Pull scheduler fixes from Thomas Gleixner:
    "Three small fixes in the scheduler/core:

    - use after free in the numa code
    - crash in the numa init code
    - a simple spelling fix"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    pid: Fix spelling in comments
    sched/numa: Fix use-after-free bug in the task_numa_compare
    sched: Fix crash in sched_init_numa()

    Linus Torvalds
     
  • Pull perf fixes from Thomas Gleixner:
    "This is much bigger than typical fixes, but Peter found a category of
    races that spurred more fixes and more debugging enhancements. Work
    started before the merge window, but got finished only now.

    Aside of that this contains the usual small fixes to perf and tools.
    Nothing particular exciting"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (43 commits)
    perf: Remove/simplify lockdep annotation
    perf: Synchronously clean up child events
    perf: Untangle 'owner' confusion
    perf: Add flags argument to perf_remove_from_context()
    perf: Clean up sync_child_event()
    perf: Robustify event->owner usage and SMP ordering
    perf: Fix STATE_EXIT usage
    perf: Update locking order
    perf: Remove __free_event()
    perf/bpf: Convert perf_event_array to use struct file
    perf: Fix NULL deref
    perf/x86: De-obfuscate code
    perf/x86: Fix uninitialized value usage
    perf: Fix race in perf_event_exit_task_context()
    perf: Fix orphan hole
    perf stat: Do not clean event's private stats
    perf hists: Fix HISTC_MEM_DCACHELINE width setting
    perf annotate browser: Fix behaviour of Shift-Tab with nothing focussed
    perf tests: Remove wrong semicolon in while loop in CQM test
    perf: Synchronously free aux pages in case of allocation failure
    ...

    Linus Torvalds
     
  • Pull locking fix from Thomas Gleixner:
    "A single commit, which makes the rtmutex.wait_lock an irq safe lock.

    This prevents a potential deadlock which can be triggered by the rcu
    boosting code from rcu_read_unlock()"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    rtmutex: Make wait_lock irq safe

    Linus Torvalds
     
  • Pull IRQ fixes from Ingo Molnar:
    "Mostly irqchip driver fixes, but also an irq core crash fix and a
    build fix"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/mxs: Add missing set_handle_irq()
    irqchip/atmel-aic: Fix wrong bit operation for IRQ priority
    irqchip/gic-v3-its: Recompute the number of pages on page size change
    base: Export platform_msi_domain_[alloc,free]_irqs
    of: MSI: Simplify irqdomain lookup
    irqdomain: Allow domain lookup with DOMAIN_BUS_WIRED token
    irqchip: Fix dependencies for archs w/o HAS_IOMEM
    irqchip/s3c24xx: Mark init_eint as __maybe_unused
    genirq: Validate action before dereferencing it in handle_irq_event_percpu()

    Linus Torvalds
     
  • Pull debugobjects fix from Ingo Molnar:
    "Bump up debugobjects pool limit that bigger s390 systems kept running
    into"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    debugobjects: Allow bigger number of early boot objects

    Linus Torvalds
     
  • Pull VFIO fix from Alex Williamson:
    "Use alternate group tracking for no-iommu"

    * tag 'vfio-v4.5-rc2' of git://github.com/awilliam/linux-vfio:
    vfio/noiommu: Don't use iommu_present() to track fake groups

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "Here are two I2C driver regression fixes. piix4 gets a larger
    overhaul fixing the latest refactoring and also an older known issue
    as well. designware-pci gets a fix for a bad merge conflict
    resolution"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: piix4: don't regress on bus names
    i2c: designware-pci: use IRQF_COND_SUSPEND flag
    i2c: piix4: Fully initialize SB800 before it is registered
    i2c: piix4: Fix SB800 locking

    Linus Torvalds
     
  • A dma_addr_t is potentially smaller than a phys_addr_t on some archs.
    Don't truncate the address when doing the pfn conversion.

    Cc: Ross Zwisler
    Reported-by: Matthew Wilcox
    [willy: fix pfn_t_to_phys as well]
    Signed-off-by: Dan Williams

    Dan Williams
     
  • pfn_t_to_page() honors the flags in the pfn_t value to determine if a
    pfn is backed by a page. However, vm_insert_mixed() was originally
    written to use pfn_valid() to make this determination. To restore the
    old/correct behavior, ignore the pfn_t flags in the !pfn_t_devmap() case
    and fallback to trusting pfn_valid().

    Fixes: 01c8f1c44b83 ("mm, dax, gpu: convert vm_insert_mixed to pfn_t")
    Cc: Dave Hansen
    Cc: David Airlie
    Reported-by: Tomi Valkeinen
    Tested-by: Tomi Valkeinen
    Signed-off-by: Dan Williams

    Dan Williams
     

31 Jan, 2016

4 commits

  • Johan Hedberg says:

    ====================
    pull request: bluetooth 2016-01-30

    Here's a set of important Bluetooth fixes for the 4.5 kernel:

    - Two fixes to 6LoWPAN code (one fixing a potential crash)
    - Fix LE pairing with devices using both public and random addresses
    - Fix allocation of dynamic LE PSM values
    - Fix missing COMPATIBLE_IOCTL for UART line discipline

    Please let me know if there are any issues pulling. Thanks.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Avoid populating pagecache when the block device is in DAX mode.
    Otherwise these page cache entries collide with the fsync/msync
    implementation and break data durability guarantees.

    Cc: Jan Kara
    Cc: Jeff Moyer
    Cc: Christoph Hellwig
    Cc: Dave Chinner
    Cc: Andrew Morton
    Reported-by: Ross Zwisler
    Tested-by: Ross Zwisler
    Reviewed-by: Matthew Wilcox
    Signed-off-by: Dan Williams

    Dan Williams
     
  • Dynamically enabling DAX requires that the page cache first be flushed
    and invalidated. This must occur atomically with the change of DAX mode
    otherwise we confuse the fsync/msync tracking and violate data
    durability guarantees. Eliminate the possibilty of DAX-disabled to
    DAX-enabled transitions for now and revisit this for the next cycle.

    Cc: Jan Kara
    Cc: Jeff Moyer
    Cc: Christoph Hellwig
    Cc: Dave Chinner
    Cc: Matthew Wilcox
    Cc: Andrew Morton
    Cc: Ross Zwisler
    Signed-off-by: Dan Williams

    Dan Williams
     
  • Similar to the file I/O path, re-direct all I/O to the DAX path for I/O
    to a block-device special file. Both regular files and device special
    files can use the common filp->f_mapping->host lookup to determing is
    DAX is enabled.

    Otherwise, we confuse the DAX code that does not expect to find live
    data in the page cache:

    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 7676 at mm/filemap.c:217
    __delete_from_page_cache+0x9f6/0xb60()
    Modules linked in:
    CPU: 0 PID: 7676 Comm: a.out Not tainted 4.4.0+ #276
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
    00000000ffffffff ffff88006d3f7738 ffffffff82999e2d 0000000000000000
    ffff8800620a0000 ffffffff86473d20 ffff88006d3f7778 ffffffff81352089
    ffffffff81658d36 ffffffff86473d20 00000000000000d9 ffffea0000009d60
    Call Trace:
    [< inline >] __dump_stack lib/dump_stack.c:15
    [] dump_stack+0x6f/0xa2 lib/dump_stack.c:50
    [] warn_slowpath_common+0xd9/0x140 kernel/panic.c:482
    [] warn_slowpath_null+0x29/0x30 kernel/panic.c:515
    [] __delete_from_page_cache+0x9f6/0xb60 mm/filemap.c:217
    [] delete_from_page_cache+0x112/0x200 mm/filemap.c:244
    [] __dax_fault+0x859/0x1800 fs/dax.c:487
    [] blkdev_dax_fault+0x26/0x30 fs/block_dev.c:1730
    [< inline >] wp_pfn_shared mm/memory.c:2208
    [] do_wp_page+0xc85/0x14f0 mm/memory.c:2307
    [< inline >] handle_pte_fault mm/memory.c:3323
    [< inline >] __handle_mm_fault mm/memory.c:3417
    [] handle_mm_fault+0x2483/0x4640 mm/memory.c:3446
    [] __do_page_fault+0x376/0x960 arch/x86/mm/fault.c:1238
    [] trace_do_page_fault+0xe8/0x420 arch/x86/mm/fault.c:1331
    [] do_async_page_fault+0x14/0xd0 arch/x86/kernel/kvm.c:264
    [] async_page_fault+0x28/0x30 arch/x86/entry/entry_64.S:986
    [] entry_SYSCALL_64_fastpath+0x16/0x7a
    arch/x86/entry/entry_64.S:185
    ---[ end trace dae21e0f85f1f98c ]---

    Fixes: 5a023cdba50c ("block: enable dax for raw block devices")
    Reported-by: Dmitry Vyukov
    Reported-by: Kirill A. Shutemov
    Suggested-by: Jan Kara
    Reviewed-by: Jan Kara
    Suggested-by: Matthew Wilcox
    Tested-by: Ross Zwisler
    Signed-off-by: Dan Williams

    Dan Williams
     

30 Jan, 2016

12 commits

  • clk_prepare()/clk_unprepare() must not be called within atomic context.

    This patch calls clk_prepare() once for all from atmel_aes_probe() and
    clk_unprepare() from atmel_aes_remove().

    Then calls of clk_prepare_enable()/clk_disable_unprepare() were replaced
    by calls of clk_enable()/clk_disable().

    Cc: stable@vger.kernel.org
    Signed-off-by: Cyrille Pitchen
    Reported-by: Matthias Mayr
    Signed-off-by: Herbert Xu

    Cyrille Pitchen
     
  • hash_sendmsg/sendpage() need to wait for the completion
    of crypto_ahash_init() otherwise it can cause panic.

    Cc: stable@vger.kernel.org
    Signed-off-by: Rui Wang
    Signed-off-by: Herbert Xu

    Wang, Rui Y
     
  • Accidentally discovered this typo when I studied this module.

    Signed-off-by: Zhen Lei
    Cc: Hanjun Guo
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Tianhong Ding
    Cc: Xinwei Hu
    Cc: Zefan Li
    Link: http://lkml.kernel.org/r/1454119457-11272-1-git-send-email-thunder.leizhen@huawei.com
    Signed-off-by: Ingo Molnar

    Zhen Lei
     
  • …it/acme/linux into perf/urgent

    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

    - Fix 'perf stat' stddev reporting due to mistakenly cleaning event
    private stats (Jiri Olsa)

    - Fix 'perf test CQM' endless loop detected by 'gcc6 -Wmisleading-indentation'
    (Markus Trippelsdorf)

    - Fix behaviour of Shift-Tab when nothing is focussed in the annotate TUI browser,
    detected with gcc6 -Wmisleading-indentation (Markus Trippelsdorf)

    - Fix mem data cacheline hists browser width setting for unresolved
    addresses (Jiri Olsa)

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • RFC 4015 section 3.4 says the TCP sender MUST refrain from
    reversing the congestion control state when the ACK signals
    congestion through the ECN-Echo flag. Currently we may not
    always do that when prior_ssthresh is reset upon receiving
    ACKs with ECE marks. This patch fixes that.

    Signed-off-by: Yuchung Cheng
    Signed-off-by: Neal Cardwell
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Yuchung Cheng
     
  • self->ctrl_skb is protected by self->spinlock, we should not
    access it out of the lock. Move the debugging printk inside.

    Reported-by: Dmitry Vyukov
    Cc: Samuel Ortiz
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    WANG Cong
     
  • to_vmem_altmap() needs to return valid results until
    arch_remove_memory() completes. It also needs to be valid for any pfn
    in a section regardless of whether that pfn maps to data. This escape
    was a result of a bug in the unit test.

    The signature of this bug is that free_pagetable() fails to retrieve a
    vmem_altmap and goes off into the weeds:

    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [] get_pfnblock_flags_mask+0x49/0x60
    [..]
    Call Trace:
    [] free_hot_cold_page+0x97/0x1d0
    [] __free_pages+0x2a/0x40
    [] free_pagetable+0x8c/0xd4
    [] remove_pagetable+0x37a/0x808
    [] vmemmap_free+0x10/0x20

    Fixes: 4b94ffdc4163 ("x86, mm: introduce vmem_altmap to augment vmemmap_populate()")
    Cc: Andrew Morton
    Reported-by: Jeff Moyer
    Signed-off-by: Dan Williams

    Dan Williams
     
  • Arnd Bergmann says:

    ====================
    network driver fixes

    This is an updated series of fixes for the network device drivers
    that showed warnings in ARM randconfig.

    Changes since v1 are:

    dropped "net: macb: avoid uninitialized variables", already fixed in net-next

    dropped "net: fddi/defxx: avoid warning about uninitialized variable
    use", already fixed in net-next

    added missing barriers in "net: moxart: use correct accessors for
    DMA memory"

    clarified "net: bgmac: clarify CONFIG_BCMA dependency" changelog
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The tg3_set_eeprom() function correctly initializes the 'start' variable,
    but gcc generates a false warning:

    drivers/net/ethernet/broadcom/tg3.c: In function 'tg3_set_eeprom':
    drivers/net/ethernet/broadcom/tg3.c:12057:4: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]

    I have not come up with a way to restructure the code in a way that
    avoids the warning without making it less readable, so this adds an
    initialization for the declaration to shut up that warning.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • The nb8800_poll() function initializes the 'next' variable in the
    loop looking for new input data. We know this will be called at
    least once because 'budget' is a guaranteed to be a positive number
    when we enter the function, but the compiler doesn't know that
    and warns when the variable is used later:

    drivers/net/ethernet/aurora/nb8800.c: In function 'nb8800_poll':
    drivers/net/ethernet/aurora/nb8800.c:350:21: warning: 'next' may be used uninitialized in this function [-Wmaybe-uninitialized]

    Changing the 'while() {}' loop to 'do {} while()' makes it obvious
    to the compiler what is going on so it no longer warns.

    Signed-off-by: Arnd Bergmann
    Acked-by: Mans Rullgard
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • When CONFIG_PCI_MSI is disabled, we get warnings about unused functions
    in the vxge driver:

    drivers/net/ethernet/neterion/vxge/vxge-main.c:2121:13: warning: 'adaptive_coalesce_tx_interrupts' defined but not used [-Wunused-function]
    drivers/net/ethernet/neterion/vxge/vxge-main.c:2149:13: warning: 'adaptive_coalesce_rx_interrupts' defined but not used [-Wunused-function]

    We could add another #ifdef here, but it's nicer to avoid those warnings
    for good by converting the existing #ifdef to if(IS_ENABLED()), which has
    the same effect but provides better compile-time coverage in general,
    and lets the compiler understand better when the function is intentionally
    unused.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • The bgmac driver depends on BCMA_HOST_SOC, which is only used
    when CONFIG_BCMA is enabled. However, it is a bool option and can
    be set when CONFIG_BCMA=m, and then bgmac can be built-in, leading
    to an obvious link error:

    drivers/built-in.o: In function `bgmac_init':
    :(.init.text+0x7f2c): undefined reference to `__bcma_driver_register'
    drivers/built-in.o: In function `bgmac_exit':
    :(.exit.text+0x110a): undefined reference to `bcma_driver_unregister'

    To avoid this case, we need to depend on both BCMA and BCMA_SOC,
    as this patch does. I'm also trying to make the dependency more
    readable by splitting it into three lines, and adding a COMPILE_TEST
    alternative so we can test-build it in all configurations that
    support BCMA.

    The added dependency on FIXED_PHY addresses a related issue where
    we cannot call fixed_phy_register() when CONFIG_FIXED_PHY=m and
    CONFIG_BGMAC=y.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Arnd Bergmann