Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync #1

Merged
merged 479 commits into from
Oct 10, 2015
Merged

sync #1

merged 479 commits into from
Oct 10, 2015
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Sep 29, 2015

  1. blk-mq: fix sysfs registration/unregistration race

    There is a race between cpu hotplug handling and adding/deleting
    gendisk for blk-mq, where both are trying to register and unregister
    the same sysfs entries.
    
    null_add_dev
        --> blk_mq_init_queue
            --> blk_mq_init_allocated_queue
                --> add to 'all_q_list' (*)
        --> add_disk
            --> blk_register_queue
                --> blk_mq_register_disk (++)
    
    null_del_dev
        --> del_gendisk
            --> blk_unregister_queue
                --> blk_mq_unregister_disk (--)
        --> blk_cleanup_queue
            --> blk_mq_free_queue
                --> del from 'all_q_list' (*)
    
    blk_mq_queue_reinit
        --> blk_mq_sysfs_unregister (-)
        --> blk_mq_sysfs_register (+)
    
    While the request queue is added to 'all_q_list' (*),
    blk_mq_queue_reinit() can be called for the queue anytime by CPU
    hotplug callback.  But blk_mq_sysfs_unregister (-) and
    blk_mq_sysfs_register (+) in blk_mq_queue_reinit must not be called
    before blk_mq_register_disk (++) and after blk_mq_unregister_disk (--)
    is finished.  Because '/sys/block/*/mq/' is not exists.
    
    There has already been BLK_MQ_F_SYSFS_UP flag in hctx->flags which can
    be used to track these sysfs stuff, but it is only fixing this issue
    partially.
    
    In order to fix it completely, we just need per-queue flag instead of
    per-hctx flag with appropriate locking.  So this introduces
    q->mq_sysfs_init_done which is properly protected with all_q_mutex.
    
    Also, we need to ensure that blk_mq_map_swqueue() is called with
    all_q_mutex is held.  Since hctx->nr_ctx is reset temporarily and
    updated in blk_mq_map_swqueue(), so we should avoid
    blk_mq_register_hctx() seeing the temporary hctx->nr_ctx value
    in CPU hotplug handling or adding/deleting gendisk .
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Reviewed-by: Ming Lei <tom.leiming@gmail.com>
    Cc: Ming Lei <tom.leiming@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    mita authored and axboe committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    4593fdb View commit details
    Browse the repository at this point in the history
  2. blk-mq: Fix use after of free q->mq_map

    CPU hotplug handling for blk-mq (blk_mq_queue_reinit) updates
    q->mq_map by blk_mq_update_queue_map() for all request queues in
    all_q_list.  On the other hand, q->mq_map is released before deleting
    the queue from all_q_list.
    
    So if CPU hotplug event occurs in the window, invalid memory access
    can happen.  Fix it by releasing q->mq_map in blk_mq_release() to make
    it happen latter than removal from all_q_list.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Suggested-by: Ming Lei <tom.leiming@gmail.com>
    Reviewed-by: Ming Lei <tom.leiming@gmail.com>
    Cc: Ming Lei <tom.leiming@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    mita authored and axboe committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    a723bab View commit details
    Browse the repository at this point in the history
  3. blk-mq: fix q->mq_usage_counter access race

    CPU hotplug handling for blk-mq (blk_mq_queue_reinit) accesses
    q->mq_usage_counter while freezing all request queues in all_q_list.
    On the other hand, q->mq_usage_counter is deinitialized in
    blk_mq_free_queue() before deleting the queue from all_q_list.
    
    So if CPU hotplug event occurs in the window, percpu_ref_kill() is
    called with q->mq_usage_counter which has already been marked dead,
    and it triggers warning.  Fix it by deleting the queue from all_q_list
    earlier than destroying q->mq_usage_counter.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Reviewed-by: Ming Lei <tom.leiming@gmail.com>
    Cc: Ming Lei <tom.leiming@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    mita authored and axboe committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    0e62636 View commit details
    Browse the repository at this point in the history
  4. blk-mq: avoid inserting requests before establishing new mapping

    Notifier callbacks for CPU_ONLINE action can be run on the other CPU
    than the CPU which was just onlined.  So it is possible for the
    process running on the just onlined CPU to insert request and run
    hw queue before establishing new mapping which is done by
    blk_mq_queue_reinit_notify().
    
    This can cause a problem when the CPU has just been onlined first time
    since the request queue was initialized.  At this time ctx->index_hw
    for the CPU, which is the index in hctx->ctxs[] for this ctx, is still
    zero before blk_mq_queue_reinit_notify() is called by notifier
    callbacks for CPU_ONLINE action.
    
    For example, there is a single hw queue (hctx) and two CPU queues
    (ctx0 for CPU0, and ctx1 for CPU1).  Now CPU1 is just onlined and
    a request is inserted into ctx1->rq_list and set bit0 in pending
    bitmap as ctx1->index_hw is still zero.
    
    And then while running hw queue, flush_busy_ctxs() finds bit0 is set
    in pending bitmap and tries to retrieve requests in
    hctx->ctxs[0]->rq_list.  But htx->ctxs[0] is a pointer to ctx0, so the
    request in ctx1->rq_list is ignored.
    
    Fix it by ensuring that new mapping is established before onlined cpu
    starts running.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Reviewed-by: Ming Lei <tom.leiming@gmail.com>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Ming Lei <tom.leiming@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    mita authored and axboe committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    5778322 View commit details
    Browse the repository at this point in the history
  5. blk-mq: fix deadlock when reading cpu_list

    CPU hotplug handling for blk-mq (blk_mq_queue_reinit) acquires
    all_q_mutex in blk_mq_queue_reinit_notify() and then removes sysfs
    entries by blk_mq_sysfs_unregister().  Removing sysfs entry needs to
    be blocked until the active reference of the kernfs_node to be zero.
    
    On the other hand, reading blk_mq_hw_sysfs_cpu sysfs entry (e.g.
    /sys/block/nullb0/mq/0/cpu_list) acquires all_q_mutex in
    blk_mq_hw_sysfs_cpus_show().
    
    If these happen at the same time, a deadlock can happen.  Because one
    can wait for the active reference to be zero with holding all_q_mutex,
    and the other tries to acquire all_q_mutex with holding the active
    reference.
    
    The reason that all_q_mutex is acquired in blk_mq_hw_sysfs_cpus_show()
    is to avoid reading an imcomplete hctx->cpumask.  Since reading sysfs
    entry for blk-mq needs to acquire q->sysfs_lock, we can avoid deadlock
    and reading an imcomplete hctx->cpumask by protecting q->sysfs_lock
    while hctx->cpumask is being updated.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Reviewed-by: Ming Lei <tom.leiming@gmail.com>
    Cc: Ming Lei <tom.leiming@gmail.com>
    Cc: Wanpeng Li <wanpeng.li@hotmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    mita authored and axboe committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    60de074 View commit details
    Browse the repository at this point in the history
  6. drm/amdgpu: signedness bug in amdgpu_cs_parser_init()

    The "i" variable should be signed or it leads to a crash in the error
    handling code.
    
    Fixes: 1d26347 ('drm/amdgpu: unwind properly in amdgpu_cs_parser_init()')
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Dan Carpenter authored and alexdeucher committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    5431350 View commit details
    Browse the repository at this point in the history
  7. drm/radeon: Restore LCD backlight level on resume (>= R5xx)

    Instead of only enabling the backlight (which seems to set it to max
    brightness), just re-set the current backlight level, which also takes
    care of enabling the backlight if necessary.
    
    Only the radeon_atom_encoder_dpms_dig part tested on a Kaveri laptop,
    the radeon_atom_encoder_dpms_avivo part is only compile tested.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Michel Dänzer authored and alexdeucher committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    4281f46 View commit details
    Browse the repository at this point in the history
  8. drm/amdgpu: Restore LCD backlight level on resume

    Instead of only enabling the backlight (which seems to set it to max
    brightness), just re-set the current backlight level, which also takes
    care of enabling the backlight if necessary.
    
    Port of radeon commit:
    drm/radeon: Restore LCD backlight level on resume (>= R5xx)
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    alexdeucher committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    74b3112 View commit details
    Browse the repository at this point in the history
  9. af_unix: Convert the unix_sk macro to an inline function for type safety

    As suggested by Eric Dumazet this change replaces the
    #define with a static inline function to enjoy
    complaints by the compiler when misusing the API.
    
    Signed-off-by: Aaron Conole <aconole@bytheb.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    apconole authored and davem330 committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    4613012 View commit details
    Browse the repository at this point in the history
  10. af_unix: return data from multiple SKBs on recv() with MSG_PEEK flag

    AF_UNIX sockets now return multiple skbs from recv() when MSG_PEEK flag
    is set.
    
    This is referenced in kernel bugzilla #12323 @
    https://bugzilla.kernel.org/show_bug.cgi?id=12323
    
    As described both in the BZ and lkml thread @
    http://lkml.org/lkml/2008/1/8/444 calling recv() with MSG_PEEK on an
    AF_UNIX socket only reads a single skb, where the desired effect is
    to return as much skb data has been queued, until hitting the recv
    buffer size (whichever comes first).
    
    The modified MSG_PEEK path will now move to the next skb in the tree
    and jump to the again: label, rather than following the natural loop
    structure. This requires duplicating some of the loop head actions.
    
    This was tested using the python socketpair python code attached to
    the bugzilla issue.
    
    Signed-off-by: Aaron Conole <aconole@bytheb.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    apconole authored and davem330 committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    9f389e3 View commit details
    Browse the repository at this point in the history
  11. Merge branch 'af_unix_MSG_PEEK'

    Aaron Conole says:
    
    ====================
    af_unix: return data from multiple SKBs on recv() with MSG_PEEK flag
    
    This patch set implements a bugfix for kernel.org bugzilla #12323, allowing
    MSG_PEEK to return all queued data on the unix domain socket, not just the
    data contained in a single SKB.
    
    This is the v3 version of this patch, which includes a suggested modification
    by Eric Dumazet to convert the unix_sk() conversion macro to a static inline
    function. These patches are independent and can be applied separately.
    
    This set was tested over a 24-hour period, utilizing a loop continually
    executing the bugzilla issue attached python code. It was instrumented with
    a pr_err_once() ([   13.798683] unix: went there at least one time).
    
    v2->v3:
     - Added Eric Dumazet's suggestion for #define to static inline
     - Fixed an issue calling unix_state_lock() with an invalid argument
    
    v3->v4:
     - Eliminated an XXX comment
     - Changed from goto unlock to explicit unix_state_unlock() and break
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    3504bb6 View commit details
    Browse the repository at this point in the history
  12. bna: fix error handling

    Several functions can return negative value in case of error,
    so their return type should be fixed as well as type of variables
    to which this value is assigned.
    
    The problem has been detected using proposed semantic patch
    scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1].
    
    [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107
    
    Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Andrzej Hajda authored and davem330 committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    4c52b1d View commit details
    Browse the repository at this point in the history
  13. net sysfs: Print link speed as signed integer

    Otherwise 4294967295 (MBit/s) (-1) will be printed when there is no link.
    Documentation/ABI/testing/sysfs-class-net does not state if this shall be
    signed or unsigned.
    Also remove the now unused variable fmt_udec.
    
    Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Alexander Stein authored and davem330 committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    75c261b View commit details
    Browse the repository at this point in the history
  14. net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set

    Wolfgang reported that IPv6 stack is ignoring oif in output route lookups:
    
        With ipv6, ip -6 route get always returns the specific route.
    
        $ ip -6 r
        2001:db8:e2::1 dev enp2s0  proto kernel  metric 256
        2001:db8:e2::/64 dev enp2s0  metric 1024
        2001:db8:e3::1 dev enp3s0  proto kernel  metric 256
        2001:db8:e3::/64 dev enp3s0  metric 1024
        fe80::/64 dev enp3s0  proto kernel  metric 256
        default via 2001:db8:e3::255 dev enp3s0  metric 1024
    
        $ ip -6 r get 2001:db8:e2::100
        2001:db8:e2::100 from :: dev enp2s0  src 2001:db8:e3::1  metric 0
            cache
    
        $ ip -6 r get 2001:db8:e2::100 oif enp3s0
        2001:db8:e2::100 from :: dev enp2s0  src 2001:db8:e3::1  metric 0
            cache
    
    The stack does consider the oif but a mismatch in rt6_device_match is not
    considered fatal because RT6_LOOKUP_F_IFACE is not set in the flags.
    
    Cc: Wolfgang Nothdurft <netdev@linux-dude.de>
    Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    David Ahern authored and davem330 committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    741a11d View commit details
    Browse the repository at this point in the history
  15. Input: psmouse - fix data race in __ps2_command

    The data race happens on ps2dev->cmdcnt and ps2dev->cmdbuf contents.
    __ps2_command reads that data concurrently with the interrupt handler. As
    the result, for example, if a response arrives just after the timeout,
    __ps2_command can copy out garbage from ps2dev->cmdbuf but then see that
    ps2dev->cmdcnt is 0 and return success.
    
    Stop the interrupt handler with serio_pause_rx() before reading the
    results.
    
    The data race was found with KernelThreadSanitizer (KTSAN).
    
    Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dvyukov authored and dtor committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    218c1f7 View commit details
    Browse the repository at this point in the history
  16. skbuff: Fix skb checksum partial check.

    Earlier patch 6ae459b tried to detect void ckecksum partial
    skb by comparing pull length to checksum offset. But it does
    not work for all cases since checksum-offset depends on
    updates to skb->data.
    
    Following patch fixes it by validating checksum start offset
    after skb-data pointer is updated. Negative value of checksum
    offset start means there is no need to checksum.
    
    Fixes: 6ae459b ("skbuff: Fix skb checksum flag on skb pull")
    Reported-by: Andrew Vagin <avagin@odin.com>
    Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Pravin B Shelar authored and davem330 committed Sep 29, 2015
    Configuration menu
    Copy the full SHA
    31b33df View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2015

  1. dsa: mv88e6xxx: Enable forwarding for unknown to the CPU port

    Frames destined to an unknown address must be forwarded to the CPU
    port. Otherwise incoming ARP, dhcp leases, etc, do not work.
    
    Signed-off-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    lunn authored and davem330 committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    c047a1f View commit details
    Browse the repository at this point in the history
  2. net/mlx4: Handle return codes in mlx4_qp_attach_common

    Both new_steering_entry() and existing_steering_entry() return values
    based on their success or failure, but currently they fall through
    silently.  This can make troubleshooting difficult, as we were unable
    to tell which one of these two functions returned errors or
    specifically what code was returned.  This patch remedies that
    situation by passing the return codes to err, which is returned by
    mlx4_qp_attach_common() itself.
    
    This also addresses a leak in the call to mlx4_bitmap_free() as well.
    
    Signed-off-by: Robb Manes <rmanes@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    robbmanes authored and davem330 committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    23860f1 View commit details
    Browse the repository at this point in the history
  3. testptp: Silence compiler warnings on ppc64

    When compiling Documentation/ptp/testptp.c the following compiler
    warnings are printed out:
    
    Documentation/ptp/testptp.c: In function ‘main’:
    Documentation/ptp/testptp.c:367:11: warning: format ‘%lld’ expects argument
        of type ‘long long int’, but argument 3 has type ‘__s64’ [-Wformat=]
               event.t.sec, event.t.nsec);
               ^
    Documentation/ptp/testptp.c:505:5: warning: format ‘%lld’ expects argument
        of type ‘long long int’, but argument 2 has type ‘__s64’ [-Wformat=]
         (pct+2*i)->sec, (pct+2*i)->nsec);
         ^
    Documentation/ptp/testptp.c:507:5: warning: format ‘%lld’ expects argument
        of type ‘long long int’, but argument 2 has type ‘__s64’ [-Wformat=]
         (pct+2*i+1)->sec, (pct+2*i+1)->nsec);
         ^
    Documentation/ptp/testptp.c:509:5: warning: format ‘%lld’ expects argument
        of type ‘long long int’, but argument 2 has type ‘__s64’ [-Wformat=]
         (pct+2*i+2)->sec, (pct+2*i+2)->nsec);
    
    This happens because __s64 is by default defined as "long" on ppc64,
    not as "long long". However, to fix these warnings, it's possible to
    define the __SANE_USERSPACE_TYPES__ so that __s64 gets defined to
    "long long" on ppc64, too.
    
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Acked-by: Richard Cochran <richardcochran@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    huth authored and davem330 committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    9ae6d49 View commit details
    Browse the repository at this point in the history
  4. net: dsa: fix preparation of a port STP update

    Because of the default 0 value of ret in dsa_slave_port_attr_set, a
    driver may return -EOPNOTSUPP from the commit phase of a STP state,
    which triggers a WARN() from switchdev.
    
    This happened on a 6185 switch which does not support hardware bridging.
    
    Fixes: 3563606 ("switchdev: convert STP update to switchdev attr set")
    Reported-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    vivien authored and davem330 committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    57a4753 View commit details
    Browse the repository at this point in the history
  5. net: Initialize flow flags in input path

    The fib_table_lookup tracepoint found 2 places where the flowi4_flags is
    not initialized.
    
    Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    David Ahern authored and davem330 committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    b84f787 View commit details
    Browse the repository at this point in the history
  6. PM / devfreq: Fix governor_store()

    Writing the currently set governor into sysfs currently
    seems to fail.
    Fix this by setting the return code to zero before
    leaving governor_store().
    
    Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
    Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
    tobiasjakobi authored and myungjoo committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    14a21e7 View commit details
    Browse the repository at this point in the history
  7. x86/hyperv: Fix the build in the !CONFIG_KEXEC_CORE case

    Recent changes in the Hyper-V driver:
    
      b4370df ("Drivers: hv: vmbus: add special crash handler")
    
    broke the build when CONFIG_KEXEC_CORE is not set:
    
      arch/x86/built-in.o: In function `hv_machine_crash_shutdown':
      arch/x86/kernel/cpu/mshyperv.c:112: undefined reference to `native_machine_crash_shutdown'
    
    Decorate all kexec related code with #ifdef CONFIG_KEXEC_CORE.
    
    Reported-by: Jim Davis <jim.epost@gmail.com>
    Reported-by: Stephen Hemminger <stephen@networkplumber.org>
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: devel@linuxdriverproject.org
    Cc: K. Y. Srinivasan <kys@microsoft.com>
    Cc: Haiyang Zhang <haiyangz@microsoft.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/1443002577-25370-1-git-send-email-vkuznets@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    vittyvk authored and Ingo Molnar committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    1e03474 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'samsung-fixes-4.3' of http://github.com/krzk/linux into v4…

    ….3-samsung-fixes
    
    Fixes for Exynos (DT and mach code):
    1. Finally fix booting of all 8 cores on Exynos Octa (Exynos542x): all
       8 cores are booting and can be used. The fix, based on vendor
       code and bootloader behavior, is as for time being only
       for MCPM enabled path.
    2. Fix thermal boot issue on SMDK5250.
    3. Fix invalid clock used for FIMD IOMMU.
    Kukjin Kim committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    4776dbb View commit details
    Browse the repository at this point in the history
  9. dmaengine: sun4i: fix unsafe list iteration

    Currently, sun4i_dma_free_contract iterates over lists and frees memory
    as it goes through them, causing reads to recently freed memory to
    be performed. Fix this by using the safe version of the iterator, so
    freed memory is not referenced at all.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Emilio López <emilio@elopez.com.ar>
    Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    elopez authored and Vinod Koul committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    40482e6 View commit details
    Browse the repository at this point in the history
  10. Merge tag 'v4.3-rc3' into x86/urgent, before applying dependent fix

    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    ccf79c2 View commit details
    Browse the repository at this point in the history
  11. x86, efi, kasan: Fix build failure on !KASAN && KMEMCHECK=y kernels

    With KMEMCHECK=y, KASAN=n we get this build failure:
    
      arch/x86/platform/efi/efi.c:673:3:    error: implicit declaration of function ‘memcpy’ [-Werror=implicit-function-declaration]
      arch/x86/platform/efi/efi_64.c:139:2: error: implicit declaration of function ‘memcpy’ [-Werror=implicit-function-declaration]
      arch/x86/include/asm/desc.h:121:2:    error: implicit declaration of function ‘memcpy’ [-Werror=implicit-function-declaration]
    
    Don't #undef memcpy if KASAN=n.
    
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Matt Fleming <matt.fleming@intel.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Fixes: 769a808 ("x86, efi, kasan: #undef memset/memcpy/memmove per arch")
    Link: http://lkml.kernel.org/r/1443544814-20122-1-git-send-email-ryabinin.a.a@gmail.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    aryabinin authored and Ingo Molnar committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    4ac86a6 View commit details
    Browse the repository at this point in the history
  12. fbdev: broadsheetfb: fix memory leak

    We have requested the firmware and it was loaded but we missed releasing
    it both on success and error.
    
    Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
    Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
    sudipm-mukherjee authored and tomba committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    4d370b7 View commit details
    Browse the repository at this point in the history
  13. drm/exynos: fix layering violation of address

    There is no guarantee that DMA addresses are the same as physical
    addresses, but dma_to_pfn() knows how to convert a dma_addr_t to a PFN
    which can then be converted to a struct page.
    
    Suggested-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Joonyoung Shim authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    5e0fb1f View commit details
    Browse the repository at this point in the history
  14. drm/exynos: fix missed calling of drm_prime_gem_destroy()

    When obj->import_attach is existed, code calling drm_prime_gem_destroy()
    was removed from commit 67e93c8 ("drm/exynos: stop copying sg
    table"), and it's a fault.
    
    The drm_prime_gem_destroy() is cleanup function which GEM drivers need
    to call when they use drm_gem_prime_import() to import dma-bufs, so
    exynos-drm driver using drm_gem_prime_import() needs calling
    drm_prime_gem_destroy().
    
    Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Joonyoung Shim authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    7c93537 View commit details
    Browse the repository at this point in the history
  15. drm/exynos: remove unnecessary NULL assignment

    They will be freed right or was freed already, so NULL assignment is
    unnecessary.
    
    Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Joonyoung Shim authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    0269b1a View commit details
    Browse the repository at this point in the history
  16. drm/exynos: staticize exynos_drm_gem_init()

    The exynos_drm_gem_init() is used only in exynos_drm_gem.c file. Make it
    static and don't export it.
    
    Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Joonyoung Shim authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    b319dc6 View commit details
    Browse the repository at this point in the history
  17. drm/exynos: cleanup function calling written twice

    By if statment, some function callings are written twice. It needs
    several line feed by indentation in if statment. Make to one function
    calling from outside if statment.
    
    Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Joonyoung Shim authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    333e8e5 View commit details
    Browse the repository at this point in the history
  18. drm/exynos: cleanup line feed in exynos_drm_gem_get_ioctl

    The beginning of statement in function is next line of a brace.
    
    Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Joonyoung Shim authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    b4cfd4d View commit details
    Browse the repository at this point in the history
  19. drm/exynos: Remove useless EXPORT_SYMBOL_GPLs

    All the user of these functions are inside exynos-drm driver and
    you don't need to export the symbols for that case.
    
    Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    djkurtz authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    b9e7191 View commit details
    Browse the repository at this point in the history
  20. drm/exynos: remove call to drm_gem_free_mmap_offset()

    The drm_gem_object_release() function already performs this cleanup,
    so there is no reason to do it explicitly.
    
    Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Joonyoung Shim authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    8755556 View commit details
    Browse the repository at this point in the history
  21. drm/exynos: create a fake mmap offset with gem creation

    Don't create a fake mmap offset in exynos_drm_gem_dumb_map_offset. If
    not, it will call drm_gem_create_mmap_offset whenever user requests
    DRM_IOCTL_MODE_MAP_DUMB ioctl.
    
    Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Joonyoung Shim authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    48cf53f View commit details
    Browse the repository at this point in the history
  22. drm/exynos: Suspend/resume is unused if !PM

    Protect the suspend and resume callbacks with an #ifdef CONFIG_PM_SLEEP
    guard to avoid "defined but not used" warnings.
    
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    thierryreding authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    7082947 View commit details
    Browse the repository at this point in the history
  23. drm/exynos: fimc: Clock control is unused if !PM

    Protect the fimc_clk_ctrl() function with an #ifdef CONFIG_PM guard to
    avoid "defined but not used" warnings.
    
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    thierryreding authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    641a2fe View commit details
    Browse the repository at this point in the history
  24. drm/exynos: rotator: Clock control is unused if !PM

    Protect the rotator_clk_crtl() function with an #ifdef CONFIG_PM guard
    to avoid "defined but not used" warnings.
    
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    thierryreding authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    85a8203 View commit details
    Browse the repository at this point in the history
  25. dmaengine: fix balance of privatecnt

    dma_release_channel() decrements privatecnt counter and almost all dma_get*
    function increments it with the exception of dma_get_slave_channel().
    In most cases this does not cause issue since normally the channel is not
    requested and released, but if a driver requests DMA channel via
    dma_get_slave_channel() and releases the channel the privatecnt will be
    unbalanced and this will prevent for example getting channel for memcpy.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    Peter Ujfalusi authored and Vinod Koul committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    214fc4e View commit details
    Browse the repository at this point in the history
  26. dmaengine: xgene-dma: Fix overwritting DMA tx ring

    This patch fixes an over flow issue with the TX ring descriptor. Each
    descriptor is 32B in size and an operation requires 2 of these
    descriptors.
    
    Signed-off-by: Rameshwar Prasad Sahu <rsahu@apm.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    Rameshwar Prasad Sahu authored and Vinod Koul committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    ee08b59 View commit details
    Browse the repository at this point in the history
  27. drm/exynos: remove fimd_mode_fixup()

    The only thing mode_fixup was doing was set the adjusted_mode->vrefresh to
    60, but it already has the value of 60 when the fimd_mode_fixup() is
    called. That means this call is actually pointless and can be removed.
    
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Gustavo Padovan authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    50bbfbf View commit details
    Browse the repository at this point in the history
  28. drm/exynos: remove decon_mode_fixup()

    The only thing mode_fixup was doing was set the adjusted_mode->vrefresh to
    60, but it already has the value of 60 when the decon_mode_fixup() is
    called. That means this call is actually pointless and can be removed.
    
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Gustavo Padovan authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    208d7ee View commit details
    Browse the repository at this point in the history
  29. drm/exynos: remove unused mode_fixup() code

    CRTC's mode_fixup() isn't used anymore in exynos, remove it.
    
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Gustavo Padovan authored and daeinki committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    10d97d5 View commit details
    Browse the repository at this point in the history
  30. dmaengine: dw: properly read DWC_PARAMS register

    In case we have less than maximum allowed channels (8) and autoconfiguration is
    enabled the DWC_PARAMS read is wrong because it uses different arithmetic to
    what is needed for channel priority setup.
    
    Re-do the caclulations properly. This now works on AVR32 board well.
    
    Fixes: fed2574 (dw_dmac: introduce software emulation of LLP transfers)
    Cc: yitian.bu@tangramtek.com
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    andy-shev authored and Vinod Koul committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    6bea0f6 View commit details
    Browse the repository at this point in the history
  31. MIPS: Wire up userfaultfd and membarrier syscalls.

    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    96fc7a9 View commit details
    Browse the repository at this point in the history
  32. drm/vmwgfx: Fix a command submission hang regression

    When we're out of command buffer space, we turn on the command buffer
    processed irq without re-checking for finished command buffers afterwards.
    This might lead to a missed irq and the command submission process waiting
    forever for space.
    
    Fix this by rerunning the command buffer submission handler whenever we're
    out of command space. This ensures both that we don't needlessly turn on
    the irq, and that if we decide to turn on the irq, we recheck for finished
    command buffers before going to sleep.
    
    Reported-and-tested-by: Bryan Li <ldexin@vmware.com>
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Sinclair Yeh <syeh@vmware.com>
    thomashvmw committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    575f9c8 View commit details
    Browse the repository at this point in the history
  33. mmc: core: fix dead loop of mmc_retune

    When get a CRC error, start the mmc_retune, it will issue CMD19/CMD21
    to do tune, assume there were 10 clock phase need to try, phase 0 to
    phase 6 is ok, phase 7 to phase 9 is NG, we try it from 0 to 9, so
    the last CMD19/CMD21 will get CRC error, host->need_retune was set and
    cause mmc_retune was called, then dead loop of mmc_retune
    
    Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Fixes: bd11e8b ("mmc: core: Flag re-tuning is needed on CRC errors")
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    ChaotianJing authored and storulf committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    031277d View commit details
    Browse the repository at this point in the history
  34. drm: Add a non-locking version of drm_kms_helper_poll_enable(), v2

    drm_kms_helper_poll_enable() was converted to lock the mode_config
    mutex in commit 8c4ccc4
    ("drm/probe-helper: Grab mode_config.mutex in poll_init/enable").
    
    This disregarded the cases where this function is called from a context
    where this mutex is already locked.
    
    Add a non-locking version as well.
    
    Changes since v1:
    - use function name suffix '_locked' for the function that
      is to be called from a locked context.
    
    Signed-off-by: Egbert Eich <eich@suse.de>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    e4t authored and jnikula committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    4ad640e View commit details
    Browse the repository at this point in the history
  35. drm/i915: Call non-locking version of drm_kms_helper_poll_enable(), v2

    drm_kms_helper_poll_enable() is called from a context in
    intel_hpd_irq_storm_disable() where the the mode_config mutex is
    already locked.
    When this function was converted to lock this mutex in
    commit 8c4ccc4 ("drm/probe-helper: Grab mode_config.mutex
    in poll_init/enable") a deadlock occurred.
    Call the newly implemented non-locking version of this function.
    
    Changes since v1:
    - use function name suffix '_locked' for the function that
      is to be called from a locked context.
    
    Signed-off-by: Egbert Eich <eich@suse.de>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    e4t authored and jnikula committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    b94be97 View commit details
    Browse the repository at this point in the history
  36. s390/vtime: correct scaled cputime of partially idle CPUs

    The calculation for the SMT scaling factor for a hardware thread
    which has been partially idle needs to disregard the cycles spent
    by the other threads of the core while the thread is idle.
    
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Martin Schwidefsky committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    72d38b1 View commit details
    Browse the repository at this point in the history
  37. MIPS: dma-default: Fix 32-bit fall back to GFP_DMA

    If there is a DMA zone (usually 24bit = 16MB I believe), but no DMA32
    zone, as is the case for some 32-bit kernels, then massage_gfp_flags()
    will cause DMA memory allocated for devices with a 32..63-bit
    coherent_dma_mask to fall back to using __GFP_DMA, even though there may
    only be 32-bits of physical address available anyway.
    
    Correct that case to compare against a mask the size of phys_addr_t
    instead of always using a 64-bit mask.
    
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Fixes: a2e715a ("MIPS: DMA: Fix computation of DMA flags from device's coherent_dma_mask.")
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: <stable@vger.kernel.org> # 2.6.36+
    Patchwork: https://patchwork.linux-mips.org/patch/9610/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    James Hogan authored and ralfbaechle committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    5396005 View commit details
    Browse the repository at this point in the history
  38. MIPS: CPS: Stop dangling delay slot from has_mt.

    The has_mt macro ended with a branch, leaving its callers with a delay
    slot that would be executed if Config3.MT is not set. However it would
    not be executed if Config3 (or earlier Config registers) don't exist
    which makes it somewhat inconsistent at best. Fill the delay slot in the
    macro & fix the mips_cps_boot_vpes caller appropriately.
    
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Cc: Markos Chandras <markos.chandras@imgtec.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: <stable@vger.kernel.org> # 3.16+
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/10865/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    paulburton authored and ralfbaechle committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    1e5fb28 View commit details
    Browse the repository at this point in the history
  39. MIPS: CPS: Don't include MT code in non-MT kernels.

    The MT-specific code in mips_cps_boot_vpes can safely be omitted from
    kernels which don't support MT, with the default VPE==0 case being used
    as it would be after the has_mt (Config3.MT) check failed at runtime.
    Discarding the code entirely will save us a few bytes & allow cleaner
    handling of MT ASE instructions by later patches.
    
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Cc: Markos Chandras <markos.chandras@imgtec.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: <stable@vger.kernel.org> # 3.16+
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/10866/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    paulburton authored and ralfbaechle committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    a5b0f6d View commit details
    Browse the repository at this point in the history
  40. MIPS: CPS: #ifdef on CONFIG_MIPS_MT_SMP rather than CONFIG_MIPS_MT

    The CONFIG_MIPS_MT symbol can be selected by CONFIG_MIPS_VPE_LOADER in
    addition to CONFIG_MIPS_MT_SMP. We only want MT code in the CPS SMP boot
    vector if we're using MT for SMP. Thus switch the config symbol we ifdef
    against to CONFIG_MIPS_MT_SMP.
    
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Cc: Markos Chandras <markos.chandras@imgtec.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: <stable@vger.kernel.org> # 3.16+
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/10867/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    paulburton authored and ralfbaechle committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    7a63076 View commit details
    Browse the repository at this point in the history
  41. drm/amdgpu/cgs: remove import_gpu_mem

    It was added for completeness, but we don't have any users
    for it yet.  Daniel noted that it may be racy. Remove it.
    
    Change-Id: I5f5546f8911a4f294008a62dc86a73f3face38d1
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    alexdeucher committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    2392eec View commit details
    Browse the repository at this point in the history
  42. drm/amdgpu: only print meaningful VM faults

    Port of radeon commit 9b7d786.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    ChristianKoenigAMD authored and alexdeucher committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    3e4e380 View commit details
    Browse the repository at this point in the history
  43. Initialize msg/shm IPC objects before doing ipc_addid()

    As reported by Dmitry Vyukov, we really shouldn't do ipc_addid() before
    having initialized the IPC object state.  Yes, we initialize the IPC
    object in a locked state, but with all the lockless RCU lookup work,
    that IPC object lock no longer means that the state cannot be seen.
    
    We already did this for the IPC semaphore code (see commit e8577d1:
    "ipc/sem.c: fully initialize sem_array before making it visible") but we
    clearly forgot about msg and shm.
    
    Reported-by: Dmitry Vyukov <dvyukov@google.com>
    Cc: Manfred Spraul <manfred@colorfullife.com>
    Cc: Davidlohr Bueso <dbueso@suse.de>
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    b9a5322 View commit details
    Browse the repository at this point in the history
  44. Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull RCU fixes from Ingo Molnar:
     "Two RCU fixes:
    
       - work around bug with recent GCC versions.
    
       - fix false positive lockdep splat"
    
    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      rcu: Suppress lockdep false positive for rcp->exp_funnel_mutex
      rcu: Change _wait_rcu_gp() to work around GCC bug 67055
    torvalds committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    70c8a00 View commit details
    Browse the repository at this point in the history
  45. Merge tag 'hwmon-for-linus-v4.3-rc4' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/groeck/linux-staging
    
    Pull hwmin fixes from Guenter Roeck:
     "Fix module autoload for various drivers"
    
    * tag 'hwmon-for-linus-v4.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
      hwmon: (pwm-fan) Fix module autoload for OF platform driver
      hwmon: (gpio-fan) Fix module autoload for OF platform driver
      hwmon: (abx500) Fix module autoload for OF platform driver
    torvalds committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    d4e842b View commit details
    Browse the repository at this point in the history
  46. Merge git://www.linux-watchdog.org/linux-watchdog

    Pull watchdog fixes from Wim Van Sebroeck:
     "This fixes:
    
       - module autoload for 3 OF platform drivers
       - poweroff behaviour on bcm2835 watchdog device
       - I2C dependencies for iTCO_wdt.c"
    
    * git://www.linux-watchdog.org/linux-watchdog:
      watchdog: iTCO: Fix dependencies on I2C
      watchdog: bcm2835: Fix poweroff behaviour
      watchdog: Fix module autoload for OF platform driver
    torvalds committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    dd36d73 View commit details
    Browse the repository at this point in the history
  47. ASoC: wm8962: balance pm_runtime_enable

    pm_runtime_enable is called in probe to enable runtime PM
    for wm8962 codec, but pm_runtime_disable isn't called in remove
    callback, nor is called in error path if probe fails after runtime
    PM is enabled, this causes unbalanced pm_runtime_enable.
    
    This patch Adds pm_runtime_disable in remove callback and error path,
    to balance pm_runtime_enable.
    
    Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jiada-wang authored and broonie committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    57622ae View commit details
    Browse the repository at this point in the history
  48. ASoC: sgtl5000: fix wrong register MIC_BIAS_VOLTAGE setup on probe

    Signed-off-by: Gianluca Renzi <gianlucarenzi@eurekelettronica.it>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Gianluca Renzi authored and broonie committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    e256da8 View commit details
    Browse the repository at this point in the history
  49. x86/process: Add proper bound checks in 64bit get_wchan()

    Dmitry Vyukov reported the following using trinity and the memory
    error detector AddressSanitizer
    (https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel).
    
    [ 124.575597] ERROR: AddressSanitizer: heap-buffer-overflow on
    address ffff88002e280000
    [ 124.576801] ffff88002e280000 is located 131938492886538 bytes to
    the left of 28857600-byte region [ffffffff81282e0a, ffffffff82e0830a)
    [ 124.578633] Accessed by thread T10915:
    [ 124.579295] inlined in describe_heap_address
    ./arch/x86/mm/asan/report.c:164
    [ 124.579295] #0 ffffffff810dd277 in asan_report_error
    ./arch/x86/mm/asan/report.c:278
    [ 124.580137] #1 ffffffff810dc6a0 in asan_check_region
    ./arch/x86/mm/asan/asan.c:37
    [ 124.581050] #2 ffffffff810dd423 in __tsan_read8 ??:0
    [ 124.581893] #3 ffffffff8107c093 in get_wchan
    ./arch/x86/kernel/process_64.c:444
    
    The address checks in the 64bit implementation of get_wchan() are
    wrong in several ways:
    
     - The lower bound of the stack is not the start of the stack
       page. It's the start of the stack page plus sizeof (struct
       thread_info)
    
     - The upper bound must be:
    
           top_of_stack - TOP_OF_KERNEL_STACK_PADDING - 2 * sizeof(unsigned long).
    
       The 2 * sizeof(unsigned long) is required because the stack pointer
       points at the frame pointer. The layout on the stack is: ... IP FP
       ... IP FP. So we need to make sure that both IP and FP are in the
       bounds.
    
    Fix the bound checks and get rid of the mix of numeric constants, u64
    and unsigned long. Making all unsigned long allows us to use the same
    function for 32bit as well.
    
    Use READ_ONCE() when accessing the stack. This does not prevent a
    concurrent wakeup of the task and the stack changing, but at least it
    avoids TOCTOU.
    
    Also check task state at the end of the loop. Again that does not
    prevent concurrent changes, but it avoids walking for nothing.
    
    Add proper comments while at it.
    
    Reported-by: Dmitry Vyukov <dvyukov@google.com>
    Reported-by: Sasha Levin <sasha.levin@oracle.com>
    Based-on-patch-from: Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Borislav Petkov <bp@alien8.de>
    Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Andrey Konovalov <andreyknvl@google.com>
    Cc: Kostya Serebryany <kcc@google.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: kasan-dev <kasan-dev@googlegroups.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/20150930083302.694788319@linutronix.de
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    KAGA-KOKO committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    eddd382 View commit details
    Browse the repository at this point in the history
  50. x86/process: Unify 32bit and 64bit implementations of get_wchan()

    The stack layout and the functionality is identical. Use the 64bit
    version for all of x86.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Borislav Petkov <bp@alien8.de>
    Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Andrey Konovalov <andreyknvl@google.com>
    Cc: Kostya Serebryany <kcc@google.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: kasan-dev <kasan-dev@googlegroups.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Sasha Levin <sasha.levin@oracle.com>
    Cc: Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
    Link: http://lkml.kernel.org/r/20150930083302.779694618@linutronix.de
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    KAGA-KOKO committed Sep 30, 2015
    Configuration menu
    Copy the full SHA
    7ba7805 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2015

  1. dmaengine: at_xdmac: change block increment addressing mode

    The addressing mode we were using was not only incrementing the address at
    each microblock, but also at each data boundary, which was severely slowing
    the transfer, without any benefit since we were not using the data stride.
    
    Switch to the micro block increment only in order to get back to an
    acceptable performance level.
    
    Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Fixes: 6007ccb ("dmaengine: xdmac: Add interleaved transfer support")
    Cc: stable@vger.kernel.org #4.2
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    mripard authored and Vinod Koul committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    a1cf090 View commit details
    Browse the repository at this point in the history
  2. dmaengine: at_xdmac: clean used descriptor

    When putting back a descriptor to the free descs list, some fields are
    not set to 0, it can cause bugs if someone uses it without having this
    in mind.
    Descriptor are not put back one by one so it is easier to clean
    descriptors when we request them.
    
    Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Cc: stable@vger.kernel.org #4.2
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    ldesroches authored and Vinod Koul committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    0be2136 View commit details
    Browse the repository at this point in the history
  3. dmaengine: zxdma: Fix off-by-one for testing valid pchan request

    The valid pchan range is 0 ~ d->dma_requests - 1.
    
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Reviewed-by: Jun Nie <jun.nie@linaro.org>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    AxelLin authored and Vinod Koul committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    aa3ee5f View commit details
    Browse the repository at this point in the history
  4. dmaengine: pxa_dma: fix the no-requestor case

    A very small number of devices don't use the flow control offered by
    requestor lines. In these specific cases, the pxa dma driver should be
    aware of that and not try to use a requestor line.
    
    Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    rjarzmik authored and Vinod Koul committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    e87ffbd View commit details
    Browse the repository at this point in the history
  5. dmaengine: pxa_dma: fix residue corner case

    A very tiny temporal window exists in the residue calculation where :
     - upon entering residue calculation, the transfer is ongoing
     - when reading the current transfer pointer, it just changed to
       the "finisher/linker" descriptor
    
    In this case, the residue returned is the whole transfer length instead
    of 0. Fix it.
    
    This appears almost in one extreme case, where the driver is used
    by older clients which inquire for residue in interrupt context, such
    as the smsc91x ethernet driver, in a tight loop :
      interrupt_handler()
        dmaengine_submit()
        do {
          dmaengine_tx_status()
        } while (residue > 0 || status != DMA_ERROR)
    
    Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    rjarzmik authored and Vinod Koul committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    7b09a1b View commit details
    Browse the repository at this point in the history
  6. drm/qxl: recreate the primary surface when the bo is not primary

    When disabling/enabling a crtc the primary area must be updated
    independently of which crtc has been disabled/enabled.
    
    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1264735
    
    Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    fidencio authored and airlied committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    8d0d940 View commit details
    Browse the repository at this point in the history
  7. drm/exynos: dp: remove suspend/resume functions

    This patch removes unnecessary pm suspend/resume functions.
    
    All kms sub drivers will be controlled by top of Exynos drm driver
    and connector dpms so these sub drivers shouldn't have their own
    pm interfaces.
    
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    daeinki committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    148ba09 View commit details
    Browse the repository at this point in the history
  8. drm/exynos: fimd: actually disable dp clock

    fimd_dp_clock_enable() was setting the always to enabled,
    this patch fix this to actually use the value that is set to 'val'.
    
    Reported-by: Emilio López <emilio.lopez@collabora.co.uk>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    Gustavo Padovan authored and daeinki committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    3c79fb8 View commit details
    Browse the repository at this point in the history
  9. drm/exynos: Staticize local function in exynos_drm_gem.c

    The exynos_drm_gem_mmap_buffer() is not used outside so make it static.
    
    Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
    Signed-off-by: Inki Dae <inki.dae@samsung.com>
    krzk authored and daeinki committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    cda3742 View commit details
    Browse the repository at this point in the history
  10. Merge remote-tracking branch 'tglx/x86/urgent' into x86/urgent

    Pick up the WCHAN fixes from Thomas.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    95c632f View commit details
    Browse the repository at this point in the history
  11. MIPS: Fix the build on jz4740 after removing the custom gpio.h

    Somehow the wrong version of the patch to remove the use of custom
    gpio.h on mips has been merged. This patch add the missing fixes for a
    build error on jz4740 because linux/gpio.h doesn't provide any machine
    specfics definitions anymore.
    
    Signed-off-by: Alban Bedel <albeu@free.fr>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: Lars-Peter Clausen <lars@metafoo.de>
    Cc: Brian Norris <computersforpeace@gmail.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/11089/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    AlbanBedel authored and ralfbaechle committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    5b235dc View commit details
    Browse the repository at this point in the history
  12. blk-mq: fix racy updates of rq->errors

    blk_mq_complete_request may be a no-op if the request has already
    been completed by others means (e.g. a timeout or cancellation), but
    currently drivers have to set rq->errors before calling
    blk_mq_complete_request, which might leave us with the wrong error value.
    
    Add an error parameter to blk_mq_complete_request so that we can
    defer setting rq->errors until we known we won the race to complete the
    request.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Christoph Hellwig authored and axboe committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    f4829a9 View commit details
    Browse the repository at this point in the history
  13. blk-mq: factor out a helper to iterate all tags for a request_queue

    And replace the blk_mq_tag_busy_iter with it - the driver use has been
    replaced with a new helper a while ago, and internal to the block we
    only need the new version.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Christoph Hellwig authored and axboe committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    0bf6cd5 View commit details
    Browse the repository at this point in the history
  14. s390/defconfig: set SCSI_DH=y

    Fix this warning:
    arch/s390/configs/performance_defconfig:380:warning: symbol value 'm' invalid for SCSI_DH
    
    Introduced via 086b91d
    (scsi_dh: integrate into the core SCSI code)
    
    Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Sebastian Ott authored and Martin Schwidefsky committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    daad0bf View commit details
    Browse the repository at this point in the history
  15. regulator: core: Handle probe deferral from DT when resolving supplies

    When resolving regulator-regulator supplies we ignore probe deferral
    returns from regulator_dev_lookup() (such as are generated for DT when
    we can see a supply is registered) and just fall back to the dummy
    regulator if there are full constraints (as is the case for DT).  This
    means that probe deferral is broken for DT systems, fix that by paying
    attention to -EPROBE_DEFER return codes like we do -ENODEV.
    
    A further patch will simplify this further, this is a minimal fix for
    the specific issue.
    
    Fixes: 9f7e25e (regulator: core: Handle full constraints systems when resolving supplies)
    Reported-by: Sascha Hauer <s.hauer@pengutronix.de>
    Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
    Signed-off-by: Mark Brown <broonnie@kernel.org>
    Cc: stable@vger.kernel.org
    broonie committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    0642312 View commit details
    Browse the repository at this point in the history
  16. ASoC: rt5645: Correct the naming and setting of ADC Boost Volume Control

    Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    oder-chiou authored and broonie committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    8c1a9d6 View commit details
    Browse the repository at this point in the history
  17. ASoC: tlv320aic3x: Prevent writing reserved registers on tlv320aic310…

    …4 CODECs
    
    The current code writes a set of registers that are reserved on the
    tlc320aic3104. The change skips those registers for that IC.
    
    Signed-off-by: Rick Mann <rmann@latencyzero.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    JetForMe authored and broonie committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    2d1180e View commit details
    Browse the repository at this point in the history
  18. genirq: Fix race in register_irq_proc()

    Per-IRQ directories in procfs are created only when a handler is first
    added to the irqdesc, not when the irqdesc is created.  In the case of
    a shared IRQ, multiple tasks can race to create a directory.  This
    race condition seems to have been present forever, but is easier to
    hit with async probing.
    
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Link: http://lkml.kernel.org/r/1443266636.2004.2.camel@decadent.org.uk
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: stable@vger.kernel.org
    bwhacks authored and KAGA-KOKO committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    95c2b17 View commit details
    Browse the repository at this point in the history
  19. x86/efi: Fix boot crash by mapping EFI memmap entries bottom-up at ru…

    …ntime, instead of top-down
    
    Beginning with UEFI v2.5 EFI_PROPERTIES_TABLE was introduced
    that signals that the firmware PE/COFF loader supports splitting
    code and data sections of PE/COFF images into separate EFI
    memory map entries. This allows the kernel to map those regions
    with strict memory protections, e.g. EFI_MEMORY_RO for code,
    EFI_MEMORY_XP for data, etc.
    
    Unfortunately, an unwritten requirement of this new feature is
    that the regions need to be mapped with the same offsets
    relative to each other as observed in the EFI memory map. If
    this is not done crashes like this may occur,
    
      BUG: unable to handle kernel paging request at fffffffefe6086dd
      IP: [<fffffffefe6086dd>] 0xfffffffefe6086dd
      Call Trace:
       [<ffffffff8104c90e>] efi_call+0x7e/0x100
       [<ffffffff81602091>] ? virt_efi_set_variable+0x61/0x90
       [<ffffffff8104c583>] efi_delete_dummy_variable+0x63/0x70
       [<ffffffff81f4e4aa>] efi_enter_virtual_mode+0x383/0x392
       [<ffffffff81f37e1b>] start_kernel+0x38a/0x417
       [<ffffffff81f37495>] x86_64_start_reservations+0x2a/0x2c
       [<ffffffff81f37582>] x86_64_start_kernel+0xeb/0xef
    
    Here 0xfffffffefe6086dd refers to an address the firmware
    expects to be mapped but which the OS never claimed was mapped.
    The issue is that included in these regions are relative
    addresses to other regions which were emitted by the firmware
    toolchain before the "splitting" of sections occurred at
    runtime.
    
    Needless to say, we don't satisfy this unwritten requirement on
    x86_64 and instead map the EFI memory map entries in reverse
    order. The above crash is almost certainly triggerable with any
    kernel newer than v3.13 because that's when we rewrote the EFI
    runtime region mapping code, in commit d2f7cbe ("x86/efi:
    Runtime services virtual mapping"). For kernel versions before
    v3.13 things may work by pure luck depending on the
    fragmentation of the kernel virtual address space at the time we
    map the EFI regions.
    
    Instead of mapping the EFI memory map entries in reverse order,
    where entry N has a higher virtual address than entry N+1, map
    them in the same order as they appear in the EFI memory map to
    preserve this relative offset between regions.
    
    This patch has been kept as small as possible with the intention
    that it should be applied aggressively to stable and
    distribution kernels. It is very much a bugfix rather than
    support for a new feature, since when EFI_PROPERTIES_TABLE is
    enabled we must map things as outlined above to even boot - we
    have no way of asking the firmware not to split the code/data
    regions.
    
    In fact, this patch doesn't even make use of the more strict
    memory protections available in UEFI v2.5. That will come later.
    
    Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Reported-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Cc: <stable@vger.kernel.org>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Chun-Yi <jlee@suse.com>
    Cc: Dave Young <dyoung@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: James Bottomley <JBottomley@Odin.com>
    Cc: Lee, Chun-Yi <jlee@suse.com>
    Cc: Leif Lindholm <leif.lindholm@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Matthew Garrett <mjg59@srcf.ucam.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Jones <pjones@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-kernel@vger.kernel.org
    Link: http://lkml.kernel.org/r/1443218539-7610-2-git-send-email-matt@codeblueprint.co.uk
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Matt Fleming authored and Ingo Molnar committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    a5caa20 View commit details
    Browse the repository at this point in the history
  20. arm64/efi: Fix boot crash by not padding between EFI_MEMORY_RUNTIME r…

    …egions
    
    The new Properties Table feature introduced in UEFIv2.5 may
    split memory regions that cover PE/COFF memory images into
    separate code and data regions. Since these regions only differ
    in the type (runtime code vs runtime data) and the permission
    bits, but not in the memory type attributes (UC/WC/WT/WB), the
    spec does not require them to be aligned to 64 KB.
    
    Since the relative offset of PE/COFF .text and .data segments
    cannot be changed on the fly, this means that we can no longer
    pad out those regions to be mappable using 64 KB pages.
    Unfortunately, there is no annotation in the UEFI memory map
    that identifies data regions that were split off from a code
    region, so we must apply this logic to all adjacent runtime
    regions whose attributes only differ in the permission bits.
    
    So instead of rounding each memory region to 64 KB alignment at
    both ends, only round down regions that are not directly
    preceded by another runtime region with the same type
    attributes. Since the UEFI spec does not mandate that the memory
    map be sorted, this means we also need to sort it first.
    
    Note that this change will result in all EFI_MEMORY_RUNTIME
    regions whose start addresses are not aligned to the OS page
    size to be mapped with executable permissions (i.e., on kernels
    compiled with 64 KB pages). However, since these mappings are
    only active during the time that UEFI Runtime Services are being
    invoked, the window for abuse is rather small.
    
    Tested-by: Mark Salter <msalter@redhat.com>
    Tested-by: Mark Rutland <mark.rutland@arm.com> [UEFI 2.4 only]
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Reviewed-by: Mark Salter <msalter@redhat.com>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
    Cc: <stable@vger.kernel.org> # v4.0+
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Leif Lindholm <leif.lindholm@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: linux-kernel@vger.kernel.org
    Link: http://lkml.kernel.org/r/1443218539-7610-3-git-send-email-matt@codeblueprint.co.uk
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ard Biesheuvel authored and Ingo Molnar committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    0ce3cc0 View commit details
    Browse the repository at this point in the history
  21. Revert "KVM: x86: apply guest MTRR virtualization on host reserved pa…

    …ges"
    
    This reverts commit fd717f1.
    It was reported to cause Machine Check Exceptions (bug 104091).
    
    Reported-by: harn-solo@gmx.de
    Cc: stable@vger.kernel.org # 4.2+
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    606decd View commit details
    Browse the repository at this point in the history
  22. Revert "KVM: SVM: Sync g_pat with guest-written PAT value"

    This reverts commit e098223,
    which has a dependency on other commits being reverted.
    
    Cc: stable@vger.kernel.org # 4.2+
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    625422f View commit details
    Browse the repository at this point in the history
  23. Revert "KVM: svm: handle KVM_X86_QUIRK_CD_NW_CLEARED in svm_get_mt_mask"

    This reverts commit 5492830.
    It builds on the commit that is being reverted next.
    
    Cc: stable@vger.kernel.org # 4.2+
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    bcf166a View commit details
    Browse the repository at this point in the history
  24. Revert "KVM: SVM: use NPT page attributes"

    This reverts commit 3c2e7f7.
    Initializing the mapping from MTRR to PAT values was reported to
    fail nondeterministically, and it also caused extremely slow boot
    (due to caching getting disabled---bug 103321) with assigned devices.
    
    Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
    Reported-by: Sebastian Schuette <dracon@ewetel.net>
    Cc: stable@vger.kernel.org # 4.2+
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    fc07e76 View commit details
    Browse the repository at this point in the history
  25. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jmorris/linux-security
    
    Pull key signing fixes from James Morris:
     "Keyrings and modsign fixes from David Howells"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      MODSIGN: Change from CMS to PKCS#7 signing if the openssl is too old
      X.509: Don't strip leading 00's from key ID when constructing key description
      KEYS: Remove unnecessary header #inclusions from extract-cert.c
      KEYS: Fix race between key destruction and finding a keyring by name
    torvalds committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    9522f47 View commit details
    Browse the repository at this point in the history
  26. Merge tag 'upstream-4.3-rc4' of git://git.infradead.org/linux-ubifs

    Pull UBI/UBIFS fixes from Richard Weinberger:
     "This contains three bug fixes for both UBI and UBIFS"
    
    * tag 'upstream-4.3-rc4' of git://git.infradead.org/linux-ubifs:
      UBI: return ENOSPC if no enough space available
      UBI: Validate data_size
      UBIFS: Kill unneeded locking in ubifs_init_security
    torvalds committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    f97b870 View commit details
    Browse the repository at this point in the history
  27. Update KVM homepage Url

    The old one appears to be a generic catch all page, which
    is unhelpful.
    
    Signed-off-by: Dirk Mueller <dmueller@suse.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    dirkmueller authored and bonzini committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    038161d View commit details
    Browse the repository at this point in the history
  28. Use WARN_ON_ONCE for missing X86_FEATURE_NRIPS

    The cpu feature flags are not ever going to change, so warning
    everytime can cause a lot of kernel log spam
    (in our case more than 10GB/hour).
    
    The warning seems to only occur when nested virtualization is
    enabled, so it's probably triggered by a KVM bug.  This is a
    sensible and safe change anyway, and the KVM bug fix might not
    be suitable for stable releases anyway.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Dirk Mueller <dmueller@suse.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    dirkmueller authored and bonzini committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    d292242 View commit details
    Browse the repository at this point in the history
  29. MIPS: BPF: Do all exports of symbols with FEXPORT().

    FEXPORT also marks the symbol as code using .type symbol, @function.
    Without objdump -d will output only a hexdump for code following the
    affected symbols.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    1e16a8f View commit details
    Browse the repository at this point in the history
  30. dm: fix AB-BA deadlock in __dm_destroy()

    __dm_destroy() takes io_barrier SRCU lock (dm_get_live_table) and
    suspend_lock in reverse order.  Doing so can cause AB-BA deadlock:
    
      __dm_destroy                    dm_swap_table
      ---------------------------------------------------
                                      mutex_lock(suspend_lock)
      dm_get_live_table()
        srcu_read_lock(io_barrier)
                                      dm_sync_table()
                                        synchronize_srcu(io_barrier)
                                          .. waiting for dm_put_live_table()
      mutex_lock(suspend_lock)
        .. waiting for suspend_lock
    
    Fix this by taking the locks in proper order.
    
    Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
    Fixes: ab7c7bb ("dm: hold suspend_lock while suspending device during device deletion")
    Acked-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org
    nomuranec authored and snitm committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    2a708cf View commit details
    Browse the repository at this point in the history
  31. arm64: Fix THP protection change logic

    6910fa1 ("arm64: enable PTE type bit in the mask for pte_modify") fixes
    a problem whereby a large block of PROT_NONE mapped memory is
    incorrectly mapped as block descriptors when mprotect is called.
    
    Unfortunately, a subtle bug was introduced by this fix to the THP logic.
    
    If one mmaps a large block of memory, then faults it such that it is
    collapsed into THPs; resulting calls to mprotect on this area of memory
    will lead to incorrect table descriptors being written instead of block
    descriptors. This is because pmd_modify calls pte_modify which is now
    allowed to modify the type of the page table entry.
    
    This patch reverts commit 6910fa1, and
    fixes the problem it was trying to address by adjusting PAGE_NONE to
    represent a table entry. Thus no change in pte type is required when
    moving from PROT_NONE to a different protection.
    
    Fixes: 6910fa1 ("arm64: enable PTE type bit in the mask for pte_modify")
    Cc: <stable@vger.kernel.org> # 4.0+
    Cc: Feng Kan <fkan@apm.com>
    Reported-by: Ganapatrao Kulkarni <Ganapatrao.Kulkarni@caviumnetworks.com>
    Tested-by: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>
    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Steve Capper <steve.capper@linaro.org>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    stevecapperlinaro authored and ctmarinas committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    1a541b4 View commit details
    Browse the repository at this point in the history
  32. Merge branches 'pm-pci' and 'acpi-pci'

    * pm-pci:
      PCI / PM: Update runtime PM documentation for PCI devices
    
    * acpi-pci:
      ACPI / PCI: Remove duplicated penalty on SCI IRQ
      ACPI, PCI, irq: Do not share PCI IRQ with ISA IRQ
    rafaeljw committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    dd953d3 View commit details
    Browse the repository at this point in the history
  33. Merge branch 'acpi-ec'

    * acpi-ec:
      ACPI / EC: Fix a memory leak issue in acpi_ec_query()
    rafaeljw committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    01351eb View commit details
    Browse the repository at this point in the history
  34. Merge branches 'pm-cpuidle', 'pm-opp' and 'pm-tools'

    * pm-cpuidle:
      intel_idle: Skylake Client Support - updated
    
    * pm-opp:
      PM / OPP: Fix typo modifcation -> modification
      PM / OPP: of_property_count_u32_elems() can return errors
    
    * pm-tools:
      tools/power turbosat: update version number
      tools/power turbostat: SKL: Adjust for TSC difference from base frequency
      tools/power turbostat: KNL workaround for %Busy and Avg_MHz
      tools/power turbostat: IVB Xeon: fix --debug regression
    rafaeljw committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    eb6d1c2 View commit details
    Browse the repository at this point in the history
  35. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/dledford/rdma
    
    Pull rdma fixes from Doug Ledford:
     - Fixes for mlx5 related issues
     - Fixes for ipoib multicast handling
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
      IB/ipoib: increase the max mcast backlog queue
      IB/ipoib: Make sendonly multicast joins create the mcast group
      IB/ipoib: Expire sendonly multicast joins
      IB/mlx5: Remove pa_lkey usages
      IB/mlx5: Remove support for IB_DEVICE_LOCAL_DMA_LKEY
      IB/iser: Add module parameter for always register memory
      xprtrdma: Replace global lkey with lkey local to PD
    torvalds committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    46c8217 View commit details
    Browse the repository at this point in the history
  36. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull KVM fixes from Paolo Bonzini:
     "(Relatively) a lot of reverts, mostly.
    
      Bugs have trickled in for a new feature in 4.2 (MTRR support in
      guests) so I'm reverting it all; let's not make this -rc period busier
      for KVM than it's been so far.  This covers the four reverts from me.
    
      The fifth patch is being reverted because Radim found a bug in the
      implementation of stable scheduler clock, *but* also managed to
      implement the feature entirely without hypervisor support.  So instead
      of fixing the hypervisor side we can remove it completely; 4.4 will
      get the new implementation"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      Use WARN_ON_ONCE for missing X86_FEATURE_NRIPS
      Update KVM homepage Url
      Revert "KVM: SVM: use NPT page attributes"
      Revert "KVM: svm: handle KVM_X86_QUIRK_CD_NW_CLEARED in svm_get_mt_mask"
      Revert "KVM: SVM: Sync g_pat with guest-written PAT value"
      Revert "KVM: x86: apply guest MTRR virtualization on host reserved pages"
      Revert "KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR"
    torvalds committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    ccf70dd View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2015

  1. Merge branch 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/l…

    …inux into drm-fixes
    
    radeon and amdgpu fixes for 4.3.
    - backlight s/r fixes
    - typo fix from Dan
    - vm debugging fix
    - remove import_gpu_mem after discussion with Daniel
    
    * 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux:
      drm/amdgpu: only print meaningful VM faults
      drm/amdgpu/cgs: remove import_gpu_mem
      drm/amdgpu:  Restore LCD backlight level on resume
      drm/radeon: Restore LCD backlight level on resume (>= R5xx)
      drm/amdgpu: signedness bug in amdgpu_cs_parser_init()
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    5b63864 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/daeinki/drm-exynos into drm-fixes
    
       This pull request includes regression fixups, build warnings, and
       trivial cleanups which mostly remove some codes not used anymore.
    
    * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
      drm/exynos: Staticize local function in exynos_drm_gem.c
      drm/exynos: fimd: actually disable dp clock
      drm/exynos: dp: remove suspend/resume functions
      drm/exynos: remove unused mode_fixup() code
      drm/exynos: remove decon_mode_fixup()
      drm/exynos: remove fimd_mode_fixup()
      drm/exynos: rotator: Clock control is unused if !PM
      drm/exynos: fimc: Clock control is unused if !PM
      drm/exynos: Suspend/resume is unused if !PM
      drm/exynos: create a fake mmap offset with gem creation
      drm/exynos: remove call to drm_gem_free_mmap_offset()
      drm/exynos: Remove useless EXPORT_SYMBOL_GPLs
      drm/exynos: cleanup line feed in exynos_drm_gem_get_ioctl
      drm/exynos: cleanup function calling written twice
      drm/exynos: staticize exynos_drm_gem_init()
      drm/exynos: remove unnecessary NULL assignment
      drm/exynos: fix missed calling of drm_prime_gem_destroy()
      drm/exynos: fix layering violation of address
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    8e592ea View commit details
    Browse the repository at this point in the history
  3. Merge tag 'vmwgfx-fixes-4.3-151001' of git://people.freedesktop.org/~…

    …thomash/linux into drm-fixes
    
    A single commit to fix a command submission hang regression.
    
    Pull request of 2015-10-01
    
    * tag 'vmwgfx-fixes-4.3-151001' of git://people.freedesktop.org/~thomash/linux:
      drm/vmwgfx: Fix a command submission hang regression
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    62886a3 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'drm-intel-fixes-2015-10-01' of git://anongit.freedesktop.o…

    …rg/drm-intel into drm-fixes
    
    a few i915 fixes for v4.3.
    
    * tag 'drm-intel-fixes-2015-10-01' of git://anongit.freedesktop.org/drm-intel:
      drm/i915: Call non-locking version of drm_kms_helper_poll_enable(), v2
      drm: Add a non-locking version of drm_kms_helper_poll_enable(), v2
      drm/i915: Consider HW CSB write pointer before resetting the sw read pointer
      drm/i915/skl: Don't call intel_prepare_ddi when encoder list isn't yet initialized.
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    ec403b8 View commit details
    Browse the repository at this point in the history
  5. arch/x86/include/asm/efi.h: fix build failure

    With KMEMCHECK=y, KASAN=n:
    
      arch/x86/platform/efi/efi.c:673:3: error: implicit declaration of function `memcpy' [-Werror=implicit-function-declaration]
      arch/x86/platform/efi/efi_64.c:139:2: error: implicit declaration of function `memcpy' [-Werror=implicit-function-declaration]
      arch/x86/include/asm/desc.h:121:2: error: implicit declaration of function `memcpy' [-Werror=implicit-function-declaration]
    
    Don't #undef memcpy if KASAN=n.
    
    Fixes: 769a808 ("x86, efi, kasan: #undef memset/memcpy/memmove per arch")
    Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    aryabinin authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    a523841 View commit details
    Browse the repository at this point in the history
  6. userfaultfd: remove kernel header include from uapi header

    As include/uapi/linux/userfaultfd.h is a user visible header file, it
    should not include kernel-exclusive header files.
    
    So trying to build the userfaultfd test program from the selftests
    directory fails, since it contains a reference to linux/compiler.h.  As
    it turns out, that header is not really needed there, so we can simply
    remove it to fix that issue.
    
    Signed-off-by: Andre Przywara <andre.przywara@arm.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Shuah Khan <shuahkh@osg.samsung.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Andre-ARM authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    9ff42d1 View commit details
    Browse the repository at this point in the history
  7. mm/slab: fix unexpected index mapping result of kmalloc_size(INDEX_NO…

    …DE+1)
    
    Commit description is copied from the original post of this bug:
    
      http://comments.gmane.org/gmane.linux.kernel.mm/135349
    
    Kernels after v3.9 use kmalloc_size(INDEX_NODE + 1) to get the next
    larger cache size than the size index INDEX_NODE mapping.  In kernels
    3.9 and earlier we used malloc_sizes[INDEX_L3 + 1].cs_size.
    
    However, sometimes we can't get the right output we expected via
    kmalloc_size(INDEX_NODE + 1), causing a BUG().
    
    The mapping table in the latest kernel is like:
        index = {0,   1,  2 ,  3,  4,   5,   6,   n}
         size = {0,   96, 192, 8, 16,  32,  64,   2^n}
    The mapping table before 3.10 is like this:
        index = {0 , 1 , 2,   3,  4 ,  5 ,  6,   n}
        size  = {32, 64, 96, 128, 192, 256, 512, 2^(n+3)}
    
    The problem on my mips64 machine is as follows:
    
    (1) When configured DEBUG_SLAB && DEBUG_PAGEALLOC && DEBUG_LOCK_ALLOC
        && DEBUG_SPINLOCK, the sizeof(struct kmem_cache_node) will be "150",
        and the macro INDEX_NODE turns out to be "2": #define INDEX_NODE
        kmalloc_index(sizeof(struct kmem_cache_node))
    
    (2) Then the result of kmalloc_size(INDEX_NODE + 1) is 8.
    
    (3) Then "if(size >= kmalloc_size(INDEX_NODE + 1)" will lead to "size
        = PAGE_SIZE".
    
    (4) Then "if ((size >= (PAGE_SIZE >> 3))" test will be satisfied and
        "flags |= CFLGS_OFF_SLAB" will be covered.
    
    (5) if (flags & CFLGS_OFF_SLAB)" test will be satisfied and will go to
        "cachep->slabp_cache = kmalloc_slab(slab_size, 0u)", and the result
        here may be NULL while kernel bootup.
    
    (6) Finally,"BUG_ON(ZERO_OR_NULL_PTR(cachep->slabp_cache));" causes the
        BUG info as the following shows (may be only mips64 has this problem):
    
    This patch fixes the problem of kmalloc_size(INDEX_NODE + 1) and removes
    the BUG by adding 'size >= 256' check to guarantee that all necessary
    small sized slabs are initialized regardless sequence of slab size in
    mapping table.
    
    Fixes: e336601 ("slab: Use common kmalloc_index/kmalloc_size...")
    Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Reported-by: Liuhailong <liu.hailong6@zte.com.cn>
    Acked-by: Christoph Lameter <cl@linux.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: David Rientjes <rientjes@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    JoonsooKim authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    03a2d2a View commit details
    Browse the repository at this point in the history
  8. mm: hugetlbfs: skip shared VMAs when unmapping private pages to satis…

    …fy a fault
    
    SunDong reported the following on
    
      https://bugzilla.kernel.org/show_bug.cgi?id=103841
    
    	I think I find a linux bug, I have the test cases is constructed. I
    	can stable recurring problems in fedora22(4.0.4) kernel version,
    	arch for x86_64.  I construct transparent huge page, when the parent
    	and child process with MAP_SHARE, MAP_PRIVATE way to access the same
    	huge page area, it has the opportunity to lead to huge page copy on
    	write failure, and then it will munmap the child corresponding mmap
    	area, but then the child mmap area with VM_MAYSHARE attributes, child
    	process munmap this area can trigger VM_BUG_ON in set_vma_resv_flags
    	functions (vma - > vm_flags & VM_MAYSHARE).
    
    There were a number of problems with the report (e.g.  it's hugetlbfs that
    triggers this, not transparent huge pages) but it was fundamentally
    correct in that a VM_BUG_ON in set_vma_resv_flags() can be triggered that
    looks like this
    
    	 vma ffff8804651fd0d0 start 00007fc474e00000 end 00007fc475e00000
    	 next ffff8804651fd018 prev ffff8804651fd188 mm ffff88046b1b1800
    	 prot 8000000000000027 anon_vma           (null) vm_ops ffffffff8182a7a0
    	 pgoff 0 file ffff88106bdb9800 private_data           (null)
    	 flags: 0x84400fb(read|write|shared|mayread|maywrite|mayexec|mayshare|dontexpand|hugetlb)
    	 ------------
    	 kernel BUG at mm/hugetlb.c:462!
    	 SMP
    	 Modules linked in: xt_pkttype xt_LOG xt_limit [..]
    	 CPU: 38 PID: 26839 Comm: map Not tainted 4.0.4-default #1
    	 Hardware name: Dell Inc. PowerEdge R810/0TT6JF, BIOS 2.7.4 04/26/2012
    	 set_vma_resv_flags+0x2d/0x30
    
    The VM_BUG_ON is correct because private and shared mappings have
    different reservation accounting but the warning clearly shows that the
    VMA is shared.
    
    When a private COW fails to allocate a new page then only the process
    that created the VMA gets the page -- all the children unmap the page.
    If the children access that data in the future then they get killed.
    
    The problem is that the same file is mapped shared and private.  During
    the COW, the allocation fails, the VMAs are traversed to unmap the other
    private pages but a shared VMA is found and the bug is triggered.  This
    patch identifies such VMAs and skips them.
    
    Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
    Reported-by: SunDong <sund_sky@126.com>
    Reviewed-by: Michal Hocko <mhocko@suse.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Cc: David Rientjes <rientjes@google.com>
    Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    gormanm authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    2f84a89 View commit details
    Browse the repository at this point in the history
  9. dax: fix NULL pointer in __dax_pmd_fault()

    Commit 46c043e ("mm: take i_mmap_lock in unmap_mapping_range() for
    DAX") moved some code in __dax_pmd_fault() that was responsible for
    zeroing newly allocated PMD pages.  The new location didn't properly set
    up 'kaddr', so when run this code resulted in a NULL pointer BUG.
    
    Fix this by getting the correct 'kaddr' via bdev_direct_access().
    
    Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
    Reported-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Matthew Wilcox <willy@linux.intel.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Dave Chinner <david@fromorbit.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Ross Zwisler authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    8346c41 View commit details
    Browse the repository at this point in the history
  10. memcg: fix dirty page migration

    The problem starts with a file backed dirty page which is charged to a
    memcg.  Then page migration is used to move oldpage to newpage.
    
    Migration:
     - copies the oldpage's data to newpage
     - clears oldpage.PG_dirty
     - sets newpage.PG_dirty
     - uncharges oldpage from memcg
     - charges newpage to memcg
    
    Clearing oldpage.PG_dirty decrements the charged memcg's dirty page
    count.
    
    However, because newpage is not yet charged, setting newpage.PG_dirty
    does not increment the memcg's dirty page count.  After migration
    completes newpage.PG_dirty is eventually cleared, often in
    account_page_cleaned().  At this time newpage is charged to a memcg so
    the memcg's dirty page count is decremented which causes underflow
    because the count was not previously incremented by migration.  This
    underflow causes balance_dirty_pages() to see a very large unsigned
    number of dirty memcg pages which leads to aggressive throttling of
    buffered writes by processes in non root memcg.
    
    This issue:
     - can harm performance of non root memcg buffered writes.
     - can report too small (even negative) values in
       memory.stat[(total_)dirty] counters of all memcg, including the root.
    
    To avoid polluting migrate.c with #ifdef CONFIG_MEMCG checks, introduce
    page_memcg() and set_page_memcg() helpers.
    
    Test:
        0) setup and enter limited memcg
        mkdir /sys/fs/cgroup/test
        echo 1G > /sys/fs/cgroup/test/memory.limit_in_bytes
        echo $$ > /sys/fs/cgroup/test/cgroup.procs
    
        1) buffered writes baseline
        dd if=/dev/zero of=/data/tmp/foo bs=1M count=1k
        sync
        grep ^dirty /sys/fs/cgroup/test/memory.stat
    
        2) buffered writes with compaction antagonist to induce migration
        yes 1 > /proc/sys/vm/compact_memory &
        rm -rf /data/tmp/foo
        dd if=/dev/zero of=/data/tmp/foo bs=1M count=1k
        kill %
        sync
        grep ^dirty /sys/fs/cgroup/test/memory.stat
    
        3) buffered writes without antagonist, should match baseline
        rm -rf /data/tmp/foo
        dd if=/dev/zero of=/data/tmp/foo bs=1M count=1k
        sync
        grep ^dirty /sys/fs/cgroup/test/memory.stat
    
                           (speed, dirty residue)
                 unpatched                       patched
        1) 841 MB/s 0 dirty pages          886 MB/s 0 dirty pages
        2) 611 MB/s -33427456 dirty pages  793 MB/s 0 dirty pages
        3) 114 MB/s -33427456 dirty pages  891 MB/s 0 dirty pages
    
        Notice that unpatched baseline performance (1) fell after
        migration (3): 841 -> 114 MB/s.  In the patched kernel, post
        migration performance matches baseline.
    
    Fixes: c4843a7 ("memcg: add per cgroup dirty page accounting")
    Signed-off-by: Greg Thelen <gthelen@google.com>
    Reported-by: Dave Hansen <dave.hansen@intel.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Cc: <stable@vger.kernel.org>	[4.2+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    gthelen authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    0610c25 View commit details
    Browse the repository at this point in the history
  11. memcg: make mem_cgroup_read_stat() unsigned

    mem_cgroup_read_stat() returns a page count by summing per cpu page
    counters.  The summing is racy wrt.  updates, so a transient negative
    sum is possible.  Callers don't want negative values:
    
     - mem_cgroup_wb_stats() doesn't want negative nr_dirty or nr_writeback.
       This could confuse dirty throttling.
    
     - oom reports and memory.stat shouldn't show confusing negative usage.
    
     - tree_usage() already avoids negatives.
    
    Avoid returning negative page counts from mem_cgroup_read_stat() and
    convert it to unsigned.
    
    [akpm@linux-foundation.org: fix old typo while we're in there]
    Signed-off-by: Greg Thelen <gthelen@google.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: <stable@vger.kernel.org>	[4.2+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    gthelen authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    484ebb3 View commit details
    Browse the repository at this point in the history
  12. drivers/input/joystick/Kconfig: zhenhua.c needs BITREVERSE

    It uses bitrev8(), so it must ensure that lib/bitrev.o gets included in
    vmlinux.
    
    Cc: Fengguang Wu <fengguang.wu@gmail.com>
    Cc: yalin wang <yalin.wang2010@gmail.com>
    Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    akpm00 authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    09a59a9 View commit details
    Browse the repository at this point in the history
  13. kprobes: use _do_fork() in samples to make them work again

    Commit 3033f14 ("clone: support passing tls argument via C rather
    than pt_regs magic") introduced _do_fork() that allowed to pass @tls
    parameter.
    
    The old do_fork() is defined only for architectures that are not ready
    to use this way and do not define HAVE_COPY_THREAD_TLS.
    
    Let's use _do_fork() in the kprobe examples to make them work again on
    all architectures.
    
    Signed-off-by: Petr Mladek <pmladek@suse.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Thiago Macieira <thiago.macieira@intel.com>
    Cc: Jiri Kosina <jkosina@suse.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    pmladek authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    54aea45 View commit details
    Browse the repository at this point in the history
  14. memcg: remove pcp_counter_lock

    Commit 733a572 ("memcg: make mem_cgroup_read_{stat|event}() iterate
    possible cpus instead of online") removed the last use of the per memcg
    pcp_counter_lock but forgot to remove the variable.
    
    Kill the vestigial variable.
    
    Signed-off-by: Greg Thelen <gthelen@google.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    gthelen authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    ef51019 View commit details
    Browse the repository at this point in the history
  15. thermal: avoid division by zero in power allocator

    During boot I get a div by zero Oops regression starting in v4.3-rc3.
    
    Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
    Reviewed-by: Javi Merino <javi.merino@arm.com>
    Cc: Zhang Rui <rui.zhang@intel.com>
    Cc: Eduardo Valentin <edubezval@gmail.com>
    Cc: Daniel Kurtz <djkurtz@chromium.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    aagit authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    4424162 View commit details
    Browse the repository at this point in the history
  16. dmapool: fix overflow condition in pool_find_page()

    If a DMA pool lies at the very top of the dma_addr_t range (as may
    happen with an IOMMU involved), the calculated end address of the pool
    wraps around to zero, and page lookup always fails.
    
    Tweak the relevant calculation to be overflow-proof.
    
    Signed-off-by: Robin Murphy <robin.murphy@arm.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Marek Szyprowski <m.szyprowski@samsung.com>
    Cc: Sumit Semwal <sumit.semwal@linaro.org>
    Cc: Sakari Ailus <sakari.ailus@iki.fi>
    Cc: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    rmurphy-arm authored and torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    676bd99 View commit details
    Browse the repository at this point in the history
  17. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
    
    1) Fix regression in SKB partial checksum handling, from Pravin B
       Shalar.
    
    2) Fix VLAN inside of VXLAN handling in i40e driver, from Jesse
       Brandeburg.
    
    3) Cure softlockups during accept() in SCTP, from Karl Heiss.
    
    4) MSG_PEEK should return multiple SKBs worth of data in AF_UNIX, from
       Aaron Conole.
    
    5) IPV6 erroneously ignores output interface specifier in lookup key for
       route lookups, fix from David Ahern.
    
    6) In Marvell DSA driver, forward unknown frames to CPU port, from
       Andrew Lunn.
    
    7) Mission flow flag initializations in some code paths, from David
       Ahern.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
      net: Initialize flow flags in input path
      net: dsa: fix preparation of a port STP update
      testptp: Silence compiler warnings on ppc64
      net/mlx4: Handle return codes in mlx4_qp_attach_common
      dsa: mv88e6xxx: Enable forwarding for unknown to the CPU port
      skbuff: Fix skb checksum partial check.
      net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set
      net sysfs: Print link speed as signed integer
      bna: fix error handling
      af_unix: return data from multiple SKBs on recv() with MSG_PEEK flag
      af_unix: Convert the unix_sk macro to an inline function for type safety
      net: sctp: Don't use 64 kilobyte lookup table for four elements
      l2tp: protect tunnel->del_work by ref_count
      net/ibm/emac: bump version numbers for correct work with ethtool
      sctp: Prevent soft lockup when sctp_accept() is called during a timeout event
      sctp: Whitespace fix
      i40e/i40evf: check for stopped admin queue
      i40e: fix VLAN inside VXLAN
      r8169: fix handling rtl_readphy result
      net: hisilicon: fix handling platform_get_irq result
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    3deaa4f View commit details
    Browse the repository at this point in the history
  18. PM / devfreq: fix double kfree

    When device_register() fails, kfree(devfreq) is called already in
    devfreq_dev_release(), hence there is no need to call kfree(devfreq)
    in err_dev again.
    
    Signed-off-by: Geliang Tang <geliangtang@163.com>
    Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
    geliangtang authored and myungjoo committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    6d3cbfa View commit details
    Browse the repository at this point in the history
  19. Merge tag 'pm+acpi-4.3-rc4' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/rafael/linux-pm
    
    Pull power management and ACPI fixes from Rafael Wysocki:
     "These are fixes mostly, for a few changes made in this cycle (the
      intel_idle driver, the OPP library, the ACPI EC driver, turbostat) and
      for some issues that have just been discovered (ACPI PCI IRQ
      management, PCI power management documentation, turbostat), with a
      couple of cleanups on top of them.
    
      Specifics:
    
       - intel_idle driver fixup for the recently added Skylake chips
         support (Len Brown).
    
       - Operating Performance Points (OPP) library fix related to the
         recently added support for new DT bindings and a fix for a typo in
         a comment (Viresh Kumar, Stephen Boyd).
    
       - ACPI EC driver fix for a recently introduced memory leak in an
         error code path (Lv Zheng).
    
       - ACPI PCI IRQ management fix for the issue where an ISA IRQ is
         shared with a PCI device which requires it to be configured in a
         different way and may cause an interrupt storm to happen as a
         result with an extra ACPI SCI IRQ handling simplification on top of
         it (Jiang Liu).
    
       - Update of the PCI power management documentation that became
         outdated and started to actively confuse the readers to make it
         actually reflect the code (Rafael J Wysocki).
    
       - turbostat fixes including an IVB Xeon regression fix (related to
         the --debug command line option), Skylake adjustment for the TSC
         running at a frequency that doesn't match the base one exactly, and
         a Knights Landing quirk to account for the fact that it only
         updates APERF and MPERF every 1024 clock cycles plus bumping up the
         turbostat version number (Len Brown, Hubert Chrzaniuk)"
    
    * tag 'pm+acpi-4.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      tools/power turbosat: update version number
      tools/power turbostat: SKL: Adjust for TSC difference from base frequency
      tools/power turbostat: KNL workaround for %Busy and Avg_MHz
      tools/power turbostat: IVB Xeon: fix --debug regression
      ACPI / PCI: Remove duplicated penalty on SCI IRQ
      ACPI, PCI, irq: Do not share PCI IRQ with ISA IRQ
      ACPI / EC: Fix a memory leak issue in acpi_ec_query()
      PM / OPP: Fix typo modifcation -> modification
      PCI / PM: Update runtime PM documentation for PCI devices
      PM / OPP: of_property_count_u32_elems() can return errors
      intel_idle: Skylake Client Support - updated
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    1bca100 View commit details
    Browse the repository at this point in the history
  20. Merge branch 'akpm' (patches from Andrew)

    Merge misc fixes from Andrew Morton:
     "12 fixes"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      dmapool: fix overflow condition in pool_find_page()
      thermal: avoid division by zero in power allocator
      memcg: remove pcp_counter_lock
      kprobes: use _do_fork() in samples to make them work again
      drivers/input/joystick/Kconfig: zhenhua.c needs BITREVERSE
      memcg: make mem_cgroup_read_stat() unsigned
      memcg: fix dirty page migration
      dax: fix NULL pointer in __dax_pmd_fault()
      mm: hugetlbfs: skip shared VMAs when unmapping private pages to satisfy a fault
      mm/slab: fix unexpected index mapping result of kmalloc_size(INDEX_NODE+1)
      userfaultfd: remove kernel header include from uapi header
      arch/x86/include/asm/efi.h: fix build failure
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    bde17b9 View commit details
    Browse the repository at this point in the history
  21. [SMB3] Do not fall back to SMBWriteX in set_file_size error cases

    The error paths in set_file_size for cifs and smb3 are incorrect.
    
    In the unlikely event that a server did not support set file info
    of the file size, the code incorrectly falls back to trying SMBWriteX
    (note that only the original core SMB Write, used for example by DOS,
    can set the file size this way - this actually  does not work for the more
    recent SMBWriteX).  The idea was since the old DOS SMB Write could set
    the file size if you write zero bytes at that offset then use that if
    server rejects the normal set file info call.
    
    Fortunately the SMBWriteX will never be sent on the wire (except when
    file size is zero) since the length and offset fields were reversed
    in the two places in this function that call SMBWriteX causing
    the fall back path to return an error. It is also important to never call
    an SMB request from an SMB2/sMB3 session (which theoretically would
    be possible, and can cause a brief session drop, although the client
    recovers) so this should be fixed.  In practice this path does not happen
    with modern servers but the error fall back to SMBWriteX is clearly wrong.
    
    Removing the calls to SMBWriteX in the error paths in cifs_set_file_size
    
    Pointed out by PaX/grsecurity team
    
    Signed-off-by: Steve French <steve.french@primarydata.com>
    Reported-by: PaX Team <pageexec@freemail.hu>
    CC: Emese Revfy <re.emese@gmail.com>
    CC: Brad Spengler <spender@grsecurity.net>
    CC: Stable <stable@vger.kernel.org>
    smfrench committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    646200a View commit details
    Browse the repository at this point in the history
  22. drm: handle cursor_set2 in restore_fbdev_mode

    If a driver uses the cursor_set2 crtc callback rather than
    cursor_set, use that.  This fixes the fbdev helper for drivers
    that use cursor_set2.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    agd5f authored and airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    03f9abb View commit details
    Browse the repository at this point in the history
  23. drm/radeon: drop radeon_fb_helper_set_par

    It was just a wrapper around drm_fb_helper_set_par that
    called cursor_set2 in addition.  Now that the core handles
    this, drop this radeon specific version.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    agd5f authored and airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    0c6dadb View commit details
    Browse the repository at this point in the history
  24. drm/dp/mst: don't pass port into the path builder function

    This is unnecessary and it makes it easier to see what is needed
    from port.
    
    also add blank line to make things nicer.
    
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    1c96087 View commit details
    Browse the repository at this point in the history
  25. drm/dp/mst: fixup handling hotplug on port removal.

    output ports should always have a connector, unless
    in the rare case connector allocation fails in the
    driver.
    
    In this case we only need to teardown the pdt,
    and free the struct, and there is no need to
    send a hotplug msg.
    
    In the case were we add the port to the destroy
    list we need to send a hotplug if we destroy
    any connectors, so userspace knows to reprobe
    stuff.
    
    this patch also handles port->connector allocation
    failing which should be a rare event, but makes
    the code consistent.
    
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    df4839f View commit details
    Browse the repository at this point in the history
  26. drm/dp/mst: update the link_address_sent before sending the link addr…

    …ess (v3)
    
    Update the state before sending the msg to close it.
    
    v2: reset value if return indicates we haven't send the msg.
    v3: just clean the code up.
    Pointed out by Adam J Richter on
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91481
    
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    68d8c9f View commit details
    Browse the repository at this point in the history
  27. drm/dp/mst: split connector registration into two parts (v2)

    In order to cache the EDID properly for tiled displays, we
    need to retrieve it before we register the connector with
    userspace, otherwise userspace can call get resources
    and try and get the edid before we've even cached it.
    
    This fixes some problems when hotplugging mst monitors,
    with X/mutter running. As mutter seems to get 0 modes
    for one of the monitors in the tile.
    
    v2: fix warning in radeon
    handle tile setting in cached path rather than
    get edid path.
    
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    d9515c5 View commit details
    Browse the repository at this point in the history
  28. drm/dp/mst: drop cancel work sync in the mstb destroy path (v2)

    Since 9eb1e57
    drm/dp/mst: make sure mst_primary mstb is valid in work function
    
    we validate the mstb structs in the work function, and doing
    that takes a reference. So we should never get here with the
    work function running using the mstb device, only if the work
    function hasn't run yet or is running for another mstb.
    
    So we don't need to sync the work here, this was causing
    lockdep spew as below.
    
    [  +0.000160] =============================================
    [  +0.000001] [ INFO: possible recursive locking detected ]
    [  +0.000002] 3.10.0-320.el7.rhel72.stable.backport.3.x86_64.debug #1 Tainted: G        W      ------------
    [  +0.000001] ---------------------------------------------
    [  +0.000001] kworker/4:2/1262 is trying to acquire lock:
    [  +0.000001]  ((&mgr->work)){+.+.+.}, at: [<ffffffff810b29a5>] flush_work+0x5/0x2e0
    [  +0.000007]
    but task is already holding lock:
    [  +0.000001]  ((&mgr->work)){+.+.+.}, at: [<ffffffff810b57e4>] process_one_work+0x1b4/0x710
    [  +0.000004]
    other info that might help us debug this:
    [  +0.000001]  Possible unsafe locking scenario:
    
    [  +0.000002]        CPU0
    [  +0.000000]        ----
    [  +0.000001]   lock((&mgr->work));
    [  +0.000002]   lock((&mgr->work));
    [  +0.000001]
     *** DEADLOCK ***
    
    [  +0.000001]  May be due to missing lock nesting notation
    
    [  +0.000002] 2 locks held by kworker/4:2/1262:
    [  +0.000001]  #0:  (events_long){.+.+.+}, at: [<ffffffff810b57e4>] process_one_work+0x1b4/0x710
    [  +0.000004]  #1:  ((&mgr->work)){+.+.+.}, at: [<ffffffff810b57e4>] process_one_work+0x1b4/0x710
    [  +0.000003]
    stack backtrace:
    [  +0.000003] CPU: 4 PID: 1262 Comm: kworker/4:2 Tainted: G        W      ------------   3.10.0-320.el7.rhel72.stable.backport.3.x86_64.debug #1
    [  +0.000001] Hardware name: LENOVO 20EGS0R600/20EGS0R600, BIOS GNET71WW (2.19 ) 02/05/2015
    [  +0.000008] Workqueue: events_long drm_dp_mst_link_probe_work [drm_kms_helper]
    [  +0.000001]  ffffffff82c26c90 00000000a527b914 ffff88046399bae8 ffffffff816fe04d
    [  +0.000004]  ffff88046399bb58 ffffffff8110f47f ffff880461438000 0001009b840fc003
    [  +0.000002]  ffff880461438a98 0000000000000000 0000000804dc26e1 ffffffff824a2c00
    [  +0.000003] Call Trace:
    [  +0.000004]  [<ffffffff816fe04d>] dump_stack+0x19/0x1b
    [  +0.000004]  [<ffffffff8110f47f>] __lock_acquire+0x115f/0x1250
    [  +0.000002]  [<ffffffff8110fd49>] lock_acquire+0x99/0x1e0
    [  +0.000002]  [<ffffffff810b29a5>] ? flush_work+0x5/0x2e0
    [  +0.000002]  [<ffffffff810b29ee>] flush_work+0x4e/0x2e0
    [  +0.000002]  [<ffffffff810b29a5>] ? flush_work+0x5/0x2e0
    [  +0.000004]  [<ffffffff81025905>] ? native_sched_clock+0x35/0x80
    [  +0.000002]  [<ffffffff81025959>] ? sched_clock+0x9/0x10
    [  +0.000002]  [<ffffffff810da1f5>] ? local_clock+0x25/0x30
    [  +0.000002]  [<ffffffff8110dca9>] ? mark_held_locks+0xb9/0x140
    [  +0.000003]  [<ffffffff810b4ed5>] ? __cancel_work_timer+0x95/0x160
    [  +0.000002]  [<ffffffff810b4ee8>] __cancel_work_timer+0xa8/0x160
    [  +0.000002]  [<ffffffff810b4fb0>] cancel_work_sync+0x10/0x20
    [  +0.000007]  [<ffffffffa0160d17>] drm_dp_destroy_mst_branch_device+0x27/0x120 [drm_kms_helper]
    [  +0.000006]  [<ffffffffa0163968>] drm_dp_mst_link_probe_work+0x78/0xa0 [drm_kms_helper]
    [  +0.000002]  [<ffffffff810b5850>] process_one_work+0x220/0x710
    [  +0.000002]  [<ffffffff810b57e4>] ? process_one_work+0x1b4/0x710
    [  +0.000005]  [<ffffffff810b5e5b>] worker_thread+0x11b/0x3a0
    [  +0.000003]  [<ffffffff810b5d40>] ? process_one_work+0x710/0x710
    [  +0.000002]  [<ffffffff810beced>] kthread+0xed/0x100
    [  +0.000003]  [<ffffffff810bec00>] ? insert_kthread_work+0x80/0x80
    [  +0.000003]  [<ffffffff817121d8>] ret_from_fork+0x58/0x90
    
    v2: add flush_work.
    
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    274d835 View commit details
    Browse the repository at this point in the history
  29. drm/dp/mst: add some defines for logical/physical ports

    This just removes the magic number.
    
    Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    airlied committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    ccf03d6 View commit details
    Browse the repository at this point in the history
  30. clk: ti: clk-7xx: Remove hardwired ABE clock configuration

    The ABE related clocks should be configured via DT and not have it wired
    inside of the kernel.
    
    Fixes: a74c52d ("clk: ti: clk-7xx: Correct ABE DPLL configuration")
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: Tero Kristo <t-kristo@ti.com>
    Peter Ujfalusi authored and Tero Kristo committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    4b3061b View commit details
    Browse the repository at this point in the history
  31. clk: ti: fix dual-registration of uart4_ick

    On the OMAP AM3517 platform the uart4_ick gets registered
    twice, causing any power management to /dev/ttyO3 to fail
    when trying to wake the device up.
    
    This solves the following oops:
    
    [] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa09e008
    [] PC is at serial_omap_pm+0x48/0x15c
    [] LR is at _raw_spin_unlock_irqrestore+0x30/0x5c
    
    Fixes: aafd900 ("CLK: TI: add omap3 clock init file")
    Cc: stable@vger.kernel.org
    Cc: mturquette@baylibre.com
    Cc: sboyd@codeaurora.org
    Cc: linux-clk@vger.kernel.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-kernel@lists.codethink.co.uk
    Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
    Signed-off-by: Tero Kristo <t-kristo@ti.com>
    bjdooks-ct authored and Tero Kristo committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    19e7968 View commit details
    Browse the repository at this point in the history
  32. clk: ti: dflt: fix enable_reg validity check

    The default clock enabling functions for TI clocks -
    omap2_dflt_clk_enable() and omap2_dflt_clk_disable() perform a
    NULL check for the enable_reg field of the clk_hw_omap structure.
    This enable_reg field however is merely a combination of the index
    of the master IP module, and the offset from the master IP module's
    base address. A value of 0 is perfectly valid, and the current error
    checking will fail in these cases. The issue was found when trying
    to enable the iva2_ck clock on OMAP3 platforms.
    
    So, switch the check to use IS_ERR. This correction is similar to the
    logic used in commit c807dbe ("clk: ti: fix ti_clk_get_reg_addr
    error handling").
    
    Fixes: 9f37e90 ("clk: ti: dflt: move support for default gate clock..")
    Signed-off-by: Suman Anna <s-anna@ti.com>
    Signed-off-by: Tero Kristo <t-kristo@ti.com>
    sumananna authored and Tero Kristo committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    7aba4f5 View commit details
    Browse the repository at this point in the history
  33. x86/kexec: Fix kexec crash in syscall kexec_file_load()

    The original bug is a page fault crash that sometimes happens
    on big machines when preparing ELF headers:
    
        BUG: unable to handle kernel paging request at ffffc90613fc9000
        IP: [<ffffffff8103d645>] prepare_elf64_ram_headers_callback+0x165/0x260
    
    The bug is caused by us under-counting the number of memory ranges
    and subsequently not allocating enough ELF header space for them.
    The bug is typically masked on smaller systems, because the ELF header
    allocation is rounded up to the next page.
    
    This patch modifies the code in fill_up_crash_elf_data() by using
    walk_system_ram_res() instead of walk_system_ram_range() to correctly
    count the max number of crash memory ranges. That's because the
    walk_system_ram_range() filters out small memory regions that
    reside in the same page, but walk_system_ram_res() does not.
    
    Here's how I found the bug:
    
    After tracing prepare_elf64_headers() and prepare_elf64_ram_headers_callback(),
    the code uses walk_system_ram_res() to fill-in crash memory regions information
    to the program header, so it counts those small memory regions that
    reside in a page area.
    
    But, when the kernel was using walk_system_ram_range() in
    fill_up_crash_elf_data() to count the number of crash memory regions,
    it filters out small regions.
    
    I printed those small memory regions, for example:
    
      kexec: Get nr_ram ranges. vaddr=0xffff880077592258 paddr=0x77592258, sz=0xdc0
    
    Based on the code in walk_system_ram_range(), this memory region
    will be filtered out:
    
      pfn = (0x77592258 + 0x1000 - 1) >> 12 = 0x77593
      end_pfn = (0x77592258 + 0xfc0 -1 + 1) >> 12 = 0x77593
      end_pfn - pfn = 0x77593 - 0x77593 = 0  <=== if (end_pfn > pfn) is FALSE
    
    So, the max_nr_ranges that's counted by the kernel doesn't include
    small memory regions - causing us to under-allocate the required space.
    That causes the page fault crash that happens in a later code path
    when preparing ELF headers.
    
    This bug is not easy to reproduce on small machines that have few
    CPUs, because the allocated page aligned ELF buffer has more free
    space to cover those small memory regions' PT_LOAD headers.
    
    Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Jiang Liu <jiang.liu@linux.intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Takashi Iwai <tiwai@suse.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Viresh Kumar <viresh.kumar@linaro.org>
    Cc: Vivek Goyal <vgoyal@redhat.com>
    Cc: kexec@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Cc: <stable@vger.kernel.org>
    Link: http://lkml.kernel.org/r/1443531537-29436-1-git-send-email-jlee@suse.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Lee, Chun-Yi authored and Ingo Molnar committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    e3c41e3 View commit details
    Browse the repository at this point in the history
  34. x86/mm: Set NX on gap between __ex_table and rodata

    Unused space between the end of __ex_table and the start of
    rodata can be left W+x in the kernel page tables.  Extend the
    setting of the NX bit to cover this gap by starting from
    text_end rather than rodata_start.
    
      Before:
      ---[ High Kernel Mapping ]---
      0xffffffff80000000-0xffffffff81000000          16M                               pmd
      0xffffffff81000000-0xffffffff81600000           6M     ro         PSE     GLB x  pmd
      0xffffffff81600000-0xffffffff81754000        1360K     ro                 GLB x  pte
      0xffffffff81754000-0xffffffff81800000         688K     RW                 GLB x  pte
      0xffffffff81800000-0xffffffff81a00000           2M     ro         PSE     GLB NX pmd
      0xffffffff81a00000-0xffffffff81b3b000        1260K     ro                 GLB NX pte
      0xffffffff81b3b000-0xffffffff82000000        4884K     RW                 GLB NX pte
      0xffffffff82000000-0xffffffff82200000           2M     RW         PSE     GLB NX pmd
      0xffffffff82200000-0xffffffffa0000000         478M                               pmd
    
      After:
      ---[ High Kernel Mapping ]---
      0xffffffff80000000-0xffffffff81000000          16M                               pmd
      0xffffffff81000000-0xffffffff81600000           6M     ro         PSE     GLB x  pmd
      0xffffffff81600000-0xffffffff81754000        1360K     ro                 GLB x  pte
      0xffffffff81754000-0xffffffff81800000         688K     RW                 GLB NX pte
      0xffffffff81800000-0xffffffff81a00000           2M     ro         PSE     GLB NX pmd
      0xffffffff81a00000-0xffffffff81b3b000        1260K     ro                 GLB NX pte
      0xffffffff81b3b000-0xffffffff82000000        4884K     RW                 GLB NX pte
      0xffffffff82000000-0xffffffff82200000           2M     RW         PSE     GLB NX pmd
      0xffffffff82200000-0xffffffffa0000000         478M                               pmd
    
    Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
    Acked-by: Kees Cook <keescook@chromium.org>
    Cc: <stable@vger.kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-kernel@vger.kernel.org
    Link: http://lkml.kernel.org/r/1443704662-3138-1-git-send-email-sds@tycho.nsa.gov
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    stephensmalley authored and Ingo Molnar committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    ab76f7b View commit details
    Browse the repository at this point in the history
  35. md: wait for pending superblock updates before switching to read-only

    If a superblock update is pending, wait for it to complete before
    letting md_set_readonly() switch to readonly.
    Otherwise we might lose important information about a device having
    failed.
    
    For external arrays, waiting for superblock updates can wait on
    user-space, so in that case, just return an error.
    
    Reported-and-tested-by: Shaohua Li <shli@fb.com>
    Signed-off-by: NeilBrown <neilb@suse.com>
    NeilBrown committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    88724bf View commit details
    Browse the repository at this point in the history
  36. raid5: update analysis state for failed stripe

    handle_failed_stripe() makes the stripe fail, eg, all IO will return
    with a failure, but it doesn't update stripe_head_state. Later
    handle_stripe() has special handling for raid6 for handle_stripe_fill().
    That check before handle_stripe_fill() doesn't skip the failed stripe
    and we get a kernel crash in need_this_block.  This patch clear the
    analysis state to make sure no functions wrongly called after
    handle_failed_stripe()
    
    Signed-off-by: Shaohua Li <shli@fb.com>
    Signed-off-by: NeilBrown <neilb@suse.com>
    shligit authored and NeilBrown committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    ebda780 View commit details
    Browse the repository at this point in the history
  37. md/raid5: don't index beyond end of array in need_this_block().

    When need_this_block probably shouldn't be called when there
    are more than 2 failed devices, we really don't want it to try
    indexing beyond the end of the failed_num[] of fdev[] arrays.
    
    So limit the loops to at most 2 iterations.
    
    Reported-by: Shaohua Li <shli@fb.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    NeilBrown committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    36707bb View commit details
    Browse the repository at this point in the history
  38. md/raid0: apply base queue limits *before* disk_stack_limits

    Calling e.g. blk_queue_max_hw_sectors() after calls to
    disk_stack_limits() discards the settings determined by
    disk_stack_limits().
    So we need to make those calls first.
    
    Fixes: 199dc6e ("md/raid0: update queue parameter in a safer location.")
    Cc: stable@vger.kernel.org (v2.6.35+ - please apply with 199dc6e).
    Reported-by: Jes Sorensen <Jes.Sorensen@redhat.com>
    Signed-off-by: NeilBrown <neilb@suse.com>
    NeilBrown committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    66eefe5 View commit details
    Browse the repository at this point in the history
  39. md: clear CHANGE_PENDING in readonly array

    If faulty disks of an array are more than allowed degraded number, the
    array enters error handling. It will be marked as read-only with
    MD_CHANGE_PENDING/RECOVERY_NEEDED set. But currently recovery doesn't
    clear CHANGE_PENDING bit for read-only array.  If MD_CHANGE_PENDING is
    set for a raid5 array, all returned IO will be hold on a list till the
    bit is clear. But recovery nevery clears this bit, the IO is always in
    pending state and nevery finish. This has bad effects like upper layer
    can't get an IO error and the array can't be stopped.
    
    Fixes: c3cce6c ("md/raid5: ensure device failure recorded before write request returns.")
    Signed-off-by: Shaohua Li <shli@fb.com>
    Signed-off-by: NeilBrown <neilb@suse.com>
    shligit authored and NeilBrown committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    d4929ad View commit details
    Browse the repository at this point in the history
  40. md: drop null test before destroy functions

    Remove unneeded NULL test.
    
    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@ expression x; @@
    -if (x != NULL)
      \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x);
    // </smpl>
    
    Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: NeilBrown <neilb@suse.com>
    JuliaLawall authored and NeilBrown committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    644df1a View commit details
    Browse the repository at this point in the history
  41. md/raid1: Avoid raid1 resync getting stuck

    close_sync() needs to set conf->next_resync to a large, but safe value
    below MaxSector and use it to determine whether or not to set
    start_next_window in wait_barrier()
    
    Solution suggested by Neil Brown.
    
    Reported-by: Nate Dailey <nate.dailey@stratus.com>
    Tested-by: Xiao Ni <xni@redhat.com>
    Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
    Signed-off-by: NeilBrown <neilb@suse.com>
    Jes Sorensen authored and NeilBrown committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    e8ff8bf View commit details
    Browse the repository at this point in the history
  42. md/bitmap: don't pass -1 to bitmap_storage_alloc.

    Passing -1 to bitmap_storage_alloc() causes page->index to be set to
    -1, which is quite problematic.
    
    So only pass ->cluster_slot if mddev_is_clustered().
    
    Fixes: b97e925 ("Use separate bitmaps for each nodes in the cluster")
    Cc: stable@vger.kernel.org (v4.1+)
    Signed-off-by: NeilBrown <neilb@suse.com>
    NeilBrown committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    da6fb7a View commit details
    Browse the repository at this point in the history
  43. x86/headers/uapi: Fix __BITS_PER_LONG value for x32 builds

    On x32, gcc predefines __x86_64__ but long is only 32-bit.  Use
    __ILP32__ to distinguish x32.
    
    Fixes this compiler error in perf:
    
    	tools/include/asm-generic/bitops/__ffs.h: In function '__ffs':
    	tools/include/asm-generic/bitops/__ffs.h:19:8: error: right shift count >= width of type [-Werror=shift-count-overflow]
    	  word >>= 32;
    	       ^
    
    This isn't sufficient to build perf for x32, though.
    
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-kernel@vger.kernel.org
    Link: http://lkml.kernel.org/r/1443660043.2730.15.camel@decadent.org.uk
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    bwhacks authored and Ingo Molnar committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    f4b4aae View commit details
    Browse the repository at this point in the history
  44. MIPS: BPF: Fix load delay slots.

    The entire bpf_jit_asm.S is written in noreorder mode because "we know
    better" according to a comment.  This also prevented the assembler from
    throwing in the required NOPs for MIPS I processors which have no
    load-use interlock, thus the load's consumer might end up using the
    old value of the register from prior to the load.
    
    Fixed by putting the assembler in reorder mode for just the affected
    load instructions.  This is not enough for gas to actually try to be
    clever by looking at the next instruction and inserting a nop only
    when needed but as the comment said "we know better", so getting gas
    to unconditionally emit a NOP is just right in this case and prevents
    adding further ifdefery.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    0c5d187 View commit details
    Browse the repository at this point in the history
  45. arm64: ftrace: fix function_graph tracer panic

    When function graph tracer is enabled, the following operation
    will trigger panic:
    
    mount -t debugfs nodev /sys/kernel
    echo next_tgid > /sys/kernel/tracing/set_ftrace_filter
    echo function_graph > /sys/kernel/tracing/current_tracer
    ls /proc/
    
    ------------[ cut here ]------------
    [  198.501417] Unable to handle kernel paging request at virtual address cb88537fdc8ba316
    [  198.506126] pgd = ffffffc008f79000
    [  198.509363] [cb88537fdc8ba316] *pgd=00000000488c6003, *pud=00000000488c6003, *pmd=0000000000000000
    [  198.517726] Internal error: Oops: 94000005 [#1] SMP
    [  198.518798] Modules linked in:
    [  198.520582] CPU: 1 PID: 1388 Comm: ls Tainted: G
    [  198.521800] Hardware name: linux,dummy-virt (DT)
    [  198.522852] task: ffffffc0fa9e8000 ti: ffffffc0f9ab0000 task.ti: ffffffc0f9ab0000
    [  198.524306] PC is at next_tgid+0x30/0x100
    [  198.525205] LR is at return_to_handler+0x0/0x20
    [  198.526090] pc : [<ffffffc0002a1070>] lr : [<ffffffc0000907c0>] pstate: 60000145
    [  198.527392] sp : ffffffc0f9ab3d40
    [  198.528084] x29: ffffffc0f9ab3d40 x28: ffffffc0f9ab0000
    [  198.529406] x27: ffffffc000d6a000 x26: ffffffc000b786e8
    [  198.530659] x25: ffffffc0002a1900 x24: ffffffc0faf16c00
    [  198.531942] x23: ffffffc0f9ab3ea0 x22: 0000000000000002
    [  198.533202] x21: ffffffc000d85050 x20: 0000000000000002
    [  198.534446] x19: 0000000000000002 x18: 0000000000000000
    [  198.535719] x17: 000000000049fa08 x16: ffffffc000242efc
    [  198.537030] x15: 0000007fa472b54c x14: ffffffffff000000
    [  198.538347] x13: ffffffc0fada84a0 x12: 0000000000000001
    [  198.539634] x11: ffffffc0f9ab3d70 x10: ffffffc0f9ab3d70
    [  198.540915] x9 : ffffffc0000907c0 x8 : ffffffc0f9ab3d40
    [  198.542215] x7 : 0000002e330f08f0 x6 : 0000000000000015
    [  198.543508] x5 : 0000000000000f08 x4 : ffffffc0f9835ec0
    [  198.544792] x3 : cb88537fdc8ba316 x2 : cb88537fdc8ba306
    [  198.546108] x1 : 0000000000000002 x0 : ffffffc000d85050
    [  198.547432]
    [  198.547920] Process ls (pid: 1388, stack limit = 0xffffffc0f9ab0020)
    [  198.549170] Stack: (0xffffffc0f9ab3d40 to 0xffffffc0f9ab4000)
    [  198.582568] Call trace:
    [  198.583313] [<ffffffc0002a1070>] next_tgid+0x30/0x100
    [  198.584359] [<ffffffc0000907bc>] ftrace_graph_caller+0x6c/0x70
    [  198.585503] [<ffffffc0000907bc>] ftrace_graph_caller+0x6c/0x70
    [  198.586574] [<ffffffc0000907bc>] ftrace_graph_caller+0x6c/0x70
    [  198.587660] [<ffffffc0000907bc>] ftrace_graph_caller+0x6c/0x70
    [  198.588896] Code: aa0003f5 2a0103f4 b4000102 91004043 (885f7c60)
    [  198.591092] ---[ end trace 6a346f8f20949ac8 ]---
    
    This is because when using function graph tracer, if the traced
    function return value is in multi regs ([x0-x7]), return_to_handler
    may corrupt them. So in return_to_handler, the parameter regs should
    be protected properly.
    
    Cc: <stable@vger.kernel.org> # 3.18+
    Signed-off-by: Li Bin <huawei.libin@huawei.com>
    Acked-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    libin2015 authored and ctmarinas committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    ee556d0 View commit details
    Browse the repository at this point in the history
  46. ASoC: dwc: correct irq clear method

    from Designware I2S datasheet, tx/rx XRUN irq is cleared by
    reading register TOR/ROR, rather than by writing into them.
    
    Signed-off-by: Yitian Bu <yitian.bu@tangramtek.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Yitian Bu authored and broonie committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    4873867 View commit details
    Browse the repository at this point in the history
  47. Merge git://git.infradead.org/intel-iommu

    Pull IOVA fixes from David Woodhouse:
     "The main fix here is the first one, fixing the over-allocation of
       size-aligned requests.  The other patches simply make the existing
      IOVA code available to users other than the Intel VT-d driver, with no
      functional change.
    
      I concede the latter really *should* have been submitted during the
      merge window, but since it's basically risk-free and people are
      waiting to build on top of it and it's my fault I didn't get it in, I
      (and they) would be grateful if you'd take it"
    
    * git://git.infradead.org/intel-iommu:
      iommu: Make the iova library a module
      iommu: iova: Export symbols
      iommu: iova: Move iova cache management to the iova library
      iommu/iova: Avoid over-allocating when size-aligned
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    8c25ab8 View commit details
    Browse the repository at this point in the history
  48. Merge tag 'mmc-v4.3-rc3' of git://git.linaro.org/people/ulf.hansson/mmc

    Pull MMC fixes from Ulf Hansson:
     "Here are some mmc fixes intended for v4.3 rc4:
    
      MMC core:
       - Allow users of mmc_of_parse() to succeed when CONFIG_GPIOLIB is
         unset
       - Prevent infinite loop of re-tuning for CRC-errors for CMD19 and
         CMD21
    
       MMC host:
       - pxamci: Fix issues with card detect
       - sunxi: Fix clk-delay settings"
    
    * tag 'mmc-v4.3-rc3' of git://git.linaro.org/people/ulf.hansson/mmc:
      mmc: core: fix dead loop of mmc_retune
      mmc: pxamci: fix card detect with slot-gpio API
      mmc: sunxi: Fix clk-delay settings
      mmc: core: Don't return an error for CD/WP GPIOs when GPIOLIB is unset
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    36f8daf View commit details
    Browse the repository at this point in the history
  49. Merge tag 'pull_req_4.3_rc4' of https://git.kernel.org/pub/scm/linux/…

    …kernel/git/mzx/devfreq into pm-devfreq
    
    Pull devfreq fixes for v4.3-rc5 from MyungJoo Ham.
    
    * tag 'pull_req_4.3_rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq:
      PM / devfreq: fix double kfree
      PM / devfreq: Fix governor_store()
    rafaeljw committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    d61e87a View commit details
    Browse the repository at this point in the history
  50. dm raid: fix round up of default region size

    Commit 3a0f9aa ("dm raid: round region_size to power of two")
    intended to make sure that the default region size is a power of two.
    However, the logic in that commit is incorrect and sets the variable
    region_size to 0 or 1, depending on whether min_region_size is a power
    of two.
    
    Fix this logic, using roundup_pow_of_two(), so that region_size is
    properly rounded up to the next power of two.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Fixes: 3a0f9aa ("dm raid: round region_size to power of two")
    Cc: stable@vger.kernel.org # v3.8+
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Mikulas Patocka authored and snitm committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    042745e View commit details
    Browse the repository at this point in the history
  51. ASoC: dwc: fix dma stop transferring issue

    Designware I2S uses tx empty and rx available signals as the DMA
    handshaking signals. during music playing, if XRUN occurs,
    i2s_stop() function will be executed and both tx and rx irq are
    masked, when music continues to be played, i2s_start() is executed
    but both tx and rx irq are not unmasked which cause I2S stop
    sending DMA handshaking signal to DMA controller, and it finally
    causes music playing will be stopped once XRUN occurs for the first
    time.
    
    [On list discussion suggests this may be partly a race condition on slow
    systems -- broonie]
    
    Signed-off-by: Yitian Bu <yitian.bu@tangramtek.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    yitian authored and broonie committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    924eb47 View commit details
    Browse the repository at this point in the history
  52. MIPS: Fix octeon FP context switch handling

    Commit 1a3d595 ("MIPS: Tidy up FPU context switching") removed FP
    context saving from the asm-written resume function in favour of reusing
    existing code to perform the same task. However it only removed the FP
    context saving code from the r4k_switch.S implementation of resume.
    Octeon uses its own implementation in octeon_switch.S, so remove FP
    context saving there too in order to prevent attempting to save context
    twice. That formerly led to an exception from the second save as follows
    because the FPU had already been disabled by the first save:
    
        do_cpu invoked from kernel context![#1]:
        CPU: 0 PID: 2 Comm: kthreadd Not tainted 4.3.0-rc2-dirty #2
        task: 800000041f84a008 ti: 800000041f864000 task.ti: 800000041f864000
        $ 0   : 0000000000000000 0000000010008ce1 0000000000100000 ffffffffbfffffff
        $ 4   : 800000041f84a008 800000041f84ac08 800000041f84c000 0000000000000004
        $ 8   : 0000000000000001 0000000000000000 0000000000000000 0000000000000001
        $12   : 0000000010008ce3 0000000000119c60 0000000000000036 800000041f864000
        $16   : 800000041f84ac08 800000000792ce80 800000041f84a008 ffffffff81758b00
        $20   : 0000000000000000 ffffffff8175ae50 0000000000000000 ffffffff8176c740
        $24   : 0000000000000006 ffffffff81170300
        $28   : 800000041f864000 800000041f867d90 0000000000000000 ffffffff815f3fa0
        Hi    : 0000000000fa8257
        Lo    : ffffffffe15cfc00
        epc   : ffffffff8112821c resume+0x9c/0x200
        ra    : ffffffff815f3fa0 __schedule+0x3f0/0x7d8
        Status: 10008ce2        KX SX UX KERNEL EXL
        Cause : 1080002c (ExcCode 0b)
        PrId  : 000d0601 (Cavium Octeon+)
        Modules linked in:
        Process kthreadd (pid: 2, threadinfo=800000041f864000, task=800000041f84a008, tls=0000000000000000)
        Stack : ffffffff81604218 ffffffff815f7e08 800000041f84a008 ffffffff811681b0
                  800000041f84a008 ffffffff817e9878 0000000000000000 ffffffff81770000
                  ffffffff81768340 ffffffff81161398 0000000000000001 0000000000000000
                  0000000000000000 ffffffff815f4424 0000000000000000 ffffffff81161d68
                  ffffffff81161be8 0000000000000000 0000000000000000 0000000000000000
                  0000000000000000 0000000000000000 0000000000000000 ffffffff8111e16c
                  0000000000000000 0000000000000000 0000000000000000 0000000000000000
                  0000000000000000 0000000000000000 0000000000000000 0000000000000000
                  0000000000000000 0000000000000000 0000000000000000 0000000000000000
                  0000000000000000 0000000000000000 0000000000000000 0000000000000000
                  ...
        Call Trace:
        [<ffffffff8112821c>] resume+0x9c/0x200
        [<ffffffff815f3fa0>] __schedule+0x3f0/0x7d8
        [<ffffffff815f4424>] schedule+0x34/0x98
        [<ffffffff81161d68>] kthreadd+0x180/0x198
        [<ffffffff8111e16c>] ret_from_kernel_thread+0x14/0x1c
    
    Tested using cavium_octeon_defconfig on an EdgeRouter Lite.
    
    Fixes: 1a3d595 ("MIPS: Tidy up FPU context switching")
    Reported-by: Aaro Koskinen <aaro.koskinen@nokia.com>
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: Aleksey Makarov <aleksey.makarov@auriga.com>
    Cc: linux-kernel@vger.kernel.org
    Cc: Chandrakala Chavva <cchavva@caviumnetworks.com>
    Cc: David Daney <david.daney@cavium.com>
    Cc: Leonid Rosenboim <lrosenboim@caviumnetworks.com>
    Patchwork: https://patchwork.linux-mips.org/patch/11166/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    paulburton authored and ralfbaechle committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    0fa2434 View commit details
    Browse the repository at this point in the history
  53. MIPS: Fix R2300 FP context switch handling

    Commit 1a3d595 ("MIPS: Tidy up FPU context switching") removed FP
    context saving from the asm-written resume function in favour of reusing
    existing code to perform the same task. However it only removed the FP
    context saving code from the r4k_switch.S implementation of resume.
    Remove it from the r2300_switch.S implementation too in order to prevent
    attempting to save the FP context twice, which would likely lead to an
    exception from the second save because the FPU had already been disabled
    by the first save.
    
    This patch has only been build tested, using rbtx49xx_defconfig.
    
    Fixes: 1a3d595 ("MIPS: Tidy up FPU context switching")
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: Maciej W. Rozycki <macro@linux-mips.org>
    Cc: linux-kernel@vger.kernel.org
    Cc: Manuel Lauss <manuel.lauss@gmail.com>
    Patchwork: https://patchwork.linux-mips.org/patch/11167/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    paulburton authored and ralfbaechle committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    085c2f2 View commit details
    Browse the repository at this point in the history
  54. MIPS: Octeon: Fix kernel panic on startup from memory corruption

    During development it was found that a number of builds would panic
    during the kernel init process, more specifically in 'delayed_fput()'.
    The panic showed the kernel trying to access a memory address of
    '0xb7fdc00' while traversing the 'delayed_fput_list' structure.
    Comparing this memory address to the value of the pointer used on
    builds that did not panic confirmed that the pointer on crashing
    builds must have been corrupted at some stage earlier in the init
    process.
    
    By traversing the list earlier and earlier in the code it was found
    that 'plat_mem_setup()' was responsible for corrupting the list.
    Specifically the line:
    
        memory = cvmx_bootmem_phy_alloc(mem_alloc_size,
    			__pa_symbol(&__init_end), -1,
    			0x100000,
    			CVMX_BOOTMEM_FLAG_NO_LOCKING);
    
    Which would eventually call:
    
        cvmx_bootmem_phy_set_size(new_ent_addr,
    		cvmx_bootmem_phy_get_size
    		(ent_addr) -
    		(desired_min_addr -
    			ent_addr));
    
    Where 'new_ent_addr'=0x4800000 (the address of 'delayed_fput_list')
    and the second argument (size)=0xb7fdc00 (the address causing the
    kernel panic). The job of this part of 'plat_mem_setup()' is to
    allocate chunks of memory for the kernel to use. At the start of
    each chunk of memory the size of the chunk is written, hence the
    value 0xb7fdc00 is written onto memory at 0x4800000, therefore the
    kernel panics when it goes back to access 'delayed_fput_list' later
    on in the initialisation process.
    
    On builds that were not crashing it was found that the compiler had
    placed 'delayed_fput_list' at 0x4800008, meaning it wasn't corrupted
    (but something else in memory was overwritten).
    
    As can be seen in the first function call above the code begins to
    allocate chunks of memory beginning from the symbol '__init_end'.
    The MIPS linker script (vmlinux.lds.S) however defines the .bss
    section to begin after '__init_end'. Therefore memory within the
    .bss section is allocated to the kernel to use (System.map shows
    'delayed_fput_list' and other kernel structures to be in .bss).
    
    To stop the kernel panic (and the .bss section being corrupted)
    memory should begin being allocated from the symbol '_end'.
    
    Signed-off-by: Matt Bennett <matt.bennett@alliedtelesis.co.nz>
    Acked-by: David Daney <david.daney@cavium.com>
    Cc: linux-mips@linux-mips.org
    Cc: aleksey.makarov@auriga.com
    Patchwork: https://patchwork.linux-mips.org/patch/11251/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Matt Bennett authored and ralfbaechle committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    66803dd View commit details
    Browse the repository at this point in the history
  55. Revert "Input: synaptics - fix handling of disabling gesture mode"

    This reverts commit e51e384: we
    actually do want the device to work in extended W mode, as this is the
    mode that allows us receiving multiple contact information.
    
    Cc: stable@vger.kernel.org
    dtor committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    62d7846 View commit details
    Browse the repository at this point in the history
  56. Merge branch 'for-4.3-rc/ti-clk-fixes' of https://github.com/t-kristo…

    …/linux-pm into clk-fixes
    
    Pull fixes from Tero Kristo:
    
    "A few TI clock driver fixes to pull against 4.3-rc"
    
    * 'for-4.3-rc/ti-clk-fixes' of https://github.com/t-kristo/linux-pm: (3 commits)
      clk: ti: dflt: fix enable_reg validity check
      clk: ti: fix dual-registration of uart4_ick
      clk: ti: clk-7xx: Remove hardwired ABE clock configuration
    bebarino committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    9f30a04 View commit details
    Browse the repository at this point in the history
  57. Merge branch 'for-linus' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
     "Another week, another round of fixes.
    
      These have been brewing for a bit and in various iterations, but I
      feel pretty comfortable about the quality of them.  They fix real
      issues.  The pull request is mostly blk-mq related, and the only one
      not fixing a real bug, is the tag iterator abstraction from Christoph.
      But it's pretty trivial, and we'll need it for another fix soon.
    
      Apart from the blk-mq fixes, there's an NVMe affinity fix from Keith,
      and a single fix for xen-blkback from Roger fixing failure to free
      requests on disconnect"
    
    * 'for-linus' of git://git.kernel.dk/linux-block:
      blk-mq: factor out a helper to iterate all tags for a request_queue
      blk-mq: fix racy updates of rq->errors
      blk-mq: fix deadlock when reading cpu_list
      blk-mq: avoid inserting requests before establishing new mapping
      blk-mq: fix q->mq_usage_counter access race
      blk-mq: Fix use after of free q->mq_map
      blk-mq: fix sysfs registration/unregistration race
      blk-mq: avoid setting hctx->tags->cpumask before allocation
      NVMe: Set affinity after allocating request queues
      xen/blkback: free requests on disconnection
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    27728bf View commit details
    Browse the repository at this point in the history
  58. Merge tag 'dmaengine-fix-4.3-rc4' of git://git.infradead.org/users/vk…

    …oul/slave-dma
    
    Pull dmaengine fixes from Vinod Koul:
     "This contains fixes spread throughout the drivers, and also fixes one
      more instance of privatecnt in dmaengine.
    
      Driver fixes summary:
       - bunch of pxa_dma fixes for reuse of descriptor issue, residue and
         no-requestor
       - odd fixes in xgene, idma, sun4i and zxdma
       - at_xdmac fixes for cleaning descriptor and block addr mode"
    
    * tag 'dmaengine-fix-4.3-rc4' of git://git.infradead.org/users/vkoul/slave-dma:
      dmaengine: pxa_dma: fix residue corner case
      dmaengine: pxa_dma: fix the no-requestor case
      dmaengine: zxdma: Fix off-by-one for testing valid pchan request
      dmaengine: at_xdmac: clean used descriptor
      dmaengine: at_xdmac: change block increment addressing mode
      dmaengine: dw: properly read DWC_PARAMS register
      dmaengine: xgene-dma: Fix overwritting DMA tx ring
      dmaengine: fix balance of privatecnt
      dmaengine: sun4i: fix unsafe list iteration
      dmaengine: idma64: improve residue estimation
      dmaengine: xgene-dma: fix handling xgene_dma_get_ring_size result
      dmaengine: pxa_dma: fix initial list move
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    83dc311 View commit details
    Browse the repository at this point in the history
  59. irqchip/gic-v3-its: Silence warning when its_lpi_alloc_chunks gets in…

    …lined
    
    More agressive inlining in recent versions of GCC have uncovered
    a new set of warnings:
    
     drivers/irqchip/irq-gic-v3-its.c: In function its_msi_prepare:
      drivers/irqchip/irq-gic-v3-its.c:1148:26: warning: lpi_base may be used
        uninitialized in this function [-Wmaybe-uninitialized]
         dev->event_map.lpi_base = lpi_base;
                              ^
     drivers/irqchip/irq-gic-v3-its.c:1116:6: note: lpi_base was declared here
      int lpi_base;
    	      ^
     drivers/irqchip/irq-gic-v3-its.c:1149:25: warning: nr_lpis may be used
      uninitialized in this function [-Wmaybe-uninitialized]
       dev->event_map.nr_lpis = nr_lpis;
    	                         ^
     drivers/irqchip/irq-gic-v3-its.c:1117:6: note: nr_lpis was declared here
      int nr_lpis;
    	      ^
    The warning is fairly benign (there is no code path that could
    actually use uninitialized variables), but let's silence it anyway
    by zeroing the variables on the error path.
    
    Reported-by: Alex Shi <alex.shi@linaro.org>
    Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: David Daney <ddaney.cavm@gmail.com>
    Cc: Jason Cooper <jason@lakedaemon.net>
    Link: http://lkml.kernel.org/r/1443800646-8074-2-git-send-email-marc.zyngier@arm.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Marc Zyngier authored and KAGA-KOKO committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    c8415b9 View commit details
    Browse the repository at this point in the history
  60. irqchip/gic-v3-its: Count additional LPIs for the aliased devices

    When configuring the interrupt mapping for a new device, we
    iterate over all the possible aliases to account for their
    maximum MSI allocation. This was introduced by e8137f4
    ("irqchip: gicv3-its: Iterate over PCI aliases to generate ITS configuration").
    
    Turns out that the code doing that is a bit braindead, and repeatedly
    accounts for the same device over and over.
    
    Fix this by counting the actual alias that is passed to us by the
    core code.
    
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Alex Shi <alex.shi@linaro.org>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: David Daney <ddaney.cavm@gmail.com>
    Cc: Jason Cooper <jason@lakedaemon.net>
    Link: http://lkml.kernel.org/r/1443800646-8074-3-git-send-email-marc.zyngier@arm.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Marc Zyngier authored and KAGA-KOKO committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    791c76d View commit details
    Browse the repository at this point in the history
  61. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/geert/linux-m68k
    
    Pull m68k updates from Geert Uytterhoeven:
     "Summary:
       - Fix for accidental modification of arguments of syscall functions
       - Wire up new syscalls
       - Update defconfigs"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
      m68k/defconfig: Update defconfigs for v4.3-rc1
      m68k: Define asmlinkage_protect
      m68k: Wire up membarrier
      m68k: Wire up userfaultfd
      m68k: Wire up direct socket calls
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    b55a97e View commit details
    Browse the repository at this point in the history
  62. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fixes from Catalin Marinas:
    
     - Fix for transparent huge page change_protection() logic which was
       inadvertently changing a huge pmd page into a pmd table entry.
    
     - Function graph tracer panic fix caused by the return_to_handler code
       corrupting the multi-regs function return value (composite types).
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: ftrace: fix function_graph tracer panic
      arm64: Fix THP protection change logic
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    5634347 View commit details
    Browse the repository at this point in the history
  63. NFS: Fix up page writeback accounting

    Currently, we are crediting all the calls to nfs_writepages_callback()
    (i.e. the nfs_writepages() callback) to nfs_writepage(). Aside from
    being inconsistent with the behaviour of the equivalent readpage/readpages
    accounting, this also means that we cannot distinguish between bulk writes
    and single page writebacks (which confuses the 'nfsiostat -p' tool).
    
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    trondmypd committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    40f9027 View commit details
    Browse the repository at this point in the history
  64. NFS: Fix a write performance regression

    If all other conditions in nfs_can_extend_write() are met, and there
    are no locks, then we should be able to assume close-to-open semantics
    and the ability to extend our write to cover the whole page.
    
    With this patch, the xfstests generic/074 test completes in 242s instead
    of >1400s on my test rig.
    
    Fixes: bd61e0a ("locks: convert posix locks to file_lock_context")
    Cc: Jeff Layton <jlayton@primarydata.com>
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    trondmypd committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    8fa4592 View commit details
    Browse the repository at this point in the history
  65. NFSv4: Don't try to reclaim unused state owners

    Currently, we don't test if the state owner is in use before we try to
    recover it. The problem is that if the refcount is zero, then the
    state owner will be waiting on the lru list for garbage collection.
    The expectation in that case is that if you bump the refcount, then
    you must also remove the state owner from the lru list. Otherwise
    the call to nfs4_put_state_owner will corrupt that list by trying
    to add our state owner a second time.
    
    Avoid the whole problem by just skipping state owners that hold no
    state.
    
    Reported-by: Andrew W Elble <aweits@rit.edu>
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    trondmypd committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    4a0954e View commit details
    Browse the repository at this point in the history
  66. NFSv4.1: nfs4_opendata_check_deleg needs to handle NFS4_OPEN_CLAIM_DE…

    …LEG_CUR_FH
    
    We need to warn against broken NFSv4.1 servers that try to hand out
    delegations in response to NFS4_OPEN_CLAIM_DELEG_CUR_FH.
    
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    trondmypd committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    72d79ff View commit details
    Browse the repository at this point in the history
  67. NFSv4: Fix a nograce recovery hang

    Since commit 5cae02f an OPEN_CONFIRM should
    have a privileged sequence in the recovery case to allow nograce recovery to
    proceed for NFSv4.0.
    
    Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    Benjamin Coddington authored and trondmypd committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    e92c1e0 View commit details
    Browse the repository at this point in the history
  68. nfs4: reset states to use open_stateid when returning delegation volu…

    …ntarily
    
    When the client goes to return a delegation, it should always update any
    nfs4_state currently set up to use that delegation stateid to instead
    use the open stateid. It already does do this in some cases,
    particularly in the state recovery code, but not currently when the
    delegation is voluntarily returned (e.g. in advance of a RENAME).  This
    causes the client to try to continue using the delegation stateid after
    the DELEGRETURN, e.g. in LAYOUTGET.
    
    Set the nfs4_state back to using the open stateid in
    nfs4_open_delegation_recall, just before clearing the
    NFS_DELEGATED_STATE bit.
    
    Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    jtlayton authored and trondmypd committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    5e99b53 View commit details
    Browse the repository at this point in the history
  69. Merge tag 'nfs-rdma-for-4.3-2' of git://git.linux-nfs.org/projects/an…

    …na/nfs-rdma
    
    NFS: NFSoRDMA bugfix
    
    Fixes a use-after-free bug.
    
    Signed-off-by: Anna Schumaker <Anna.Schumaker@netapp.com>
    trondmypd committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    8dbb095 View commit details
    Browse the repository at this point in the history
  70. clocksource: Fix abs() usage w/ 64bit values

    This patch fixes one cases where abs() was being used with 64-bit
    nanosecond values, where the result may be capped at 32-bits.
    
    This potentially could cause watchdog false negatives on 32-bit
    systems, so this patch addresses the issue by using abs64().
    
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/1442279124-7309-2-git-send-email-john.stultz@linaro.org
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    johnstultz-work authored and KAGA-KOKO committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    67dfae0 View commit details
    Browse the repository at this point in the history
  71. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/dtor/input
    
    Pull input layer fixes from Dmitry Torokhov:
     "Fixes for two recent regressions (in Synaptics PS/2 and uinput
      drivers) and some more driver fixups"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Revert "Input: synaptics - fix handling of disabling gesture mode"
      Input: psmouse - fix data race in __ps2_command
      Input: elan_i2c - add all valid ic type for i2c/smbus
      Input: zhenhua - ensure we have BITREVERSE
      Input: omap4-keypad - fix memory leak
      Input: serio - fix blocking of parport
      Input: uinput - fix crash when using ABS events
      Input: elan_i2c - expand maximum product_id form 0xFF to 0xFFFF
      Input: elan_i2c - add ic type 0x03
      Input: elan_i2c - don't require known iap version
      Input: imx6ul_tsc - fix controller name
      Input: imx6ul_tsc - use the preferred method for kzalloc()
      Input: imx6ul_tsc - check for negative return value
      Input: imx6ul_tsc - propagate the errors
      Input: walkera0701 - fix abs() calculations on 64 bit values
      Input: mms114 - remove unneded semicolons
      Input: pm8941-pwrkey - remove unneded semicolon
      Input: fix typo in MT documentation
      Input: cyapa - fix address of Gen3 devices in device tree documentation
    torvalds committed Oct 2, 2015
    Configuration menu
    Copy the full SHA
    978ab6a View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2015

  1. ALSA: hda: Add dock support for ThinkPad T550

    Much like all the other Lenovo laptops, add a quirk to make
    sound work with docking.
    
    Reported-and-tested-by: lacknerflo@gmail.com
    Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    labbott authored and tiwai committed Oct 3, 2015
    Configuration menu
    Copy the full SHA
    d05ea7d View commit details
    Browse the repository at this point in the history
  2. ALSA: hda - Apply SPDIF pin ctl to MacBookPro 12,1

    The MacBookPro 12,1 has the same setup as the 11 for controlling the
    status of the optical audio light. Simply apply the existing workaround
    to the subsystem ID for the 12,1.
    
    [sorted the fixup entry by tiwai]
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=105401
    Signed-off-by: John Flatness <john@zerocrates.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    zerocrates authored and tiwai committed Oct 3, 2015
    Configuration menu
    Copy the full SHA
    e8ff581 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

    Pull drm fixes from Dave Airlie:
     "Bunch of fixes all over the place, all pretty small: amdgpu, i915,
      exynos, one qxl and one vmwgfx.
    
      There is also a bunch of mst fixes, I left some cleanups in the series
      as I didn't think it was worth splitting up the tested series"
    
    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (37 commits)
      drm/dp/mst: add some defines for logical/physical ports
      drm/dp/mst: drop cancel work sync in the mstb destroy path (v2)
      drm/dp/mst: split connector registration into two parts (v2)
      drm/dp/mst: update the link_address_sent before sending the link address (v3)
      drm/dp/mst: fixup handling hotplug on port removal.
      drm/dp/mst: don't pass port into the path builder function
      drm/radeon: drop radeon_fb_helper_set_par
      drm: handle cursor_set2 in restore_fbdev_mode
      drm/exynos: Staticize local function in exynos_drm_gem.c
      drm/exynos: fimd: actually disable dp clock
      drm/exynos: dp: remove suspend/resume functions
      drm/qxl: recreate the primary surface when the bo is not primary
      drm/amdgpu: only print meaningful VM faults
      drm/amdgpu/cgs: remove import_gpu_mem
      drm/i915: Call non-locking version of drm_kms_helper_poll_enable(), v2
      drm: Add a non-locking version of drm_kms_helper_poll_enable(), v2
      drm/vmwgfx: Fix a command submission hang regression
      drm/exynos: remove unused mode_fixup() code
      drm/exynos: remove decon_mode_fixup()
      drm/exynos: remove fimd_mode_fixup()
      ...
    torvalds committed Oct 3, 2015
    Configuration menu
    Copy the full SHA
    14f97d9 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull EFI fixes from Ingo Molnar:
     "Two EFI fixes: one for x86, one for ARM, fixing a boot crash bug that
      can trigger under newer EFI firmware"
    
    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      arm64/efi: Fix boot crash by not padding between EFI_MEMORY_RUNTIME regions
      x86/efi: Fix boot crash by mapping EFI memmap entries bottom-up at runtime, instead of top-down
    torvalds committed Oct 3, 2015
    Configuration menu
    Copy the full SHA
    a758379 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/tip/tip
    
    Pull timer fixes from Ingo Molnar:
     "An abs64() fix in the watchdog driver, and two clocksource driver
      NO_IRQ assumption fixes"
    
    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      clocksource: Fix abs() usage w/ 64bit values
      clocksource/drivers/keystone: Fix bad NO_IRQ usage
      clocksource/drivers/rockchip: Fix bad NO_IRQ usage
    torvalds committed Oct 3, 2015
    Configuration menu
    Copy the full SHA
    37cc7ab View commit details
    Browse the repository at this point in the history
  6. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull x86 fixes from Ingo Molnar:
     "Fixes all around the map: W+X kernel mapping fix, WCHAN fixes, two
      build failure fixes for corner case configs, x32 header fix and a
      speling fix"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/headers/uapi: Fix __BITS_PER_LONG value for x32 builds
      x86/mm: Set NX on gap between __ex_table and rodata
      x86/kexec: Fix kexec crash in syscall kexec_file_load()
      x86/process: Unify 32bit and 64bit implementations of get_wchan()
      x86/process: Add proper bound checks in 64bit get_wchan()
      x86, efi, kasan: Fix build failure on !KASAN && KMEMCHECK=y kernels
      x86/hyperv: Fix the build in the !CONFIG_KEXEC_CORE case
      x86/cpufeatures: Correct spelling of the HWP_NOTIFY flag
    torvalds committed Oct 3, 2015
    Configuration menu
    Copy the full SHA
    2cf3082 View commit details
    Browse the repository at this point in the history
  7. [CIFS] Update cifs version number

    Update modinfo cifs.ko version number to 2.08
    
    Signed-off-by: Steve French <steve.french@primarydata.com>
    smfrench committed Oct 3, 2015
    Configuration menu
    Copy the full SHA
    616a539 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2015

  1. MIPS: scall: Always run the seccomp syscall filters

    The MIPS syscall handler code used to return -ENOSYS on invalid
    syscalls. Whilst this is expected, it caused problems for seccomp
    filters because the said filters never had the change to run since
    the code returned -ENOSYS before triggering them. This caused
    problems on the chromium testsuite for filters looking for invalid
    syscalls. This has now changed and the seccomp filters are always
    run even if the syscall is invalid. We return -ENOSYS once we
    return from the seccomp filters. Moreover, similar codepaths have
    been merged in the process which simplifies somewhat the overall
    syscall code.
    
    Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/11236/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Markos Chandras authored and ralfbaechle committed Oct 4, 2015
    Configuration menu
    Copy the full SHA
    d218af7 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull irq fixes from Thomas Gleixner:
     "This update contains:
    
       - Fix for a long standing race affecting /proc/irq/NNN
    
       - One line fix for ARM GICV3-ITS counting the wrong data
    
       - Warning silencing in ARM GICV3-ITS.  Another GCC trying to be
         overly clever issue"
    
    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      irqchip/gic-v3-its: Count additional LPIs for the aliased devices
      irqchip/gic-v3-its: Silence warning when its_lpi_alloc_chunks gets inlined
      genirq: Fix race in register_irq_proc()
    torvalds committed Oct 4, 2015
    Configuration menu
    Copy the full SHA
    3e519dd View commit details
    Browse the repository at this point in the history
  3. Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…

    …ream-linus
    
    Pull MIPS updates from Ralf Baechle:
     "This week's round of MIPS fixes:
       - Fix JZ4740 build
       - Fix fallback to GFP_DMA
       - FP seccomp in case of ENOSYS
       - Fix bootmem panic
       - A number of FP and CPS fixes
       - Wire up new syscalls
       - Make sure BPF assembler objects can properly be disassembled
       - Fix BPF assembler code for MIPS I"
    
    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
      MIPS: scall: Always run the seccomp syscall filters
      MIPS: Octeon: Fix kernel panic on startup from memory corruption
      MIPS: Fix R2300 FP context switch handling
      MIPS: Fix octeon FP context switch handling
      MIPS: BPF: Fix load delay slots.
      MIPS: BPF: Do all exports of symbols with FEXPORT().
      MIPS: Fix the build on jz4740 after removing the custom gpio.h
      MIPS: CPS: #ifdef on CONFIG_MIPS_MT_SMP rather than CONFIG_MIPS_MT
      MIPS: CPS: Don't include MT code in non-MT kernels.
      MIPS: CPS: Stop dangling delay slot from has_mt.
      MIPS: dma-default: Fix 32-bit fall back to GFP_DMA
      MIPS: Wire up userfaultfd and membarrier syscalls.
    torvalds committed Oct 4, 2015
    Configuration menu
    Copy the full SHA
    0d87708 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'md/4.3-fixes' of git://neil.brown.name/md

    Pull md fixes from Neil Brown:
     "Assorted fixes for md in 4.3-rc.
    
      Two tagged for -stable, and one is really a cleanup to match and
      improve kmemcache interface.
    
    * tag 'md/4.3-fixes' of git://neil.brown.name/md:
      md/bitmap: don't pass -1 to bitmap_storage_alloc.
      md/raid1: Avoid raid1 resync getting stuck
      md: drop null test before destroy functions
      md: clear CHANGE_PENDING in readonly array
      md/raid0: apply base queue limits *before* disk_stack_limits
      md/raid5: don't index beyond end of array in need_this_block().
      raid5: update analysis state for failed stripe
      md: wait for pending superblock updates before switching to read-only
    torvalds committed Oct 4, 2015
    Configuration menu
    Copy the full SHA
    15ecf9a View commit details
    Browse the repository at this point in the history
  5. Merge branch 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/cmetcalf/linux-tile
    
    Pull strscpy string copy function implementation from Chris Metcalf.
    
    Chris sent this during the merge window, but I waffled back and forth on
    the pull request, which is why it's going in only now.
    
    The new "strscpy()" function is definitely easier to use and more secure
    than either strncpy() or strlcpy(), both of which are horrible nasty
    interfaces that have serious and irredeemable problems.
    
    strncpy() has a useless return value, and doesn't NUL-terminate an
    overlong result.  To make matters worse, it pads a short result with
    zeroes, which is a performance disaster if you have big buffers.
    
    strlcpy(), by contrast, is a mis-designed "fix" for strlcpy(), lacking
    the insane NUL padding, but having a differently broken return value
    which returns the original length of the source string.  Which means
    that it will read characters past the count from the source buffer, and
    you have to trust the source to be properly terminated.  It also makes
    error handling fragile, since the test for overflow is unnecessarily
    subtle.
    
    strscpy() avoids both these problems, guaranteeing the NUL termination
    (but not excessive padding) if the destination size wasn't zero, and
    making the overflow condition very obvious by returning -E2BIG.  It also
    doesn't read past the size of the source, and can thus be used for
    untrusted source data too.
    
    So why did I waffle about this for so long?
    
    Every time we introduce a new-and-improved interface, people start doing
    these interminable series of trivial conversion patches.
    
    And every time that happens, somebody does some silly mistake, and the
    conversion patch to the improved interface actually makes things worse.
    Because the patch is mindnumbing and trivial, nobody has the attention
    span to look at it carefully, and it's usually done over large swatches
    of source code which means that not every conversion gets tested.
    
    So I'm pulling the strscpy() support because it *is* a better interface.
    But I will refuse to pull mindless conversion patches.  Use this in
    places where it makes sense, but don't do trivial patches to fix things
    that aren't actually known to be broken.
    
    * 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
      tile: use global strscpy() rather than private copy
      string: provide strscpy()
      Make asm/word-at-a-time.h available on all architectures
    torvalds committed Oct 4, 2015
    Configuration menu
    Copy the full SHA
    30c4465 View commit details
    Browse the repository at this point in the history
  6. Linux 4.3-rc4

    torvalds committed Oct 4, 2015
    Configuration menu
    Copy the full SHA
    049e6dd View commit details
    Browse the repository at this point in the history
  7. ALSA: hda - Disable power_save_node for IDT 92HD73xx chips

    The recent widget power saving introduced some unavoidable click
    noises on old IDT 92HD73xx chips while it still seems working on the
    compatible new chips.  In the bugzilla, we tried lots of tests and
    workarounds, but they didn't help much.  So, let's disable the feature
    for these specific chips as the least (but safest) fix.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104981
    Cc: <stable@vger.kernel.org> # v4.1+
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Oct 4, 2015
    Configuration menu
    Copy the full SHA
    c7e1008 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2015

  1. ALSA: synth: Fix conflicting OSS device registration on AWE32

    When OSS emulation is loaded on ISA SB AWE32 chip, we get now kernel
    warnings like:
      WARNING: CPU: 0 PID: 2791 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x51/0x80()
      sysfs: cannot create duplicate filename '/devices/isa/sbawe.0/sound/card0/seq-oss-0-0'
    
    It's because both emux synth and opl3 drivers try to register their
    OSS device object with the same static index number 0.  This hasn't
    been a big problem until the recent rewrite of device management code
    (that exposes sysfs at the same time), but it's been an obvious bug.
    
    This patch works around it just by using a different index number of
    emux synth object.  There can be a more elegant way to fix, but it's
    enough for now, as this code won't be touched so often, in anyway.
    
    Reported-and-tested-by: Michael Shell <list1@michaelshell.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Oct 5, 2015
    Configuration menu
    Copy the full SHA
    225db57 View commit details
    Browse the repository at this point in the history
  2. arm64: debug: Fix typo in debug-monitors.c

    Fix comment typo: s/handers/handlers/
    
    Signed-off-by: Yang Shi <yang.shi@linaro.org>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Yang Shi authored and wildea01 committed Oct 5, 2015
    Configuration menu
    Copy the full SHA
    95485fd View commit details
    Browse the repository at this point in the history
  3. arm64: readahead: fault retry breaks mmap file read random detection

    This is the arm64 portion of commit 45cac65 ("readahead: fault
    retry breaks mmap file read random detection"), which was absent from
    the initial port and has since gone unnoticed. The original commit says:
    
    > .fault now can retry.  The retry can break state machine of .fault.  In
    > filemap_fault, if page is miss, ra->mmap_miss is increased.  In the second
    > try, since the page is in page cache now, ra->mmap_miss is decreased.  And
    > these are done in one fault, so we can't detect random mmap file access.
    >
    > Add a new flag to indicate .fault is tried once.  In the second try, skip
    > ra->mmap_miss decreasing.  The filemap_fault state machine is ok with it.
    
    With this change, Mark reports that:
    
    > Random read improves by 250%, sequential read improves by 40%, and
    > random write by 400% to an eMMC device with dm crypto wrapped around it.
    
    Cc: Shaohua Li <shli@kernel.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Wu Fengguang <fengguang.wu@intel.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Mark Salyzyn <salyzyn@android.com>
    Signed-off-by: Riley Andrews <riandrews@android.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    salyzyn authored and wildea01 committed Oct 5, 2015
    Configuration menu
    Copy the full SHA
    569ba74 View commit details
    Browse the repository at this point in the history
  4. arm64: convert patch_lock to raw lock

    When running kprobe test on arm64 rt kernel, it reports the below warning:
    
    root@qemu7:~# modprobe kprobe_example
    BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917
    in_atomic(): 0, irqs_disabled(): 128, pid: 484, name: modprobe
    CPU: 0 PID: 484 Comm: modprobe Not tainted 4.1.6-rt5 #2
    Hardware name: linux,dummy-virt (DT)
    Call trace:
    [<ffffffc0000891b8>] dump_backtrace+0x0/0x128
    [<ffffffc000089300>] show_stack+0x20/0x30
    [<ffffffc00061dae8>] dump_stack+0x1c/0x28
    [<ffffffc0000bbad0>] ___might_sleep+0x120/0x198
    [<ffffffc0006223e8>] rt_spin_lock+0x28/0x40
    [<ffffffc000622b30>] __aarch64_insn_write+0x28/0x78
    [<ffffffc000622e48>] aarch64_insn_patch_text_nosync+0x18/0x48
    [<ffffffc000622ee8>] aarch64_insn_patch_text_cb+0x70/0xa0
    [<ffffffc000622f40>] aarch64_insn_patch_text_sync+0x28/0x48
    [<ffffffc0006236e0>] arch_arm_kprobe+0x38/0x48
    [<ffffffc00010e6f4>] arm_kprobe+0x34/0x50
    [<ffffffc000110374>] register_kprobe+0x4cc/0x5b8
    [<ffffffbffc002038>] kprobe_init+0x38/0x7c [kprobe_example]
    [<ffffffc000084240>] do_one_initcall+0x90/0x1b0
    [<ffffffc00061c498>] do_init_module+0x6c/0x1cc
    [<ffffffc0000fd0c0>] load_module+0x17f8/0x1db0
    [<ffffffc0000fd8cc>] SyS_finit_module+0xb4/0xc8
    
    Convert patch_lock to raw loc kto avoid this issue.
    
    Although the problem is found on rt kernel, the fix should be applicable to
    mainline kernel too.
    
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Yang Shi <yang.shi@linaro.org>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Yang Shi authored and wildea01 committed Oct 5, 2015
    Configuration menu
    Copy the full SHA
    abffa6f View commit details
    Browse the repository at this point in the history
  5. Btrfs: send, fix corner case for reference overwrite detection

    When the inode given to did_overwrite_ref() matches the current progress
    and has a reference that collides with the reference of other inode that
    has the same number as the current progress, we were always telling our
    caller that the inode's reference was overwritten, which is incorrect
    because the other inode might be a new inode (different generation number)
    in which case we must return false from did_overwrite_ref() so that its
    callers don't use an orphanized path for the inode (as it will never be
    orphanized, instead it will be unlinked and the new inode created later).
    
    The following test case for fstests reproduces the issue:
    
      seq=`basename $0`
      seqres=$RESULT_DIR/$seq
      echo "QA output created by $seq"
    
      tmp=/tmp/$$
      status=1	# failure is the default!
      trap "_cleanup; exit \$status" 0 1 2 3 15
    
      _cleanup()
      {
          rm -fr $send_files_dir
          rm -f $tmp.*
      }
    
      # get standard environment, filters and checks
      . ./common/rc
      . ./common/filter
    
      # real QA test starts here
      _supported_fs btrfs
      _supported_os Linux
      _require_scratch
      _need_to_be_root
    
      send_files_dir=$TEST_DIR/btrfs-test-$seq
    
      rm -f $seqres.full
      rm -fr $send_files_dir
      mkdir $send_files_dir
    
      _scratch_mkfs >>$seqres.full 2>&1
      _scratch_mount
    
      # Create our test file with a single extent of 64K.
      mkdir -p $SCRATCH_MNT/foo
      $XFS_IO_PROG -f -c "pwrite -S 0xaa 0 64K" $SCRATCH_MNT/foo/bar \
          | _filter_xfs_io
    
      _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \
          $SCRATCH_MNT/mysnap1
      _run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT \
          $SCRATCH_MNT/mysnap2
    
      echo "File digest before being replaced:"
      md5sum $SCRATCH_MNT/mysnap1/foo/bar | _filter_scratch
    
      # Remove the file and then create a new one in the same location with
      # the same name but with different content. This new file ends up
      # getting the same inode number as the previous one, because that inode
      # number was the highest inode number used by the snapshot's root and
      # therefore when attempting to find the a new inode number for the new
      # file, we end up reusing the same inode number. This happens because
      # currently btrfs uses the highest inode number summed by 1 for the
      # first inode created once a snapshot's root is loaded (done at
      # fs/btrfs/inode-map.c:btrfs_find_free_objectid in the linux kernel
      # tree).
      # Having these two different files in the snapshots with the same inode
      # number (but different generation numbers) caused the btrfs send code
      # to emit an incorrect path for the file when issuing an unlink
      # operation because it failed to realize they were different files.
      rm -f $SCRATCH_MNT/mysnap2/foo/bar
      $XFS_IO_PROG -f -c "pwrite -S 0xbb 0 96K" \
          $SCRATCH_MNT/mysnap2/foo/bar | _filter_xfs_io
    
      _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT/mysnap2 \
          $SCRATCH_MNT/mysnap2_ro
    
      _run_btrfs_util_prog send $SCRATCH_MNT/mysnap1 -f $send_files_dir/1.snap
      _run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 \
          $SCRATCH_MNT/mysnap2_ro -f $send_files_dir/2.snap
    
      echo "File digest in the original filesystem after being replaced:"
      md5sum $SCRATCH_MNT/mysnap2_ro/foo/bar | _filter_scratch
    
      # Now recreate the filesystem by receiving both send streams and verify
      # we get the same file contents that the original filesystem had.
      _scratch_unmount
      _scratch_mkfs >>$seqres.full 2>&1
      _scratch_mount
    
      _run_btrfs_util_prog receive -vv $SCRATCH_MNT -f $send_files_dir/1.snap
      _run_btrfs_util_prog receive -vv $SCRATCH_MNT -f $send_files_dir/2.snap
    
      echo "File digest in the new filesystem:"
      # Must match the digest from the new file.
      md5sum $SCRATCH_MNT/mysnap2_ro/foo/bar | _filter_scratch
    
      status=0
      exit
    
    Reported-by: Martin Raiber <martin@urbackup.org>
    Fixes: 8b191a6 ("Btrfs: incremental send, check if orphanized dir inode needs delayed rename")
    Signed-off-by: Filipe Manana <fdmanana@suse.com>
    fdmanana authored and masoncl committed Oct 5, 2015
    Configuration menu
    Copy the full SHA
    b786f16 View commit details
    Browse the repository at this point in the history
  6. Btrfs: update fix for read corruption of compressed and shared extents

    My previous fix in commit 005efed ("Btrfs: fix read corruption of
    compressed and shared extents") was effective only if the compressed
    extents cover a file range with a length that is not a multiple of 16
    pages. That's because the detection of when we reached a different range
    of the file that shares the same compressed extent as the previously
    processed range was done at extent_io.c:__do_contiguous_readpages(),
    which covers subranges with a length up to 16 pages, because
    extent_readpages() groups the pages in clusters no larger than 16 pages.
    So fix this by tracking the start of the previously processed file
    range's extent map at extent_readpages().
    
    The following test case for fstests reproduces the issue:
    
      seq=`basename $0`
      seqres=$RESULT_DIR/$seq
      echo "QA output created by $seq"
      tmp=/tmp/$$
      status=1	# failure is the default!
      trap "_cleanup; exit \$status" 0 1 2 3 15
    
      _cleanup()
      {
          rm -f $tmp.*
      }
    
      # get standard environment, filters and checks
      . ./common/rc
      . ./common/filter
    
      # real QA test starts here
      _need_to_be_root
      _supported_fs btrfs
      _supported_os Linux
      _require_scratch
      _require_cloner
    
      rm -f $seqres.full
    
      test_clone_and_read_compressed_extent()
      {
          local mount_opts=$1
    
          _scratch_mkfs >>$seqres.full 2>&1
          _scratch_mount $mount_opts
    
          # Create our test file with a single extent of 64Kb that is going to
          # be compressed no matter which compression algo is used (zlib/lzo).
          $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 64K" \
              $SCRATCH_MNT/foo | _filter_xfs_io
    
          # Now clone the compressed extent into an adjacent file offset.
          $CLONER_PROG -s 0 -d $((64 * 1024)) -l $((64 * 1024)) \
              $SCRATCH_MNT/foo $SCRATCH_MNT/foo
    
          echo "File digest before unmount:"
          md5sum $SCRATCH_MNT/foo | _filter_scratch
    
          # Remount the fs or clear the page cache to trigger the bug in
          # btrfs. Because the extent has an uncompressed length that is a
          # multiple of 16 pages, all the pages belonging to the second range
          # of the file (64K to 128K), which points to the same extent as the
          # first range (0K to 64K), had their contents full of zeroes instead
          # of the byte 0xaa. This was a bug exclusively in the read path of
          # compressed extents, the correct data was stored on disk, btrfs
          # just failed to fill in the pages correctly.
          _scratch_remount
    
          echo "File digest after remount:"
          # Must match the digest we got before.
          md5sum $SCRATCH_MNT/foo | _filter_scratch
      }
    
      echo -e "\nTesting with zlib compression..."
      test_clone_and_read_compressed_extent "-o compress=zlib"
    
      _scratch_unmount
    
      echo -e "\nTesting with lzo compression..."
      test_clone_and_read_compressed_extent "-o compress=lzo"
    
      status=0
      exit
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Filipe Manana <fdmanana@suse.com>
    Tested-by: Timofey Titovets <nefelim4ag@gmail.com>
    fdmanana authored and masoncl committed Oct 5, 2015
    Configuration menu
    Copy the full SHA
    808f80b View commit details
    Browse the repository at this point in the history
  7. Btrfs: fix deadlock when finalizing block group creation

    Josef ran into a deadlock while a transaction handle was finalizing the
    creation of its block groups, which produced the following trace:
    
      [260445.593112] fio             D ffff88022a9df468     0  8924   4518 0x00000084
      [260445.593119]  ffff88022a9df468 ffffffff81c134c0 ffff880429693c00 ffff88022a9df488
      [260445.593126]  ffff88022a9e0000 ffff8803490d7b00 ffff8803490d7b18 ffff88022a9df4b0
      [260445.593132]  ffff8803490d7af8 ffff88022a9df488 ffffffff8175a437 ffff8803490d7b00
      [260445.593137] Call Trace:
      [260445.593145]  [<ffffffff8175a437>] schedule+0x37/0x80
      [260445.593189]  [<ffffffffa0850f37>] btrfs_tree_lock+0xa7/0x1f0 [btrfs]
      [260445.593197]  [<ffffffff810db7c0>] ? prepare_to_wait_event+0xf0/0xf0
      [260445.593225]  [<ffffffffa07eac44>] btrfs_lock_root_node+0x34/0x50 [btrfs]
      [260445.593253]  [<ffffffffa07eff6b>] btrfs_search_slot+0x88b/0xa00 [btrfs]
      [260445.593295]  [<ffffffffa08389df>] ? free_extent_buffer+0x4f/0x90 [btrfs]
      [260445.593324]  [<ffffffffa07f1a06>] btrfs_insert_empty_items+0x66/0xc0 [btrfs]
      [260445.593351]  [<ffffffffa07ea94a>] ? btrfs_alloc_path+0x1a/0x20 [btrfs]
      [260445.593394]  [<ffffffffa08403b9>] btrfs_finish_chunk_alloc+0x1c9/0x570 [btrfs]
      [260445.593427]  [<ffffffffa08002ab>] btrfs_create_pending_block_groups+0x11b/0x200 [btrfs]
      [260445.593459]  [<ffffffffa0800964>] do_chunk_alloc+0x2a4/0x2e0 [btrfs]
      [260445.593491]  [<ffffffffa0803815>] find_free_extent+0xa55/0xd90 [btrfs]
      [260445.593524]  [<ffffffffa0803c22>] btrfs_reserve_extent+0xd2/0x220 [btrfs]
      [260445.593532]  [<ffffffff8119fe5d>] ? account_page_dirtied+0xdd/0x170
      [260445.593564]  [<ffffffffa0803e78>] btrfs_alloc_tree_block+0x108/0x4a0 [btrfs]
      [260445.593597]  [<ffffffffa080c9de>] ? btree_set_page_dirty+0xe/0x10 [btrfs]
      [260445.593626]  [<ffffffffa07eb5cd>] __btrfs_cow_block+0x12d/0x5b0 [btrfs]
      [260445.593654]  [<ffffffffa07ebbff>] btrfs_cow_block+0x11f/0x1c0 [btrfs]
      [260445.593682]  [<ffffffffa07ef8c7>] btrfs_search_slot+0x1e7/0xa00 [btrfs]
      [260445.593724]  [<ffffffffa08389df>] ? free_extent_buffer+0x4f/0x90 [btrfs]
      [260445.593752]  [<ffffffffa07f1a06>] btrfs_insert_empty_items+0x66/0xc0 [btrfs]
      [260445.593830]  [<ffffffffa07ea94a>] ? btrfs_alloc_path+0x1a/0x20 [btrfs]
      [260445.593905]  [<ffffffffa08403b9>] btrfs_finish_chunk_alloc+0x1c9/0x570 [btrfs]
      [260445.593946]  [<ffffffffa08002ab>] btrfs_create_pending_block_groups+0x11b/0x200 [btrfs]
      [260445.593990]  [<ffffffffa0815798>] btrfs_commit_transaction+0xa8/0xb40 [btrfs]
      [260445.594042]  [<ffffffffa085abcd>] ? btrfs_log_dentry_safe+0x6d/0x80 [btrfs]
      [260445.594089]  [<ffffffffa082bc84>] btrfs_sync_file+0x294/0x350 [btrfs]
      [260445.594115]  [<ffffffff8123e29b>] vfs_fsync_range+0x3b/0xa0
      [260445.594133]  [<ffffffff81023891>] ? syscall_trace_enter_phase1+0x131/0x180
      [260445.594149]  [<ffffffff8123e35d>] do_fsync+0x3d/0x70
      [260445.594169]  [<ffffffff81023bb8>] ? syscall_trace_leave+0xb8/0x110
      [260445.594187]  [<ffffffff8123e600>] SyS_fsync+0x10/0x20
      [260445.594204]  [<ffffffff8175de6e>] entry_SYSCALL_64_fastpath+0x12/0x71
    
    This happened because the same transaction handle created a large number
    of block groups and while finalizing their creation (inserting new items
    and updating existing items in the chunk and device trees) a new metadata
    extent had to be allocated and no free space was found in the current
    metadata block groups, which made find_free_extent() attempt to allocate
    a new block group via do_chunk_alloc(). However at do_chunk_alloc() we
    ended up allocating a new system chunk too and exceeded the threshold
    of 2Mb of reserved chunk bytes, which makes do_chunk_alloc() enter the
    final part of block group creation again (at
    btrfs_create_pending_block_groups()) and attempt to lock again the root
    of the chunk tree when it's already write locked by the same task.
    
    Similarly we can deadlock on extent tree nodes/leafs if while we are
    running delayed references we end up creating a new metadata block group
    in order to allocate a new node/leaf for the extent tree (as part of
    a CoW operation or growing the tree), as btrfs_create_pending_block_groups
    inserts items into the extent tree as well. In this case we get the
    following trace:
    
      [14242.773581] fio             D ffff880428ca3418     0  3615   3100 0x00000084
      [14242.773588]  ffff880428ca3418 ffff88042d66b000 ffff88042a03c800 ffff880428ca3438
      [14242.773594]  ffff880428ca4000 ffff8803e4b20190 ffff8803e4b201a8 ffff880428ca3460
      [14242.773600]  ffff8803e4b20188 ffff880428ca3438 ffffffff8175a437 ffff8803e4b20190
      [14242.773606] Call Trace:
      [14242.773613]  [<ffffffff8175a437>] schedule+0x37/0x80
      [14242.773656]  [<ffffffffa057ff07>] btrfs_tree_lock+0xa7/0x1f0 [btrfs]
      [14242.773664]  [<ffffffff810db7c0>] ? prepare_to_wait_event+0xf0/0xf0
      [14242.773692]  [<ffffffffa0519c44>] btrfs_lock_root_node+0x34/0x50 [btrfs]
      [14242.773720]  [<ffffffffa051ef6b>] btrfs_search_slot+0x88b/0xa00 [btrfs]
      [14242.773750]  [<ffffffffa0520a06>] btrfs_insert_empty_items+0x66/0xc0 [btrfs]
      [14242.773758]  [<ffffffff811ef4a2>] ? kmem_cache_alloc+0x1d2/0x200
      [14242.773786]  [<ffffffffa0520ad1>] btrfs_insert_item+0x71/0xf0 [btrfs]
      [14242.773818]  [<ffffffffa052f292>] btrfs_create_pending_block_groups+0x102/0x200 [btrfs]
      [14242.773850]  [<ffffffffa052f96e>] do_chunk_alloc+0x2ae/0x2f0 [btrfs]
      [14242.773934]  [<ffffffffa0532825>] find_free_extent+0xa55/0xd90 [btrfs]
      [14242.773998]  [<ffffffffa0532c22>] btrfs_reserve_extent+0xc2/0x1d0 [btrfs]
      [14242.774041]  [<ffffffffa0532e38>] btrfs_alloc_tree_block+0x108/0x4a0 [btrfs]
      [14242.774078]  [<ffffffffa051a5cd>] __btrfs_cow_block+0x12d/0x5b0 [btrfs]
      [14242.774118]  [<ffffffffa051abff>] btrfs_cow_block+0x11f/0x1c0 [btrfs]
      [14242.774155]  [<ffffffffa051e8c7>] btrfs_search_slot+0x1e7/0xa00 [btrfs]
      [14242.774194]  [<ffffffffa0528021>] ? __btrfs_free_extent.isra.70+0x2e1/0xcb0 [btrfs]
      [14242.774235]  [<ffffffffa0520a06>] btrfs_insert_empty_items+0x66/0xc0 [btrfs]
      [14242.774274]  [<ffffffffa051994a>] ? btrfs_alloc_path+0x1a/0x20 [btrfs]
      [14242.774318]  [<ffffffffa052c433>] __btrfs_run_delayed_refs+0xbb3/0x1020 [btrfs]
      [14242.774358]  [<ffffffffa052f404>] btrfs_run_delayed_refs.part.78+0x74/0x280 [btrfs]
      [14242.774391]  [<ffffffffa052f627>] btrfs_run_delayed_refs+0x17/0x20 [btrfs]
      [14242.774432]  [<ffffffffa05be236>] commit_cowonly_roots+0x8d/0x2bd [btrfs]
      [14242.774474]  [<ffffffffa059d07f>] ? __btrfs_run_delayed_items+0x1cf/0x210 [btrfs]
      [14242.774516]  [<ffffffffa05adac3>] ? btrfs_qgroup_account_extents+0x83/0x130 [btrfs]
      [14242.774558]  [<ffffffffa0544c40>] btrfs_commit_transaction+0x590/0xb40 [btrfs]
      [14242.774599]  [<ffffffffa0589b9d>] ? btrfs_log_dentry_safe+0x6d/0x80 [btrfs]
      [14242.774642]  [<ffffffffa055ac54>] btrfs_sync_file+0x294/0x350 [btrfs]
      [14242.774650]  [<ffffffff8123e29b>] vfs_fsync_range+0x3b/0xa0
      [14242.774657]  [<ffffffff81023891>] ? syscall_trace_enter_phase1+0x131/0x180
      [14242.774663]  [<ffffffff8123e35d>] do_fsync+0x3d/0x70
      [14242.774669]  [<ffffffff81023bb8>] ? syscall_trace_leave+0xb8/0x110
      [14242.774675]  [<ffffffff8123e600>] SyS_fsync+0x10/0x20
      [14242.774681]  [<ffffffff8175de6e>] entry_SYSCALL_64_fastpath+0x12/0x71
    
    Fix this by never recursing into the finalization phase of block group
    creation and making sure we never trigger the finalization of block group
    creation while running delayed references.
    
    Reported-by: Josef Bacik <jbacik@fb.com>
    Fixes: 00d80e3 ("Btrfs: fix quick exhaustion of the system array in the superblock")
    Signed-off-by: Filipe Manana <fdmanana@suse.com>
    fdmanana authored and masoncl committed Oct 5, 2015
    Configuration menu
    Copy the full SHA
    d9a0540 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2015

  1. ASoC: tas2552: fix dBscale-min declaration

    The minimum volume level for the TAS2552 (control register value 0x00)
    is -7dB however the driver declares it as -0.07dB.
    
    Running amixer before the patch reports:
    dBscale-min=-0.07dB,step=1.00dB,mute=0
    
    Running amixer with the patch applied reports:
    dBscale-min=-7.00dB,step=1.00dB,mute=0
    
    Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Andreas Dannenberg authored and broonie committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    e260046 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6710f22 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    22ca03a View commit details
    Browse the repository at this point in the history
  4. MAINTAINERS: Remove wm97xx entry

    Neither myself or Liam is especially interested in this driver any more
    and the devices are already covered by the general ex-Wolfson entry so
    just remove this.
    
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
    broonie committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    ff6afc8 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/kgene/linux-samsung into fixes
    
    Merge "Samsung fixes for v4.3" from Kukjin Kim:
    
    - fix invalid clock used for FIMD IOMMU
    - fix thermal boot issue smdk5250-smdk5250
    - fix S2R on exynos4412 trats2 boards
    - fix LEDs on exynos5422-odroidxu3-common
    - fix booting of all 8 cores on exynos542x
    
    * tag 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
      ARM: dts: Fix wrong clock binding for sysmmu_fimd1_1 on exynos5420
      ARM: dts: Fix bootup thermal issue on smdk5250
      ARM: dts: add suspend opp to exynos4412
      ARM: dts: Fix LEDs on exynos5422-odroidxu3
      ARM: EXYNOS: reset Little cores when cpu is up
    arndb committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    c6722dd View commit details
    Browse the repository at this point in the history
  6. Merge tag 'sunxi-fixes-for-4.3' of https://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/mripard/linux into fixes
    
    Merge "Allwinner fixes for 4.3" from Maxime Ripard:
    
    Two patches, one that fixes one of the DT build, and the other raising the
    voltage of the lowest OPP of the A20 to remain within the SoC operating
    boundaries
    
    * tag 'sunxi-fixes-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
      ARM: dts: Fix Makefile target for sun4i-a10-itead-iteaduino-plus
      ARM: dts: sunxi: Raise minimum CPU voltage for sun7i-a20 to meet SoC specifications
    arndb committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    b0d5811 View commit details
    Browse the repository at this point in the history
  7. Merge tag 'renesas-fixes-for-v4.3' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/horms/renesas into fixes
    
    Merge "Renesas ARM Based SoC Fixes for v4.3" from Simon Horman
    
    * Add Add CPG/MSTP Clock Domain for sound on r8a779[01] SoCs.
      This allows sound to work once again.
    
    * tag 'renesas-fixes-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
      ARM: shmobile: r8a7791 dtsi: Add CPG/MSTP Clock Domain for sound
      ARM: shmobile: r8a7790 dtsi: Add CPG/MSTP Clock Domain for sound
    arndb committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    5a37b15 View commit details
    Browse the repository at this point in the history
  8. x86/xen/p2m: hint at the last populated P2M entry

    With commit 633d6f1 (x86/xen: prepare
    p2m list for memory hotplug) the P2M may be sized to accomdate a much
    larger amount of memory than the domain currently has.
    
    When saving a domain, the toolstack must scan all the P2M looking for
    populated pages.  This results in a performance regression due to the
    unnecessary scanning.
    
    Instead of reporting (via shared_info) the maximum possible size of
    the P2M, hint at the last PFN which might be populated.  This hint is
    increased as new leaves are added to the P2M (in the expectation that
    they will be used for populated entries).
    
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Cc: <stable@vger.kernel.org> # 4.0+
    David Vrabel committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    98dd166 View commit details
    Browse the repository at this point in the history
  9. Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6

    Pull CIFS fixes from Steve French:
     "Two fixes for problems pointed out by automated tools.
    
      Thanks PaX/grsecurity team and Dan Carpenter (and the Smatch tool)"
    
    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
      [CIFS] Update cifs version number
      [SMB3] Do not fall back to SMBWriteX in set_file_size error cases
      [SMB3] Missing null tcon check
    torvalds committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    3c68319 View commit details
    Browse the repository at this point in the history
  10. Btrfs: open_ctree: Fix possible memory leak

    After reading one of chunk or tree root tree's root node from disk, if the
    root node does not have EXTENT_BUFFER_UPTODATE flag set, we fail to release
    the memory used by the root node. Fix this.
    
    Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
    chandan authored and masoncl committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    e5fffba View commit details
    Browse the repository at this point in the history
  11. BTRFS: support NFSv2 export

    The "fh_len" passed to ->fh_to_* is not guaranteed to be that same as
    that returned by encode_fh - it may be larger.
    
    With NFSv2, the filehandle is fixed length, so it may appear longer
    than expected and be zero-padded.
    
    So we must test that fh_len is at least some value, not exactly equal
    to it.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Acked-by: David Sterba <dsterba@suse.cz>
    neilbrown authored and masoncl committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    7d35199 View commit details
    Browse the repository at this point in the history
  12. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/s390/linux
    
    Pull s390 fixes from Martin Schwidefsky:
     "Three bug fixes and an update to the default configuration"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/defconfig: set SCSI_DH=y
      s390/vtime: correct scaled cputime of partially idle CPUs
      s390/boot/decompression: disable floating point in decompressor
      s390/numa: use correct type for node_to_cpumask_map
    torvalds committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    3ec20e2 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'for-linus-4.3b-rc4-tag' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/xen/tip
    
    Pull xen bug fixes from David Vrabel:
    
     - Fix VM save performance regression with x86 PV guests
    
     - Make kexec work in x86 PVHVM guests (if Xen has the soft-reset ABI)
    
     - Other minor fixes.
    
    * tag 'for-linus-4.3b-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
      x86/xen/p2m: hint at the last populated P2M entry
      x86/xen: Do not clip xen_e820_map to xen_e820_map_entries when sanitizing map
      x86/xen: Support kexec/kdump in HVM guests by doing a soft reset
      xen/x86: Don't try to write syscall-related MSRs for PV guests
      xen: use correct type for HYPERVISOR_memory_op()
    torvalds committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    f670268 View commit details
    Browse the repository at this point in the history
  14. dm: fix request-based dm error reporting

    end_clone_bio() is a endio callback for clone bio and should check
    and save the clone's bi_error for error reporting.  However,
    4246a0b ("block: add a bi_error field to struct bio") changed
    the function to check the original bio's bi_error, which is 0.
    
    Without this fix, clone's error is ignored and reported to the
    original request as success.  Thus data corruption will be observed.
    
    Fixes: 4246a0b ("block: add a bi_error field to struct bio")
    Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    nomuranec authored and snitm committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    50887bd View commit details
    Browse the repository at this point in the history
  15. arm64: Don't relocate non-existent initrd

    When booting a kernel without an initrd, the kernel reports that it
    moves -1 bytes worth, having gone through the motions with initrd_start
    equal to initrd_end:
    
        Moving initrd from [4080000000-407fffffff] to [9fff49000-9fff48fff]
    
    Prevent this by bailing out early when the initrd size is zero (i.e. we
    have no initrd), avoiding the confusing message and other associated
    work.
    
    Fixes: 1570f0d ("arm64: support initrd outside kernel linear map")
    Cc: Mark Salter <msalter@redhat.com>
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Mark Rutland authored and wildea01 committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    4ca3bc8 View commit details
    Browse the repository at this point in the history
  16. arm64: replace read_lock to rcu lock in call_break_hook

    BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917
    in_atomic(): 0, irqs_disabled(): 128, pid: 342, name: perf
    1 lock held by perf/342:
     #0:  (break_hook_lock){+.+...}, at: [<ffffffc0000851ac>] call_break_hook+0x34/0xd0
    irq event stamp: 62224
    hardirqs last  enabled at (62223): [<ffffffc00010b7bc>] __call_rcu.constprop.59+0x104/0x270
    hardirqs last disabled at (62224): [<ffffffc0000fbe20>] vprintk_emit+0x68/0x640
    softirqs last  enabled at (0): [<ffffffc000097928>] copy_process.part.8+0x428/0x17f8
    softirqs last disabled at (0): [<          (null)>]           (null)
    CPU: 0 PID: 342 Comm: perf Not tainted 4.1.6-rt5 #4
    Hardware name: linux,dummy-virt (DT)
    Call trace:
    [<ffffffc000089968>] dump_backtrace+0x0/0x128
    [<ffffffc000089ab0>] show_stack+0x20/0x30
    [<ffffffc0007030d0>] dump_stack+0x7c/0xa0
    [<ffffffc0000c878c>] ___might_sleep+0x174/0x260
    [<ffffffc000708ac8>] __rt_spin_lock+0x28/0x40
    [<ffffffc000708db0>] rt_read_lock+0x60/0x80
    [<ffffffc0000851a8>] call_break_hook+0x30/0xd0
    [<ffffffc000085a70>] brk_handler+0x30/0x98
    [<ffffffc000082248>] do_debug_exception+0x50/0xb8
    Exception stack(0xffffffc00514fe30 to 0xffffffc00514ff50)
    fe20:                                     00000000 00000000 c1594680 0000007f
    fe40: ffffffff ffffffff 92063940 0000007f 0550dcd8 ffffffc0 00000000 00000000
    fe60: 0514fe70 ffffffc0 000be1f8 ffffffc0 0514feb0 ffffffc0 0008948c ffffffc0
    fe80: 00000004 00000000 0514fed0 ffffffc0 ffffffff ffffffff 9282a948 0000007f
    fea0: 00000000 00000000 9282b708 0000007f c1592820 0000007f 00083914 ffffffc0
    fec0: 00000000 00000000 00000010 00000000 00000064 00000000 00000001 00000000
    fee0: 005101e0 00000000 c1594680 0000007f c1594740 0000007f ffffffd8 ffffff80
    ff00: 00000000 00000000 00000000 00000000 c1594770 0000007f c1594770 0000007f
    ff20: 00665e10 00000000 7f7f7f7f 7f7f7f7f 01010101 01010101 00000000 00000000
    ff40: 928e4cc0 0000007f 91ff11e8 0000007f
    
    call_break_hook is called in atomic context (hard irq disabled), so replace
    the sleepable lock to rcu lock, replace relevant list operations to rcu
    version and call synchronize_rcu() in unregister_break_hook().
    
    And, replace write lock to spinlock in {un}register_break_hook.
    
    Signed-off-by: Yang Shi <yang.shi@linaro.org>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Yang Shi authored and wildea01 committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    62c6c61 View commit details
    Browse the repository at this point in the history
  17. word-at-a-time.h: fix some Kbuild files

    arch/tile added word-at-a-time.h after the patch that added generic-y
    entries; the generic-y entry is now stale.
    
    arch/h8300 is newer than the generic-y patch for word-at-a-time.h,
    and needs a generic-y entry.
    
    arch/powerpc seems to have gotten a generic-y entry by mistake in
    the first patch; this change removes it.
    
    Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
    Chris Metcalf committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    19c22f3 View commit details
    Browse the repository at this point in the history
  18. word-at-a-time.h: support zero_bytemask() on alpha and tile

    Both alpha and tile needed implementations of zero_bytemask.
    
    The alpha version is untested.
    
    Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
    Chris Metcalf committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    c753bf3 View commit details
    Browse the repository at this point in the history
  19. strscpy: zero any trailing garbage bytes in the destination

    It's possible that the destination can be shadowed in userspace
    (as, for example, the perf buffers are now).  So we should take
    care not to leak data that could be inspected by userspace.
    
    Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
    Chris Metcalf committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    990486c View commit details
    Browse the repository at this point in the history
  20. NFS: Fix a tracepoint NULL-pointer dereference

    Running xfstest generic/013 with the tracepoint nfs:nfs4_open_file
    enabled produces a NULL-pointer dereference when calculating fileid and
    filehandle of the opened file.  Fix this by checking if state is NULL
    before trying to use the inode pointer.
    
    Reported-by: Olga Kornievskaia <aglo@umich.edu>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    amschuma-ntap authored and trondmypd committed Oct 6, 2015
    Configuration menu
    Copy the full SHA
    39d0d3b View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2015

  1. Revert "fs: do not prefault sys_write() user buffer pages"

    This reverts commit 998ef75.
    
    The commit itself does not appear to be buggy per se, but it is exposing
    a bug in ext4 (and Ted thinks ext3 too, but we solved that by getting
    rid of it).  It's too late in the release cycle to really worry about
    this, even if Dave Hansen has a patch that may actually fix the
    underlying ext4 problem.  We can (and should) revisit this for the next
    release.
    
    The problem is that moving the prefaulting later now exposes a special
    case with partially successful writes that isn't handled correctly.  And
    the prefaulting likely isn't normally even that much of a performance
    issue - it looks like at least one reason Dave saw this in his
    performance tests is that he also ran them on Skylake that now supports
    the new SMAP code, which makes the normally very cheap user space
    prefaulting noticeably more expensive.
    
    Bisected-and-acked-by: Ted Ts'o <tytso@mit.edu>
    Analyzed-and-acked-by: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    00a3d66 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'nfs-for-4.3-3' of git://git.linux-nfs.org/projects/trondmy…

    …/linux-nfs
    
    Pull NFS client bugfixes from Trond Myklebust:
     "Highlights include:
    
      Bugfixes:
       - Fix a use-after-free bug in the RPC/RDMA client
       - Fix a write performance regression
       - Fix up page writeback accounting
       - Don't try to reclaim unused state owners
       - Fix a NFSv4 nograce recovery hang
       - reset states to use open_stateid when returning delegation
         voluntarily
       - Fix a tracepoint NULL-pointer dereference"
    
    * tag 'nfs-for-4.3-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
      NFS: Fix a tracepoint NULL-pointer dereference
      nfs4: reset states to use open_stateid when returning delegation voluntarily
      NFSv4: Fix a nograce recovery hang
      NFSv4.1: nfs4_opendata_check_deleg needs to handle NFS4_OPEN_CLAIM_DELEG_CUR_FH
      NFSv4: Don't try to reclaim unused state owners
      NFS: Fix a write performance regression
      NFS: Fix up page writeback accounting
      xprtrdma: disconnect and flush cqs before freeing buffers
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    a0eeb8d View commit details
    Browse the repository at this point in the history
  3. Merge tag 'for-linus-20151006' of git://git.infradead.org/linux-mtd

    Pull MTD fixes from Brian Norris:
     "A few MTD fixes:
    
       - mxc_nand: a "refactoring only" change in 4.3-rc1 had some bad
         pointer (array) arithmetic.  Fix that
    
       - sunxi_nand:
    
       - Fix an old list manipulation / memory management bug in the device
         release() code path
    
       - Correct a few mistakes in OOB write support"
    
    * tag 'for-linus-20151006' of git://git.infradead.org/linux-mtd:
      mxc_nand: fix copy_spare
      mtd: nand: sunxi: fix sunxi_nand_chips_cleanup()
      mtd: nand: sunxi: fix OOB handling in ->write_xxx() functions
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    3f5e4a3 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/cmetcalf/linux-tile
    
    Pull strscpy fixes from Chris Metcalf :
     "This patch series fixes up a couple of architecture issues where
      strscpy wasn't configured correctly (missing on h8300, duplicating
      local and asm-generic copies on powerpc and tile).
    
      It also adds a use of zero_bytemask() to the final store for strscpy
      to avoid writing uninitialized data to the destination.  However, to
      make this work we had to add support for zero_bytemask() to the two
      architectures that didn't have it (alpha and tile), because they were
      providing their own local copies, but didn't provide the
      zero_bytemask() that was previously only required when building with
      CONFIG_DCACHE_WORD_ACCESS"
    
    [ Side note: there is still no actual users of strscpy except for the
      one preexisting use in arch/tile that predates the generic version.
      So this is all about fixing the infrastructure so that we eventually
      can start using it.  - Linus ]
    
    * 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
      strscpy: zero any trailing garbage bytes in the destination
      word-at-a-time.h: support zero_bytemask() on alpha and tile
      word-at-a-time.h: fix some Kbuild files
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    79c7c7a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c2c80bd View commit details
    Browse the repository at this point in the history
  6. video: of: fix memory leak

    If of_parse_display_timing() fails we are printing an error message and
    jumping to the error path but we missed freeing "dt".
    
    Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
    Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
    sudipm-mukherjee authored and tomba committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    d663bab View commit details
    Browse the repository at this point in the history
  7. Merge tag 'regulator-fix-v4.3-rc4' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/broonie/regulator
    
    Pull regulator fixes from Mark Brown:
     "Two fixes here, one device specific fix for axp20x and a core fix for
       cases where one regulator is supplying another which broke probe
      deferral, substituting in a dummy regulator too aggressively"
    
    * tag 'regulator-fix-v4.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
      regulator: core: Handle probe deferral from DT when resolving supplies
      regulator: axp20x: Fix enable bit indexes for DCDC4 and DCDC5
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    21f3c96 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'spi-fix-v4.3-rc4' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/broonie/spi
    
    Pull spi fixes from Mark Brown:
     "A couple of very minor fixes, one for error handling in the Davinci
      driver probe function and another making the Renesas sh-msiof DT
      binding documentation correspond to what's actually implemented"
    
    * tag 'spi-fix-v4.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
      spi: sh-msiof: Match renesas,rx-fifo-size in DT bindings doc with driver
      spi: davinci: fix handling platform_get_irq result
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    07443ce View commit details
    Browse the repository at this point in the history
  9. Merge tag 'regmap-fix-v4.3-rc4' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/broonie/regmap
    
    Pull regmap fixes from Mark Brown:
     "A couple of fixes for the debugfs information on the register map,
      fixing issues with very small reads potentially causing underflows and
      wraparounds"
    
    * tag 'regmap-fix-v4.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
      regmap: debugfs: Don't bother actually printing when calculating max length
      regmap: debugfs: Ensure we don't underflow when printing access masks
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    8ace60f View commit details
    Browse the repository at this point in the history
  10. Merge remote-tracking branches 'asoc/fix/db1200', 'asoc/fix/dwc', 'as…

    …oc/fix/imx-ssi', 'asoc/fix/maintainers', 'asoc/fix/rt5645', 'asoc/fix/sgtl5000' and 'asoc/fix/tas2552' into asoc-linus
    broonie committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    1e2fa4c View commit details
    Browse the repository at this point in the history
  11. Merge remote-tracking branches 'asoc/fix/tlv320aic3x' and 'asoc/fix/w…

    …m8962' into asoc-linus
    broonie committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    e4fc141 View commit details
    Browse the repository at this point in the history
  12. Merge tag 'fbdev-fixes-4.3' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/tomba/linux
    
    Pull fbdev fixes from Tomi Valkeinen:
    
     - fbdev: Minor fixes to broadsheetfb, fsl-diu-fb, mb862xxfb, tridentfb,
       omapfb
    
     - display-timing: Fix memory leak in error path
    
    * tag 'fbdev-fixes-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
      video: of: fix memory leak
      fbdev: broadsheetfb: fix memory leak
      OMAPDSS: panel-sony-acx565akm: Export OF module alias information
      fbdev: omap2: connector-dvi: use of_get_i2c_adapter_by_node interface
      tridentfb: Fix set_lwidth on TGUI9440 and CYBER9320
      tridentfb: fix hang on Blade3D with CONFIG_CC_OPTIMIZE_FOR_SIZE
      video: fbdev: mb862xx: Fix module autoload for OF platform driver
      video: fbdev: fsl: Fix the sleep function for FSL DIU module
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    e82fa92 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fixes from Will Deacon:
     "This addresses a couple of issues found with RT, a broken initrd
      message in the console log and a simple performance fix for some MMC
      workloads.
    
      Summary:
    
       - A couple of locking fixes for RT kernels
       - Avoid printing bogus initrd warnings when initrd isn't present
       - Performance fix for random mmap file readahead
       - Typo fix"
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: replace read_lock to rcu lock in call_break_hook
      arm64: Don't relocate non-existent initrd
      arm64: convert patch_lock to raw lock
      arm64: readahead: fault retry breaks mmap file read random detection
      arm64: debug: Fix typo in debug-monitors.c
    torvalds committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    c6fa8e6 View commit details
    Browse the repository at this point in the history
  14. Merge tag 'asoc-fix-v4.3-rc4' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/broonie/sound into for-linus
    
    ASoC: Fixes for v4.3
    
    Quite a few fixes here but they're all very small and driver specific,
    none of them really stand out if you aren't using the relevant hardware
    but they're all useful if you do happen to have an affected device.
    tiwai committed Oct 7, 2015
    Configuration menu
    Copy the full SHA
    601d629 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2015

  1. Revert "mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias…

    … status"
    
    This reverts commit c55d7a0.
    
    Without reverting this commit we get "unbalanced disables for pbias_mmc_omap4"
    errors on omap4430. It seems that 4430 and 4460 behave in a different way for
    the PBIAS regulator registers and until that has been debugged further we
    cannot rely on the regulator status registers in hardare on 4430.
    
    Fixes: 7d607f9 ("mmc: host: omap_hsmmc: use
    devm_regulator_get_optional() for vmmc")
    Cc: Felipe Balbi <balbi@ti.com>
    Cc: Kishon Vijay Abraham I <kishon@ti.com>
    Cc: Nishanth Menon <nm@ti.com>
    Cc: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Tested-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    tmlind authored and storulf committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    bb2726b View commit details
    Browse the repository at this point in the history
  2. mmc: host: omap_hsmmc: Fix MMC for omap3 legacy booting

    Starting with commit 7d607f9 ("mmc: host: omap_hsmmc: use
    devm_regulator_get_optional() for vmmc") MMC on omap3 stopped working
    for legacy booting.
    
    This is because legacy booting sets up some of the resource in the
    platform init code, and for optional regulators always seem to
    return -EPROBE_DEFER for the legacy booting.
    
    Let's fix the issue by checking for device tree based booting for
    now. Then when omap3 boots in device tree only mode, this patch
    can be just reverted.
    
    Fixes: 7d607f9 ("mmc: host: omap_hsmmc: use
    devm_regulator_get_optional() for vmmc")
    Cc: Felipe Balbi <balbi@ti.com>
    Cc: Kishon Vijay Abraham I <kishon@ti.com>
    Cc: Nishanth Menon <nm@ti.com>
    Cc: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Tested-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    tmlind authored and storulf committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    123e20b View commit details
    Browse the repository at this point in the history
  3. arch/powerpc: provide zero_bytemask() for big-endian

    For some reason, only the little-endian flavor of
    powerpc provided the zero_bytemask() implementation.
    
    Reported-by: Michal Sojka <sojkam1@fel.cvut.cz>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
    Chris Metcalf committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    7a5692e View commit details
    Browse the repository at this point in the history
  4. mmc: sdhci-pxav3: remove broken clock base quirk for Armada 38x sdhci…

    … driver
    
    shci-pxav3 driver is enabling by default the
    SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN quirk. However this quirk is not
    required for Armada 38x and leads to wrong clock setting in the divider.
    
    Signed-off-by: Nadav Haklai <nadavh@marvell.com>
    Signed-off-by: Marcin Wojtas <mw@semihalf.com>
    Cc: <stable@vger.kernel.org> # v4.2
    Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Nadav Haklai authored and storulf committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    5de76bf View commit details
    Browse the repository at this point in the history
  5. mmc: sdhci-pxav3: disable clock inversion for HS MMC cards

    According to 'FE-2946959' erratum the clock inversion option is
    needed to support slow frequencies when the card input hold time
    requirement is high. This setting is not required for high speed
    MMC and might cause timing violation.
    
    Signed-off-by: Nadav Haklai <nadavh@marvell.com>
    Cc: <stable@vger.kernel.org> # v4.2
    Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Nadav Haklai authored and storulf committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    fa79641 View commit details
    Browse the repository at this point in the history
  6. mmc: sdhci-pxav3: fix error handling of armada_38x_quirks

    In case of armada_38x_quirks error, all clocks should be cleaned-up, same
    as after mv_conf_mbus_windows failure.
    
    Signed-off-by: Marcin Wojtas <mw@semihalf.com>
    Cc: <stable@vger.kernel.org> # v4.2
    Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    wojtas-marcin authored and storulf committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    2162d9f View commit details
    Browse the repository at this point in the history
  7. mmc: sdhci: add quirk SDHCI_QUIRK2_NEED_DELAY_AFTER_INT_CLK_RST

    The Atmel sdhci device needs a new quirk. sdhci_set_clock set the Clock
    Control Register to 0 before computing the new value and writing it.
    It disables the internal clock which causes a reset mecanism. If we
    write the new value before this reset mecanism is done, it will prevent
    the stabilisation of the internal clock, so a delay is needed. This
    delay is about 2-3 cycles of the base clock. To be safe, a 1 ms delay is
    used.
    
    Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    ldesroches authored and storulf committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    af95176 View commit details
    Browse the repository at this point in the history
  8. mmc: sdhci-of-at91: use SDHCI_QUIRK2_NEED_DELAY_AFTER_INT_CLK_RST quirk

    The Atmel sdhci device needs the
    SDHCI_QUIRK2_NEED_DELAY_AFTER_INT_CLK_RST quirk. Without it, the
    internal clock could never stabilised when changing the sd clock
    frequency.
    
    Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    ldesroches authored and storulf committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    88c6eb0 View commit details
    Browse the repository at this point in the history
  9. cpufreq: acpi_cpufreq: prevent crash on reading freqdomain_cpus

    When freqdomain_cpus attribute is read from an offlined cpu, it will
    cause crash. This change prevents calling cpufreq_show_cpus when
    policy driver_data is NULL.
    
    Crash info:
    
    [  170.814949] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
    [  170.814990] IP: [<ffffffff813b2490>] _find_next_bit.part.0+0x10/0x70
    [  170.815021] PGD 227d30067 PUD 229e56067 PMD 0
    [  170.815043] Oops: 0000 [#2] SMP
    [  170.816022] CPU: 3 PID: 3121 Comm: cat Tainted: G      D    OE   4.3.0-rc3+ #33
    ...
    ...
    [  170.816657] Call Trace:
    [  170.816672]  [<ffffffff813b2505>] ? find_next_bit+0x15/0x20
    [  170.816696]  [<ffffffff8160e47c>] cpufreq_show_cpus+0x5c/0xd0
    [  170.816722]  [<ffffffffa031a409>] show_freqdomain_cpus+0x19/0x20 [acpi_cpufreq]
    [  170.816749]  [<ffffffff8160e65b>] show+0x3b/0x60
    [  170.816769]  [<ffffffff8129b31c>] sysfs_kf_seq_show+0xbc/0x130
    [  170.816793]  [<ffffffff81299be3>] kernfs_seq_show+0x23/0x30
    [  170.816816]  [<ffffffff81240f2c>] seq_read+0xec/0x390
    [  170.816837]  [<ffffffff8129a64a>] kernfs_fop_read+0x10a/0x160
    [  170.816861]  [<ffffffff8121d9b7>] __vfs_read+0x37/0x100
    [  170.816883]  [<ffffffff813217c0>] ? security_file_permission+0xa0/0xc0
    [  170.816909]  [<ffffffff8121e2e3>] vfs_read+0x83/0x130
    [  170.816930]  [<ffffffff8121f035>] SyS_read+0x55/0xc0
    ...
    ...
    [  170.817185] ---[ end trace bc6eadf82b2b965a ]---
    
    Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Cc: 4.2+ <stable@vger.kernel.org> # 4.2+
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    spandruvada authored and rafaeljw committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    e253036 View commit details
    Browse the repository at this point in the history
  10. cpufreq: prevent lockup on reading scaling_available_frequencies

    When scaling_available_frequencies is read on an offlined cpu, then
    either lockup or junk values are displayed. This is caused by
    freed freq_table, which policy is using.
    
    Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    spandruvada authored and rafaeljw committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    55582bc View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2015

  1. dm cache: fix NULL pointer when switching from cleaner policy

    The cleaner policy doesn't make use of the per cache block hint space in
    the metadata (unlike the other policies).  When switching from the
    cleaner policy to mq or smq a NULL pointer crash (in dm_tm_new_block)
    was observed.  The crash was caused by bugs in dm-cache-metadata.c
    when trying to skip creation of the hint btree.
    
    The minimal fix is to change hint size for the cleaner policy to 4 bytes
    (only hint size supported).
    
    Signed-off-by: Joe Thornber <ejt@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org
    jthornber authored and snitm committed Oct 9, 2015
    Configuration menu
    Copy the full SHA
    2bffa15 View commit details
    Browse the repository at this point in the history
  2. Merge branches 'pm-devfreq' and 'pm-cpufreq'

    * pm-devfreq:
      PM / devfreq: fix double kfree
      PM / devfreq: Fix governor_store()
    
    * pm-cpufreq:
      cpufreq: prevent lockup on reading scaling_available_frequencies
      cpufreq: acpi_cpufreq: prevent crash on reading freqdomain_cpus
    rafaeljw committed Oct 9, 2015
    Configuration menu
    Copy the full SHA
    670aee3 View commit details
    Browse the repository at this point in the history
  3. dm snapshot: add new persistent store option to support overflow

    Commit 76c44f6 introduced the possibly for "Overflow" to be reported
    by the snapshot device's status.  Older userspace (e.g. lvm2) does not
    handle the "Overflow" status response.
    
    Fix this incompatibility by requiring newer userspace code, that can
    cope with "Overflow", request the persistent store with overflow support
    by using "PO" (Persistent with Overflow) for the snapshot store type.
    
    Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
    Fixes: 76c44f6 ("dm snapshot: don't invalidate on-disk image on snapshot write overflow")
    Reviewed-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    snitm committed Oct 9, 2015
    Configuration menu
    Copy the full SHA
    b0d3cc0 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/arm/arm-soc
    
    Pull ARM SoC fixes from Arnd Bergmann:
     "The fixes for this week include one small patch that was years in the
      making and that finally fixes using all eight CPUs on exynos542x.
    
      The rest are lots of minor changes for sunxi, imx, exynos and shmobile
    
       - fixing the minimum voltage for Allwinner A20
       - thermal boot issue on SMDK5250.
       - invalid clock used for FIMD IOMMU.
       - audio on Renesas r8a7790/r8a7791
       - invalid clock used for FIMD IOMMU
       - LEDs on exynos5422-odroidxu3-common
       - usb pin control for imx-rex
       - imx53: fix PMIC interrupt level
       - a Makefile typo"
    
    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
      ARM: dts: Fix wrong clock binding for sysmmu_fimd1_1 on exynos5420
      ARM: dts: Fix bootup thermal issue on smdk5250
      ARM: shmobile: r8a7791 dtsi: Add CPG/MSTP Clock Domain for sound
      ARM: shmobile: r8a7790 dtsi: Add CPG/MSTP Clock Domain for sound
      arm-cci500: Don't enable PMU driver by default
      ARM: dts: fix usb pin control for imx-rex dts
      ARM: imx53: qsrb: fix PMIC interrupt level
      ARM: imx53: include IRQ dt-bindings header
      ARM: dts: add suspend opp to exynos4412
      ARM: dts: Fix LEDs on exynos5422-odroidxu3
      ARM: EXYNOS: reset Little cores when cpu is up
      ARM: dts: Fix Makefile target for sun4i-a10-itead-iteaduino-plus
      ARM: dts: sunxi: Raise minimum CPU voltage for sun7i-a20 to meet SoC specifications
    torvalds committed Oct 9, 2015
    Configuration menu
    Copy the full SHA
    5163ac7 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'nfsd-4.3-1' of git://linux-nfs.org/~bfields/linux

    Pull nfsd bugfix from Bruce Fields:
     "Just one RDMA bugfix"
    
    * tag 'nfsd-4.3-1' of git://linux-nfs.org/~bfields/linux:
      svcrdma: handle rdma read with a non-zero initial page offset
    torvalds committed Oct 9, 2015
    Configuration menu
    Copy the full SHA
    38aa0a5 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/mason/linux-btrfs
    
    Pull btrfs fixes from Chris Mason:
     "These are small and assorted.  Neil's is the oldest, I dropped the
      ball thinking he was going to send it in"
    
    * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
      Btrfs: support NFSv2 export
      Btrfs: open_ctree: Fix possible memory leak
      Btrfs: fix deadlock when finalizing block group creation
      Btrfs: update fix for read corruption of compressed and shared extents
      Btrfs: send, fix corner case for reference overwrite detection
    torvalds committed Oct 9, 2015
    Configuration menu
    Copy the full SHA
    175d58c View commit details
    Browse the repository at this point in the history
  7. Merge tag 'dm-4.3-fixes-2' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/device-mapper/linux-dm
    
    Pull dm fixes from Mike Snitzer:
     "Three stable fixes:
    
       - DM core AB-BA deadlock fix in the device destruction path (vs
         device creation's DM table swap).
    
       - DM raid fix to properly round up the region_size to the next
         power-of-2.
    
       - DM cache fix for a NULL pointer seen while switching from the
         "cleaner" cache policy.
    
      Two fixes for regressions introduced during the 4.3 merge:
    
       - request-based DM error propagation regressed due to incorrect
         changes introduced when adding the bi_error field to bio.
    
       - DM snapshot fix to only support snapshots that overflow if the
         client (e.g. lvm2) is prepared to deal with the associated
         snapshot status interface change"
    
    * tag 'dm-4.3-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm snapshot: add new persistent store option to support overflow
      dm cache: fix NULL pointer when switching from cleaner policy
      dm: fix request-based dm error reporting
      dm raid: fix round up of default region size
      dm: fix AB-BA deadlock in __dm_destroy()
    torvalds committed Oct 9, 2015
    Configuration menu
    Copy the full SHA
    0444555 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2015

  1. Merge tag 'mmc-v4.3-rc4' of git://git.linaro.org/people/ulf.hansson/mmc

    Pull MMC fixes from Ulf Hansson:
     "MMC host:
       - omap_hsmmc: Fix boot regressions for omap4430
       - omap_hsmmc: Fix legacy boot regression for omap3
       - sdhci-pxav3: Fix some clock issues for Armada 38x
       - sdhci-pxav3: Fix error handling at probe
       - sdhci-of-at91: Fix clock stabilization problem"
    
    * tag 'mmc-v4.3-rc4' of git://git.linaro.org/people/ulf.hansson/mmc:
      mmc: sdhci-of-at91: use SDHCI_QUIRK2_NEED_DELAY_AFTER_INT_CLK_RST quirk
      mmc: sdhci: add quirk SDHCI_QUIRK2_NEED_DELAY_AFTER_INT_CLK_RST
      mmc: sdhci-pxav3: fix error handling of armada_38x_quirks
      mmc: sdhci-pxav3: disable clock inversion for HS MMC cards
      mmc: sdhci-pxav3: remove broken clock base quirk for Armada 38x sdhci driver
      mmc: host: omap_hsmmc: Fix MMC for omap3 legacy booting
      Revert "mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status"
    torvalds committed Oct 10, 2015
    Configuration menu
    Copy the full SHA
    8140e73 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/clk/linux
    
    Pull clk fixes from Stephen Boyd:
     "A Samsung driver fix and a handful of TI driver fixes"
    
    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
      clk: ti: dflt: fix enable_reg validity check
      clk: ti: fix dual-registration of uart4_ick
      clk: ti: clk-7xx: Remove hardwired ABE clock configuration
      clk: samsung: fix cpu clock's flags checking
    torvalds committed Oct 10, 2015
    Configuration menu
    Copy the full SHA
    fe621fd View commit details
    Browse the repository at this point in the history
  3. Merge tag 'sound-4.3-rc5' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "We see various small fixes, but nothing looks too scary, all are small
      gentle bug fixes:
    
       - Most of changes are for ASoC codecs: Realtek, SGTL5000, TAS2552,
         TLV320, WM8962
    
       - A couple of dwc and imx-ssi fixes
    
       - Usual oneliner HD-audio quirks
    
       - An old emux synth code fix"
    
    * tag 'sound-4.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      MAINTAINERS: Remove wm97xx entry
      ASoC: tas2552: fix dBscale-min declaration
      ALSA: synth: Fix conflicting OSS device registration on AWE32
      ALSA: hda - Disable power_save_node for IDT 92HD73xx chips
      ALSA: hda - Apply SPDIF pin ctl to MacBookPro 12,1
      ALSA: hda: Add dock support for ThinkPad T550
      ASoC: dwc: fix dma stop transferring issue
      ASoC: dwc: correct irq clear method
      ASoC: tlv320aic3x: Prevent writing reserved registers on tlv320aic3104 CODECs
      ASoC: rt5645: Correct the naming and setting of ADC Boost Volume Control
      ASoC: sgtl5000: fix wrong register MIC_BIAS_VOLTAGE setup on probe
      ASoC: wm8962: balance pm_runtime_enable
      ASoC: imx-ssi: Fix DAI hardware signal inversions
      ASoC: sgtl5000: fix error message output for MicBias voltage
      ASoC: db1200: Fix DAI link format for db1300 and db1550
    torvalds committed Oct 10, 2015
    Configuration menu
    Copy the full SHA
    f4ba1cf View commit details
    Browse the repository at this point in the history
  4. Merge branch 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/cmetcalf/linux-tile
    
    Pull strscpy powerpc fix from Chris Metcalf.
    
    Fix powerpc big-endian build.
    
    * 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
      arch/powerpc: provide zero_bytemask() for big-endian
    torvalds committed Oct 10, 2015
    Configuration menu
    Copy the full SHA
    71419b7 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'pm+acpi-4.3-rc5' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/rafael/linux-pm
    
    Pull power management and ACPI fixes from Rafael Wysocki:
     "These are four fixes for bugs in the devfreq and cpufreq subsystems,
      including two regression fixes (one for a recent regression and one
      for a problem introduced in 4.2).
    
      Specifics:
    
       - Two fixes for cpufreq regressions, an acpi-cpufreq driver one
         introduced during the 4.2 cycle when we started to preserve cpufreq
         directories for offline CPUs and a general one introduced recently
         (Srinivas Pandruvada).
    
       - Two devfreq fixes, one for a double kfree() in an error code path
         and one for a confusing sysfs-related failure (Geliang Tang, Tobias
         Jakobi)"
    
    * tag 'pm+acpi-4.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      cpufreq: prevent lockup on reading scaling_available_frequencies
      cpufreq: acpi_cpufreq: prevent crash on reading freqdomain_cpus
      PM / devfreq: fix double kfree
      PM / devfreq: Fix governor_store()
    torvalds committed Oct 10, 2015
    Configuration menu
    Copy the full SHA
    149fadf View commit details
    Browse the repository at this point in the history