25 Mar, 2016

26 commits

  • Pull MTD updates from Brian Norris:
    "NAND:
    - Add sunxi_nand randomizer support
    - begin refactoring NAND ecclayout structs
    - fix pxa3xx_nand dmaengine usage
    - brcmnand: fix support for v7.1 controller
    - add Qualcomm NAND controller driver

    SPI NOR:
    - add new ls1021a, ls2080a support to Freescale QuadSPI
    - add new flash ID entries
    - support bottom-block protection for Winbond flash
    - support Status Register Write Protect
    - remove broken QPI support for Micron SPI flash

    JFFS2:
    - improve post-mount CRC scan efficiency

    General:
    - refactor bcm63xxpart parser, to later extend for NAND
    - add writebuf size parameter to mtdram

    Other minor code quality improvements"

    * tag 'for-linus-20160324' of git://git.infradead.org/linux-mtd: (72 commits)
    mtd: nand: remove kerneldoc for removed function parameter
    mtd: nand: Qualcomm NAND controller driver
    dt/bindings: qcom_nandc: Add DT bindings
    mtd: nand: don't select chip in nand_chip's block_bad op
    mtd: spi-nor: support lock/unlock for a few Winbond chips
    mtd: spi-nor: add TB (Top/Bottom) protect support
    mtd: spi-nor: add SPI_NOR_HAS_LOCK flag
    mtd: spi-nor: use BIT() for flash_info flags
    mtd: spi-nor: disallow further writes to SR if WP# is low
    mtd: spi-nor: make lock/unlock bounds checks more obvious and robust
    mtd: spi-nor: silently drop lock/unlock for already locked/unlocked region
    mtd: spi-nor: wait for SR_WIP to clear on initial unlock
    mtd: nand: simplify nand_bch_init() usage
    mtd: mtdswap: remove useless if (!mtd->ecclayout) test
    mtd: create an mtd_oobavail() helper and make use of it
    mtd: kill the ecclayout->oobavail field
    mtd: nand: check status before reporting timeout
    mtd: bcm63xxpart: give width specifier an 'int', not 'size_t'
    mtd: mtdram: Add parameter for setting writebuf size
    mtd: nand: pxa3xx_nand: kill unused field 'drcmr_cmd'
    ...

    Linus Torvalds
     
  • Pull UBI/UBIFS updates from Richard Weinberger:
    "This contains cleanups and a maintainer update for UBI and UBIFS"

    * tag 'upstream-4.6-rc1' of git://git.infradead.org/linux-ubifs:
    ubifs: Remove unused header
    MAINTAINERS: Update UBIFS entry
    mtd: ubi: Add logging functions ubi_msg, ubi_warn and ubi_err
    ubifs: Add logging functions for ubifs_msg, ubifs_err and ubifs_warn

    Linus Torvalds
     
  • Pull more nfsd updates from Bruce Fields:
    "Apologies for the previous request, which omitted the top 8 commits
    from my for-next branch (including the SCSI layout commits). Thanks
    to Trond for spotting my error!"

    This actually includes the new layout types, so here's that part of
    the pull message repeated:

    "Support for a new pnfs layout type from Christoph Hellwig. The new
    layout type is a variant of the block layout which uses SCSI features
    to offer improved fencing and device identification.

    Note this pull request also includes the client side of SCSI layout,
    with Trond's permission"

    * tag 'nfsd-4.6-1' of git://linux-nfs.org/~bfields/linux:
    nfsd: use short read as well as i_size to set eof
    nfsd: better layoutupdate bounds-checking
    nfsd: block and scsi layout drivers need to depend on CONFIG_BLOCK
    nfsd: add SCSI layout support
    nfsd: move some blocklayout code
    nfsd: add a new config option for the block layout driver
    nfs/blocklayout: add SCSI layout support
    nfs4.h: add SCSI layout definitions

    Linus Torvalds
     
  • Pull kbuild misc updates from Michal Marek:
    "The non-critical part of kbuild for v4.6-rc1:

    - coccinelle cleanup and a new patch
    - make tags rule for kprobe helpers
    - make rpm fix to avoid spurious grub2 entries
    - make rpm support for %postun script (Fedora only at the moment)"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild/mkspec: clean boot loader configuration on rpm removal
    kbuild/mkspec: fix grub2 installkernel issue
    Coccinelle: Add api/setup_timer.cocci
    coccinelle: bugon: reduce rule applicability
    Coccinelle: pm_runtime: reduce rule applicability
    Coccinelle: array_size: reduce rule applicability
    Coccinelle: reduce rule applicability
    scripts/tags.sh: add regex to map kprobe helpers
    scripts/coccinelle: modernize &

    Linus Torvalds
     
  • Pull kconfig updates from Michal Marek:
    "Just two kconfig commits this time:

    - kconfig Makefile fix for make 3.80

    - Fix calculating symbols so that KCONFIG_ALLCONFIG=... does not
    disable CONFIG_MODULES silently"

    * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    unbreak allmodconfig KCONFIG_ALLCONFIG=...
    scripts/kconfig: allow building with make 3.80 again

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:

    - make dtbs_install fix

    - Error handling fix fixdep and link-vmlinux.sh

    - __UNIQUE_ID fix for clang

    - Fix for if_changed_* to suppress the "is up to date." message

    - The kernel is built with -Werror=incompatible-pointer-types

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Add option to turn incompatible pointer check into error
    kbuild: suppress annoying "... is up to date." message
    kbuild: fixdep: Check fstat(2) return value
    scripts/link-vmlinux.sh: force error on kallsyms failure
    Kbuild: provide a __UNIQUE_ID for clang
    dtbsinstall: don't move target directory out of the way

    Linus Torvalds
     
  • Pull parisc updates from Helge Deller:
    "This patchset adds stack usage debug info for parisc and metag (on
    both the stack grows upwards), switches to the new generic realative
    extable search and sort routines, drops the long time ago removed
    syscalls alloc_hugepages and free_hugepages and wires up the new
    preadv2 and pwritev2 syscalls"

    * 'parisc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Wire up preadv2 and pwritev2 syscalls
    parisc: Use generic extable search and sort routines
    parisc: Panic immediately when panic_on_oops
    parisc,metag: Implement CONFIG_DEBUG_STACK_USAGE option
    parisc: Drop alloc_hugepages and free_hugepages syscalls

    Linus Torvalds
     
  • Pull second set of arm64 updates from Catalin Marinas:

    - KASLR bug fixes: use callee-saved register, boot-time I-cache
    maintenance

    - inv_entry asm macro fix (EL0 check typo)

    - pr_notice("Virtual kernel memory layout...") splitting

    - Clean-ups: use p?d_set_huge consistently, allow preemption around
    copy_to_user_page, remove unused __local_flush_icache_all()

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: mm: allow preemption in copy_to_user_page
    arm64: consistently use p?d_set_huge
    arm64: kaslr: use callee saved register to preserve SCTLR across C call
    arm64: Split pr_notice("Virtual kernel memory layout...") into multiple pr_cont()
    arm64: drop unused __local_flush_icache_all()
    arm64: fix KASLR boot-time I-cache maintenance
    arm64/kernel: fix incorrect EL0 check in inv_entry macro

    Linus Torvalds
     
  • Pull more ARM DT changes from Arnd Bergmann:
    "Here are some final updates for ARM SoC specific dts files:

    - The i.MX changes were sent relatively late, and had a dependency on
    the clk tree, so I delayed that a bit. Support for the new i.MX6qp
    SoC and a couple of new boards is added in this branch.

    - Uniphier renames a few files to match the final product names that
    were decided by the company, kudos to the kernel developer(s) for
    getting support upstream before the product release. Also two
    boards are added. The patches were posted early enough and nice
    overall, but we forgot to apply them and decided to give it some
    more time in linux-next

    - at91 has two small bug fixes"

    * tag 'armsoc-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
    ARM: dts: at91: sama5d4 Xplained: don't disable hsmci regulator
    ARM: dts: at91: sama5d3 Xplained: don't disable hsmci regulator
    ARM: dts: uniphier: add pinmux node for I2C ch4
    ARM: dts: uniphier: add @{address} to EEPROM node
    ARM: dts: uniphier: add PH1-Pro4 Sanji board support
    ARM: dts: uniphier: add PH1-Pro4 Ace board support
    ARM: dts: uniphier: enable I2C channel 2 of ProXstream2 Gentil board
    ARM: dts: uniphier: add EEPROM node for ProXstream2 Gentil board
    ARM: dts: uniphier: add reference clock nodes
    ARM: dts: uniphier: rework UniPhier System Bus nodes
    ARM: dts: uniphier: factor out ranges property of support card
    arm64: dts: uniphier: rename PH1-LD10 to PH1-LD20
    ARM: dts: imx53-qsb: Fix gpio button polarity
    ARM: dts: vfxxx: Add DAC node for Vybrid SoC
    ARM: dts: imx6q: add missing links between ipu2 and mipi dsi
    ARM: dts: imx: Add support for Advantech/GE B850v3
    ARM: dts: imx: Add support for Advantech/GE B650v3
    ARM: dts: imx: Add support for Advantech/GE B450v3
    ARM: dts: imx: Add support for Advantech/GE Bx50v3
    ARM: dts: imx: Add Advantech BA-16 Qseven module
    ...

    Linus Torvalds
     
  • Pull h8300 updates from Yoshinori Sato:
    "Various h8300 fixes"

    * tag 'for-4.6' of git://git.osdn.jp/gitroot/uclinux-h8/linux:
    h8300: switch EARLYCON
    h8300: dts: Rename the serial port clock to fck

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "Nothing major this round. Mostly small clean ups and fixes.

    Some visible changes:

    - A new flag was added to distinguish traces done in NMI context.

    - Preempt tracer now shows functions where preemption is disabled but
    interrupts are still enabled.

    Other notes:

    - Updates were done to function tracing to allow better performance
    with perf.

    - Infrastructure code has been added to allow for a new histogram
    feature for recording live trace event histograms that can be
    configured by simple user commands. The feature itself was just
    finished, but needs a round in linux-next before being pulled.

    This only includes some infrastructure changes that will be needed"

    * tag 'trace-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (22 commits)
    tracing: Record and show NMI state
    tracing: Fix trace_printk() to print when not using bprintk()
    tracing: Remove redundant reset per-CPU buff in irqsoff tracer
    x86: ftrace: Fix the misleading comment for arch/x86/kernel/ftrace.c
    tracing: Fix crash from reading trace_pipe with sendfile
    tracing: Have preempt(irqs)off trace preempt disabled functions
    tracing: Fix return while holding a lock in register_tracer()
    ftrace: Use kasprintf() in ftrace_profile_tracefs()
    ftrace: Update dynamic ftrace calls only if necessary
    ftrace: Make ftrace_hash_rec_enable return update bool
    tracing: Fix typoes in code comment and printk in trace_nop.c
    tracing, writeback: Replace cgroup path to cgroup ino
    tracing: Use flags instead of bool in trigger structure
    tracing: Add an unreg_all() callback to trigger commands
    tracing: Add needs_rec flag to event triggers
    tracing: Add a per-event-trigger 'paused' field
    tracing: Add get_syscall_name()
    tracing: Add event record param to trigger_ops.func()
    tracing: Make event trigger functions available
    tracing: Make ftrace_event_field checking functions available
    ...

    Linus Torvalds
     
  • Pull thermal updates from Zhang Rui:

    - Fix a regression where bogus trip points on some Lenovo laptops start
    to screw up thermal control after commit 81ad4276b505 ("Thermal:
    initialize thermal zone device correctly").

    On these Lenovo laptops, a bogus passive trip point is reported,
    which is 0 degree Celsius. Without commit 81ad4276b505, thermal zone
    fails to set cooling devices to proper cooling state, which is a bug.
    But with commit 81ad4276b505 applied, the processors are always
    throttled on these Lenovo laptops because the current temperature is
    always higher than the passive trip point.

    Fix things to ignore such bogus trip points. (Zhang Rui)

    - Introduce Mediatek thermal driver. (Sascha Hauer)

    - Introduce devm_ versions of OF thermal sensor register API. (Laxman
    Dewangan)

    - Changes in Kconfigs to allow compile test on UM arch. (Krzysztof
    Kozlowski)

    - Introduce Skylake support in intel_pch_thermal driver. (Srinivas
    Pandruvada)

    - Several small fixes on Rockchip, TI-SoC, Tegra, RCar, and Exynos
    thermal drivers.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (26 commits)
    Thermal: Ignore invalid trip points
    thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros
    thermal: intel_pch_thermal: Enable Skylake PCH thermal
    thermal: doc: Add details of devm_thermal_zone_of_sensor_{register,unregister}
    thermal: of-thermal: Add devm version of thermal_zone_of_sensor_register
    thermal: doc: Add details of thermal_zone_of_sensor_{register,unregister}
    thermal: exynos: Defer probe if vtmu is present but not registered
    thermal: exynos: Use devm_regulator_get_optional() for vtmu
    thermal: exynos: List vtmu-supply as optional property in DT binding
    thermal: exynos: Print a message about exceeded number of supported trip-points
    thermal: exynos: Document number of supported trip-points
    thermal: exynos: Document compatible for Exynos5433 TMU
    thermal: mtk: allow compile testing on UM
    thermal: tegra_soctherm: fix sign bit of temperature
    thermal: Fix build error of missing devm_ioremap_resource on UM
    thermal: ti-soc-thermal: clean up the error handling a bit
    thermal: rcar: Use ARCH_RENESAS
    thermal: rcar_thermal: don't open code of_device_get_match_data()
    thermal: db8500_cpufreq_cooling: Compile with COMPILE_TEST
    thermal: rockchip: fix the tsadc sequence output on rk3228/rk3399
    ...

    Linus Torvalds
     
  • Pull nfsd updates from Bruce Fields:
    "Various bugfixes, a RDMA update from Chuck Lever, and support for a
    new pnfs layout type from Christoph Hellwig. The new layout type is a
    variant of the block layout which uses SCSI features to offer improved
    fencing and device identification.

    (Also: note this pull request also includes the client side of SCSI
    layout, with Trond's permission.)"

    * tag 'nfsd-4.6' of git://linux-nfs.org/~bfields/linux:
    sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects a race
    nfsd: recover: fix memory leak
    nfsd: fix deadlock secinfo+readdir compound
    nfsd4: resfh unused in nfsd4_secinfo
    svcrdma: Use new CQ API for RPC-over-RDMA server send CQs
    svcrdma: Use new CQ API for RPC-over-RDMA server receive CQs
    svcrdma: Remove close_out exit path
    svcrdma: Hook up the logic to return ERR_CHUNK
    svcrdma: Use correct XID in error replies
    svcrdma: Make RDMA_ERROR messages work
    rpcrdma: Add RPCRDMA_HDRLEN_ERR
    svcrdma: svc_rdma_post_recv() should close connection on error
    svcrdma: Close connection when a send error occurs
    nfsd: Lower NFSv4.1 callback message size limit
    svcrdma: Do not send Write chunk XDR pad with inline content
    svcrdma: Do not write xdr_buf::tail in a Write chunk
    svcrdma: Find client-provided write and reply chunks once per reply
    nfsd: Update NFS server comments related to RDMA support
    nfsd: Fix a memory leak when meeting unsupported state_protect_how4
    nfsd4: fix bad bounds checking

    Linus Torvalds
     
  • Pull staging driver fixes from Greg KH:
    "Here are some fixes that poped up due to the big staging tree merge,
    as well as the removal of a staging driver that now is covered by a
    "real" driver.

    All of these have been in linux-next for a few days with no reported
    issues"

    * tag 'staging-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: delete STE RMI4 hackish driver
    staging: android: ion_test: fix check of platform_device_register_simple() error code
    staging: wilc1000: fix a couple of memory leaks
    staging: fsl-mc: fix incorrect type passed to dev_err macros
    staging: fsl-mc: fix incorrect type passed to dev_dbg macros
    staging: wilc1000: fixed kernel panic when firmware is not started
    staging: comedi: ni_mio_common: fix the ni_write[blw]() functions
    staging: most: hdm-dim2: Remove possible dereference error
    staging: lustre: checking for NULL instead of IS_ERR
    staging: lustre: really make lustre dependent on LNet
    staging: refresh TODO for rtl8712
    staging: refresh TODO for rtl8723au

    Linus Torvalds
     
  • Pull timer fix from Thomas Gleixner:
    "A single fix to the pistachio clocksource driver using the proper
    signedness in the error print format"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    clocksource/drivers/pistachio: Correct output format of PTR_ERR()

    Linus Torvalds
     
  • Pull irq fixes from Thomas Gleixner:
    "A small set of fixes for the usual ARM/SOC irqchip drivers

    - A set of fixes for mbigen to handle multiple devices in a hardware
    module proper

    - A cleanup for the mbigen config option which was pointlessly user
    configurable.

    - A cleanup for tegra replacing open coded functionality by the
    proper core function

    The config cleanup touches arch/arm64/Kconfig.platforms to select the
    irq chip for the related platform"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/mbigen: Make CONFIG_HISILICON_IRQ_MBIGEN a hidden option
    ARM64: Kconfig: Select mbigen interrupt controller on Hisilicon platform
    irqchip/mbigen: Handle multiple device nodes in a mbigen module
    irqchip/mbigen: Adjust DT bindings to handle multiple devices in a module
    irqchip/tegra: Switch to use irq_domain_free_irqs_common

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "This tree contains various perf fixes on the kernel side, plus three
    hw/event-enablement late additions:

    - Intel Memory Bandwidth Monitoring events and handling
    - the AMD Accumulated Power Mechanism reporting facility
    - more IOMMU events

    ... and a final round of perf tooling updates/fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
    perf llvm: Use strerror_r instead of the thread unsafe strerror one
    perf llvm: Use realpath to canonicalize paths
    perf tools: Unexport some methods unused outside strbuf.c
    perf probe: No need to use formatting strbuf method
    perf help: Use asprintf instead of adhoc equivalents
    perf tools: Remove unused perf_pathdup, xstrdup functions
    perf tools: Do not include stringify.h from the kernel sources
    tools include: Copy linux/stringify.h from the kernel
    tools lib traceevent: Remove redundant CPU output
    perf tools: Remove needless 'extern' from function prototypes
    perf tools: Simplify die() mechanism
    perf tools: Remove unused DIE_IF macro
    perf script: Remove lots of unused arguments
    perf thread: Rename perf_event__preprocess_sample_addr to thread__resolve
    perf machine: Rename perf_event__preprocess_sample to machine__resolve
    perf tools: Add cpumode to struct perf_sample
    perf tests: Forward the perf_sample in the dwarf unwind test
    perf tools: Remove misplaced __maybe_unused
    perf list: Fix documentation of :ppp
    perf bench numa: Fix assertion for nodes bitfield
    ...

    Linus Torvalds
     
  • …inux-at91 into next/dt2

    Merge "First fixes batch for AT91 on 4.6 - DT only fixes" from Nicolas Ferre:
    - prevent the boards from having glitches when inserting/removing SD card on
    sama5d3/d4 Xplained. The regulators should be kept on.

    * tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
    ARM: dts: at91: sama5d4 Xplained: don't disable hsmci regulator
    ARM: dts: at91: sama5d3 Xplained: don't disable hsmci regulator
    ARM: dts: at91: sama5d2 Xplained: add leds node
    ARM: dts: at91: sama5d2 Xplained: add user push button
    ARM: dts: at91: sama5d2 Xplained: set pin muxing for usb gadget and usb host
    ARM: dts: at91: sama5d2: add nand0 and nfc0 nodes
    ARM: dts: at91: sama5d2: add dma properties to UART nodes
    ARM: dts: at91: sama5d2 Xplained: Correct the macb irq pinctrl node

    Arnd Bergmann
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes:

    - fix hotplug bugs
    - fix irq live lock
    - fix various topology handling bugs
    - fix APIC ACK ordering
    - fix PV iopl handling
    - fix speling
    - fix/tweak memcpy_mcsafe() return value
    - fix fbcon bug
    - remove stray prototypes"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/msr: Remove unused native_read_tscp()
    x86/apic: Remove declaration of unused hw_nmi_is_cpu_stuck
    x86/oprofile/nmi: Add missing hotplug FROZEN handling
    x86/hpet: Use proper mask to modify hotplug action
    x86/apic/uv: Fix the hotplug notifier
    x86/apb/timer: Use proper mask to modify hotplug action
    x86/topology: Use total_cpus not nr_cpu_ids for logical packages
    x86/topology: Fix Intel HT disable
    x86/topology: Fix logical package mapping
    x86/irq: Cure live lock in fixup_irqs()
    x86/tsc: Prevent NULL pointer deref in calibrate_delay_is_known()
    x86/apic: Fix suspicious RCU usage in smp_trace_call_function_interrupt()
    x86/iopl: Fix iopl capability check on Xen PV
    x86/iopl/64: Properly context-switch IOPL on Xen PV
    selftests/x86: Add an iopl test
    x86/mm, x86/mce: Fix return type/value for memcpy_mcsafe()
    x86/video: Don't assume all FB devices are PCI devices
    arch/x86/irq: Purge useless handler declarations from hw_irq.h
    x86: Fix misspellings in comments

    Linus Torvalds
     
  • earlyprintk is architecture specific option.
    earlycon is generic and small footprint.

    Signed-off-by: Yoshinori Sato

    Yoshinori Sato
     
  • The clock is really the device functional clock, not the interface
    clock. Rename it.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Laurent Pinchart

    Geert Uytterhoeven
     
  • Pull scheduler fixes from Ingo Molnar:
    "Misc fixes: a cgroup fix, a fair-scheduler migration accounting fix, a
    cputime fix and two cpuacct cleanups"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/cpuacct: Simplify the cpuacct code
    sched/cpuacct: Rename parameter in cpuusage_write() for readability
    sched/fair: Add comments to explain select_idle_sibling()
    sched/fair: Fix fairness issue on migration
    sched/cgroup: Fix/cleanup cgroup teardown/init
    sched/cputime: Fix steal time accounting vs. CPU hotplug

    Linus Torvalds
     
  • Pull locking fixes from Ingo Molnar:
    "Documentation updates and a bitops ordering fix"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    bitops: Do not default to __clear_bit() for __clear_bit_unlock()
    documentation: Clarify compiler store-fusion example
    documentation: Transitivity is not cumulativity
    documentation: Add alternative release-acquire outcome
    documentation: Distinguish between local and global transitivity
    documentation: Subsequent writes ordered by rcu_dereference()
    documentation: Remove obsolete reference to RCU-protected indexes
    documentation: Fix memory-barriers.txt section references
    documentation: Fix control dependency and identical stores

    Linus Torvalds
     
  • Currently we disable preemption in copy_to_user_page; a behaviour that
    we inherited from the 32-bit arm code. This was necessary for older
    cores without broadcast data cache maintenance, and ensured that cache
    lines were dirtied and cleaned by the same CPU. On these systems dirty
    cache line migration was not possible, so this was sufficient to
    guarantee coherency.

    On contemporary systems, cache coherence protocols permit (dirty) cache
    lines to migrate between CPUs as a result of speculation, prefetching,
    and other behaviours. To account for this, in ARMv8 data cache
    maintenance operations are broadcast and affect all data caches in the
    domain associated with the VA (i.e. ISH for kernel and user mappings).

    In __switch_to we ensure that tasks can be safely migrated in the middle
    of a maintenance sequence, using a dsb(ish) to ensure prior explicit
    memory accesses are observed and cache maintenance operations are
    completed before a task can be run on another CPU.

    Given the above, it is not necessary to disable preemption in
    copy_to_user_page. This patch removes the preempt_{disable,enable}
    calls, permitting preemption.

    Signed-off-by: Mark Rutland
    Cc: Will Deacon
    Signed-off-by: Catalin Marinas

    Mark Rutland
     
  • Commit 324420bf91f60582 ("arm64: add support for ioremap() block
    mappings") added new p?d_set_huge functions which do the hard work to
    generate and set a correct block entry.

    These differ from open-coded huge page creation in the early page table
    code by explicitly setting the P?D_TYPE_SECT bits (which are implicitly
    retained by mk_sect_prot() for any valid prot), but are otherwise
    identical (and cannot fail on arm64).

    For simplicity and consistency, make use of these in the initial page
    table creation code.

    Signed-off-by: Mark Rutland
    Cc: Ard Biesheuvel
    Cc: Will Deacon
    Signed-off-by: Catalin Marinas

    Mark Rutland
     
  • The KASLR code incorrectly expects the contents of x18 to be preserved
    across a call into C code, and uses it to stash the contents of SCTLR_EL1
    before enabling the MMU. If the MMU needs to be disabled again to create
    the randomized kernel mapping, x18 is written back to SCTLR_EL1, which is
    likely to crash the system if x18 has been clobbered by kasan_early_init()
    or kaslr_early_init(). So use x22 instead, which is not in use so far in
    head.S

    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Catalin Marinas

    Ard Biesheuvel
     

24 Mar, 2016

14 commits

  • …ernel/git/acme/linux into perf/urgent

    Pull perf/core improvements and fixes:

    User visible fixes:

    - Fix documentation of :ppp modifier in 'perf list' (Andi Kleen)

    - Fix silly nodes bitfield bits/bytes length assertion in 'perf bench numa' (Jakub Jelen)

    - Remove redundant CPU output in libtraceevent (Steven Rostedt)

    - Remove 'core_id' check in topology 'perf test' (Sukadev Bhattiprolu)

    Infrastructure changes/fixes:

    - Record text offset in dso to calculate objdump address, to use with
    modules in addition to vDSO symbol address calculations (Wang Nan)

    - Move utilities.mak from perf to tools/scripts/ (Arnaldo Carvalho de Melo)

    - Add cpumode to the perf_sample struct, this way we don't need to pass
    the union event to the machine and thread resolving routines, shortening
    function signatures and allowing the future introduction of a way
    to use tracepoint events instead of the unavailable HW cycles counter on
    powerpc guests in perf kvm by just hooking on perf_evsel__parse_sample,
    at the end (Arnaldo Carvalho de Melo)

    - Remove/unexport die() related infrastructure, that at some point will
    finally be removed (Arnaldo Carvalho de Melo)

    - Adopt linux/stringify.h from the kernel sources, not to touch this
    kernel header from tools/ (Arnaldo Carvalho de Melo)

    - Stop using strbuf for things we can instead trivially use libc's asprintf()
    (Arnaldo Carvalho de Melo)

    - Ditch tools/lib/util/abspath.c, its only exported function was used at just
    one place and can be replaced by libc's realpath() (Arnaldo Carvalho de Melo)

    - Use strerror_r() in the llvm infrastructure, tread safe, its what is used
    elsewhere in tools/perf/ (Arnaldo Carvalho de Melo)

    Cleanups:

    - Removed misplaced or needless __maybe_unused/export (Arnaldo Carvalho de Melo)

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

    Ingo Molnar
     
  • Pull networking bugfixes from David Miller:
    "Several bug fixes rolling in, some for changes introduced in this
    merge window, and some for problems that have existed for some time:

    1) Fix prepare_to_wait() handling in AF_VSOCK, from Claudio Imbrenda.

    2) The new DST_CACHE should be a silent config option, from Dave
    Jones.

    3) inet_current_timestamp() unintentionally truncates timestamps to
    16-bit, from Deepa Dinamani.

    4) Missing reference to netns in ppp, from Guillaume Nault.

    5) Free memory reference in hv_netvsc driver, from Haiyang Zhang.

    6) Missing kernel doc documentation for function arguments in various
    spots around the networking, from Luis de Bethencourt.

    7) UDP stopped receiving broadcast packets properly, due to
    overzealous multicast checks, fix from Paolo Abeni"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (59 commits)
    net: ping: make ping_v6_sendmsg static
    hv_netvsc: Fix the order of num_sc_offered decrement
    net: Fix typos and whitespace.
    hv_netvsc: Fix the array sizes to be max supported channels
    hv_netvsc: Fix accessing freed memory in netvsc_change_mtu()
    ppp: take reference on channels netns
    net: Reset encap_level to avoid resetting features on inner IP headers
    net: mediatek: fix checking for NULL instead of IS_ERR() in .probe
    net: phy: at803x: Request 'reset' GPIO only for AT8030 PHY
    at803x: fix reset handling
    AF_VSOCK: Shrink the area influenced by prepare_to_wait
    Revert "vsock: Fix blocking ops call in prepare_to_wait"
    macb: fix PHY reset
    ipv4: initialize flowi4_flags before calling fib_lookup()
    fsl/fman: Workaround for Errata A-007273
    ipv4: fix broadcast packets reception
    net: hns: bug fix about the overflow of mss
    net: hns: adds limitation for debug port mtu
    net: hns: fix the bug about mtu setting
    net: hns: fixes a bug of RSS
    ...

    Linus Torvalds
     
  • As ping_v6_sendmsg is used only in this file,
    making it static

    The body of "pingv6_prot" and "pingv6_protosw" were
    moved at the middle of the file, to avoid having to
    declare some static prototypes.

    Signed-off-by: Haishuang Yan
    Signed-off-by: David S. Miller

    Haishuang Yan
     
  • Reorder the code in netvsc_sc_open(), so num_sc_offered is only decremented
    after vmbus_open() is called. This avoid pontential race of removing device
    before all channels are setup.

    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Signed-off-by: David S. Miller

    Haiyang Zhang
     
  • …linux-platform-drivers-x86

    Pull x86 platform driver updates from Darren Hart:
    "Significant refactoring of Dell laptop drivers, modularizing the
    smbios code. Multiple new platforms added for ideapad, asus, dell,
    and alienware using existing quirks. A few fixes and cleanups.

    hp-wmi:
    - Remove GPS rfkill support via pre-2009 interface
    - fix unregister order in hp_wmi_rfkill_setup() once again

    ideapad-laptop:
    - Add ideapad Y700 (15) to the no_hw_rfkill DMI list

    fujitsu-laptop:
    - Support radio toggle button

    intel-hid:
    - allocate correct amount of memory for private struct

    platform/x86:
    - Make intel_scu_ipc explicitly non-modular

    intel_pmc_ipc:
    - Avoid pending IPC1 command during legacy suspend
    - Fix GCR register base address and length

    asus-nb-wmi:
    - add wapf=4 quirk for ASUS X75VD

    intel_telemetry_pltdrv:
    - Change verbosity control bits

    dell-rbtn:
    - Add a comment about the XPS 13 9350

    dell-wmi, dell-laptop:
    - depends DMI

    dell-wmi:
    - support Dell Inspiron M5110
    - properly process Dell Instant Launch hotkey
    - enable receiving WMI events on Dell Vostro V131
    - Support new hotkeys on the XPS 13 9350 (Skylake)
    - Clean up hotkey table size check
    - Stop storing pointers to DMI tables

    dell-laptop:
    - move dell_smi_error() to dell-smbios
    - use dell_smbios_find_token() instead of find_token_location()
    - use dell_smbios_find_token() instead of find_token_id()
    - extract SMBIOS-related code to a separate module

    dell-smbios:
    - rename dell_smi_error() to dell_smbios_error()
    - make da_tokens static
    - remove find_token_{id,location}()
    - implement new function for finding DMI table 0xDA tokens
    - make the SMBIOS buffer static
    - return the SMBIOS buffer from dell_smbios_get_buffer()
    - don't return an SMBIOS buffer from dell_smbios_send_request()
    - don't pass an SMBIOS buffer to dell_smbios_send_request()
    - rename dell_send_request() to dell_smbios_send_request()
    - rename release_buffer() to dell_smbios_release_buffer()
    - rename clear_buffer() to dell_smbios_clear_buffer()
    - rename get_buffer() to dell_smbios_get_buffer()

    dell-led:
    - use dell_smbios_send_request() for performing SMBIOS calls
    - use dell_smbios_find_token() for finding mic DMI tokens

    toshiba_acpi:
    - Add a module parameter to disable hotkeys registration
    - Add sysfs entries for the Cooling Method feature
    - Add support for cooling method feature

    Documentation/ABI:
    - Update sysfs-driver-toshiba_acpi file

    thinkpad_acpi:
    - Remove ambiguous logging for "Unsupported brightness interface"

    alienware-wmi:
    - whitespace improvements
    - Add support for two new systems: ASM200 and ASM201.
    - Add support for deep sleep control.
    - Add initial support for alienware graphics amplifier.
    - Add support for new platform: X51-R3
    - Clean up whitespace for ASM100 platform"

    * tag 'platform-drivers-x86-v4.6-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (47 commits)
    hp-wmi: Remove GPS rfkill support via pre-2009 interface
    hp-wmi: fix unregister order in hp_wmi_rfkill_setup() once again
    dell-wmi: support Dell Inspiron M5110
    dell-wmi: properly process Dell Instant Launch hotkey
    dell-wmi: enable receiving WMI events on Dell Vostro V131
    dell-smbios: rename dell_smi_error() to dell_smbios_error()
    dell-laptop: move dell_smi_error() to dell-smbios
    ideapad-laptop: Add ideapad Y700 (15) to the no_hw_rfkill DMI list
    fujitsu-laptop: Support radio toggle button
    intel-hid: allocate correct amount of memory for private struct
    platform/x86: Make intel_scu_ipc explicitly non-modular
    intel_pmc_ipc: Avoid pending IPC1 command during legacy suspend
    intel_pmc_ipc: Fix GCR register base address and length
    asus-nb-wmi: add wapf=4 quirk for ASUS X75VD
    intel_telemetry_pltdrv: Change verbosity control bits
    dell-rbtn: Add a comment about the XPS 13 9350
    dell-wmi: Support new hotkeys on the XPS 13 9350 (Skylake)
    dell-wmi: Clean up hotkey table size check
    dell-wmi, dell-laptop: depends DMI
    dell-wmi: Stop storing pointers to DMI tables
    ...

    Linus Torvalds
     
  • …erry.reding/linux-pwm

    Pull pwm updates from Thierry Reding:
    "No new drivers this time around, but a handful of cleanups and fixes"

    * tag 'pwm/for-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
    pwm: omap-dmtimer: Add debug message for effective period and duty cycle
    pwm: omap-dmtimer: Round load and match values rather than truncate
    pwm: omap-dmtimer: Add sanity checking for load and match values
    pwm: omap-dmtimer: Fix inaccurate period and duty cycle calculations
    pwm: brcmstb: Fix check of devm_ioremap_resource() return code
    pwm: rcar: Depend on ARCH_RENESAS instead of ARCH_SHMOBILE
    pwm: lpc18xx-sct: Test clock rate to avoid division by 0
    pwm: img: Test clock rate to avoid division by 0

    Linus Torvalds
     
  • Pull more SCSI target updates from Nicholas Bellinger:
    "This series contains cxgb4 driver prerequisites for supporting iscsi
    segmentation offload (ISO), that will be utilized for a number of
    future v4.7 developments in iscsi-target for supporting generic hw
    offloads"

    * 'for-next-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    cxgb4: update Kconfig and Makefile
    cxgb4: add iSCSI DDP page pod manager
    cxgb4, iw_cxgb4: move delayed ack macro definitions
    cxgb4: move VLAN_NONE macro definition
    cxgb4: update struct cxgb4_lld_info definition
    cxgb4: add definitions for iSCSI target ULD
    cxgb4, cxgb4i: move struct cpl_rx_data_ddp definition
    cxgb4, iw_cxgb4, cxgb4i: remove duplicate definitions
    cxgb4, iw_cxgb4: move definitions to common header file
    cxgb4: large receive offload support
    cxgb4: allocate resources for CXGB4_ULD_ISCSIT
    cxgb4: add new ULD type CXGB4_ULD_ISCSIT

    Linus Torvalds
     
  • Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-5njrq9dltckgm624omw9ljgu@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • To kill the last user of make_nonrelative_path(), that gets ditched,
    one more panicking function killed.

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-3hu56rvyh4q5gxogovb6ko8a@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-nq1wvtky4mpu0nupjyar7sbw@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Use the result of a local read to determine when to set the eof flag. This
    allows us to return the location of the end of the file atomically at the
    time of the read.

    Signed-off-by: Benjamin Coddington
    [bfields: add some documentation]
    Signed-off-by: J. Bruce Fields

    Benjamin Coddington
     
  • We have addch() for chars, add() for fixed size data, and addstr() for
    variable length strings, use them.

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Masami Hiramatsu
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-0ap02fn2xtvpduj2j6b2o1j4@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • That doesn't chekcs malloc return and that, when using strbuf, if it
    can't grow, just explodes away via die().

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-vr8qsjbwub7e892hpa9msz95@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Fix typos. Capitalize CPU, NAPI, RCU consistently. Align structure
    indentation. No functional change intended; only comment and whitespace
    changes.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: David S. Miller

    Bjorn Helgaas