Skip to content

Commit

Permalink
linux-next
Browse files Browse the repository at this point in the history
GIT 8375913f32f3e6f5bbdb18bd36046a07bbfb7654

commit e8d7c33232e5fdfa761c3416539bc5b4acd12db5
Author: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Date:   Sun Nov 27 19:32:32 2016 +0300

    md/raid5: limit request size according to implementation limits
    
    Current implementation employ 16bit counter of active stripes in lower
    bits of bio->bi_phys_segments. If request is big enough to overflow
    this counter bio will be completed and freed too early.
    
    Fortunately this not happens in default configuration because several
    other limits prevent that: stripe_cache_size * nr_disks effectively
    limits count of active stripes. And small max_sectors_kb at lower
    disks prevent that during normal read/write operations.
    
    Overflow easily happens in discard if it's enabled by module parameter
    "devices_handle_discard_safely" and stripe_cache_size is set big enough.
    
    This patch limits requests size with 256Mb - 8Kb to prevent overflows.
    
    Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
    Cc: Shaohua Li <shli@kernel.org>
    Cc: Neil Brown <neilb@suse.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Shaohua Li <shli@fb.com>

commit 1a0ec5c30c37d29e4435a45e75c896f91af970bd
Author: JackieLiu <liuyun01@kylinos.cn>
Date:   Tue Nov 29 11:57:30 2016 +0800

    md/raid5-cache: do not need to set STRIPE_PREREAD_ACTIVE repeatedly
    
    R5c_make_stripe_write_out has set this flag, do not need to set again.
    
    Signed-off-by: JackieLiu <liuyun01@kylinos.cn>
    Signed-off-by: Shaohua Li <shli@fb.com>

commit dbd22c8d7fc6276a48627e57a5605cf9565de78a
Author: JackieLiu <liuyun01@kylinos.cn>
Date:   Tue Nov 29 11:13:20 2016 +0800

    md/raid5-cache: remove the unnecessary next_cp_seq field from the r5l_log
    
    The next_cp_seq field is useless, remove it.
    
    Signed-off-by: JackieLiu <liuyun01@kylinos.cn>
    Signed-off-by: Shaohua Li <shli@fb.com>

commit bc8f167f9c4656b7a972936237e9c38e6ab80c67
Author: JackieLiu <liuyun01@kylinos.cn>
Date:   Mon Nov 28 16:19:20 2016 +0800

    md/raid5-cache: release the stripe_head at the appropriate location
    
    If we released the 'stripe_head' in r5c_recovery_flush_log,
    ctx->cached_list will both release the data-parity stripes and
    data-only stripes, which will become empty.
    And we also need to use the data-only stripes in
    r5c_recovery_rewrite_data_only_stripes, so we should wait util rewrite
    data-only stripes is done before releasing them.
    
    Reviewed-by: Zhengyuan Liu <liuzhengyuan@kylinos.cn>
    Reviewed-by: Song Liu <songliubraving@fb.com>
    Signed-off-by: JackieLiu <liuyun01@kylinos.cn>
    Signed-off-by: Shaohua Li <shli@fb.com>

commit fc833c2a2f4129c42efdaed64b9eb6e9ae5fdcee
Author: JackieLiu <liuyun01@kylinos.cn>
Date:   Mon Nov 28 16:19:19 2016 +0800

    md/raid5-cache: use ring add to prevent overflow
    
    'write_pos' must be protected with 'r5l_ring_add', or it may overflow
    
    Signed-off-by: JackieLiu <liuyun01@kylinos.cn>
    Reviewed-by: Song Liu <songliubraving@fb.com>
    Signed-off-by: Shaohua Li <shli@fb.com>

commit 9b69173e5c6000b2c6fafc5085dcd7b173f073c8
Author: JackieLiu <liuyun01@kylinos.cn>
Date:   Mon Nov 28 16:19:18 2016 +0800

    md/raid5-cache: remove unnecessary function parameters
    
    The function parameter 'recovery_list' is not used in
    body, we can delete it
    
    Signed-off-by: JackieLiu <liuyun01@kylinos.cn>
    Reviewed-by: Song Liu <songliubraving@fb.com>
    Signed-off-by: Shaohua Li <shli@fb.com>

commit 462eb7d87297dae5837f3445b68b79e835ab0d6c
Author: Zhengyuan Liu <liuzhengyuan@kylinos.cn>
Date:   Sat Nov 26 10:57:14 2016 +0800

    raid5-cache: don't set STRIPE_R5C_PARTIAL_STRIPE flag while load stripe into cache
    
    r5c_recovery_load_one_stripe should not set STRIPE_R5C_PARTIAL_STRIPE flag,as
    the data-only stripe may be STRIPE_R5C_FULL_STRIPE stripe. The state machine
    would release the stripe later and add it into neither r5c_cached_full_stripes
    list or r5c_cached_partial_stripes list and set correct flag.
    
    Reviewed-by: JackieLiu <liuyun01@kylinos.cn>
    Signed-off-by: Zhengyuan Liu <liuzhengyuan@kylinos.cn>
    Signed-off-by: Shaohua Li <shli@fb.com>

commit 5b52b1d37a6fe92bb95c949d56ffd9ec3b7a72b3
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:57:48 2016 -0500

    netns: avoid disabling irq for netns id
    
    Bring back commit bc51dddf98c9 ("netns: avoid disabling irq for netns
    id") now that we've fixed some audit multicast issues that caused
    problems with original attempt.  Additional information, and history,
    can be found in the links below:
    
     * https://github.com/linux-audit/audit-kernel/issues/22
     * https://github.com/linux-audit/audit-kernel/issues/23
    
    Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit ef256ce8a87ebecc335bd3c42280030e46428362
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:53:26 2016 -0500

    audit: don't ever sleep on a command record/message
    
    Sleeping on a command record/message in audit_log_start() could slow
    something, e.g. auditd, from doing something important, e.g. clean
    shutdown, which could present problems on a heavily loaded system.
    This patch allows tasks to bypass any queue restrictions if they are
    logging a command record/message.
    
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit 2934a794d81231ce905cdb5fa1f02e776c26c78b
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:53:26 2016 -0500

    audit: handle a clean auditd shutdown with grace
    
    When auditd stops cleanly it sets 'auditd_pid' to 0 with an
    AUDIT_SET message, in this case we should reset our backlog
    queues via the auditd_reset() function.  This patch also adds
    a 'auditd_pid' check to the top of kauditd_send_unicast_skb()
    so we can fail quicker.
    
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit 917a7707a4a49b3b0d35c53cac40d94bbfa8060b
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:53:25 2016 -0500

    audit: wake up kauditd_thread after auditd registers
    
    This patch was suggested by Richard Briggs back in 2015, see the link
    to the mail archive below.  Unfortunately, that patch is no longer
    even remotely valid due to other changes to the code.
    
    * https://www.redhat.com/archives/linux-audit/2015-October/msg00075.html
    
    Suggested-by: Richard Guy Briggs <rgb@redhat.com>
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit 5e6dbd54309b9ddeaa595e5c1015351617bbcc2d
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:53:25 2016 -0500

    audit: rework audit_log_start()
    
    The backlog queue handling in audit_log_start() is a little odd with
    some questionable design decisions, this patch attempts to rectify
    this with the following changes:
    
    * Never make auditd wait, ignore any backlog limits as we need auditd
    awake so it can drain the backlog queue.
    
    * When we hit a backlog limit and start dropping records, don't wake
    all the tasks sleeping on the backlog, that's silly.  Instead, let
    kauditd_thread() take care of waking everyone once it has had a chance
    to drain the backlog queue.
    
    * Don't keep a global backlog timeout countdown, make it per-task.  A
    per-task timer means we won't have all the sleeping tasks waking at
    the same time and hammering on an already stressed backlog queue.
    
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit 8b4c3202464e880cb546a2ee6b4a64877c83d2ec
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:53:25 2016 -0500

    audit: rework the audit queue handling
    
    The audit record backlog queue has always been a bit of a mess, and
    the moving the multicast send into kauditd_thread() from
    audit_log_end() only makes things worse.  This patch attempts to fix
    the backlog queue with a better design that should hold up better
    under load and have less of a performance impact at syscall
    invocation time.
    
    While it looks like there is a log going on in this patch, the main
    change is the move from a single backlog queue to three queues:
    
    * A queue for holding records generated from audit_log_end() that
    haven't been consumed by kauditd_thread() (audit_queue).
    
    * A queue for holding records that have been sent via multicast but
    had a temporary failure when sending via unicast and need a resend
    (audit_retry_queue).
    
    * A queue for holding records that haven't been sent via unicast
    because no one is listening (audit_hold_queue).
    
    Special care is taken in this patch to ensure that the proper
    record ordering is preserved, e.g. we send everything in the hold
    queue first, then the retry queue, and finally the main queue.
    
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit 2af6ea0994c77c87ffb8620df94498fb288dff55
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:53:24 2016 -0500

    audit: rename the queues and kauditd related functions
    
    The audit queue names can be shortened and the record sending
    helpers associated with the kauditd task could be named better, do
    these small cleanups now to make life easier once we start reworking
    the queues and kauditd code.
    
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit 6bb9f3cfb0f5f5d91029bdc3b991de281864179b
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:53:24 2016 -0500

    audit: queue netlink multicast sends just like we do for unicast sends
    
    Sending audit netlink multicast messages is bad for all the same
    reasons that sending audit netlink unicast messages is bad, so this
    patch reworks things so that we don't do the multicast send in
    audit_log_end(), we do it from the dedicated kauditd_thread thread just
    as we do for unicast messages.
    
    See the GitHub issues below for more information/history:
    
     * https://github.com/linux-audit/audit-kernel/issues/23
     * https://github.com/linux-audit/audit-kernel/issues/22
    
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit 04c7b99a807fa189cd9b85b2f75767f59ab9b7d1
Author: Paul Moore <paul@paul-moore.com>
Date:   Tue Nov 29 16:53:23 2016 -0500

    audit: fixup audit_init()
    
    Make sure everything is initialized before we start the kauditd_thread
    and don't emit the "initialized" record until everything is finished.
    We also panic with a descriptive message if we can't start the
    kauditd_thread.
    
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit d93f4097376007702a26886c836568a6f9e8c5dd
Author: Richard Guy Briggs <rbriggs@redhat.com>
Date:   Tue Nov 29 16:53:23 2016 -0500

    audit: move kaudit thread start from auditd registration to kaudit init (#2)
    
    Richard made this change some time ago but Eric backed it out because
    the rest of the supporting code wasn't ready.  In order to move the
    netlink multicast send to kauditd_thread we need to ensure the
    kauditd_thread is always running, so restore commit 6ff5e459 ("audit:
    move kaudit thread start from auditd registration to kaudit init").
    
    Signed-off-by: Richard Guy Briggs <rbriggs@redhat.com>
    [PM: brought forward and merged based on Richard's old patch]
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit d6ba7a9c8b5a6a42e8f7a7efd8345122611b535c
Author: Jonathan Corbet <corbet@lwn.net>
Date:   Fri Nov 18 17:21:32 2016 -0700

    doc: Sphinxify the tracepoint docbook
    
    Convert the tracepoint docbook template to RST and add it to the core-api
    manual.  No changes to the actual text beyond the mechanical formatting
    conversion.
    
    Cc: Jason Baron <jbaron@redhat.com>
    Cc: William Cohen <wcohen@redhat.com>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 8da3dc53347205b0d32ded4ab9c96dcf336061d8
Author: Jonathan Corbet <corbet@lwn.net>
Date:   Fri Nov 18 17:17:11 2016 -0700

    doc: debugobjects: actually pull in the kerneldoc comments
    
    Add the appropriate markup to get the kerneldoc comments out of
    lib/debugobjects.c that have never seen the light of day until now.
    
    A logical next step, left for the reader at the moment, is to move the
    function descriptions *out* of debug-objects.rst and into the kerneldoc
    comments themselves.
    
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 93dc3a112bf8e5f97e3d9744595934ff31708764
Author: Jonathan Corbet <corbet@lwn.net>
Date:   Fri Nov 18 17:06:13 2016 -0700

    doc: Convert the debugobjects DocBook template to sphinx
    
    A couple of the most minor heading tweaks, otherwise no changes to the text
    itself beyond the mechanical conversion.
    
    Note that the inclusion of the kerneldoc comments from the source has never
    worked, since exported symbols were asked for and none of those functions
    are exported to modules.  It doesn't work here either :)
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 0bb33e25e5c91f69304f3799609a52354dca1af4
Author: Jonathan Corbet <corbet@lwn.net>
Date:   Fri Nov 18 16:04:48 2016 -0700

    docs: Move the 802.11 guide into the driver-api manual
    
    Put this documentation with the other driver docs and try to keep the top
    level reasonably clean.
    
    Cc: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 9367a9cf15eae56d36b3ac76738970bef3698e63
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Nov 29 13:19:27 2016 -0800

    fixup! rcu: Add functions to test for trivial grace periods

commit 19f52e52fedc204e3a7a1ab568b9208064ccfb1e
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Nov 29 13:13:47 2016 -0800

    rcu: Add functions to test for trivial grace periods
    
    Under some circumstances, RCU grace periods are zero cost.  For
    RCU-preempt, this is the case during boot, and for RCU-bh and RCU-sched,
    this is the case if there is only one CPU.  This means that RCU users
    might wish to dispense with grace-period-avoidance strategies when
    grace periods are zero cost, so this commit adds rcu_trivial_gp(),
    rcu_bh_trivial_gp(), and rcu_sched_trivial_gp() to test for these
    conditions.  Because the conditions leading to zero-cost grace periods
    can change at any time (for example, when a second CPU is onlined), these
    functions should be used as performance hints, and must not be relied
    on for correctness.  For example, even if rcu_trivial_gp() returns true,
    you are required to invoke synchronize_rcu().
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 8902bd9bfc63a1dbed31a6a44dc895a33c6238e9
Author: Amir Goldstein <amir73il@gmail.com>
Date:   Tue Nov 22 11:47:09 2016 +0200

    ovl: show redirect_dir mount option
    
    Show the value of redirect_dir in /proc/mounts.
    
    Signed-off-by: Amir Goldstein <amir73il@gmail.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit a53ca63502e62ca459de32821753c8227dc94197
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Nov 29 12:02:17 2016 +0000

    drm: Protect fb_helper list manipulation with a mutex
    
    Though we only walk the kernel_fb_helper_list inside a panic (or single
    thread debugging), we still need to protect the list manipulation on
    creating/removing a framebuffer device in order to prevent list
    corruption.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Link: http://patchwork.freedesktop.org/patch/msgid/20161129120217.7344-3-chris@chris-wilson.co.uk

commit 64e94407fb5a4128636c2b15b38fa6e71a427228
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Nov 29 12:02:16 2016 +0000

    drm: Pull together probe + setup for drm_fb_helper
    
    drm_fb_helper_probe_connector_modes() is always called before
    drm_setup_crtcs(), so just move the call into drm_setup_crtcs for a
    small bit of code compaction.
    
    Note that register_framebuffer will do a modeset (when fbcon is enabled)
    and hence must be moved out of the critical section. A follow-up patch
    will add new locking for the fb list, hence move all the related
    registration code together.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Daniel Vetter <daniel.vetter@intel.com>
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Link: http://patchwork.freedesktop.org/patch/msgid/20161129120217.7344-2-chris@chris-wilson.co.uk

commit 966a6a13c6660b499caf2932de22ae70c1317786
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Nov 29 12:02:15 2016 +0000

    drm: Hold mode_config.lock to prevent hotplug whilst setting up crtcs
    
    The fb_helper->connector_count is modified when a new connector is
    constructed following a hotplug event (e.g. DP-MST). This causes trouble
    for drm_setup_crtcs() and friends that assume that fb_helper is
    constant:
    
    [ 1250.872997] BUG: KASAN: slab-out-of-bounds in drm_setup_crtcs+0x320/0xf80 at addr ffff88074cdd2608
    [ 1250.873020] Write of size 40 by task kworker/u8:3/480
    [ 1250.873039] CPU: 2 PID: 480 Comm: kworker/u8:3 Tainted: G     U          4.9.0-rc6+ #285
    [ 1250.873043] Hardware name:                  /NUC6i3SYB, BIOS SYSKLi35.86A.0024.2015.1027.2142 10/27/2015
    [ 1250.873050] Workqueue: events_unbound async_run_entry_fn
    [ 1250.873056]  ffff88070f9d78f0 ffffffff814b72aa ffff88074e40c5c0 ffff88074cdd2608
    [ 1250.873067]  ffff88070f9d7918 ffffffff8124ff3c ffff88070f9d79b0 ffff88074cdd2600
    [ 1250.873079]  ffff88074e40c5c0 ffff88070f9d79a0 ffffffff812501e4 0000000000000005
    [ 1250.873090] Call Trace:
    [ 1250.873099]  [<ffffffff814b72aa>] dump_stack+0x67/0x9d
    [ 1250.873106]  [<ffffffff8124ff3c>] kasan_object_err+0x1c/0x70
    [ 1250.873113]  [<ffffffff812501e4>] kasan_report_error+0x204/0x4f0
    [ 1250.873120]  [<ffffffff81698df0>] ? drm_dev_printk+0x140/0x140
    [ 1250.873127]  [<ffffffff81250ac3>] kasan_report+0x53/0x60
    [ 1250.873134]  [<ffffffff81688b40>] ? drm_setup_crtcs+0x320/0xf80
    [ 1250.873142]  [<ffffffff8124f18e>] check_memory_region+0x13e/0x1a0
    [ 1250.873147]  [<ffffffff8124f5f3>] memset+0x23/0x40
    [ 1250.873154]  [<ffffffff81688b40>] drm_setup_crtcs+0x320/0xf80
    [ 1250.873161]  [<ffffffff810be7c5>] ? wake_up_q+0x45/0x80
    [ 1250.873169]  [<ffffffff81b0c180>] ? mutex_lock_nested+0x5a0/0x5a0
    [ 1250.873176]  [<ffffffff8168a0e6>] drm_fb_helper_initial_config+0x206/0x7a0
    [ 1250.873183]  [<ffffffff81689ee0>] ? drm_fb_helper_set_par+0x90/0x90
    [ 1250.873303]  [<ffffffffa0b68690>] ? intel_fbdev_fini+0x140/0x140 [i915]
    [ 1250.873387]  [<ffffffffa0b686b2>] intel_fbdev_initial_config+0x22/0x40 [i915]
    [ 1250.873391]  [<ffffffff810b50ff>] async_run_entry_fn+0x7f/0x270
    [ 1250.873394]  [<ffffffff810a64b0>] process_one_work+0x3d0/0x960
    [ 1250.873398]  [<ffffffff810a641d>] ? process_one_work+0x33d/0x960
    [ 1250.873401]  [<ffffffff810a60e0>] ? max_active_store+0xf0/0xf0
    [ 1250.873406]  [<ffffffff810f6f9d>] ? do_raw_spin_lock+0x10d/0x1a0
    [ 1250.873413]  [<ffffffff810a767d>] worker_thread+0x8d/0x840
    [ 1250.873419]  [<ffffffff810a75f0>] ? create_worker+0x2e0/0x2e0
    [ 1250.873426]  [<ffffffff810b0454>] kthread+0x194/0x1c0
    [ 1250.873432]  [<ffffffff810b02c0>] ? kthread_park+0x60/0x60
    [ 1250.873438]  [<ffffffff810f095d>] ? trace_hardirqs_on+0xd/0x10
    [ 1250.873446]  [<ffffffff810b02c0>] ? kthread_park+0x60/0x60
    [ 1250.873453]  [<ffffffff810b02c0>] ? kthread_park+0x60/0x60
    [ 1250.873457]  [<ffffffff81b12277>] ret_from_fork+0x27/0x40
    [ 1250.873460] Object at ffff88074cdd2608, in cache kmalloc-32 size: 32
    
    However, when holding the mode_config.lock around the fb_helper, we have
    to be careful of any callbacks that may reenter the fb_helper and so try
    to reacquire the mode_config.lock (e.g. register_framebuffer). To avoid
    the mutex recursion, we have to rearrange the sequence to move the
    registration into the caller outside of the mode_config.lock.
    
    v2: drop the 1; following the lockdep assertion inside the for(;;), I
    anticipated an error that doesn't happen!
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98826
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Link: http://patchwork.freedesktop.org/patch/msgid/20161129120217.7344-1-chris@chris-wilson.co.uk

commit 033a28bac0a20de78426e6faf3414637e4775fbc
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Nov 29 11:06:05 2016 -0800

    rcu: Allow boot-time use of cond_resched_rcu_qs()
    
    The cond_resched_rcu_qs() macro is used to force RCU quiescent states into
    long-running in-kernel loops.  However, some of these loops can execute
    during early boot when interrupts are disabled, and during which time
    it is therefore illegal to enter the scheduler.  This commit therefore
    makes cond_resched_rcu_qs() be a no-op during early boot.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit c3fdff480d5d5e23a6e5529d33d1c01060491e44
Author: Paul Moore <paul@paul-moore.com>
Date:   Sun Nov 20 16:47:55 2016 -0500

    audit: add support for session ID user filter
    
    Define AUDIT_SESSIONID in the uapi and add support for specifying user
    filters based on the session ID.  Also add the new session ID filter
    to the feature bitmap so userspace knows it is available.
    
    https://github.com/linux-audit/audit-kernel/issues/4
    RFE: add a session ID filter to the kernel's user filter
    
    Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
    [PM: combine multiple patches from Richard into this one]
    Signed-off-by: Paul Moore <paul@paul-moore.com>

commit f7b7bee75e06cbdce864f7b313ac05555e7eff6b
Author: Zhengyuan Liu <liuzhengyuan@kylinos.cn>
Date:   Sat Nov 26 10:57:13 2016 +0800

    raid5-cache: add another check conditon before replaying one stripe
    
    New stripe that was just allocated has no STRIPE_R5C_CACHING state too,
    add this check condition could avoid unnecessary replaying for empty stripe.
    
    r5l_recovery_replay_one_stripe would reset stripe for any case, delete it
    to make code more clean.
    
    Signed-off-by: Zhengyuan Liu <liuzhengyuan@kylinos.cn>
    Signed-off-by: Shaohua Li <shli@fb.com>

commit 9b57da0630c9fd36ed7a20fc0f98dc82cc0777fa
Author: Florian Westphal <fw@strlen.de>
Date:   Tue Nov 29 02:17:34 2016 +0100

    netfilter: ipv6: nf_defrag: drop mangled skb on ream error
    
    Dmitry Vyukov reported GPF in network stack that Andrey traced down to
    negative nh offset in nf_ct_frag6_queue().
    
    Problem is that all network headers before fragment header are pulled.
    Normal ipv6 reassembly will drop the skb when errors occur further down
    the line.
    
    netfilter doesn't do this, and instead passed the original fragment
    along.  That was also fine back when netfilter ipv6 defrag worked with
    cloned fragments, as the original, pristine fragment was passed on.
    
    So we either have to undo the pull op, or discard such fragments.
    Since they're malformed after all (e.g. overlapping fragment) it seems
    preferrable to just drop them.
    
    Same for temporary errors -- it doesn't make sense to accept (and
    perhaps forward!) only some fragments of same datagram.
    
    Fixes: 029f7f3b8701cc7ac ("netfilter: ipv6: nf_defrag: avoid/free clone operations")
    Reported-by: Dmitry Vyukov <dvyukov@google.com>
    Debugged-by: Andrey Konovalov <andreyknvl@google.com>
    Diagnosed-by: Eric Dumazet <Eric Dumazet <edumazet@google.com>
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 333ba053d145d6f9152f6b0311a345b876f0fed1
Author: Javier González <javier@cnexlabs.com>
Date:   Mon Nov 28 22:39:14 2016 +0100

    lightnvm: transform target get/set bad block
    
    Since targets are given a virtual target device, it is necessary to
    translate all communication between targets and the backend device.
    Implement the translation layer for get/set bad block table.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit da2d7cb828ce2714c603827ac5a6e1c98a02e861
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:13 2016 +0100

    lightnvm: use target nvm on target-specific ops.
    
    On target-specific operations pass on nvm_tgt_dev instead of the generic
    nvm device.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit a279006afa3377493c4240395c70430f2a9b0d2b
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:12 2016 +0100

    lightnvm: introduce max_phys_sects helper function
    
    Target devices do not have access to the device driver operations.
    Introduce a helper function that exposes the max. number of physical
    sectors supported by the underlying device.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 959e911b31981b52ed3f3d6e351b107bcb9163ef
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:11 2016 +0100

    lightnvm: introduce helpers for generic ops in rrpc
    
    Avoid calling media manager and device-specific operations directly from
    rrpc. Create helper functions on lightnvm's core instead.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    
    Made it work with null_blk as well.
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 8e53624d44c1de31b1b0d4f500703669418a4c67
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:10 2016 +0100

    lightnvm: eliminate nvm_lun abstraction in mm
    
    In order to naturally support multi-target instances on an Open-Channel
    SSD, targets should own the LUNs they get blocks from and manage
    provisioning internally. This is done in several steps.
    
    Since targets own the LUNs the are instantiated on top of and manage the
    free block list internally, there is no need for a LUN abstraction in
    the media manager. LUNs are intrinsically managed as in the physical
    layout (ch:0,lun:0, ..., ch:0,lun:n, ch:1,lun:0, ch:1,lun:n, ...,
    ch:m,lun:0, ch:m,lun:n) and given to the targets based on the target
    creation ioctl. This simplifies LUN management and clears the path for a
    partition manager to sit directly underneath LightNVM targets.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 2a02e627c245bfa987b97707123d7747d7b0e486
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:09 2016 +0100

    lightnvm: eliminate nvm_block abstraction on mm
    
    In order to naturally support multi-target instances on an Open-Channel
    SSD, targets should own the LUNs they get blocks from and manage
    provisioning internally. This is done in several steps.
    
    A part of this transformation is that targets manage their blocks
    internally. This patch eliminates the nvm_block abstraction and moves
    block management to the target logic. The rrpc target is transformed.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit eec44565e9ab13bbf5b48864a68871eabf1115c1
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:08 2016 +0100

    lightnvm: remove debug lun statistics from gennvm
    
    Since LUNs are managed internally on targets, the media manager has no
    access to the free LUN lists. Thus, debug functions that show LUN
    information on the device should not be implemented on the media
    manager, but rather on the target in itself.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 0ac4072eb10c9627415eb1ca511121156e20012c
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:07 2016 +0100

    lightnvm: remove get_lun operation on gennvm
    
    Since LUNs are managed internally on the target, there is no need for
    the media manager to implement a get_lun operation.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 8e79b5cb1d3b8eceaf6862995952dd4de431dd99
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:06 2016 +0100

    lightnvm: move block provisioning to targets
    
    In order to naturally support multi-target instances on an Open-Channel
    SSD, targets should own the LUNs they get blocks from and manage
    provisioning internally. This is done in several steps.
    
    This patch moves the block provisioning inside of the target and removes
    the get/put block interface from the media manager.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 8176117b82e49e043d045f214ba7a892fba6b827
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:05 2016 +0100

    lightnvm: manage lun partitions internally in mm
    
    LUNs are exclusively owned by targets implementing a block device FTL.
    Doing this reservation requires at the moment a 2-way callback gennvm
    <-> target. The reason behind this is that LUNs were not assumed to
    always be exclusively owned by targets. However, this design decision
    goes against I/O determinism QoS (two targets would mix I/O on the same
    parallel unit in the device).
    
    This patch makes LUN reservation as part of the target creation on the
    media manager. This makes that LUNs are always exclusively owned by the
    target instantiated on top of them. LUN stripping and/or sharing should
    be implemented on the target itself or the layers on top.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit de93434fcf74d41754a48e45365a5914e00bc0be
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:04 2016 +0100

    lightnvm: remove gen_lun abstraction
    
    The gen_lun abstraction in the generic media manager was conceived on
    the assumption that a single target would instantiated on top of it.
    This has complicated target design to implement multi-instances. Remove
    this abstraction and move its logic to nvm_lun, which manages physical
    lun geometry and operations.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 98379a12c54974ee5856dcf81781a5dc845505c3
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:03 2016 +0100

    lightnvm: use constant name instead of value
    
    There is a constant to refer to free blocks. Use it when marking bad
    blocks instead of using a constant value
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit eb00352b5213e52419ac7dd8bbd84a1300fe4b5d
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:02 2016 +0100

    lightnvm: remove unnecessary variables in rrpc
    
    Before vectored I/Os were supported on rrpc, the physical address was
    stored as part of the nvm_rqd request. This variable become obsolete
    when the ppa_list was introduced. Cleanup this variable.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 0e5c3246dbb96b6870634e7d51b2490f05c976cf
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:01 2016 +0100

    lightnvm: make address conversion functions global
    
    Targets are assumed to used the same generic ppa format, where the
    address is partitioned on ch:lun:block:pg:pl:sec. Thus, make the
    function in charge of transforming the ppa address from a linear format
    to the generic one available to all targets.
    
    This function will be needed by the media manager in order to do target
    mapping translations when targets are divided on different physical
    partitions.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 7e4f64a9b3004ce592f21653c3b7781628862232
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:39:00 2016 +0100

    lightnvm: cleanup unused target operations
    
    Cleanup definition leftovers from old gennvm interface
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 17b25cfc873e6d7e2283cf8d77f2af93192484a5
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:38:59 2016 +0100

    lightnvm: remove sysfs configuration interface
    
    LightNVM used to be managed and configured through sysfs. Since the
    introduction of management ioctls this interface is redundant and
    outdated. Get rid of it.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit f0b01b6a610f99fb7683d0f5259bb65649b0fd78
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:38:58 2016 +0100

    lightnvm: rrpc: split bios of size > 256kb
    
    rrpc cannot handle bios of size > 256kb due to NVMe using a 64 bit
    bitmap to signal I/O completion. If a larger bio comes, split it
    explicitly.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 402ab9a89d7b5bab08a5534027b39d80085ec19b
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:38:57 2016 +0100

    lightnvm: add ECC error codes
    
    Add ECC error codes to enable the appropriate handling in the target.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit a24ba4644b7ae5af3cd2eb6992c237cb4548c45e
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:38:56 2016 +0100

    lightnvm: export set bad block table
    
    Bad blocks should be managed by block owners. This would be either
    targets for data blocks or sysblk for system blocks.
    
    In order to support this, export two functions: One to mark a block as
    an specific type (e.g., bad block) and another to update the bad block
    table on the device.
    
    Move bad block management to rrpc.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 8a3c95ab385fb98621455807ae52b4454192f8c5
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:38:55 2016 +0100

    lightnvm: do not protect block 0
    
    Device blocks should be marked by the device and considered as bad
    blocks by the media manager. Thus, do not make assumptions on which
    blocks are going to be used by the device. In doing so we might lose
    valid blocks from the free list.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit bb3149792e0ed52cf5f457dda4c9bf9c5bda1542
Author: Javier González <jg@lightnvm.io>
Date:   Mon Nov 28 22:38:54 2016 +0100

    lightnvm: enable to send hint to erase command
    
    Erases might be subject to host hints. An example is multi-plane
    programming to erase blocks in parallel. Enable targets to specify this
    hint.
    
    Signed-off-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 3dc87dd048dc442bab633e85bfb96c893612d765
Author: Matias Bjørling <m@bjorling.me>
Date:   Mon Nov 28 22:38:53 2016 +0100

    nvme: lightnvm: attach lightnvm sysfs to nvme block device
    
    Previously, LBA read and write were not supported in the lightnvm
    specification. Now that it supports it, lets use the traditional
    NVMe gendisk, and attach the lightnvm sysfs geometry export.
    
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 7498e99fc51ca60b960ef79061e0e7b521feb07e
Author: Matias Bjørling <m@bjorling.me>
Date:   Mon Nov 28 22:38:52 2016 +0100

    nvme: lightnvm: frees wrong cmd structure
    
    When struct nvme_request was introduced, the nvme_nvm_submit_io was
    converted to the new interface. The interface moves nvme_nvm_command
    data structure into the struct request pdu. On io completion, rq->cmd is
    freed, which should have been the dereferenced pdu nvme_request->cmd.
    
    Fixes: d49187e97e94 "nvme: introduce struct nvme_request"
    Signed-off-by: Matias Bjørling <m@bjorling.me>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit e59d8bb574f6d8097e7e14981440dc37425fddc6
Author: Pan Bian <bianpan2016@163.com>
Date:   Tue Nov 29 07:33:07 2016 +0800

    ALSA: echoaudio: Fix improper return value in function load_asic
    
    When the second call to load_asic_generic() fails in function
    load_asic(), "false" is returned. The real value of "false" is 0, which
    indicates success in the context. As a result, the execution status and
    the return value may be inconsistent. This patch fixes the bug.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188761
    Signed-off-by: Pan Bian <bianpan2016@163.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 40931b85113dad7881d49e8759e5ad41d30a5e6c
Author: Eric Dumazet <edumazet@google.com>
Date:   Fri Nov 25 07:46:20 2016 -0800

    mlx4: give precise rx/tx bytes/packets counters
    
    mlx4 stats are chaotic because a deferred work queue is responsible
    to update them every 250 ms.
    
    Even sampling stats every one second with "sar -n DEV 1" gives
    variations like the following :
    
    lpaa23:~# sar -n DEV 1 10 | grep eth0 | cut -c1-65
    07:39:22         eth0 146877.00 3265554.00   9467.15 4828168.50
    07:39:23         eth0 146587.00 3260329.00   9448.15 4820445.98
    07:39:24         eth0 146894.00 3259989.00   9468.55 4819943.26
    07:39:25         eth0 110368.00 2454497.00   7113.95 3629012.17  <<>>
    07:39:26         eth0 146563.00 3257502.00   9447.25 4816266.23
    07:39:27         eth0 145678.00 3258292.00   9389.79 4817414.39
    07:39:28         eth0 145268.00 3253171.00   9363.85 4809852.46
    07:39:29         eth0 146439.00 3262185.00   9438.97 4823172.48
    07:39:30         eth0 146758.00 3264175.00   9459.94 4826124.13
    07:39:31         eth0 146843.00 3256903.00   9465.44 4815381.97
    Average:         eth0 142827.50 3179259.70   9206.30 4700578.16
    
    This patch allows rx/tx bytes/packets counters being folded at the
    time we need stats.
    
    We now can fetch stats every 1 ms if we want to check NIC behavior
    on a small time window. It is also easier to detect anomalies.
    
    lpaa23:~# sar -n DEV 1 10 | grep eth0 | cut -c1-65
    07:42:50         eth0 142915.00 3177696.00   9212.06 4698270.42
    07:42:51         eth0 143741.00 3200232.00   9265.15 4731593.02
    07:42:52         eth0 142781.00 3171600.00   9202.92 4689260.16
    07:42:53         eth0 143835.00 3192932.00   9271.80 4720761.39
    07:42:54         eth0 141922.00 3165174.00   9147.64 4679759.21
    07:42:55         eth0 142993.00 3207038.00   9216.78 4741653.05
    07:42:56         eth0 141394.06 3154335.64   9113.85 4663731.73
    07:42:57         eth0 141850.00 3161202.00   9144.48 4673866.07
    07:42:58         eth0 143439.00 3180736.00   9246.05 4702755.35
    07:42:59         eth0 143501.00 3210992.00   9249.99 4747501.84
    Average:         eth0 142835.66 3182165.93   9206.98 4704874.08
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6a30c5a73fdc6c51cae4a833bb21375f26d5ccba
Author: Alexey Brodkin <abrodkin@synopsys.com>
Date:   Tue Nov 22 14:16:36 2016 +0300

    ARC: axs10x: really enable ARC PGU
    
    Up until now we had ARC PGU not enabled in axs10x defconfigs trying
    to not bloat kernel image again with yet another drivers and subsystems.
    
    This change configures ARC PGU (as well as DRM bits it depends on)
    to be built as a module and so those who need LCD screen to work on
    axs10x may bundle built .ko files in their target's file-system with
    help of the following command on host:
    ------------->8-------------
    make INSTALL_MOD_PATH=_path_to_target_fs_ modules_install
    ------------->8-------------
    
    and later on target with commands as simple as:
    ------------->8-------------
    modprobe adv7511.ko
    modprobe arcpgu.ko
    ------------->8-------------
    get LCD working.
    
    Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit 98d3e6d4a04f3d1b13a2d547f0d3f2d7f42f4f0e
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Fri Nov 18 14:19:27 2016 -0800

    ARC: rename Zebu platform support to HAPS
    
    There are more ARC Linux HAPS users than Zebu ones.
    
    Same kernel would work fine on both, even with embedded DT, assuming the FPGA
    bitfile configuration is same
    
    Suggested-by: Francois Bedard <fbedard@ynopsys.com>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit f3fd0d516943e769e51c521311ab13dd65c7898f
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue Nov 22 15:33:44 2016 +0100

    clocksource: nps: avoid maybe-uninitialized warning
    
    We get a harmless false-positive warning with the newly added nps
    clocksource driver:
    
    drivers/clocksource/timer-nps.c: In function 'nps_setup_clocksource':
    drivers/clocksource/timer-nps.c:102:6: error: 'nps_timer1_freq' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    Gcc here fails to identify that IS_ERR() is only true if PTR_ERR()
    has a nonzero value. Using PTR_ERR_OR_ZERO() to convert the result
    first makes this obvious and shuts up the warning.
    
    Fixes: 0ee4d9922df5 ("clocksource: Add clockevent support to NPS400 driver")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit ab321058267b4df1cdd515fffa3ef380ed28ecd2
Author: Noam Camus <noamca@mellanox.com>
Date:   Thu Nov 17 09:12:43 2016 +0200

    clocksource: Add clockevent support to NPS400 driver
    
    Till now we used clockevent from generic ARC driver.
    This was enough as long as we worked with simple multicore SoC.
    When we are working with multithread SoC each HW thread can be
    scheduled to receive timer interrupt using timer mask register.
    This patch will provide a way to control clock events per HW thread.
    
    The design idea is that for each core there is dedicated register
    (TSI) serving all 16 HW threads.
    The register is a bitmask with one bit for each HW thread.
    When HW thread wants that next expiration of timer interrupt will
    hit it then the proper bit should be set in this dedicated register.
    When timer expires all HW threads within this core which their bit
    is set at the TSI register will be interrupted.
    
    Driver can be used from device tree by:
    compatible = "ezchip,nps400-timer0" <-- for clocksource
    compatible = "ezchip,nps400-timer1" <-- for clockevent
    
    Note that name convention for timer0/timer1 was taken from legacy
    ARC design. This design is our base before adding HW threads.
    For backward compatibility we keep "ezchip,nps400-timer" for clocksource
    
    Signed-off-by: Noam Camus <noamca@mellanox.com>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Acked-by: Rob Herring <robh@kernel.org>

commit a08a8e2893015a7fc25b14d75c9fc7a222ae7b38
Author: Noam Camus <noamca@mellanox.com>
Date:   Wed Nov 16 08:31:12 2016 +0200

    clocksource: update "fn" at CLOCKSOURCE_OF_DECLARE() of nps400 timer
    
    nps_setup_clocksource() should take node as only argument as defined by
    typedef int (*of_init_fn_1_ret)(struct device_node *)
    
    Therefore need to replace:
    int __init nps_setup_clocksource(struct device_node *node, struct clk *clk)
    with
    int __init nps_setup_clocksource(struct device_node *node)
    
    This patch also serve as preparation for next patch which add support
    for clockevents to nps400.
    Specifically we add new function nps_get_timer_clk() to serve clocksource
    and later clockevent registration.
    
    Signed-off-by: Noam Camus <noamca@mellanox.com>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>

commit 6e022b60285a6fbf8229e1ec268f2d8f55d35477
Author: Noam Camus <noamca@mellanox.com>
Date:   Wed Nov 16 08:31:11 2016 +0200

    soc: Support for NPS HW scheduling
    
    This new header file is for NPS400 SoC (part of ARC architecture).
    The header file includes macros for save/restore of HW scheduling.
    The control of HW scheduling is achieved by writing core registers.
    This code was moved from arc/plat-eznps so it can be used
    from drivers/clocksource/, available only for CONFIG_EZNPS_MTM_EXT.
    
    Signed-off-by: Noam Camus <noamca@mellanox.com>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>

commit b8531ea8d22f5678a2a6b9cce7ad0ce02d2c4482
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon Oct 31 13:46:38 2016 -0700

    clocksource: import ARC timer driver
    
    This adds support for
    
     - CONFIG_ARC_TIMERS : legacy 32-bit TIMER0 and TIMER1 which count UP
       from @CNT to @LIMIT, before optionally triggering an interrupt.
       These are programmed using ARC auxiliary register interface.
       These are present in all ARC cores (ARC700 and ARC HS38)
       TIMER0 serves as clockevent for all ARC linux builds.
       TIMER1 is used for clocksource in arc700 builds.
    
     - CONFIG_ARC_TIMERS_64BIT: 64-bit counters, RTC and GFRC found in
       ARC HS38 cores. These are independnet IP blocks with different
       programming model respectively.
    
    Link: http://lkml.kernel.org/r/20161111231132.GA4186@mai
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit f201a7e1cf0592aa06931e1624d5e63c8116e765
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon Oct 31 13:06:19 2016 -0700

    ARC: breakout timer include code into separate header ...
    
    ... which allows for use in drivers/clocksource later
    
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit 43c7919a4133d80845573a9b8047e8bf10ea0eca
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon Oct 31 11:27:08 2016 -0700

    ARC: move mcip.h into include/soc and adjust the includes
    
    Also remove the dependency on ARCv2, to increase compile coverage for
    !ARCV2 builds
    
    Acked-by: Daniel Lezcano <daniel.lezcnao@linaro.org>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit 6387055728a2a5a105433d8c7dd2e0fc17d999e2
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon Oct 31 11:09:34 2016 -0700

    ARC: breakout aux handling into a separate header
    
    ARC timers use aux registers for programming and this paves way for
    moving ARC timer drivers into drivers/clocksource
    
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit 21857529f5fe5081b74cb0da4785fa64ea332995
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon Oct 31 13:26:25 2016 -0700

    ARC: time: move time_init() out of the driver
    
    to allow future git mv of the driver into drivers/clocksource
    
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit 8a5b823f98ad30bb334d25c8123e8d5766c4fbf1
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon Oct 31 14:26:41 2016 -0700

    ARC: timer: gfrc, rtc: build under same option (64-bit timers)
    
    The original distinction was done as they were developed at different
    times and primarily because they are specific to UP (RTC) and SMP (GFRC).
    
    But given that driver handles that at runtime, (i.e. not allowing
    RTC as clocksource in SMP), we can simplify things a bit.
    
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit d0f76f838d74ffbe0f206d1fb3d6f0b01b372353
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon Oct 31 13:02:31 2016 -0700

    ARC: timer: gfrc, rtc: Read BCR to detect whether hardware exists ...
    
    ... don't rely on cpuinfo populated in arc boot code. This paves way for
    moving this code in drivers/clocksource/
    
    And while at it, convert the WARN() to pr_warn() as sugested by Daniel
    
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit 0081d7bcd0a7663d0240befdb634b65bba04c13f
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Thu Nov 3 11:38:52 2016 -0700

    ARC: timer: gfrc, rtc: deuglify big endian code
    
    A standard "C" shift will be handled appropriately by the compiler
    depending on the endian for the build. So we don't need the
    explicit distinction in code
    
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit 76fb051d42945d142fe265b6ec79e06aa9cfb250
Author: Russell King <rmk+kernel@armlinux.org.uk>
Date:   Mon Nov 21 16:07:05 2016 +0000

    ARM: mm: allow set_memory_*() to be used on the vmalloc region
    
    We can allow modules to be loaded into the vmalloc region, where they
    should also benefit from the same protections as those loaded into
    the more efficient module region.  Allow these functions to operate
    there as well.
    
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 580218f9678e76f712a1cf6cff5a903917fa9558
Author: Russell King <rmk+kernel@armlinux.org.uk>
Date:   Mon Nov 21 16:02:08 2016 +0000

    ARM: mm: fix set_memory_*() bounds checks
    
    The set_memory_*() bounds checks are buggy on several fronts:
    
    1. They fail to round the region size up if the passed address is not
       page aligned.
    2. The region check was incomplete, and didn't correspond with what
       was being asked of apply_to_page_range()
    
    So, rework change_memory_common() to fix these problems, adding an
    "in_region()" helper to determine whether the start & size fit within
    the provided region start and stop addresses.
    
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit d3df9bc5fb5d838b049f32a476721eadbc349553
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Nov 29 05:49:06 2016 -0800

    rcu: Once again use NMI-based stack traces in stall warnings
    
    This commit is for all intents and purposes a revert of bc1dce514e9b
    ("rcu: Don't use NMIs to dump other CPUs' stacks").  The reason to suppose
    that this can now safely be reverted is the presence of 42a0bb3f7138
    ("printk/nmi: generic solution for safe printk in NMI"), which is said
    to have made NMI-based stack dumps safe.
    
    However, this reversion keeps one nice property of bc1dce514e9b
    ("rcu: Don't use NMIs to dump other CPUs' stacks"), namely that
    only those CPUs blocking the grace period are dumped.  The new
    trigger_single_cpu_backtrace() is used to make this happen, as
    suggested by Josh Poimboeuf.
    
    Reported-by: Vince Weaver <vincent.weaver@maine.edu>
    Not-yet-signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Petr Mladek <pmladek@suse.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>

commit f8045446ca778333e960dcb9e30a5858ff2b8c20
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Nov 28 12:08:49 2016 -0800

    srcu: Force full grace-period ordering
    
    If a process invokes synchronize_srcu(), is delayed just the right amount
    of time, and thus does not sleep when waiting for the grace period to
    complete, there is no ordering between the end of the grace period and
    the code following the synchronize_srcu().  Similarly, there can be a
    lack of ordering between the end of the SRCU grace period and callback
    invocation.
    
    This commit adds the necessary ordering.
    
    Reported-by: Lance Roy <ldr709@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 6a8b2ca702b279bea0e8f0363056439352e2081c
Author: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Date:   Mon Nov 28 07:07:17 2016 +0300

    ARC: mm: PAE40: Fix crash at munmap
    
    commit 1c3c90930392 broke PAE40. Macro pfn_pte(pfn, prot) creates paddr
    from pfn, but the page shift was getting truncated to 32 bits since we lost
    the proper cast to 64 bits (for PAE400
    
    Instead of reverting that commit, use a better helper which is 32/64 bits
    safe just like ARM implementation.
    
    Fixes: 1c3c90930392 ("ARC: mm: fix build breakage with STRICT_MM_TYPECHECKS")
    Cc: <stable@vger.kernel.org>   #4.4+
    Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
    [vgupta: massaged changelog]
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

commit 2349b533167315199b00b15db891ddc45b2c909d
Author: subhashj@codeaurora.org <subhashj@codeaurora.org>
Date:   Wed Nov 23 16:33:19 2016 -0800

    scsi: ufs: fix default power mode to FAST/SLOW
    
    We would by default like to run in FAST/SLOW mode instead
    of FASTAUTO/SLOWAUTO mode for performance reasons. This
    change sets the default speed mode to FAST/SLOW mode.
    
    Reviewed-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 0b257734344aa89b565bd148ff94f29aa873ffa6
Author: subhashj@codeaurora.org <subhashj@codeaurora.org>
Date:   Wed Nov 23 16:33:08 2016 -0800

    scsi: ufs: optimize system suspend handling
    
    Consider following sequence of events:
    1. UFS is runtime suspended, link_state = Hibern8, device_state = sleep
    2. System goes into system suspend, ufshcd_system_suspend() brings both
       link and device to active state and then puts the device in Power_Down
       state and link in OFF state.
    3. System resumes at some later point in time, ufshcd_system_resume()
       doesn't do anything as UFS state is runtime suspended. Note that link
       is still on OFF state and device is in Power_Down state.
    4. Now system again goes into suspend without any UFS accesses before it.
       ufshcd_system_suspend() again brings both link and device to active
       state and then puts the device in Power_Down state and link if OFF
       state. But it's unnecessary to bring the link & device in active state
       as both link and device are already in desired low power states. This
       change fixes this issue by adding proper state checks in
       ufshcd_system_suspend().
    
    Reviewed-by: Gilad Broner <gbroner@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit f37e9f8cf8bc681250880f8c1372fb882c9379b8
Author: Yaniv Gardi <ygardi@codeaurora.org>
Date:   Wed Nov 23 16:32:49 2016 -0800

    scsi: ufs: fix condition in which DME command failure msg is printed out
    
    The condition in which error message is printed out was incorrect and
    resulted error message only if retries exhausted.
    But retries happens only if DME command is a peer command, and thus
    DME commands which are not peer commands and fail are not printed out.
    This change fixes this issue.
    
    Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit fb7b45f0462f144e1924a357995552f24f0c9d0c
Author: Dolev Raviv <draviv@codeaurora.org>
Date:   Wed Nov 23 16:32:32 2016 -0800

    scsi: ufs: handle errors from PHY_ADAPTER_ERROR register
    
    The PHY_ADAPTER_ERROR status register indicates PHY lane errors
    reported by the M-PHY layer. In some occasions the controller
    can recover from such errors. When the error is not recoverable,
    a stuck DB error will occur. Since the stuck DB error is spotted
    separately, no action other than clearing the register is necessary.
    
    Signed-off-by: Dolev Raviv <draviv@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 7caf489b99a42a9017ef3d733912aea8794677e7
Author: subhashj@codeaurora.org <subhashj@codeaurora.org>
Date:   Wed Nov 23 16:32:20 2016 -0800

    scsi: ufs: issue link starup 2 times if device isn't active
    
    If we issue the link startup to the device while its UniPro state is
    LinkDown (and device state is sleep/power-down) then link startup
    will not move the device state to Active. Device will only move to
    active state if the link starup is issued when its UniPro state is
    LinkUp. So in this case, we would have to issue the link startup 2
    times to make sure that device moves to active state.
    
    Reviewed-by: Gilad Broner <gbroner@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit c6a6db439868c7ba5cc90d4c461d9697ec731fa1
Author: subhashj@codeaurora.org <subhashj@codeaurora.org>
Date:   Wed Nov 23 16:32:08 2016 -0800

    scsi: ufs: ensure that host pa_tactivate is higher than device
    
    Some UFS devices require host PA_TACTIVATE to be higher than
    device PA_TACTIVATE otherwise it may get stuck during hibern8 sequence.
    This change allows this by using quirk.
    
    Reviewed-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 10fe5888a40e6afbf1f3166c212c685624cae26b
Author: subhashj@codeaurora.org <subhashj@codeaurora.org>
Date:   Wed Nov 23 16:31:52 2016 -0800

    scsi: ufs: increase the scsi query response timeout
    
    It is found thats UFS device may take longer than 30ms to respond to
    query requests and in this case we might run into following scenario:
    
    1. UFS host SW sends a query request to UFS device to read an attribute
       value. SW uses tag #31 for this purpose.
    2. UFS host SW waits for 30ms to get the query response (and doorbell
       to be cleared by UFS host HW).
    3. UFS device doesn't respond back within 30ms hence UFS host SW times
       out waiting for the query response.
    4. UFS host SW clears the tag#31 from UTRLCLR register.
    5. UFS host SW waits until UFS host HW to clear tag#31 from the doorbell
       register.
    6. UFS host SW retries the same query request on same tag#31 (sends a query
       request to device to read an attribute value).
    7. UFS host HW gets the query response from the device but this was
       intended as a query response for the 1st query request sent (step-1).
    8. Now UFS device sends another query response to host (for query request
       sent @step-6).
    
    Now there are 2 issues that could happen with above scenario:
    1. UFS device should have actually responded back with only one query
       response but it is found that device may respond back with 2 query
       responses.
    2. If UFS device responds back with 2 resposes on same tag, host HW/SW
       behaviour isn't predictable.
    
    To avoid running into above scenario, we would basically allow device
    to take longer (upto 1.5 seconds) for query response.
    
    Reviewed-by: Gilad Broner <gbroner@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit bde44bb665d049468b6a1a2fa7d666434de4f83f
Author: subhashj@codeaurora.org <subhashj@codeaurora.org>
Date:   Wed Nov 23 16:31:41 2016 -0800

    scsi: ufs: fix failure to read the string descriptor
    
    While reading variable size descriptors (like string descriptor), some UFS
    devices may report the "LENGTH" (field in "Transaction Specific fields" of
    Query Response UPIU) same as what was requested in Query Request UPIU
    instead of reporting the actual size of the variable size descriptor.
    Although it's safe to ignore the "LENGTH" field for variable size
    descriptors as we can always derive the length of the descriptor from
    the descriptor header fields. Hence this change impose the length match
    check only for fixed size descriptors (for which we always request the
    correct size as part of Query Request UPIU).
    
    Reviewed-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 24d6243204633be4b710754f279b3ca57c69ceec
Author: Yaniv Gardi <ygardi@codeaurora.org>
Date:   Wed Nov 23 16:31:30 2016 -0800

    scsi: ufs: update device descriptor maximum size
    
    According to JESD220B - UFS v2.0, the maximum size of device descriptor
    has changed from 0x1F to 0x40. This patch updates the maximum size of
    this descriptor.
    
    Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 4b761b580150b081e6829885afd3d540b746ccf0
Author: Yaniv Gardi <ygardi@codeaurora.org>
Date:   Wed Nov 23 16:31:18 2016 -0800

    scsi: ufs: add index details to query error messages
    
    When sending query to the device, the index  of the failure
    is additional useful information that should be printed out as it
    might specify the logical unit (LU) where the error occurred.
    
    Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 61e073590b82a539654626ecae91b8fab11db3f3
Author: Dolev Raviv <draviv@codeaurora.org>
Date:   Wed Nov 23 16:30:49 2016 -0800

    scsi: ufs: add queries retry mechanism
    
    Some of the queries might fail during init. To avoid
    system failure, we add retry mechanism to issue queries
    several times.
    
    Signed-off-by: Dolev Raviv <draviv@codeaurora.org>
    Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 95d3af6bd18f381b5b1c62f117ce7f152a5db3ea
Author: Yazen Ghannam <Yazen.Ghannam@amd.com>
Date:   Thu Nov 17 17:57:43 2016 -0500

    EDAC, amd64: Autoload amd64_edac_mod on Fam17h systems
    
    Add Fam17h to the list of families to autoload amd64_edac_mod.
    
    Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
    Cc: Aravind Gopalakrishnan <aravindksg.lkml@gmail.com>
    Cc: linux-edac <linux-edac@vger.kernel.org>
    Cc: x86-ml <x86@kernel.org>
    Link: http://lkml.kernel.org/r/1479423463-8536-18-git-send-email-Yazen.Ghannam@amd.com
    Signed-off-by: Borislav Petkov <bp@suse.de>

commit 713ad54675fdfd7358dbcae21ab4788a014c6e23
Author: Yazen Ghannam <Yazen.Ghannam@amd.com>
Date:   Mon Nov 28 12:59:53 2016 -0600

    EDAC, amd64: Define and register UMC error decode function
    
    How we need to decode UMC errors is different from how we decode bus
    errors, so let's define a new function for this. We also need a way to
    determine the UMC channel since we're not guaranteed that there is a
    fixed relation between channel and MCA bank.
    
    Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
    Cc: Aravind Gopalakrishnan <aravindksg.lkml@gmail.com>
    Cc: linux-edac <linux-edac@vger.kernel.org>
    Cc: x86-ml <x86@kernel.org>
    Link: http://lkml.kernel.org/r/1480359593-80369-1-git-send-email-Yazen.Ghannam@amd.com
    [ Fold in decode_synd_reg(), simplify. ]
    Signed-off-by: Borislav Petkov <bp@suse.de>

commit d27f3a348e3677b7d5ee6954ebafce679b011164
Author: Yazen Ghannam <Yaz…
  • Loading branch information
mmotm auto import authored and hnaz committed Dec 1, 2016
1 parent 326f96c commit dfedad8
Show file tree
Hide file tree
Showing 8,309 changed files with 531,715 additions and 202,902 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 4 additions & 0 deletions CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -2775,6 +2775,10 @@ S: C/ Mieses 20, 9-B
S: Valladolid 47009
S: Spain

N: Peter Oruba
D: AMD Microcode loader driver
S: Germany

N: Jens Osterkamp
E: jens@de.ibm.com
D: Maintainer of Spidernet network driver for Cell
Expand Down
70 changes: 34 additions & 36 deletions Documentation/00-INDEX
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ Following translations are available on the WWW:
ABI/
- info on kernel <-> userspace ABI and relative interface stability.

BUG-HUNTING
admin-guide/bug-hunting.rst
- brute force method of doing binary search of patches to find bug.
Changes
process/changes.rst
- list of changes that break older software packages.
CodingStyle
process/coding-style.rst
- how the maintainers expect the C code in the kernel to look.
DMA-API.txt
- DMA API, pci_ API & extensions for non-consistent memory machines.
Expand All @@ -33,7 +33,7 @@ DocBook/
- directory with DocBook templates etc. for kernel documentation.
EDID/
- directory with info on customizing EDID for broken gfx/displays.
HOWTO
process/howto.rst
- the process and procedures of how to do Linux kernel development.
IPMI.txt
- info on Linux Intelligent Platform Management Interface (IPMI) Driver.
Expand All @@ -48,21 +48,21 @@ Intel-IOMMU.txt
Makefile
- This file does nothing. Removing it breaks make htmldocs and
make distclean.
ManagementStyle
process/management-style.rst
- how to (attempt to) manage kernel hackers.
RCU/
- directory with info on RCU (read-copy update).
SAK.txt
- info on Secure Attention Keys.
SM501.txt
- Silicon Motion SM501 multimedia companion chip
SecurityBugs
admin-guide/security-bugs.rst
- procedure for reporting security bugs found in the kernel.
SubmitChecklist
process/submit-checklist.rst
- Linux kernel patch submission checklist.
SubmittingDrivers
process/submitting-drivers.rst
- procedure to get a new driver source included into the kernel tree.
SubmittingPatches
process/submitting-patches.rst
- procedure to get a source patch included into the kernel tree.
VGA-softcursor.txt
- how to change your VGA cursor from a blinking underscore.
Expand All @@ -72,7 +72,7 @@ acpi/
- info on ACPI-specific hooks in the kernel.
aoe/
- description of AoE (ATA over Ethernet) along with config examples.
applying-patches.txt
process/applying-patches.rst
- description of various trees and how to apply their patches.
arm/
- directory with info about Linux on the ARM architecture.
Expand All @@ -86,7 +86,7 @@ auxdisplay/
- misc. LCD driver documentation (cfag12864b, ks0108).
backlight/
- directory with info on controlling backlights in flat panel displays
bad_memory.txt
admin-guide/bad-memory.rst
- how to use kernel parameters to exclude bad RAM regions.
basic_profiling.txt
- basic instructions for those who wants to profile Linux kernel.
Expand Down Expand Up @@ -126,6 +126,8 @@ connector/
- docs on the netlink based userspace<->kernel space communication mod.
console/
- documentation on Linux console drivers.
core-api/
- documentation on kernel core components.
cpu-freq/
- info on CPU frequency and voltage scaling.
cpu-hotplug.txt
Expand All @@ -150,11 +152,11 @@ debugging-via-ohci1394.txt
- how to use firewire like a hardware debugger memory reader.
dell_rbu.txt
- document demonstrating the use of the Dell Remote BIOS Update driver.
development-process/
process/
- how to work with the mainline kernel development process.
device-mapper/
- directory with info on Device Mapper.
devices.txt
admin-guide/devices.rst
- plain ASCII listing of all the nodes in /dev/ with major minor #'s.
devicetree/
- directory with info on device tree files used by OF/PowerPC/ARM
Expand All @@ -166,19 +168,17 @@ dontdiff
- file containing a list of files that should never be diff'ed.
driver-model/
- directory with info about Linux driver model.
dvb/
- info on Linux Digital Video Broadcast (DVB) subsystem.
dynamic-debug-howto.txt
- how to use the dynamic debug (dyndbg) feature.
early-userspace/
- info about initramfs, klibc, and userspace early during boot.
edac.txt
- information on EDAC - Error Detection And Correction
admin-guide/ras.rst
- information on Reliability, Availability and Serviceability
efi-stub.txt
- How to use the EFI boot stub to bypass GRUB or elilo on EFI systems.
eisa.txt
- info on EISA bus support.
email-clients.txt
process/email-clients.rst
- info on how to use e-mail to send un-mangled (git) patches.
extcon/
- directory with porting guide for Android kernel switch driver.
Expand Down Expand Up @@ -226,9 +226,9 @@ ia64/
- directory with info about Linux on Intel 64 bit architecture.
infiniband/
- directory with documents concerning Linux InfiniBand support.
init.txt
admin-guide/init.rst
- what to do when the kernel can't find the 1st process to run.
initrd.txt
admin-guide/initrd.rst
- how to use the RAM disk as an initial/temporary root filesystem.
input/
- info on Linux input device support.
Expand All @@ -248,19 +248,19 @@ isapnp.txt
- info on Linux ISA Plug & Play support.
isdn/
- directory with info on the Linux ISDN support, and supported cards.
java.txt
admin-guide/java.rst
- info on the in-kernel binary support for Java(tm).
ja_JP/
- directory with Japanese translations of various documents
kbuild/
- directory with info about the kernel build process.
kdump/
- directory with mini HowTo on getting the crash dump code to work.
kernel-docs.txt
process/kernel-docs.rst
- listing of various WWW + books that document kernel internals.
kernel-documentation.rst
doc-guide/
- how to write and format reStructuredText kernel documentation
kernel-parameters.txt
admin-guide/kernel-parameters.rst
- summary listing of command line / boot prompt args for the kernel.
kernel-per-CPU-kthreads.txt
- List of all per-CPU kthreads and how they introduce jitter.
Expand Down Expand Up @@ -302,7 +302,7 @@ magic-number.txt
- list of magic numbers used to mark/protect kernel data structures.
mailbox.txt
- How to write drivers for the common mailbox framework (IPC).
md.txt
admin-guide/md.rst
- info on boot arguments for the multiple devices driver.
media-framework.txt
- info on media framework, its data structures, functions and usage.
Expand All @@ -326,7 +326,7 @@ module-signing.txt
- Kernel module signing for increased security when loading modules.
mtd/
- directory with info about memory technology devices (flash)
mono.txt
admin-guide/mono.rst
- how to execute Mono-based .NET binaries with the help of BINFMT_MISC.
namespaces/
- directory with various information about namespaces
Expand All @@ -340,7 +340,7 @@ nommu-mmap.txt
- documentation about no-mmu memory mapping support.
numastat.txt
- info on how to read Numa policy hit/miss statistics in sysfs.
oops-tracing.txt
admin-guide/oops-tracing.rst
- how to decode those nasty internal kernel error dump messages.
padata.txt
- An introduction to the "padata" parallel execution API
Expand Down Expand Up @@ -378,7 +378,7 @@ ptp/
- directory with info on support for IEEE 1588 PTP clocks in Linux.
pwm.txt
- info on the pulse width modulation driver subsystem
ramoops.txt
admin-guide/ramoops.rst
- documentation of the ramoops oops/panic logging module.
rapidio/
- directory with info on RapidIO packet-based fabric interconnect
Expand Down Expand Up @@ -406,7 +406,7 @@ security/
- directory that contains security-related info
serial/
- directory with info on the low level serial API.
serial-console.txt
admin-guide/serial-console.rst
- how to set up Linux with a serial line console as the default.
sgi-ioc4.txt
- description of the SGI IOC4 PCI (multi function) device.
Expand All @@ -420,9 +420,9 @@ sparse.txt
- info on how to obtain and use the sparse tool for typechecking.
spi/
- overview of Linux kernel Serial Peripheral Interface (SPI) support.
stable_api_nonsense.txt
process/stable-api-nonsense.rst
- info on why the kernel does not have a stable in-kernel api or abi.
stable_kernel_rules.txt
process/stable-kernel-rules.rst
- rules and procedures for the -stable kernel releases.
static-keys.txt
- info on how static keys allow debug code in hotpaths via patching
Expand All @@ -444,7 +444,7 @@ trace/
- directory with info on tracing technologies within linux
unaligned-memory-access.txt
- info on how to avoid arch breaking unaligned memory access in code.
unicode.txt
admin-guide/unicode.rst
- info on the Unicode character/font mapping used in Linux.
unshare.txt
- description of the Linux unshare system call.
Expand All @@ -458,23 +458,21 @@ vgaarbiter.txt
- info on enable/disable the legacy decoding on different VGA devices
video-output.txt
- sysfs class driver interface to enable/disable a video output device.
video4linux/
- directory with info regarding video/TV/radio cards and linux.
virtual/
- directory with information on the various linux virtualizations.
vm/
- directory with info on the Linux vm code.
vme_api.txt
- file relating info on the VME bus API in linux
volatile-considered-harmful.txt
process/volatile-considered-harmful.rst
- Why the "volatile" type class should not be used
w1/
- directory with documents regarding the 1-wire (w1) subsystem.
watchdog/
- how to auto-reboot Linux if it has "fallen and can't get up". ;-)
wimax/
- directory with info about Intel Wireless Wimax Connections
workqueue.txt
core-api/workqueue.rst
- information on the Concurrency Managed Workqueue implementation
x86/x86_64/
- directory with info on Linux support for AMD x86-64 (Hammer) machines.
Expand Down
5 changes: 0 additions & 5 deletions Documentation/80211/conf.py

This file was deleted.

17 changes: 0 additions & 17 deletions Documentation/80211/index.rst

This file was deleted.

2 changes: 1 addition & 1 deletion Documentation/ABI/README
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ stable:

- Kernel-internal symbols. Do not rely on the presence, absence, location, or
type of any kernel symbol, either in System.map files or the kernel binary
itself. See Documentation/stable_api_nonsense.txt.
itself. See Documentation/process/stable-api-nonsense.rst.
14 changes: 14 additions & 0 deletions Documentation/ABI/stable/sysfs-devices
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,17 @@ Description:
Any device associated with a device-tree node will have
an of_path symlink pointing to the corresponding device
node in /sys/firmware/devicetree/

What: /sys/devices/*/devspec
Date: October 2016
Contact: Device Tree mailing list <devicetree@vger.kernel.org>
Description:
If CONFIG_OF is enabled, then this file is present. When
read, it returns full name of the device node.

What: /sys/devices/*/obppath
Date: October 2016
Contact: Device Tree mailing list <devicetree@vger.kernel.org>
Description:
If CONFIG_OF is enabled, then this file is present. When
read, it returns full name of the device node.
29 changes: 29 additions & 0 deletions Documentation/ABI/testing/sysfs-block
Original file line number Diff line number Diff line change
Expand Up @@ -235,3 +235,32 @@ Description:
write_same_max_bytes is 0, write same is not supported
by the device.

What: /sys/block/<disk>/queue/zoned
Date: September 2016
Contact: Damien Le Moal <damien.lemoal@hgst.com>
Description:
zoned indicates if the device is a zoned block device
and the zone model of the device if it is indeed zoned.
The possible values indicated by zoned are "none" for
regular block devices and "host-aware" or "host-managed"
for zoned block devices. The characteristics of
host-aware and host-managed zoned block devices are
described in the ZBC (Zoned Block Commands) and ZAC
(Zoned Device ATA Command Set) standards. These standards
also define the "drive-managed" zone model. However,
since drive-managed zoned block devices do not support
zone commands, they will be treated as regular block
devices and zoned will report "none".

What: /sys/block/<disk>/queue/chunk_sectors
Date: September 2016
Contact: Hannes Reinecke <hare@suse.com>
Description:
chunk_sectors has different meaning depending on the type
of the disk. For a RAID device (dm-raid), chunk_sectors
indicates the size in 512B sectors of the RAID volume
stripe segment. For a zoned block device, either
host-aware or host-managed, chunk_sectors indicates the
size of 512B sectors of the zones of the device, with
the eventual exception of the last zone of the device
which may be smaller.
18 changes: 18 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-iio
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_pressure_scale
What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
What: /sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale
What: /sys/bus/iio/devices/iio:deviceX/in_illuminance_scale
What: /sys/bus/iio/devices/iio:deviceX/in_countY_scale
KernelVersion: 2.6.35
Contact: linux-iio@vger.kernel.org
Description:
Expand Down Expand Up @@ -1579,3 +1580,20 @@ Contact: linux-iio@vger.kernel.org
Description:
Raw (unscaled no offset etc.) electric conductivity reading that
can be processed to siemens per meter.

What: /sys/bus/iio/devices/iio:deviceX/in_countY_raw
KernelVersion: 4.9
Contact: linux-iio@vger.kernel.org
Description:
Raw counter device counts from channel Y. For quadrature
counters, multiplication by an available [Y]_scale results in
the counts of a single quadrature signal phase from channel Y.

What: /sys/bus/iio/devices/iio:deviceX/in_indexY_raw
KernelVersion: 4.9
Contact: linux-iio@vger.kernel.org
Description:
Raw counter device index value from channel Y. This attribute
provides an absolute positional reference (e.g. a pulse once per
revolution) which may be used to home positional systems as
required.
Loading

0 comments on commit dfedad8

Please sign in to comment.