19 May, 2015

13 commits

  • In general, non-atomic variants of user access functions must not sleep
    if pagefaults are disabled.

    Let's update all relevant comments in uaccess code. This also reflects
    the might_sleep() checks in might_fault().

    Reviewed-and-tested-by: Thomas Gleixner
    Signed-off-by: David Hildenbrand
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: David.Laight@ACULAB.COM
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: airlied@linux.ie
    Cc: akpm@linux-foundation.org
    Cc: benh@kernel.crashing.org
    Cc: bigeasy@linutronix.de
    Cc: borntraeger@de.ibm.com
    Cc: daniel.vetter@intel.com
    Cc: heiko.carstens@de.ibm.com
    Cc: herbert@gondor.apana.org.au
    Cc: hocko@suse.cz
    Cc: hughd@google.com
    Cc: mst@redhat.com
    Cc: paulus@samba.org
    Cc: ralf@linux-mips.org
    Cc: schwidefsky@de.ibm.com
    Cc: yang.shi@windriver.com
    Link: http://lkml.kernel.org/r/1431359540-32227-4-git-send-email-dahi@linux.vnet.ibm.com
    Signed-off-by: Ingo Molnar

    David Hildenbrand
     
  • Commit 662bbcb2747c ("mm, sched: Allow uaccess in atomic with
    pagefault_disable()") removed might_sleep() checks for all user access
    code (that uses might_fault()).

    The reason was to disable wrong "sleep in atomic" warnings in the
    following scenario:

    pagefault_disable()
    rc = copy_to_user(...)
    pagefault_enable()

    Which is valid, as pagefault_disable() increments the preempt counter
    and therefore disables the pagefault handler. copy_to_user() will not
    sleep and return an error code if a page is not available.

    However, as all might_sleep() checks are removed,
    CONFIG_DEBUG_ATOMIC_SLEEP would no longer detect the following scenario:

    spin_lock(&lock);
    rc = copy_to_user(...)
    spin_unlock(&lock)

    If the kernel is compiled with preemption turned on, preempt_disable()
    will make in_atomic() detect disabled preemption. The fault handler would
    correctly never sleep on user access.
    However, with preemption turned off, preempt_disable() is usually a NOP
    (with !CONFIG_PREEMPT_COUNT), therefore in_atomic() will not be able to
    detect disabled preemption nor disabled pagefaults. The fault handler
    could sleep.
    We really want to enable CONFIG_DEBUG_ATOMIC_SLEEP checks for user access
    functions again, otherwise we can end up with horrible deadlocks.

    Root of all evil is that pagefault_disable() acts almost as
    preempt_disable(), depending on preemption being turned on/off.

    As we now have pagefault_disabled(), we can use it to distinguish
    whether user acces functions might sleep.

    Convert might_fault() into a makro that calls __might_fault(), to
    allow proper file + line messages in case of a might_sleep() warning.

    Reviewed-and-tested-by: Thomas Gleixner
    Signed-off-by: David Hildenbrand
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: David.Laight@ACULAB.COM
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: airlied@linux.ie
    Cc: akpm@linux-foundation.org
    Cc: benh@kernel.crashing.org
    Cc: bigeasy@linutronix.de
    Cc: borntraeger@de.ibm.com
    Cc: daniel.vetter@intel.com
    Cc: heiko.carstens@de.ibm.com
    Cc: herbert@gondor.apana.org.au
    Cc: hocko@suse.cz
    Cc: hughd@google.com
    Cc: mst@redhat.com
    Cc: paulus@samba.org
    Cc: ralf@linux-mips.org
    Cc: schwidefsky@de.ibm.com
    Cc: yang.shi@windriver.com
    Link: http://lkml.kernel.org/r/1431359540-32227-3-git-send-email-dahi@linux.vnet.ibm.com
    Signed-off-by: Ingo Molnar

    David Hildenbrand
     
  • Until now, pagefault_disable()/pagefault_enabled() used the preempt
    count to track whether in an environment with pagefaults disabled (can
    be queried via in_atomic()).

    This patch introduces a separate counter in task_struct to count the
    level of pagefault_disable() calls. We'll keep manipulating the preempt
    count to retain compatibility to existing pagefault handlers.

    It is now possible to verify whether in a pagefault_disable() envionment
    by calling pagefault_disabled(). In contrast to in_atomic() it will not
    be influenced by preempt_enable()/preempt_disable().

    This patch is based on a patch from Ingo Molnar.

    Reviewed-and-tested-by: Thomas Gleixner
    Signed-off-by: David Hildenbrand
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: David.Laight@ACULAB.COM
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: airlied@linux.ie
    Cc: akpm@linux-foundation.org
    Cc: benh@kernel.crashing.org
    Cc: bigeasy@linutronix.de
    Cc: borntraeger@de.ibm.com
    Cc: daniel.vetter@intel.com
    Cc: heiko.carstens@de.ibm.com
    Cc: herbert@gondor.apana.org.au
    Cc: hocko@suse.cz
    Cc: hughd@google.com
    Cc: mst@redhat.com
    Cc: paulus@samba.org
    Cc: ralf@linux-mips.org
    Cc: schwidefsky@de.ibm.com
    Cc: yang.shi@windriver.com
    Link: http://lkml.kernel.org/r/1431359540-32227-2-git-send-email-dahi@linux.vnet.ibm.com
    Signed-off-by: Ingo Molnar

    David Hildenbrand
     
  • Now that PREEMPT_ACTIVE implies PREEMPT_DISABLE_OFFSET, ignoring
    PREEMPT_ACTIVE from in_atomic() check isn't useful anymore.

    Signed-off-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1431441711-29753-7-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     
  • Signed-off-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1431441711-29753-6-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     
  • __schedule() disables preemption and some of its callers
    (the preempt_schedule*() family) also set PREEMPT_ACTIVE.

    So we have two preempt_count() modifications that could be performed
    at once.

    Lets remove the preemption disablement from __schedule() and pull
    this responsibility to its callers in order to optimize preempt_count()
    operations in a single place.

    Suggested-by: Linus Torvalds
    Signed-off-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1431441711-29753-5-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     
  • "CHECK" suggests it's only used as a comparison mask. But now it's used
    further as a config-conditional preempt disabler offset. Lets
    disambiguate this name.

    Signed-off-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1431441711-29753-4-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     
  • Adjust a few comments, and further integrate a few definitions after
    the dumb headers copy.

    Signed-off-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1431441711-29753-3-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     
  • preempt_mask.h defines all the preempt_count semantics and related
    symbols: preempt, softirq, hardirq, nmi, preempt active, need resched,
    etc...

    preempt.h defines the accessors and mutators of preempt_count.

    But there is a messy dependency game around those two header files:

    * preempt_mask.h includes preempt.h in order to access preempt_count()

    * preempt_mask.h defines all preempt_count semantic and symbols
    except PREEMPT_NEED_RESCHED that is needed by asm/preempt.h
    Thus we need to define it from preempt.h, right before including
    asm/preempt.h, instead of defining it to preempt_mask.h with the
    other preempt_count symbols. Therefore the preempt_count semantics
    happen to be spread out.

    * We plan to introduce preempt_active_[enter,exit]() to consolidate
    preempt_schedule*() code. But we'll need to access both preempt_count
    mutators (preempt_count_add()) and preempt_count symbols
    (PREEMPT_ACTIVE, PREEMPT_OFFSET). The usual place to define preempt
    operations is in preempt.h but then we'll need symbols in
    preempt_mask.h which already includes preempt.h. So we end up with
    a ressource circle dependency.

    Lets merge preempt_mask.h into preempt.h to solve these dependency issues.
    This way we gather semantic symbols and operation definition of
    preempt_count in a single file.

    This is a dumb copy-paste merge. Further merge re-arrangments are
    performed in a subsequent patch to ease review.

    Signed-off-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1431441711-29753-2-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Linus Torvalds
     
  • Two watchdog changes that came through different trees had a non
    conflicting conflict, that is, one changed the semantics of a variable
    but no actual code conflict happened. So the merge appeared fine, but
    the resulting code did not behave as expected.

    Commit 195daf665a62 ("watchdog: enable the new user interface of the
    watchdog mechanism") changes the semantics of watchdog_user_enabled,
    which thereafter is only used by the functions introduced by
    b3738d293233 ("watchdog: Add watchdog enable/disable all functions").

    There further appears to be a distinct lack of serialization between
    setting and using watchdog_enabled, so perhaps we should wrap the
    {en,dis}able_all() things in watchdog_proc_mutex.

    This patch fixes a s2r failure reported by Michal; which I cannot
    readily explain. But this does make the code internally consistent
    again.

    Reported-and-tested-by: Michal Hocko
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Pull MTD fixes from Brian Norris:
    "Two MTD fixes for 4.1:

    - readtest: the signal-handling code was clobbering the error codes
    we should be handling/reporting in this test, rendering it useless.
    Noticed by Coverity.

    - the common SPI NOR flash DT binding (merged for 4.1-rc1) is being
    revised, so let's change that before 4.1 is minted"

    * tag 'for-linus-20150516' of git://git.infradead.org/linux-mtd:
    Documentation: dt: mtd: replace "nor-jedec" binding with "jedec, spi-nor"
    mtd: readtest: don't clobber error reports

    Linus Torvalds
     

17 May, 2015

14 commits

  • static code checking was unhappy with:

    ./kernel/sched/fair.c:162 WARNING: return of wrong type
    int != unsigned int

    get_update_sysctl_factor() is declared to return int but is
    currently returning an unsigned int. The first few preprocessed
    lines are:

    static int get_update_sysctl_factor(void)
    {
    unsigned int cpus = ({ int __min1 = (cpumask_weight(cpu_online_mask));
    int __min2 = (8); __min1 < __min2 ? __min1: __min2; });
    unsigned int factor;

    The type used by min_t() should be 'unsigned int' and the return type
    of get_update_sysctl_factor() should also be 'unsigned int' as its
    call-site update_sysctl() is expecting 'unsigned int' and the values
    utilizing:

    'factor'
    'sysctl_sched_min_granularity'
    'sched_nr_latency'
    'sysctl_sched_wakeup_granularity'

    ... are also all 'unsigned int', plus cpumask_weight() is also
    returning 'unsigned int'.

    So the natural type to use around here is 'unsigned int'.

    ( Patch was compile tested with x86_64_defconfig +
    CONFIG_SCHED_DEBUG=y and the changed sections in
    kernel/sched/fair.i were reviewed. )

    Signed-off-by: Nicholas Mc Guire
    [ Improved the changelog a bit. ]
    Cc: H. Peter Anvin
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1431716742-11077-1-git-send-email-hofrat@osadl.org
    Signed-off-by: Ingo Molnar

    Nicholas Mc Guire
     
  • Pull USB fixes from Greg KH:
    "Here are some USB fixes and new device ids for 4.1-rc4.

    All are pretty minor, and have been in linux-next successfully"

    * tag 'usb-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    usb-storage: Add NO_WP_DETECT quirk for Lacie 059f:0651 devices
    Added another USB product ID for ELAN touchscreen quirks.
    xhci: gracefully handle xhci_irq dead device
    xhci: Solve full event ring by increasing TRBS_PER_SEGMENT to 256
    xhci: fix isoc endpoint dequeue from advancing too far on transaction error
    usb: chipidea: debug: avoid out of bound read
    USB: visor: Match I330 phone more precisely
    USB: pl2303: Remove support for Samsung I330
    USB: cp210x: add ID for KCF Technologies PRN device
    usb: gadget: remove incorrect __init/__exit annotations
    usb: phy: isp1301: work around tps65010 dependency
    usb: gadget: serial: fix re-ordering of tx data
    usb: gadget: hid: Fix static variable usage
    usb: gadget: configfs: Fix interfaces array NULL-termination
    usb: gadget: xilinx: fix devm_ioremap_resource() check
    usb: dwc3: dwc3-omap: correct the register macros

    Linus Torvalds
     
  • Pull tty/serial fixes from Greg KH:
    "Here's some TTY and serial driver fixes for reported issues.

    All of these have been in linux-next successfully"

    * tag 'tty-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    pty: Fix input race when closing
    tty/n_gsm.c: fix a memory leak when gsmtty is removed
    Revert "serial/amba-pl011: Leave the TX IRQ alone when the UART is not open"
    serial: omap: Fix error handling in probe
    earlycon: Revert log warnings

    Linus Torvalds
     
  • Pull staging / IIO driver fixes from Greg KH:
    "Here's some staging and iio driver fixes to resolve a number of
    reported issues.

    All of these have been in linux-next for a while"

    * tag 'staging-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (31 commits)
    iio: light: hid-sensor-prox: Fix memory leak in probe()
    iio: adc: cc10001: Add delay before setting START bit
    iio: adc: cc10001: Fix regulator_get_voltage() return value check
    iio: adc: cc10001: Fix incorrect use of power-up/power-down register
    staging: gdm724x: Correction of variable usage after applying ALIGN()
    iio: adc: cc10001: Fix the channel number mapping
    staging: vt6655: lock MACvWriteBSSIDAddress.
    staging: vt6655: CARDbUpdateTSF bss timestamp correct tsf counter value.
    staging: vt6655: vnt_tx_packet Correct TX order of OWNED_BY_NIC
    staging: vt6655: Fix 80211 control and management status reporting.
    staging: vt6655: implement IEEE80211_TX_STAT_NOACK_TRANSMITTED
    staging: vt6655: device_free_tx_buf use only ieee80211_tx_status_irqsafe
    staging: vt6656: use ieee80211_tx_info to select packet type.
    staging: rtl8712: freeing an ERR_PTR
    staging: sm750: remove incorrect __exit annotation
    iio: kfifo: Set update_needed to false only if a buffer was allocated
    iio: mcp320x: Fix occasional incorrect readings
    iio: accel: mma9553: check input value for activity period
    iio: accel: mma9553: add enable channel for activity
    iio: accel: mma9551_core: prevent buffer overrun
    ...

    Linus Torvalds
     
  • Pull char/misc fix from Greg KH:
    "Here is one fix, in the extcon subsystem, that resolves a reported
    issue.

    It's been in linux-next for a number of weeks now, sorry for not
    getting it to you sooner"

    * tag 'char-misc-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    extcon: usb-gpio: register extcon device before IRQ registration

    Linus Torvalds
     
  • Pull UML hostfs fix from Richard Weinberger:
    "This contains a single fix for a regression introduced in 4.1-rc1"

    * 'for-linus-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    hostfs: Use correct mask for file mode

    Linus Torvalds
     
  • Pull UBI bufix from Richard Weinberger:
    "This contains a single bug fix for the UBI block driver"

    * tag 'upstream-4.1-rc4' of git://git.infradead.org/linux-ubifs:
    UBI: block: Add missing cache flushes

    Linus Torvalds
     
  • Pull ext4 fixes from Ted Ts'o:
    "Fix a number of ext4 bugs; the most serious of which is a bug in the
    lazytime mount optimization code where we could end up updating the
    timestamps to the wrong inode"

    * tag 'for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: fix an ext3 collapse range regression in xfstests
    jbd2: fix r_count overflows leading to buffer overflow in journal recovery
    ext4: check for zero length extent explicitly
    ext4: fix NULL pointer dereference when journal restart fails
    ext4: remove unused function prototype from ext4.h
    ext4: don't save the error information if the block device is read-only
    ext4: fix lazytime optimization

    Linus Torvalds
     
  • Pull btrfs fixes from Chris Mason:
    "The first commit is a fix from Filipe for a very old extent buffer
    reuse race that triggered a BUG_ON. It hasn't come up often, I looked
    through old logs at FB and we hit it a handful of times over the last
    year.

    The rest are other corners he hit during testing"

    * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix race when reusing stale extent buffers that leads to BUG_ON
    Btrfs: fix race between block group creation and their cache writeout
    Btrfs: fix panic when starting bg cache writeout after IO error
    Btrfs: fix crash after inode cache writeback failure

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "Seven small fixes. The shortlog below is a good description so no
    need to elaborate.

    It has sat in linux-next and survived the usual automated testing by
    Imagination's test farm"

    * 'master' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: tlb-r4k: Fix PG_ELPA comment
    MIPS: Fix up obsolete cpu_set usage
    MIPS: IP32: Fix build errors in reset code in DS1685 platform hook.
    MIPS: KVM: Fix unused variable build warning
    MIPS: traps: remove extra Tainted: line from __show_regs() output
    MIPS: Fix wrong CHECKFLAGS (sparse builds) with GCC 5.1
    MIPS: Fix a preemption issue with thread's FPU defaults

    Linus Torvalds
     
  • Pull ARC fixes from Vineet Gupta.

    * tag 'arc-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: inline cache flush toggle helpers
    ARC: With earlycon in use, retire EARLY_PRINTK
    ARC: unbork !LLSC build

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "Nothing frightening this time, just smaller fixes in a number of
    places.

    The other changes contained here are:

    MAINTAINERS file updates:

    - The mach-gemini maintainer is back in action and has a new git tree

    - Krzysztof Kozlowski has volunteered to be a new co-maintainer for
    the samsung platforms

    - updates to the files that belong to Marvell mvebu

    Bug fixes:

    - The largest changes are on omap2, but are only to avoid some
    harmless warnings and to fix reset on omap4

    - a small regression fix on tegra

    - multiple fixes for incorrect IRQ affinity on vexpress

    - the missing system controller on arm64 juno is added

    - one revert of a patch that was accidentally applied twice for
    mach-rockchip

    - two clock related DT fixes for mvebu

    - a workaround for suspend with old DT binaries on new exynos kernels

    - Another fix for suspend on exynos, needs to be backported"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits)
    MAINTAINERS: Add dts entries for some of the Marvell SoCs
    MAINTAINERS: ARM: EXYNOS: Add Krzysztof Kozlowski as co-maintainer
    ARM: EXYNOS: Use of_machine_is_compatible instead of soc_is_exynos4
    ARM: EXYNOS: Fix failed second suspend on Exynos4
    Revert "ARM: rockchip: fix undefined instruction of reset_ctrl_regs"
    ARM: EXYNOS: Fix dereference of ERR_PTR returned by of_genpd_get_from_provider
    ARM: EXYNOS: Don't try to initialize suspend on old DT
    ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for Peach Boards
    ARM: gemini: fix compiler warning due wrong data type
    ARM: vexpress/tc2: Add interrupt-affinity to the PMU node
    ARM: vexpress/ca9: Add interrupt-affinity to the PMU node
    ARM: vexpress/ca9: Add unified-cache property to l2 cache node
    ARM64: juno: add sp810 support and fix sp804 clock frequency
    ARM: Gemini: Maintainers update
    ARM: OMAP2+: Remove bogus struct clk comparison for timer clock
    ARM: dove: Add clock-names to CuBox Si5351 clk generator
    ARM: AM33xx+: hwmod: re-use omap4 implementations for reset functionality
    ARM: OMAP4+: PRM: add support for passing status register/bit info to reset
    ARM: AM43xx: hwmod: add VPFE hwmod entries
    ARM: mvebu: Fix the main PLL frequency on Armada 375, 38x and 39x SoCs
    ...

    Linus Torvalds
     
  • Pull thermal fixes from Zhang Rui:
    "Specifics:

    - fix an issue in intel_powerclamp driver that idle injection target
    is not accurately maintained on newer Intel CPUs. Package C8 to
    C10 states are introduced on these CPUs but they were not included
    in the package c-state residency calculation. From Jacob Pan.

    - fix a problem that package c-state idle injection was missing on
    Broadwell server, by adding its id to intel_powerclamp driver.
    From Jacob Pan.

    - a couple of small fixes and cleanups from Joe Perches, Mathias
    Krause, Dan Carpenter and Anand Moon"

    * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    tools/thermal: tmon: fixed the 'make install' command
    thermal: rockchip: fix an error code
    thermal/powerclamp: fix missing newer package c-states
    thermal/intel_powerclamp: add id for broadwell server
    thermal/intel_powerclamp: add __init / __exit annotations
    thermal: Use bool function return values of true/false not 1/0

    Linus Torvalds
     
  • …/git/shuah/linux-kselftest

    Pull kselftest fixes from Shuah Khan:
    "Urgent fix for Kselftest regression introduced in 4.1-rc1 by the new
    x86 test due to its hard dependency on 32-bit build environment.

    A set of 5 patches fix the make kselftest run and kselftest install"

    * tag 'linux-kselftest-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests, x86: Rework x86 target architecture detection
    selftests, x86: Remove useless run_tests rule
    selftests/x86: install tests
    selftest/x86: have no dependency on all when cross building
    selftest/x86: build both bitnesses

    Linus Torvalds
     

16 May, 2015

10 commits

  • Pull parisc fixes from Helge Deller:
    "One important patch which fixes crashes due to stack randomization on
    architectures where the stack grows upwards (currently parisc and
    metag only).

    This bug went unnoticed on parisc since kernel 3.14 where the flexible
    mmap memory layout support was added by commit 9dabf60dc4ab. The
    changes in fs/exec.c are inside an #ifdef CONFIG_STACK_GROWSUP section
    and will not affect other platforms.

    The other two patches rename args of the kthread_arg() function and
    fixes a printk output"

    * 'parisc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc,metag: Fix crashes due to stack randomization on stack-grows-upwards architectures
    parisc: copy_thread(): rename 'arg' argument to 'kthread_arg'
    parisc: %pf is only for function pointers

    Linus Torvalds
     
  • In commit 8ff16cf77ce3 ("Documentation: devicetree: m25p80: add "nor-jedec"
    binding"), we added a generic "nor-jedec" binding to catch all
    mostly-compatible SPI NOR flash which can be detected via the READ ID
    opcode (0x9F). This was discussed and reviewed at the time, however
    objections have come up since then as part of this discussion:

    http://lkml.kernel.org/g/20150511224646.GJ32500@ld-irv-0074

    It seems the parties involved agree that "jedec,spi-nor" does a better
    job of capturing the fact that this is SPI-specific, not just any NOR
    flash.

    This binding was only merged for v4.1-rc1, so it's still OK to change
    the naming.

    At the same time, let's move the documentation to a better name.

    Next up: stop referring to code (drivers/mtd/devices/m25p80.c) from the
    documentation.

    Signed-off-by: Brian Norris
    Cc: Marek Vasut
    Cc: Rafał Miłecki
    Cc: Rob Herring
    Cc: Pawel Moll
    Cc: Ian Campbell
    Cc: Kumar Gala
    Cc: devicetree@vger.kernel.org
    Acked-by: Stephen Warren
    Acked-by: Geert Uytterhoeven
    Acked-by: Mark Rutland

    Brian Norris
     
  • The ELPA bit in PageGrain is all about large *physical* addresses, so
    correct the reference to "large virtual address" in the comment above
    where it is set for MIPS64.

    Signed-off-by: James Hogan
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10038/
    Signed-off-by: Ralf Baechle

    James Hogan
     
  • cpu_set was removed (along with a bunch of cpumask helpers) by
    commit 2f0f267ea072 ("cpumask: remove deprecated functions.").

    Fix this by replacing cpu_set with cpumask_set_cpu. Without this
    fix the following error is triggered when CONFIG_MIPS_MT_FPAFF=y.

    arch/mips/kernel/smp-cps.c: In function 'cps_smp_setup':
    arch/mips/kernel/smp-cps.c:95:3: error: implicit declaration of function 'cpu_set' [-Werror=implicit-function-declaration]

    Fixes: 90db024f140d ("MIPS: smp-cps: cpu_set FPU mask if FPU present")
    Signed-off-by: Ezequiel Garcia
    Acked-by: Niklas Cassel
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9912/
    Signed-off-by: Ralf Baechle

    Ezequiel Garcia
     
  • Pull x86 build fix from Ingo Molnar:
    "A bzImage build fix on older distros"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/vdso: Fix 'make bzImage' on older distros

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Two fixes: a suspend/resume related regression fix, and an RT priority
    boosting fix"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/core: Fix regression in cpuset_cpu_inactive() for suspend
    sched: Handle priority boosted tasks proper in setscheduler()

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Mostly tooling fixes, but also a lockdep annotation fix, a PMU event
    list fix and a new model addition"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools/liblockdep: Fix compilation error
    tools/liblockdep: Fix linker error in case of cross compile
    perf tools: Use getconf to determine number of online CPUs
    tools: Fix tools/vm build
    perf/x86/rapl: Enable Broadwell-U RAPL support
    perf/x86/intel: Fix SLM cache event list
    perf: Annotate inherited event ctx->mutex recursion

    Linus Torvalds
     
  • Pull irq fix from Ingo Molnar:
    "A tegra irqchip driver memory corruption fix"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip: tegra: Set the proper base address in irq chip data

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Radeon:
    one oops fix, one bug fix, one pci id addition patch

    i915:
    one suspend/resume regression fix.

    All seems quiet enough."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon: don't do mst probing if MST isn't enabled.
    drm/radeon: add new bonaire pci id
    drm/radeon: fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling
    drm/i915: Avoid GPU hang when coming out of s3 or s4

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

    * emailed patches from Andrew Morton :
    mm, numa: really disable NUMA balancing by default on single node machines
    MAINTAINERS: update Jingoo Han's email address
    CMA: page_isolation: check buddy before accessing it
    uidgid: make uid_valid and gid_valid work with !CONFIG_MULTIUSER
    kernfs: do not account ino_ida allocations to memcg
    gfp: add __GFP_NOACCOUNT
    tools/vm: fix page-flags build
    drivers/rtc/rtc-armada38x.c: remove unused local `flags'

    Linus Torvalds
     

15 May, 2015

3 commits

  • …ne/linux-samsung into fixes

    Merge "Samsung 2nd fixes for v4.1" from Kukjin Kim:

    - fix second S2R on exynos4412 based Trats2, Odroid U3 boards which
    happened after enabling L2$ and caused by commit 13cfa6c4f7fa ("ARM:
    EXYNOS: Fix CPU idle clock down after CPU off")
    And replace the soc_is_exynosxxx() macro with of_compatible_xxx

    - fix dereference of ERR_PTR of of_genpd_get_from_provider()

    - fix suspend problem on old DT machines to skip the initialization
    suspend and caused by commit 8b283c025443 ("ARM: exynos4/5: convert
    pmu wakeup to stacked domains")

    - add keep-power-in-suspend for Peach Boards to support S2R and has
    been missed in previous pull-request for fixes

    * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: Use of_machine_is_compatible instead of soc_is_exynos4
    ARM: EXYNOS: Fix failed second suspend on Exynos4
    ARM: EXYNOS: Fix dereference of ERR_PTR returned by of_genpd_get_from_provider
    ARM: EXYNOS: Don't try to initialize suspend on old DT
    ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for Peach Boards

    Arnd Bergmann
     
  • Merge "mvebu fixes for 4.1 (part 2)" from Gregory CLEMENT:

    Fix the main PLL frequency on Armada 375, 38x and 39x SoCs
    Add clock-names to CuBox Si5351 clk generator
    Add dts entries in the MAINTAINERS file

    * tag 'mvebu-fixes-4.1-2' of git://git.infradead.org/linux-mvebu:
    MAINTAINERS: Add dts entries for some of the Marvell SoCs
    ARM: dove: Add clock-names to CuBox Si5351 clk generator
    ARM: mvebu: Fix the main PLL frequency on Armada 375, 38x and 39x SoCs

    Arnd Bergmann
     
  • Since many releases, the modifications of the mvebu and berlin device
    tree files are merged through the mvebu subsystem. This patch makes it
    official in order to help the contributors using the get_maintainer.pl
    to find the accurate peoples.

    In the same time, updated the mvebu description which now includes the
    kirkwood SoCs and new Armada SoCs.

    Signed-off-by: Gregory CLEMENT
    Acked-by: Sebastian Hesselbarth
    Acked-by: Jason Cooper
    Acked-by: Andrew Lunn

    Gregory CLEMENT