Skip to content

Commit

Permalink
linux-next
Browse files Browse the repository at this point in the history
GIT 027088d66bb6bfdb10d4a161d5ca52ea915e92c2

commit 369130b63178e0e2f863a2da2a5ad0238ded6d9d
Author: Mickaël Salaün <[email protected]>
Date:   Mon Aug 7 01:23:37 2017 +0200

    selftests: Enhance kselftest_harness.h to print which assert failed
    
    When a test process is not able to write to TH_LOG_STREAM, this step
    mechanism enable to print the assert number which triggered the failure.
    This can be enabled by setting _metadata->no_print to true at the
    beginning of the test sequence.
    
    Update the seccomp-bpf test to return 0 if a test succeeded.
    
    This feature is needed for the Landlock tests.
    
    Signed-off-by: Mickaël Salaün <[email protected]>
    Cc: Andy Lutomirski <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Shuah Khan <[email protected]>
    Cc: Will Drewry <[email protected]>
    Link: https://lkml.kernel.org/r/CAGXu5j+D-FP8Kt9unNOqKrQJP4DYTpmgkJxWykZyrYiVPz3Y3Q@mail.gmail.com
    Signed-off-by: Shuah Khan <[email protected]>

commit fd829156cb2041f7844520c04e927d10933367a5
Author: Jaegeuk Kim <[email protected]>
Date:   Tue Sep 5 13:59:19 2017 -0700

    f2fs: fix wrong bfree and bavail
    
    This patch fixes bavail and bfree finally.
    
    long    f_bfree;    /* free blocks in fs */
    long    f_bavail;   /* free blocks avail to non-superuser */
    
    So, bfree represents all the reserved blocks, while bavail does the space only
    visible to normal user.
    
    Fix: 3e6d0b4d9c1c ("f2fs: fix incorrect f_bfree calculation in ->statfs")
    Cc: <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit f0e12dd55384d5ef53c6e15673d39133dfca5f0a
Author: Andreas Färber <[email protected]>
Date:   Mon Feb 20 17:24:04 2017 +0100

    arm64: dts: actions: s900-bubblegum-96: Add fake uart5 clock
    
    Give the serial driver a fixed-clock as input for baudrate 115200.
    
    Signed-off-by: Andreas Färber <[email protected]>

commit f098003a7ee00c92e8ed7a8f8a49e4bd15f35bdd
Author: Iyappan Subramanian <[email protected]>
Date:   Tue Sep 5 11:16:32 2017 -0700

    drivers: net: xgene: Remove return statement from void function
    
    commit 183db4 ("drivers: net: xgene: Correct probe sequence handling")
    changed the return type of xgene_enet_check_phy_handle() to void.
    
    This patch, removes the return statement from the last line.
    
    Signed-off-by: Iyappan Subramanian <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 5e338b36643210e0915a365892002af5211cc87b
Author: Quan Nguyen <[email protected]>
Date:   Tue Sep 5 11:16:31 2017 -0700

    drivers: net: xgene: Configure tx/rx delay for ACPI
    
    This patch fixes configuring tx/rx delay values for ACPI.
    
    Signed-off-by: Quan Nguyen <[email protected]>
    Signed-off-by: Iyappan Subramanian <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 9d7e72c088e3b18b5f6d028ad499d38a210d1928
Author: Iyappan Subramanian <[email protected]>
Date:   Tue Sep 5 11:16:30 2017 -0700

    drivers: net: xgene: Read tx/rx delay for ACPI
    
    This patch fixes reading tx/rx delay values for ACPI.
    
    Signed-off-by: Iyappan Subramanian <[email protected]>
    Signed-off-by: Quan Nguyen <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit b1357cfb9dd1a511269b62d2c1c986865815335a
Author: Zahari Doychev <[email protected]>
Date:   Tue Sep 5 21:49:58 2017 +0200

    rocker: fix kcalloc parameter order
    
    The function calls to kcalloc use wrong parameter order and incorrect flags
    values. GFP_KERNEL is used instead of flags now and the order is corrected.
    
    The change was done using the following coccinelle script:
    
    @@
    expression E1,E2;
    type T;
    @@
    
    -kcalloc(E1, E2, sizeof(T))
    +kcalloc(E2, sizeof(T), GFP_KERNEL)
    
    Signed-off-by: Zahari Doychev <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit f530f39f5ff97209cc6f1bf66e634685954ad741
Author: Håkon Bugge <[email protected]>
Date:   Tue Sep 5 17:42:01 2017 +0200

    rds: Fix non-atomic operation on shared flag variable
    
    The bits in m_flags in struct rds_message are used for a plurality of
    reasons, and from different contexts. To avoid any missing updates to
    m_flags, use the atomic set_bit() instead of the non-atomic equivalent.
    
    Signed-off-by: Håkon Bugge <[email protected]>
    Reviewed-by: Knut Omang <[email protected]>
    Reviewed-by: Wei Lin Guay <[email protected]>
    Acked-by: Santosh Shilimkar <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 2c8468dcf8303c68712f11c782d7d8724de07a73
Author: Jakub Kicinski <[email protected]>
Date:   Tue Sep 5 08:31:23 2017 -0700

    net: sched: don't use GFP_KERNEL under spin lock
    
    The new TC IDR code uses GFP_KERNEL under spin lock.  Which leads
    to:
    
    [  582.621091] BUG: sleeping function called from invalid context at ../mm/slab.h:416
    [  582.629721] in_atomic(): 1, irqs_disabled(): 0, pid: 3379, name: tc
    [  582.636939] 2 locks held by tc/3379:
    [  582.641049]  #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff910354ce>] rtnetlink_rcv_msg+0x92e/0x1400
    [  582.650958]  #1:  (&(&tn->idrinfo->lock)->rlock){+.-.+.}, at: [<ffffffff9110a5e0>] tcf_idr_create+0x2f0/0x8e0
    [  582.662217] Preemption disabled at:
    [  582.662222] [<ffffffff9110a5e0>] tcf_idr_create+0x2f0/0x8e0
    [  582.672592] CPU: 9 PID: 3379 Comm: tc Tainted: G        W       4.13.0-rc7-debug-00648-g43503a79b9f0 #287
    [  582.683432] Hardware name: Dell Inc. PowerEdge R730/072T6D, BIOS 2.3.4 11/08/2016
    [  582.691937] Call Trace:
    ...
    [  582.742460]  kmem_cache_alloc+0x286/0x540
    [  582.747055]  radix_tree_node_alloc.constprop.6+0x4a/0x450
    [  582.753209]  idr_get_free_cmn+0x627/0xf80
    ...
    [  582.815525]  idr_alloc_cmn+0x1a8/0x270
    ...
    [  582.833804]  tcf_idr_create+0x31b/0x8e0
    ...
    
    Try to preallocate the memory with idr_prealloc(GFP_KERNEL)
    (as suggested by Eric Dumazet), and change the allocation
    flags under spin lock.
    
    Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR")
    Signed-off-by: Jakub Kicinski <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Acked-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 8b949bef9172ca69d918e93509a4ecb03d0355e0
Author: Jason Wang <[email protected]>
Date:   Tue Sep 5 09:22:05 2017 +0800

    vhost_net: correctly check tx avail during rx busy polling
    
    We check tx avail through vhost_enable_notify() in the past which is
    wrong since it only checks whether or not guest has filled more
    available buffer since last avail idx synchronization which was just
    done by vhost_vq_avail_empty() before. What we really want is checking
    pending buffers in the avail ring. Fix this by calling
    vhost_vq_avail_empty() instead.
    
    This issue could be noticed by doing netperf TCP_RR benchmark as
    client from guest (but not host). With this fix, TCP_RR from guest to
    localhost restores from 1375.91 trans per sec to 55235.28 trans per
    sec on my laptop (Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz).
    
    Fixes: 030881372460 ("vhost_net: basic polling support")
    Signed-off-by: Jason Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 5482a978b962abd23f17a004e46d255d11646c20
Author: Corentin Labbe <[email protected]>
Date:   Mon Sep 4 18:30:14 2017 +0200

    net: mdio-mux: add mdio_mux parameter to mdio_mux_init()
    
    mdio_mux_init() use the parameter dev for two distinct thing:
    1) Have a device for all devm_ functions
    2) Get device_node from it
    
    Since it is two distinct purpose, this patch add a parameter mdio_mux
    that is linked to task 2.
    
    This will also permit to register an of_node mdio-mux that lacks a direct
    owning device.
    For example a mdio-mux which is a subnode of a real device.
    
    Signed-off-by: Corentin Labbe <[email protected]>
    Reviewed-by: Florian Fainelli <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit fdade4f69e4ca29753963f858dc42c5f8faf1d0b
Author: David Howells <[email protected]>
Date:   Mon Sep 4 15:28:28 2017 +0100

    rxrpc: Make service connection lookup always check for retry
    
    When an RxRPC service packet comes in, the target connection is looked up
    by an rb-tree search under RCU and a read-locked seqlock; the seqlock retry
    check is, however, currently skipped if we got a match, but probably
    shouldn't be in case the connection we found gets replaced whilst we're
    doing a search.
    
    Make the lookup procedure always go through need_seqretry(), even if the
    lookup was successful.  This makes sure we always pick up on a write-lock
    event.
    
    On the other hand, since we don't take a ref on the object, but rely on RCU
    to prevent its destruction after dropping the seqlock, I'm not sure this is
    necessary.
    
    Signed-off-by: David Howells <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 5e369aefdce4818c8264b81d3436eccf35af561e
Author: Romain Perier <[email protected]>
Date:   Mon Sep 4 10:41:36 2017 +0200

    net: stmmac: Delete dead code for MDIO registration
    
    This code is no longer used, the logging function was changed by commit
    fbca164776e4 ("net: stmmac: Use the right logging function in stmmac_mdio_register").
    It was previously showing information about the type of the IRQ, if it's
    polled, ignored or a normal interrupt. As we don't want information loss,
    I have moved this code to phy_attached_print().
    
    Fixes: fbca164776e4 ("net: stmmac: Use the right logging function in stmmac_mdio_register")
    Signed-off-by: Romain Perier <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 5d621672bc1a1e5090c1ac5432a18c79e0e13e03
Author: Claudiu Manoil <[email protected]>
Date:   Mon Sep 4 10:45:28 2017 +0300

    gianfar: Fix Tx flow control deactivation
    
    The wrong register is checked for the Tx flow control bit,
    it should have been maccfg1 not maccfg2.
    This went unnoticed for so long probably because the impact is
    hardly visible, not to mention the tangled code from adjust_link().
    First, link flow control (i.e. handling of Rx/Tx link level pause frames)
    is disabled by default (needs to be enabled via 'ethtool -A').
    Secondly, maccfg2 always returns 0 for tx_flow_oldval (except for a few
    old boards), which results in Tx flow control remaining always on
    once activated.
    
    Fixes: 45b679c9a3ccd9e34f28e6ec677b812a860eb8eb ("gianfar: Implement PAUSE frame generation support")
    Signed-off-by: Claudiu Manoil <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit ef18e3b9682b8e5187bccc3b3a052f2ead80201d
Author: Ganesh Goudar <[email protected]>
Date:   Mon Sep 4 11:25:34 2017 +0530

    cxgb4: Ignore MPS_TX_INT_CAUSE[Bubble] for T6
    
    MPS_TX_INT_CAUSE[Bubble] is a normal condition for T6, hence
    ignore this interrupt for T6.
    
    Signed-off-by: Ganesh Goudar <[email protected]>
    Signed-off-by: Casey Leedom <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 2de489f486219fd52e85b336f4feb9b3c4c09617
Author: Ganesh Goudar <[email protected]>
Date:   Mon Sep 4 11:17:36 2017 +0530

    cxgb4: Fix pause frame count in t4_get_port_stats
    
    MPS_STAT_CTL[CountPauseStatTx] and MPS_STAT_CTL[CountPauseStatRx]
    only control whether or not Pause Frames will be counted as part
    of the 64-Byte Tx/Rx Frame counters.  These bits do not control
    whether Pause Frames are counted in the Total Tx/Rx Frames/Bytes
    counters.
    
    Signed-off-by: Ganesh Goudar <[email protected]>
    Signed-off-by: Casey Leedom <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 128416acea9ffda4b6a0e08c8d549572e87533cd
Author: Ganesh Goudar <[email protected]>
Date:   Mon Sep 4 11:16:28 2017 +0530

    cxgb4: fix memory leak
    
    do not reuse the loop counter which is used iterate over
    the ports, so that sched_tbl will be freed for all the ports.
    
    Signed-off-by: Ganesh Goudar <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 1cfe6e9351c256ec6aebcf64223aa21dc7654257
Author: Jason Wang <[email protected]>
Date:   Mon Sep 4 11:36:09 2017 +0800

    tun: rename generic_xdp to skb_xdp
    
    Rename "generic_xdp" to "skb_xdp" to avoid confusing it with the
    generic XDP which will be done at netif_receive_skb().
    
    Cc: Daniel Borkmann <[email protected]>
    Signed-off-by: Jason Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 7df13219d757054c49b62417479a3724621ca8ae
Author: Jason Wang <[email protected]>
Date:   Mon Sep 4 11:36:08 2017 +0800

    tun: reserve extra headroom only when XDP is set
    
    We reserve headroom unconditionally which could cause unnecessary
    stress on socket memory accounting because of increased trusesize. Fix
    this by only reserve extra headroom when XDP is set.
    
    Cc: Jakub Kicinski <[email protected]>
    Signed-off-by: Jason Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit d06701290709fc5437d4bfa375ccf9776be48c45
Author: Andreas Färber <[email protected]>
Date:   Fri Feb 24 02:39:08 2017 +0100

    ARM: dts: owl-s500-guitar-bb-rev-b: Add fake uart3 clock
    
    Add a fixed-clock for baudrate 115200.
    
    Signed-off-by: Andreas Färber <[email protected]>

commit 1efdf1776e2253b77413c997bed862410e4b6aaf
Author: Arnd Bergmann <[email protected]>
Date:   Tue Sep 5 09:13:20 2017 +0200

    media: leds: as3645a: add V4L2_FLASH_LED_CLASS dependency
    
    We get a link error when V4L2_FLASH_LED_CLASS=m and AS3645A is built-in:
    
    drivers/leds/leds-as3645a.o: In function `as3645a_v4l2_setup':
    leds-as3645a.c:(.text+0x258): undefined reference to `v4l2_flash_init'
    leds-as3645a.c:(.text+0x284): undefined reference to `v4l2_flash_indicator_init'
    leds-as3645a.c:(.text+0x2a4): undefined reference to `v4l2_flash_release'
    drivers/leds/leds-as3645a.o: In function `as3645a_remove':
    leds-as3645a.c:(.text+0x784): undefined reference to `v4l2_flash_release'
    
    This adds the same Kconfig dependency that the other V4L2 flash
    drivers in drivers/leds use, to avoid that broken configuration.
    
    Fixes: a56ba8fbcb55 ("media: leds: as3645a: Add LED flash class driver")
    Signed-off-by: Arnd Bergmann <[email protected]>
    Acked-by: Jacek Anaszewski <[email protected]>
    Signed-off-by: Sakari Ailus <[email protected]>
    Signed-off-by: Mauro Carvalho Chehab <[email protected]>

commit 26fb2254dd33b02a522fac42745693f5969b7d4b
Author: Chuck Lever <[email protected]>
Date:   Mon Aug 28 15:06:22 2017 -0400

    svcrdma: Estimate Send Queue depth properly
    
    The rdma_rw API adjusts max_send_wr upwards during the
    rdma_create_qp() call. If the ULP actually wants to take advantage
    of these extra resources, it must increase the size of its send
    completion queue (created before rdma_create_qp is called) and
    increase its send queue accounting limit.
    
    Use the new rdma_rw_mr_factor API to figure out the correct value
    to use for the Send Queue and Send Completion Queue depths.
    
    And, ensure that the chosen Send Queue depth for a newly created
    transport does not overrun the QP WR limit of the underlying device.
    
    Lastly, there's no longer a need to carry the Send Queue depth in
    struct svcxprt_rdma, since the value is used only in the
    svc_rdma_accept() path.
    
    Signed-off-by: Chuck Lever <[email protected]>
    Signed-off-by: J. Bruce Fields <[email protected]>

commit 0062818298662d0d05061949d12880146b5ebd65
Author: Chuck Lever <[email protected]>
Date:   Mon Aug 28 15:06:14 2017 -0400

    rdma core: Add rdma_rw_mr_payload()
    
    The amount of payload per MR depends on device capabilities and
    the memory registration mode in use. The new rdma_rw API hides both,
    making it difficult for ULPs to determine how large their transport
    send queues need to be.
    
    Expose the MR payload information via a new API.
    
    Signed-off-by: Chuck Lever <[email protected]>
    Acked-by: Doug Ledford <[email protected]>
    Signed-off-by: J. Bruce Fields <[email protected]>

commit 5a25bfd28c321e522dbe8083ad6219fa2a820610
Author: Chuck Lever <[email protected]>
Date:   Mon Aug 28 15:06:06 2017 -0400

    svcrdma: Limit RQ depth
    
    Ensure that the chosen Receive Queue depth for a newly created
    transport does not overrun the QP WR limit of the underlying device.
    
    Signed-off-by: Chuck Lever <[email protected]>
    Signed-off-by: J. Bruce Fields <[email protected]>

commit 193bcb7b3719a315814dce40fc8dcd1af786ea64
Author: Chuck Lever <[email protected]>
Date:   Fri Aug 18 11:12:35 2017 -0400

    svcrdma: Populate tail iovec when receiving
    
    So that NFS WRITE payloads can eventually be placed directly into a
    file's page cache, enable the RPC-over-RDMA transport to present
    these payloads in the xdr_buf's page list, while placing trailing
    content (such as a GETATTR operation) in the xdr_buf's tail.
    
    After this change, the RPC-over-RDMA's "copy tail" hack, added by
    commit a97c331f9aa9 ("svcrdma: Handle additional inline content"),
    is no longer needed and can be removed.
    
    Signed-off-by: Chuck Lever <[email protected]>
    Signed-off-by: J. Bruce Fields <[email protected]>

commit eae03e2ac80a3476f0652cb0ee451d7b06d30564
Author: Chuck Lever <[email protected]>
Date:   Fri Aug 18 11:12:27 2017 -0400

    nfsd: Incoming xdr_bufs may have content in tail buffer
    
    Since the beginning, svcsock has built a received RPC Call message
    by populating the xdr_buf's head, then placing the remaining
    message bytes in the xdr_buf's page list. The xdr_buf's tail is
    never populated.
    
    This means that an NFSv4 COMPOUND containing an NFS WRITE operation
    plus trailing operations has a page list that contains the WRITE
    data payload followed by the trailing operations. NFSv4 XDR decoders
    will not look in the xdr_buf's tail, ever, because svcsock never put
    anything there.
    
    To support transports that can pass the write payload in the
    xdr_buf's pagelist and trailing content in the xdr_buf's tail,
    introduce logic in READ_BUF that switches to the xdr_buf's tail vec
    when the decoder runs out of content in rq_arg.pages.
    
    Signed-off-by: Chuck Lever <[email protected]>
    Signed-off-by: J. Bruce Fields <[email protected]>

commit c837fc81d67fd807f7d675412e9bb2706f9ee6f9
Author: Florian Fainelli <[email protected]>
Date:   Sun Sep 3 20:27:03 2017 -0700

    net: dsa: bcm_sf2: Configure IMP port TC2QOS mapping
    
    Even though TC2QOS mapping is for switch egress queues, we need to
    configure it correclty in order for the Broadcom tag ingress (CPU ->
    switch) queue selection to work correctly since there is a 1:1 mapping
    between switch egress queues and ingress queues.
    
    Signed-off-by: Florian Fainelli <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 18118377391a266fbd0864b4c65f5c80f231c297
Author: Florian Fainelli <[email protected]>
Date:   Sun Sep 3 20:27:02 2017 -0700

    net: dsa: bcm_sf2: Advertise number of egress queues
    
    The switch supports 8 egress queues per port, so indicate that such that
    net/dsa/slave.c::dsa_slave_create can allocate the right number of TX queues.
    While at it use SF2_NUM_EGRESS_QUEUE as a define for the number of queues we
    support.
    
    Signed-off-by: Florian Fainelli <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 0f15b0986996a4d45090c0010728055c6aa2b458
Author: Florian Fainelli <[email protected]>
Date:   Sun Sep 3 20:27:01 2017 -0700

    net: dsa: tag_brcm: Set output queue from skb queue mapping
    
    We originally used skb->priority but that was not quite correct as this
    bitfield needs to contain the egress switch queue we intend to send this
    SKB to.
    
    Signed-off-by: Florian Fainelli <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 55199df6d2af55be414f40856efcb527811001bb
Author: Florian Fainelli <[email protected]>
Date:   Sun Sep 3 20:27:00 2017 -0700

    net: dsa: Allow switch drivers to indicate number of TX queues
    
    Let switch drivers indicate how many TX queues they support. Some
    switches, such as Broadcom Starfighter 2 are designed with 8 egress
    queues. Future changes will allow us to leverage the queue mapping and
    direct the transmission towards a particular queue.
    
    Signed-off-by: Florian Fainelli <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit f1c2eddf4cb6a6c8ca5f6e728e7328b9c5bc3e8a
Author: Ido Schimmel <[email protected]>
Date:   Sun Sep 3 17:44:13 2017 +0300

    bridge: switchdev: Use an helper to clear forward mark
    
    Instead of using ifdef in the C file.
    
    Signed-off-by: Ido Schimmel <[email protected]>
    Suggested-by: Nikolay Aleksandrov <[email protected]>
    Tested-by: Yotam Gigi <[email protected]>
    Acked-by: Nikolay Aleksandrov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 691223ec9798a617cb372470f4bf37e312d15063
Author: Thomas Meyer <[email protected]>
Date:   Sun Sep 3 14:19:31 2017 +0200

    net/mlx4_core: Use ARRAY_SIZE macro
    
    Use ARRAY_SIZE macro, rather than explicitly coding some variant of it
    yourself.
    Found with: find -type f -name "*.c" -o -name "*.h" | xargs perl -p -i -e
    's/\bsizeof\s*\(\s*(\w+)\s*\)\s*\ /\s*sizeof\s*\(\s*\1\s*\[\s*0\s*\]\s*\)
    /ARRAY_SIZE(\1)/g' and manual check/verification.
    
    Signed-off-by: Thomas Meyer <[email protected]>
    Reviewed-by: Tariq Toukan <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 5fd4bf6a659e45251a91b04485318570554651b2
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:10 2017 -0300

    PCI: xilinx-nwl: Fix platform_get_irq() error handling
    
    When platform_get_irq() fails we should propagate the real error value
    instead of always returning -EINVAL.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Cc: Michal Simek <[email protected]>

commit 1eed4dfb81b193af3299edeed2827337f9999e78
Author: Tom Herbert <[email protected]>
Date:   Fri Sep 1 14:04:12 2017 -0700

    flow_dissector: Add limit for number of headers to dissect
    
    In flow dissector there are no limits to the number of nested
    encapsulations or headers that might be dissected which makes for a
    nice DOS attack. This patch sets a limit of the number of headers
    that flow dissector will parse.
    
    Headers includes network layer headers, transport layer headers, shim
    headers for encapsulation, IPv6 extension headers, etc. The limit for
    maximum number of headers to parse has be set to fifteen to account for
    a reasonable number of encapsulations, extension headers, VLAN,
    in a packet. Note that this limit does not supercede the STOP_AT_*
    flags which may stop processing before the headers limit is reached.
    
    Reported-by: Hannes Frederic Sowa <[email protected]>
    Signed-off-by: Tom Herbert <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 3a1214e8b06317b4e71cd3a36344df87b7858e19
Author: Tom Herbert <[email protected]>
Date:   Fri Sep 1 14:04:11 2017 -0700

    flow_dissector: Cleanup control flow
    
    __skb_flow_dissect is riddled with gotos that make discerning the flow,
    debugging, and extending the capability difficult. This patch
    reorganizes things so that we only perform goto's after the two main
    switch statements (no gotos within the cases now). It also eliminates
    several goto labels so that there are only two labels that can be target
    for goto.
    
    Reported-by: Alexander Popov <[email protected]>
    Signed-off-by: Tom Herbert <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 81edd471a61474de1ea772f27a3c734a68a09cc6
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:09 2017 -0300

    PCI: rockchip: Fix platform_get_irq() error handling
    
    When platform_get_irq() fails we should propagate the real error value
    instead of always returning -EINVAL.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Cc: Shawn Lin <[email protected]>

commit ef75369a5b9afc8b45456218790f0f12906b7065
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:07 2017 -0300

    PCI: altera: Fix platform_get_irq() error handling
    
    platform_get_irq() returns a negative number on failure, so adjust the
    logic to detect such condition and propagate the real error value on
    failure.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Cc: Ley Foon Tan <[email protected]>

commit 156e9b32deed29d3a3c3edbd1a84cd192e0bec3b
Author: Bjorn Helgaas <[email protected]>
Date:   Tue Sep 5 13:09:05 2017 -0500

    PCI: xgene: Clean up whitespace
    
    Use tabs (not spaces) for indentation.  No functional change intended.
    
    Signed-off-by: Bjorn Helgaas <[email protected]>

commit d0a009218fce4ca86670fa2776e0b8087d624906
Author: Bjorn Helgaas <[email protected]>
Date:   Tue Sep 5 12:58:03 2017 -0500

    PCI: xgene: Define XGENE_PCI_EXP_CAP and use generic PCI_EXP_RTCTL offset
    
    Apparently the PCIe capability is at address 0x40 in config space of X-Gene
    v1 Root Ports.  Add a definition of that and use the generic PCI_EXP_RTCTL
    offset into the capability.  No functional change intended.
    
    Signed-off-by: Bjorn Helgaas <[email protected]>

commit 3e3136e5a0662cdfae91717d90d283bf7656d741
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:06 2017 -0300

    PCI: xgene: Fix platform_get_irq() error handling
    
    When platform_get_irq() fails we should propagate the real error value
    instead of always returning -EINVAL.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Cc: Duc Dang <[email protected]>

commit 343ce0cdfae16828d18e9228e26dd19ecc3a457f
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:05 2017 -0300

    PCI: spear13xx: Fix platform_get_irq() error handling
    
    platform_get_irq() returns a negative number on failure, so adjust the
    logic to detect such condition and propagate the real error value on
    failure.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Cc: Pratyush Anand <[email protected]>

commit 16df7cdb9e9dfc459b5749f8139d1e58fb5cf649
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:04 2017 -0300

    PCI: artpec6: Fix platform_get_irq() error handling
    
    platform_get_irq() returns a negative number on failure, so adjust the
    logic to detect such condition and propagate the real error value on
    failure.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Acked-by: Niklas Cassel <[email protected]>

commit 0fe5f1cd0bf08f7640c3ce945766a1af2049893e
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:03 2017 -0300

    PCI: armada8k: Fix platform_get_irq() error handling
    
    platform_get_irq() returns a negative number on failure, so adjust the
    logic to detect such condition and propagate the real error value on
    failure.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Cc: Thomas Petazzoni <[email protected]>

commit 2f3ec75245ee9c85578a50d090029d1726105a4d
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:02 2017 -0300

    PCI: dra7xx: Fix platform_get_irq() error handling
    
    When platform_get_irq() fails we should propagate the real error value
    instead of always returning -EINVAL.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Acked-by: Kishon Vijay Abraham I <[email protected]>

commit 1df5a487c8b338105930310eb9a876d9ad1646cb
Author: Fabio Estevam <[email protected]>
Date:   Thu Aug 31 14:52:01 2017 -0300

    PCI: exynos: Fix platform_get_irq() error handling
    
    platform_get_irq() returns a negative number on failure, so adjust the
    logic to detect such condition and propagate the real error value on
    failure.
    
    Reported-by: Bjorn Helgaas <[email protected]>
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Acked-by: Jingoo Han <[email protected]>

commit 3664847d95e60a9a943858b7800f8484669740fc
Author: Shaohua Li <[email protected]>
Date:   Fri Aug 25 10:40:02 2017 -0700

    md/raid5: fix a race condition in stripe batch
    
    We have a race condition in below scenario, say have 3 continuous stripes, sh1,
    sh2 and sh3, sh1 is the stripe_head of sh2 and sh3:
    
    CPU1                            CPU2                            CPU3
    handle_stripe(sh3)
                                    stripe_add_to_batch_list(sh3)
                                    -> lock(sh2, sh3)
                                    -> lock batch_lock(sh1)
                                    -> add sh3 to batch_list of sh1
                                    -> unlock batch_lock(sh1)
                                                                    clear_batch_ready(sh1)
                                                                    -> lock(sh1) and batch_lock(sh1)
                                                                    -> clear STRIPE_BATCH_READY for all stripes in batch_list
                                                                    -> unlock(sh1) and batch_lock(sh1)
    ->clear_batch_ready(sh3)
    -->test_and_clear_bit(STRIPE_BATCH_READY, sh3)
    --->return 0 as sh->batch == NULL
                                    -> sh3->batch_head = sh1
                                    -> unlock (sh2, sh3)
    
    In CPU1, handle_stripe will continue handle sh3 even it's in batch stripe list
    of sh1. By moving sh3->batch_head assignment in to batch_lock, we make it
    impossible to clear STRIPE_BATCH_READY before batch_head is set.
    
    Thanks Stephane for helping debug this tricky issue.
    
    Reported-and-tested-by: Stephane Thiell <[email protected]>
    Cc: [email protected] (v4.1+)
    Signed-off-by: Shaohua Li <[email protected]>

commit 2afce76a1151fe2f1104962c327d8f85047045e6
Author: Yunlong Song <[email protected]>
Date:   Mon Sep 4 11:10:18 2017 +0800

    Revert "f2fs: add a new function get_ssr_cost"
    
    This reverts commit b7b7c4cf1c9ef0272a65f1480457cbfdadcda19d.
    
    se->ckpt_valid_blocks will never be smaller than se->valid_blocks, so just
    remove get_ssr_cost.
    
    Signed-off-by: Yunlong Song <[email protected]>
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit f62fc9f97602d5f52fd574db80d95d71869bfe21
Author: Arvind Yadav <[email protected]>
Date:   Thu Aug 31 15:06:24 2017 +0530

    f2fs: constify super_operations
    
    super_operations are not supposed to change at runtime.
    "struct super_block" working with super_operations provided
    by <linux/fs.h> work with const super_operations. So mark
    the non-const structs as const
    
    Signed-off-by: Arvind Yadav <[email protected]>
    Reviewed-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit d3238691ed5f7be29f7b8b7cf7c68bbb2924361d
Author: Chao Yu <[email protected]>
Date:   Thu Aug 31 18:56:06 2017 +0800

    f2fs: fix to wake up all sleeping flusher
    
    In scenario of remount_ro vs flush, after flush_thread exits in
    ->remount_fs, flusher will only clean up golbal issue_list, but
    without waking up flushers waiting on that list, result in hang
    related user threads.
    
    In order to fix this issue, this patch enables the flusher to
    take charge of issue_flush thread: executes merged flush command,
    and wake up all sleeping flushers.
    
    Fixes: 5eba8c5d1fb3 ("f2fs: fix to access nullified flush_cmd_control pointer")
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit edd748e6c8e824a8281f8a8450f12c4a95ec61ee
Author: Chao Yu <[email protected]>
Date:   Thu Aug 31 18:56:05 2017 +0800

    f2fs: avoid race in between atomic_read & atomic_inc
    
    Previously, we will miss merging flush command during fsync due to below
    race condition:
    
    Thread A                Thread B                Thread C
    - f2fs_issue_flush
     - atomic_read(&issing_flush)
                            - f2fs_issue_flush
                             - atomic_read(&issing_flush)
                                                    - f2fs_issue_flush
                                                     - atomic_read(&issing_flush)
      - atomic_inc(&issing_flush)
                              - atomic_inc(&issing_flush)
                                                      - atomic_inc(&issing_flush)
       - submit_flush_wait
                               - submit_flush_wait
                                                       - submit_flush_wait
    
    It needs to use atomic_inc_return instead to avoid such race.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit 025d63a486aad611b20fa39184fc86e4b76d260e
Author: Chao Yu <[email protected]>
Date:   Wed Aug 30 18:04:48 2017 +0800

    f2fs: remove unneeded parameter of change_curseg
    
    allocate_segment_by_default is the only caller of change_curseg passing
    @reuse with 'false', but commit 763bfe1bc575 ("f2fs: remove reusing any
    prefree segments") removes the calling, after that, @reuse in
    change_curseg always be true, so, let's clean up the unneeded parameter.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit 11f5020d2f43a9a7b9b5cf22873e5a9a06a884f7
Author: Chao Yu <[email protected]>
Date:   Wed Aug 30 18:04:47 2017 +0800

    f2fs: update i_flags correctly
    
    f2fs enables hash-indexed directory by default, so we need to tag
    FS_INDEX_FL in inode::i_flags during directory creataion, in order
    to show correct status of inode in lsattr:
    
    Before:
    ------------------- /mnt/f2fs/dir/
    After:
    -----------I------- /mnt/f2fs/dir/
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit ee605234996627c4fe874ea580e36211fb2bf6d5
Author: Jaegeuk Kim <[email protected]>
Date:   Thu Aug 31 16:54:51 2017 -0700

    f2fs: don't check inode's checksum if it was dirtied or writebacked
    
    If another thread already made the page dirtied or writebacked, we must avoid
    to verify checksum. If we got an error, we need to remove its uptodate as well.
    
    Reviewed-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit a298d57f960255d8618b86f403dee305d3c8a29c
Author: Jaegeuk Kim <[email protected]>
Date:   Thu Aug 31 11:10:58 2017 -0700

    f2fs: don't need to update inode checksum for recovery
    
    This patch fixes "f2fs: support inode checksum".
    The recovered inode page will be rewritten with valid checksum.
    
    Reviewed-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>

commit ef685b34126891528f9d2975980a791f4a12c5d7
Author: Bjorn Helgaas <[email protected]>
Date:   Tue Sep 5 12:33:33 2017 -0500

    PCI: iproc: Clean up whitespace
    
    Use tabs (not spaces) for indentation.  No functional change intended.
    
    Signed-off-by: Bjorn Helgaas <[email protected]>

commit d8fa9345ef333005f04a85f823dc4b117ff436b3
Author: Bjorn Helgaas <[email protected]>
Date:   Tue Sep 5 12:27:11 2017 -0500

    PCI: iproc: Rename PCI_EXP_CAP to IPROC_PCI_EXP_CAP
    
    PCI_EXP_CAP is an iProc-specific value, so rename it to IPROC_PCI_EXP_CAP
    to make it obvious that it's not related to the generic values like
    PCI_EXP_RTCTL, etc.  No functional change intended.
    
    Signed-off-by: Bjorn Helgaas <[email protected]>

commit b91c26c6a539e26261cbe280b9f48311663ce655
Author: Oza Pawandeep <[email protected]>
Date:   Mon Aug 28 16:43:35 2017 -0500

    PCI: iproc: Add 500ms delay during device shutdown
    
    During soft reset (e.g., "reboot" from Linux) on some iProc-based SOCs, the
    LCPLL clock and PERST both go off simultaneously.  This seems in accordance
    with the PCIe Card Electromechanical spec, r2.0, sec 2.2.3, which says the
    clock goes inactive after PERST# goes active, but doesn't specify how long
    the clock should be valid after PERST#.
    
    However, we have observed that with the iProc Stingray, some Intel NVMe
    endpoints, e.g., the P3700 400GB series, are not detected correctly upon
    the next boot sequence unless the clock remains valid for some time after
    PERST# is asserted.
    
    Delay 500ms after asserting PERST# before performing a reboot.  The 500ms
    is experimentally determined.
    
    Signed-off-by: Oza Pawandeep <[email protected]>
    [bhelgaas: changelog, add spec reference, fold in iproc_pcie_shutdown()
    export from Arnd Bergmann <[email protected]>]
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Reviewed-by: Ray Jui <[email protected]>
    Reviewed-by: Scott Branden <[email protected]>

commit aed9eb1b21e85a846c805bc299bbb9d039d4a95b
Author: Colin Ian King <[email protected]>
Date:   Tue Sep 5 17:51:23 2017 +0100

    ext4: fix null pointer dereference on sbi
    
    In the case of a kzalloc failure when allocating sbi we end up
    with a null pointer dereference on sbi when assigning sbi->s_daxdev.
    Fix this by moving the assignment of sbi->s_daxdev to after the
    null pointer check of sbi.
    
    Detected by CoverityScan CID#1455379 ("Dereference before null check")
    
    Fixes: 5e405595e5bf ("ext4: perform dax_device lookup at mount")
    Signed-off-by: Colin Ian King <[email protected]>
    Signed-off-by: Dan Williams <[email protected]>

commit 4bce4e98c20a45d3adf7a25881f4e6329d239fc9
Author: Chris Wilson <[email protected]>
Date:   Fri Sep 1 15:57:28 2017 +0100

    drm/i915: Silence sparse by using gfp_t
    
    Sparse enforces that GFP flags are only manipulated inside gfp_t locals.
    
    Fixes: 4d470f7359c4 ("drm/i915: Avoid undefined behaviour of "u32 >> 32"")
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: Joonas Lahtinen <[email protected]>
    Cc: Tvrtko Ursulin <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Ville Syrjälä <[email protected]>
    Reviewed-by: Joonas Lahtinen <[email protected]>
    (cherry picked from commit 0d95c883bab5c5507fac3c34bc506f735971a2ee)
    Signed-off-by: Rodrigo Vivi <[email protected]>

commit 6910d85250cd6e7790db3968225fd7472e4683c2
Author: Ville Syrjälä <[email protected]>
Date:   Fri Sep 1 20:12:51 2017 +0300

    drm/i915: Add __rcu to radix tree slot pointer
    
    radix_tree_for_each_slot() wants an __rcu annotated pointer for the
    slot. So let's add the annotation.
    
    Fixes the following sparse warnings:
    i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces)
    i915_gem.c:2217:9:    expected void **slot
    i915_gem.c:2217:9:    got void [noderef] <asn:4>**
    i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces)
    i915_gem.c:2217:9:    expected void **slot
    i915_gem.c:2217:9:    got void [noderef] <asn:4>**
    i915_gem.c:2217:9: warning: incorrect type in argument 1 (different address spaces)
    i915_gem.c:2217:9:    expected void [noderef] <asn:4>**slot
    i915_gem.c:2217:9:    got void **slot
    i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces)
    i915_gem.c:2217:9:    expected void **slot
    i915_gem.c:2217:9:    got void [noderef] <asn:4>**
    
    Cc: Chris Wilson <[email protected]>
    Fixes: 96d776345277 ("drm/i915: Use a radixtree for random access to the object's backing storage")
    Signed-off-by: Ville Syrjälä <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Chris Wilson <[email protected]>
    (cherry picked from commit c23aa71bcfe8a9d597ae5fe4c1527fac20254d0a)
    Signed-off-by: Rodrigo Vivi <[email protected]>

commit a338d5f8765f22e97421eb18a186a4af85d4efb2
Author: Zhi Wang <[email protected]>
Date:   Fri Sep 1 03:36:14 2017 +0800

    drm/i915: Fix the missing PPAT cache attributes on CNL
    
    Add back the GEN8_PPAT_WB cache attributes in cnl_setup_private_ppat(),
    which are missed on CNL.
    
    Fixes: 4e34935fcf69 ("drm/i915/cnl: Setup PAT Index.")
    Cc: Ben Widawsky <[email protected]>
    Cc: Rodrigo Vivi <[email protected]>
    Cc: Chris Wilson <[email protected]>
    Suggested-by: Joonas Lahtinen <[email protected]>
    Signed-off-by: Zhi Wang <[email protected]>
    Reviewed-by: Rodrigo Vivi <[email protected]>
    Signed-off-by: Rodrigo Vivi <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 6e31cdcfe17d8a25530924183d4a843602baebb1)
    Signed-off-by: Rodrigo Vivi <[email protected]>

commit 2c08ab3f2504bc7ba816ce6fde051b8bd5f028e4
Author: Arnd Bergmann <[email protected]>
Date:   Tue Sep 5 10:31:35 2017 +0200

    soc: ti/knav_dma: include dmaengine header
    
    A header file cleanup apparently caused a build regression
    with one driver using the knav infrastructure:
    
    In file included from drivers/net/ethernet/ti/netcp_core.c:30:0:
    include/linux/soc/ti/knav_dma.h:129:30: error: field 'direction' has incomplete type
      enum dma_transfer_direction direction;
                                  ^~~~~~~~~
    drivers/net/ethernet/ti/netcp_core.c: In function 'netcp_txpipe_open':
    drivers/net/ethernet/ti/netcp_core.c:1349:21: error: 'DMA_MEM_TO_DEV' undeclared (first use in this function); did you mean 'DMA_MEMORY_MAP'?
      config.direction = DMA_MEM_TO_DEV;
                         ^~~~~~~~~~~~~~
                         DMA_MEMORY_MAP
    drivers/net/ethernet/ti/netcp_core.c:1349:21: note: each undeclared identifier is reported only once for each function it appears in
    drivers/net/ethernet/ti/netcp_core.c: In function 'netcp_setup_navigator_resources':
    drivers/net/ethernet/ti/netcp_core.c:1659:22: error: 'DMA_DEV_TO_MEM' undeclared (first use in this function); did you mean 'DMA_DESC_HOST'?
      config.direction  = DMA_DEV_TO_MEM;
    
    As the header is no longer included implicitly through netdevice.h,
    we should include it in the header that references the enum.
    
    Fixes: 0dd5759dbb1c ("net: remove dmaengine.h inclusion from netdevice.h")
    Signed-off-by: Arnd Bergmann <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit fd0c88b70060e03a2215259ed29b4b31497ad205
Author: Arnd Bergmann <[email protected]>
Date:   Tue Sep 5 10:05:47 2017 +0200

    net/ncsi: fix ncsi_vlan_rx_{add,kill}_vid references
    
    We get a new link error in allmodconfig kernels after ftgmac100
    started using the ncsi helpers:
    
    ERROR: "ncsi_vlan_rx_kill_vid" [drivers/net/ethernet/faraday/ftgmac100.ko] undefined!
    ERROR: "ncsi_vlan_rx_add_vid" [drivers/net/ethernet/faraday/ftgmac100.ko] undefined!
    
    Related to that, we get another error when CONFIG_NET_NCSI is disabled:
    
    drivers/net/ethernet/faraday/ftgmac100.c:1626:25: error: 'ncsi_vlan_rx_add_vid' undeclared here (not in a function); did you mean 'ncsi_start_dev'?
    drivers/net/ethernet/faraday/ftgmac100.c:1627:26: error: 'ncsi_vlan_rx_kill_vid' undeclared here (not in a function); did you mean 'ncsi_vlan_rx_add_vid'?
    
    This fixes both problems at once, using a 'static inline' stub helper
    for the disabled case, and exporting the functions when they are present.
    
    Fixes: 51564585d8c6 ("ftgmac100: Support NCSI VLAN filtering when available")
    Fixes: 21acf63013ed ("net/ncsi: Configure VLAN tag filter")
    Signed-off-by: Arnd Bergmann <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 96e5ae4e76f1ea950d493f510399b49308bea731
Author: Eric Dumazet <[email protected]>
Date:   Mon Sep 4 22:41:02 2017 -0700

    bpf: fix numa_node validation
    
    syzkaller reported crashes in bpf map creation or map update [1]
    
    Problem is that nr_node_ids is a signed integer,
    NUMA_NO_NODE is also an integer, so it is very tempting
    to declare numa_node as a signed integer.
    
    This means the typical test to validate a user provided value :
    
            if (numa_node != NUMA_NO_NODE &&
                (numa_node >= nr_node_ids ||
                 !node_online(numa_node)))
    
    must be written :
    
            if (numa_node != NUMA_NO_NODE &&
                ((unsigned int)numa_node >= nr_node_ids ||
                 !node_online(numa_node)))
    
    [1]
    kernel BUG at mm/slab.c:3256!
    invalid opcode: 0000 [#1] SMP KASAN
    Dumping ftrace buffer:
       (ftrace buffer empty)
    Modules linked in:
    CPU: 0 PID: 2946 Comm: syzkaller916108 Not tainted 4.13.0-rc7+ #35
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    task: ffff8801d2bc60c0 task.stack: ffff8801c0c90000
    RIP: 0010:____cache_alloc_node+0x1d4/0x1e0 mm/slab.c:3292
    RSP: 0018:ffff8801c0c97638 EFLAGS: 00010096
    RAX: ffffffffffff8b7b RBX: 0000000001080220 RCX: 0000000000000000
    RDX: 00000000ffff8b7b RSI: 0000000001080220 RDI: ffff8801dac00040
    RBP: ffff8801c0c976c0 R08: 0000000000000000 R09: 0000000000000000
    R10: ffff8801c0c97620 R11: 0000000000000001 R12: ffff8801dac00040
    R13: ffff8801dac00040 R14: 0000000000000000 R15: 00000000ffff8b7b
    FS:  0000000002119940(0000) GS:ffff8801db200000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000020001fec CR3: 00000001d2980000 CR4: 00000000001406f0
    Call Trace:
     __do_kmalloc_node mm/slab.c:3688 [inline]
     __kmalloc_node+0x33/0x70 mm/slab.c:3696
     kmalloc_node include/linux/slab.h:535 [inline]
     alloc_htab_elem+0x2a8/0x480 kernel/bpf/hashtab.c:740
     htab_map_update_elem+0x740/0xb80 kernel/bpf/hashtab.c:820
     map_update_elem kernel/bpf/syscall.c:587 [inline]
     SYSC_bpf kernel/bpf/syscall.c:1468 [inline]
     SyS_bpf+0x20c5/0x4c40 kernel/bpf/syscall.c:1443
     entry_SYSCALL_64_fastpath+0x1f/0xbe
    RIP: 0033:0x440409
    RSP: 002b:00007ffd1f1792b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
    RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000440409
    RDX: 0000000000000020 RSI: 0000000020006000 RDI: 0000000000000002
    RBP: 0000000000000086 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000401d70
    R13: 0000000000401e00 R14: 0000000000000000 R15: 0000000000000000
    Code: 83 c2 01 89 50 18 4c 03 70 08 e8 38 f4 ff ff 4d 85 f6 0f 85 3e ff ff ff 44 89 fe 4c 89 ef e8 94 fb ff ff 49 89 c6 e9 2b ff ff ff <0f> 0b 0f 0b 0f 0b 66 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41
    RIP: ____cache_alloc_node+0x1d4/0x1e0 mm/slab.c:3292 RSP: ffff8801c0c97638
    ---[ end trace d745f355da2e33ce ]---
    Kernel panic - not syncing: Fatal exception
    
    Fixes: 96eabe7a40aa ("bpf: Allow selecting numa node during map creation")
    Signed-off-by: Eric Dumazet <[email protected]>
    Cc: Martin KaFai Lau <[email protected]>
    Cc: Alexei Starovoitov <[email protected]>
    Cc: Daniel Borkmann <[email protected]>
    Acked-by: Daniel Borkmann <[email protected]>
    Acked-by: Alexei Starovoitov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>

commit 9b87e7a8bfb5098129836757608b3cbbdc11245a
Author: Christoffer Dall <[email protected]>
Date:   Thu Aug 31 22:24:25 2017 +0200

    KVM: arm/arm64: Support uaccess of GICC_APRn
    
    When migrating guests around we need to know the active priorities to
    ensure functional virtual interrupt prioritization by the GIC.
    
    This commit clarifies the API and how active priorities of interrupts in
    different groups are represented, and implements the accessor functions
    for the uaccess register range.
    
    We live with a slight layering violation in accessing GICv3 data
    structures from vgic-mmio-v2.c, because anything else just adds too much
    complexity for us to deal with (it's not like there's a benefit
    elsewhere in the code of an intermediate representation as is the case
    with the VMCR).  We accept this, because while doing v3 processing from
    a file named something-v2.c can look strange at first, this really is
    specific to dealing with the user space interface for something that
    looks like a GICv2.
    
    Reviewed-by: Marc Zyngier <[email protected]>
    Signed-off-by: Christoffer Dall <[email protected]>

commit 50f5bd5718df9e71d1f4ba69a6480dbad54b2f24
Author: Christoffer Dall <[email protected]>
Date:   Fri Sep 1 11:41:52 2017 +0200

    KVM: arm/arm64: Extract GICv3 max APRn index calculation
    
    As we are about to access the APRs from the GICv2 uaccess interface,
    make this logic generally available.
    
    Reviewed-by: Marc Zyngier <[email protected]>
    Signed-off-by: Christoffer Dall <[email protected]>

commit 7c7d2fa1cd1e9aa9b925bac409e91544eee52c03
Author: Marc Zyngier <[email protected]>
Date:   Fri Sep 1 17:51:56 2017 +0100

    KVM: arm/arm64: vITS: Drop its_ite->lpi field
    
    For unknown reasons, the its_ite data structure carries an "lpi" field
    which contains the intid of the LPI. This is an obvious duplication
    of the vgic_irq->intid field, so let's fix the only user and remove
    the now useless field.
    
    Signed-off-by: Marc Zyngier <[email protected]>
    Reviewed-by: Andre Przywara <[email protected]>
    Signed-off-by: Christoffer Dall <[email protected]>

commit 4aa8bcc93c6a7f327f163292e4146654b54f2086
Author: Arvind Yadav <[email protected]>
Date:   Wed Aug 23 12:25:36 2017 +0530

    KVM: arm/arm64: vgic: constify seq_operations and file_operations
    
    vgic_debug_seq_ops and file_operations are not supposed to change
    at runtime and none of the structures is modified.
    
    Signed-off-by: Arvind Yadav <[email protected]>
    Signed-off-by: Christoffer Dall <[email protected]>

commit bb428921b777a5e36753b5d6aa0ba8d46705cc0d
Author: James Morse <[email protected]>
Date:   Tue Jul 18 13:37:41 2017 +0100

    KVM: arm/arm64: Fix guest external abort matching
    
    The ARM-ARM has two bits in the ESR/HSR relevant to external aborts.
    A range of {I,D}FSC values (of which bit 5 is always set) and bit 9 'EA'
    which provides:
    > an IMPLEMENTATION DEFINED classification of External Aborts.
    
    This bit is in addition to the {I,D}FSC range, and has an implementation
    defined meaning. KVM should always ignore this bit when handling external
    aborts from a guest.
    
    Remove the ESR_ELx_EA definition and rewrite its helper
    kvm_vcpu_dabt_isextabt() to check the {I,D}FSC range. This merges
    kvm_vcpu_dabt_isextabt() and the recently added is_abort_sea() helper.
    
    CC: Tyler Baicar <[email protected]>
    Reported-by: gengdongjiu <[email protected]>
    Signed-off-by: James Morse <[email protected]>
    Signed-off-by: Marc Zyngier <[email protected]>
    Signed-off-by: Christoffer Dall <[email protected]>

commit 84024468cf1612783e6ab317da5b72fa41487ac6
Author: Robert P. J. Day <[email protected]>
Date:   Sat Sep 2 03:44:07 2017 -0400

    devicetree: Adjust status "ok" -> "okay" under drivers/of/
    
    Tweak a small number of status "ok" lines in a single file under
    /drivers/of/ to use the proper DTSpec 0.1 spelling of "okay".
    
    Signed-off-by: Robert P. J. Day <[email protected]>
    Signed-off-by: Rob Herring <[email protected]>

commit 4da722ca19f30f7db250db808d1ab1703607a932
Author: Rob Herring <[email protected]>
Date:   Fri Sep 1 15:05:19 2017 -0500

    dt-bindings: Remove "status" from examples
    
    Pretty much any node can have a status property, so it doesn't need to
    be in examples.
    
    Converted with the following command and removed examples with SoC and
    board specific splits:
    
    git grep -l -E 'status.*=.*' Documentation/devicetree/ | xargs sed -i -E '/\sstatus.*=.*"(disabled|ok|okay)/d'
    
    Acked-by: Mark Rutland <[email protected]>
    Signed-off-by: Rob Herring <[email protected]>

commit 04306f4dcf90d51b6b4ec8938a15ea808e4cee94
Author: Ilan Peer <[email protected]>
Date:   Fri Aug 25 11:15:33 2017 +0300

    mac80211: Complete ampdu work schedule during session tear down
    
    Commit 7a7c0a6438b8 ("mac80211: fix TX aggregation start/stop callback race")
    added a cancellation of the ampdu work after the loop that stopped the
    Tx and Rx BA sessions. However, in some cases, e.g., during HW reconfig,
    the low level driver might call mac80211 APIs to complete the stopping
    of the BA sessions, which would queue the ampdu work to handle the actual
    completion. This work needs to be performed as otherwise mac80211 data
    structures would not be properly synced.
    
    Fix this by checking if BA session STOP_CB bit is set after the BA session
    cancellation and properly clean the session.
    
    Fixes: 7a7c0a6438b8 ("mac80211: fix TX aggregation start/stop callback race")
    Signed-off-by: Ilan Peer <[email protected]>
    Signed-off-by: Luca Coelho <[email protected]>
    [Johannes: the work isn't flushed because that could do other things we
     don't want, and the locking situation isn't clear]
    Signed-off-by: Johannes Berg <[email protected]>

commit ba83bfb1e86501d21077b570e10e443f1605be64
Author: Igor Mitsyanko <[email protected]>
Date:   Wed Aug 30 13:52:25 2017 -0700

    nl80211: look for HT/VHT capabilities in beacon's tail
    
    There are no HT/VHT capabilities in cfg80211_ap_settings::beacon_ies,
    these should be looked for in beacon's tail instead.
    
    Fixes: 66cd794e3c30 ("nl80211: add HT/VHT capabilities to AP parameters")
    Signed-off-by: Igor Mitsyanko <[email protected]>
    Signed-off-by: Johannes Berg <[email protected]>

commit 6e46d8ce894374fc135c96a8d1057c6af1fef237
Author: Avraham Stern <[email protected]>
Date:   Fri Aug 18 15:33:57 2017 +0300

    mac80211: flush hw_roc_start work before cancelling the ROC
    
    When HW ROC is supported it is possible that after the HW notified
    that the ROC has started, the ROC was cancelled and another ROC was
    added while the hw_roc_start worker is waiting on the mutex (since
    cancelling the ROC and adding another one also holds the same mutex).
    As a result, the hw_roc_start worker will continue to run after the
    new ROC is added but before it is actually started by the HW.
    This may result in notifying userspace that the ROC has started before
    it actually does, or in case of management tx ROC, in an attempt to
    tx while not on the right channel.
    
    In addition, when the driver will notify mac80211 that the second ROC
    has started, mac80211 will warn that this ROC has already been
    notified.
    
    Fix this by flushing the hw_roc_start work before cancelling an ROC.
    
    Cc: [email protected]
    Signed-off-by: Avraham Stern <[email protected]>
    Signed-off-by: Luca Coelho <[email protected]>
    Signed-off-by: Johannes Berg <[email protected]>

commit 979e1f08042b83152dfe3d76df10db31eb7edf98
Author: Johannes Berg <[email protected]>
Date:   Thu Jun 22 12:20:28 2017 +0200

    mac80211: agg-tx: call drv_wake_tx_queue in proper context
    
    Since drv_wake_tx_queue() is normally called in the TX path, which
    is already in an RCU critical section, we should call it the same
    way in the aggregation code path, so if the driver expects to be
    able to use RCU, it'll already be protected without having to enter
    a nested critical section.
    
    Additionally, disable soft-IRQs, since not doing so could cause
    issues in a driver that relies on them already being disabled like
    in the other path.
    
    Fixes: ba8c3d6f16a1 ("mac80211: add an intermediate software queue implementation")
    Signed-off-by: Johannes Berg <[email protected]>

commit 196a5085592c62ffa4eb739d7ce49c040c2953a1
Author: Geliang Tang <[email protected]>
Date:   Mon Aug 7 21:44:24 2017 +0800

    audit: update the function comments
    
    Update the function comments to match the code.
    
    Signed-off-by: Geliang Tang <[email protected]>
    Signed-off-by: Paul Moore <[email protected]>

commit 19128341d6ca748088a9c787e54b2a160cf97a22
Author: Richard Guy Briggs <[email protected]>
Date:   Fri Jul 28 03:23:31 2017 -0400

    selinux: remove AVC init audit log message
    
    In the process of normalizing audit log messages, it was noticed that the AVC
    initialization code registered an audit log KERNEL record that didn't fit the
    standard format.  In the process of attempting to normalize it it was
    determined that this record was not even necessary.  Remove it.
    
    Ref: http://marc.info/?l=selinux&m=149614868525826&w=2
    See: https://github.com/linux-audit/audit-kernel/issues/48
    Signed-off-by: Richard Guy Briggs <[email protected]>
    Acked-by: Stephen Smalley <[email protected]>
    Acked-by: Steve Grubb <[email protected]>
    Signed-off-by: Paul Moore <[email protected]>

commit 174e075c0e8ea14e8d540a61417e076f51701409
Author: Paul Moore <[email protected]>
Date:   Fri Jul 28 16:43:37 2017 -0400

    audit: update the audit info in MAINTAINERS
    
    Signed-off-by: Paul Moore <[email protected]>

commit e832bf48c8e12f3b39e40fee35c4ea269d685875
Author: Mel Gorman <[email protected]>
Date:   Tue Jul 4 13:11:43 2017 +0100

    audit: Reduce overhead using a coarse clock
    
    Commit 2115bb250f26 ("audit: Use timespec64 to represent audit timestamps")
    noted that audit timestamps were not y2038 safe and used a 64-bit
    timestamp. In itself, this makes sense but the conversion was from
    CURRENT_TIME to ktime_get_real_ts64() which is a heavier call to record
    an accurate timestamp which is required in some, but not all, cases. The
    impact is that when auditd is running without any rules that all syscalls
    have higher overhead. This is visible in the sysbench-thread benchmark as
    a 11.5% performance hit. That benchmark is dumb as rocks but it's also
    visible in redis as an 8-10% hit on all operations which is of greater
    concern. It is somewhat stupid of audit to track syscalls without any
    rules related to syscalls but that is how it behaves.
    
    The overhead can be directly measured with perf comparing 4.9 with 4.12
    
    4.9
         7.76%  sysbench         [kernel.vmlinux]    [k] __schedule
         7.62%  sysbench         [kernel.vmlinux]    [k] _raw_spin_lock
         7.37%  sysbench         libpthread-2.22.so  [.] __lll_lock_elision
         7.29%  sysbench         [kernel.vmlinux]    [.] syscall_return_via_sysret
         6.59%  sysbench         [kernel.vmlinux]    [k] native_sched_clock
         5.21%  sysbench         libc-2.22.so        [.] __sched_yield
         4.38%  sysbench         [kernel.vmlinux]    [k] entry_SYSCALL_64
         4.28%  sysbench         [kernel.vmlinux]    [k] do_syscall_64
         3.49%  sysbench         libpthread-2.22.so  [.] __lll_unlock_elision
         3.13%  sysbench         [kernel.vmlinux]    [k] __audit_syscall_exit
         2.87%  sysbench         [kernel.vmlinux]    [k] update_curr
         2.73%  sysbench         [kernel.vmlinux]    [k] pick_next_task_fair
         2.31%  sysbench         [kernel.vmlinux]    [k] syscall_trace_enter
         2.20%  sysbench         [kernel.vmlinux]    [k] __audit_syscall_entry
    .....
         0.00%  swapper          [kernel.vmlinux]    [k] read_tsc
    
    4.12
         7.84%  sysbench         [kernel.vmlinux]    [k] __schedule
         7.05%  sysbench         [kernel.vmlinux]    [k] _raw_spin_lock
         6.57%  sysbench         libpthread-2.22.so  [.] __lll_lock_elision
         6.50%  sysbench         [kernel.vmlinux]    [.] syscall_return_via_sysret
         5.95%  sysbench         [kernel.vmlinux]    [k] read_tsc
         5.71%  sysbench         [kernel.vmlinux]    [k] native_sched_clock
         4.78%  sysbench         libc-2.22.so        [.] __sched_yield
         4.30%  sysbench         [kernel.vmlinux]    [k] entry_SYSCALL_64
         3.94%  sysbench         [kernel.vmlinux]    [k] do_syscall_64
         3.37%  sysbench         libpthread-2.22.so  [.] __lll_unlock_elision
         3.32%  sysbench         [kernel.vmlinux]    [k] __audit_syscall_exit
         2.91%  sysbench         [kernel.vmlinux]    [k] __getnstimeofday64
    
    Note the additional overhead from read_tsc which goes from 0% to 5.95%.
    This is on a single-socket E3-1230 but similar overheads have been measured
    on an older machine which the patch also eliminates.
    
    The patch in question has no explanation as to why a fully-accurate timestamp
    is required and is likely an oversight.  Using a coarser, but monotically
    increasing, timestamp the overhead can be eliminated.  While it can be
    worked around by configuring or disabling audit, it's tricky enough to
    detect that a kernel fix is justified. With this patch, we see the following;
    
    sysbenchthread
                                  4.9.0                 4.12.0                 4.12.0
                                vanilla                vanilla            coarse-v1r1
    Amean     1         1.49 (   0.00%)        1.66 ( -11.42%)        1.51 (  -1.34%)
    Amean     3         1.48 (   0.00%)        1.65 ( -11.45%)        1.50 (  -0.96%)
    Amean     5         1.49 (   0.00%)        1.67 ( -12.31%)        1.51 (  -1.83%)
    Amean     7         1.49 (   0.00%)        1.66 ( -11.72%)        1.50 (  -0.67%)
    Amean     12        1.48 (   0.00%)        1.65 ( -11.57%)        1.52 (  -2.89%)
    Amean     16        1.49 (   0.00%)        1.65 ( -11.13%)        1.51 (  -1.73%)
    
    The benchmark is reporting the time required for different thread counts to
    lock/unlock a private mutex which, while dense, demonstrates the syscall
    overhead. This is showing that 4.12 took a 11-12% hit but the overhead is
    almost eliminated by the patch. While the variance is not reported here,
    it's well within the noise with the patch applied.
    
    Signed-off-by: Mel Gorman <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Acked-by: Deepa Dinamani <[email protected]>
    Signed-off-by: Paul Moore <[email protected]>

commit 87a72dcbbd3c1a80d70a41ce3a6d9cf92a9e2295
Author: Hans de Goede <[email protected]>
Date:   Tue Sep 5 15:18:26 2017 +0200

    video/console: Add rotated LCD-panel DMI quirk for the VIOS LTH17
    
    The VIOS LTH17 Cherry Trail bases netbook has its LCD panel mounted
    rotated 90 degrees, add a DMI quirk for this.
    
    Signed-off-by: Hans de Goede <[email protected]>
    Cc: Daniel Drake <[email protected]>
    [b.zolnierkie: ported over fbcon changes]
    Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>

commit 9189e380e2d3d01f07936b0db9a5ad3da1b3a112
Author: Dan Carpenter <[email protected]>
Date:   Wed Aug 30 16:30:35 2017 +0300

    scsi: qla2xxx: Fix an integer overflow in sysfs code
    
    The value of "size" comes from the user.  When we add "start + size" it
    could lead to an integer overflow bug.
    
    It means we vmalloc() a lot more memory than we had intended.  I believe
    …
  • Loading branch information
akpm00 authored and hnaz committed Sep 7, 2017
1 parent 6c08639 commit da6f381
Show file tree
Hide file tree
Showing 7,014 changed files with 301,460 additions and 98,389 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
10 changes: 4 additions & 6 deletions CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -2090,7 +2090,7 @@ S: Kuala Lumpur, Malaysia

N: Mohit Kumar
D: ST Microelectronics SPEAr13xx PCI host bridge driver
D: Synopsys Designware PCI host bridge driver
D: Synopsys DesignWare PCI host bridge driver

N: Gabor Kuti
E: [email protected]
Expand Down Expand Up @@ -2606,11 +2606,9 @@ E: [email protected]
D: bug fixes, documentation, minor hackery

N: Paul Moore
E: [email protected]
D: NetLabel author
S: Hewlett-Packard
S: 110 Spit Brook Road
S: Nashua, NH 03062
E: [email protected]
W: http://www.paul-moore.com
D: NetLabel, SELinux, audit

N: James Morris
E: [email protected]
Expand Down
30 changes: 30 additions & 0 deletions Documentation/ABI/stable/sysfs-driver-dma-ioatdma
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap
Date: December 3, 2009
KernelVersion: 2.6.32
Contact: [email protected]
Description: Capabilities the DMA supports.Currently there are DMA_PQ, DMA_PQ_VAL,
DMA_XOR,DMA_XOR_VAL,DMA_INTERRUPT.

What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active
Date: December 3, 2009
KernelVersion: 2.6.32
Contact: [email protected]
Description: The number of descriptors active in the ring.

What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size
Date: December 3, 2009
KernelVersion: 2.6.32
Contact: [email protected]
Description: Descriptor ring size, total number of descriptors available.

What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version
Date: December 3, 2009
KernelVersion: 2.6.32
Contact: [email protected]
Description: Version of ioatdma device.

What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce
Date: August 8, 2017
KernelVersion: 4.14
Contact: [email protected]
Description: Tune-able interrupt delay value per channel basis.
3 changes: 2 additions & 1 deletion Documentation/ABI/testing/ima_policy
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ Description:

rule format: action [condition ...]

action: measure | dont_measure | appraise | dont_appraise | audit
action: measure | dont_meaure | appraise | dont_appraise |
audit | dont_failsafe
condition:= base | lsm [option]
base: [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=]
[euid=] [fowner=]]
Expand Down
45 changes: 45 additions & 0 deletions Documentation/ABI/testing/ppc-memtrace
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
What: /sys/kernel/debug/powerpc/memtrace
Date: Aug 2017
KernelVersion: 4.14
Contact: [email protected]
Description: This folder contains the relevant debugfs files for the
hardware trace macro to use. CONFIG_PPC64_HARDWARE_TRACING
must be set.

What: /sys/kernel/debug/powerpc/memtrace/enable
Date: Aug 2017
KernelVersion: 4.14
Contact: [email protected]
Description: Write an integer containing the size in bytes of the memory
you want removed from each NUMA node to this file - it must be
aligned to the memblock size. This amount of RAM will be removed
from the kernel mappings and the following debugfs files will be
created. This can only be successfully done once per boot. Once
memory is successfully removed from each node, the following
files are created.

What: /sys/kernel/debug/powerpc/memtrace/<node-id>
Date: Aug 2017
KernelVersion: 4.14
Contact: [email protected]
Description: This directory contains information about the removed memory
from the specific NUMA node.

What: /sys/kernel/debug/powerpc/memtrace/<node-id>/size
Date: Aug 2017
KernelVersion: 4.14
Contact: [email protected]
Description: This contains the size of the memory removed from the node.

What: /sys/kernel/debug/powerpc/memtrace/<node-id>/start
Date: Aug 2017
KernelVersion: 4.14
Contact: [email protected]
Description: This contains the start address of the removed memory.

What: /sys/kernel/debug/powerpc/memtrace/<node-id>/trace
Date: Aug 2017
KernelVersion: 4.14
Contact: [email protected]
Description: This is where the hardware trace macro will output the trace
it generates.
57 changes: 57 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-iio-lptimer-stm32
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
What: /sys/bus/iio/devices/iio:deviceX/in_count0_preset
KernelVersion: 4.13
Contact: [email protected]
Description:
Reading returns the current preset value. Writing sets the
preset value. Encoder counts continuously from 0 to preset
value, depending on direction (up/down).

What: /sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
KernelVersion: 4.13
Contact: [email protected]
Description:
Reading returns the list possible quadrature modes.

What: /sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode
KernelVersion: 4.13
Contact: [email protected]
Description:
Configure the device counter quadrature modes:
- non-quadrature:
Encoder IN1 input servers as the count input (up
direction).
- quadrature:
Encoder IN1 and IN2 inputs are mixed to get direction
and count.

What: /sys/bus/iio/devices/iio:deviceX/in_count_polarity_available
KernelVersion: 4.13
Contact: [email protected]
Description:
Reading returns the list possible active edges.

What: /sys/bus/iio/devices/iio:deviceX/in_count0_polarity
KernelVersion: 4.13
Contact: [email protected]
Description:
Configure the device encoder/counter active edge:
- rising-edge
- falling-edge
- both-edges

In non-quadrature mode, device counts up on active edge.
In quadrature mode, encoder counting scenarios are as follows:
----------------------------------------------------------------
| Active | Level on | IN1 signal | IN2 signal |
| edge | opposite |------------------------------------------
| | signal | Rising | Falling | Rising | Falling |
----------------------------------------------------------------
| Rising | High -> | Down | - | Up | - |
| edge | Low -> | Up | - | Down | - |
----------------------------------------------------------------
| Falling | High -> | - | Up | - | Down |
| edge | Low -> | - | Down | - | Up |
----------------------------------------------------------------
| Both | High -> | Down | Up | Up | Down |
| edges | Low -> | Up | Down | Down | Up |
----------------------------------------------------------------
31 changes: 31 additions & 0 deletions Documentation/ABI/testing/sysfs-firmware-opal-powercap
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
What: /sys/firmware/opal/powercap
Date: August 2017
Contact: Linux for PowerPC mailing list <[email protected]>
Description: Powercap directory for Powernv (P8, P9) servers

Each folder in this directory contains a
power-cappable component.

What: /sys/firmware/opal/powercap/system-powercap
/sys/firmware/opal/powercap/system-powercap/powercap-min
/sys/firmware/opal/powercap/system-powercap/powercap-max
/sys/firmware/opal/powercap/system-powercap/powercap-current
Date: August 2017
Contact: Linux for PowerPC mailing list <[email protected]>
Description: System powercap directory and attributes applicable for
Powernv (P8, P9) servers

This directory provides powercap information. It
contains below sysfs attributes:

- powercap-min : This file provides the minimum
possible powercap in Watt units

- powercap-max : This file provides the maximum
possible powercap in Watt units

- powercap-current : This file provides the current
powercap set on the system. Writing to this file
creates a request for setting a new-powercap. The
powercap requested must be between powercap-min
and powercap-max.
18 changes: 18 additions & 0 deletions Documentation/ABI/testing/sysfs-firmware-opal-psr
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
What: /sys/firmware/opal/psr
Date: August 2017
Contact: Linux for PowerPC mailing list <[email protected]>
Description: Power-Shift-Ratio directory for Powernv P9 servers

Power-Shift-Ratio allows to provide hints the firmware
to shift/throttle power between different entities in
the system. Each attribute in this directory indicates
a settable PSR.

What: /sys/firmware/opal/psr/cpu_to_gpu_X
Date: August 2017
Contact: Linux for PowerPC mailing list <[email protected]>
Description: PSR sysfs attributes for Powernv P9 servers

Power-Shift-Ratio between CPU and GPU for a given chip
with chip-id X. This file gives the ratio (0-100)
which is used by OCC for power-capping.
21 changes: 21 additions & 0 deletions Documentation/ABI/testing/sysfs-fs-f2fs
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,15 @@ Contact: "Jaegeuk Kim" <[email protected]>
Description:
Controls the issue rate of small discard commands.

What: /sys/fs/f2fs/<disk>/discard_granularity
Date: July 2017
Contact: "Chao Yu" <[email protected]>
Description:
Controls discard granularity of inner discard thread, inner thread
will not issue discards with size that is smaller than granularity.
The unit size is one block, now only support configuring in range
of [1, 512].

What: /sys/fs/f2fs/<disk>/max_victim_search
Date: January 2014
Contact: "Jaegeuk Kim" <[email protected]>
Expand Down Expand Up @@ -130,3 +139,15 @@ Date: June 2017
Contact: "Chao Yu" <[email protected]>
Description:
Controls current reserved blocks in system.

What: /sys/fs/f2fs/<disk>/gc_urgent
Date: August 2017
Contact: "Jaegeuk Kim" <[email protected]>
Description:
Do background GC agressively

What: /sys/fs/f2fs/<disk>/gc_urgent_sleep_time
Date: August 2017
Contact: "Jaegeuk Kim" <[email protected]>
Description:
Controls sleep time of GC urgent mode
55 changes: 17 additions & 38 deletions Documentation/DMA-API.txt
Original file line number Diff line number Diff line change
Expand Up @@ -515,14 +515,15 @@ API at all.
::

void *
dma_alloc_noncoherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t flag)
dma_alloc_attrs(struct device *dev, size_t size, dma_addr_t *dma_handle,
gfp_t flag, unsigned long attrs)

Identical to dma_alloc_coherent() except that the platform will
choose to return either consistent or non-consistent memory as it sees
fit. By using this API, you are guaranteeing to the platform that you
have all the correct and necessary sync points for this memory in the
driver should it choose to return non-consistent memory.
Identical to dma_alloc_coherent() except that when the
DMA_ATTR_NON_CONSISTENT flags is passed in the attrs argument, the
platform will choose to return either consistent or non-consistent memory
as it sees fit. By using this API, you are guaranteeing to the platform
that you have all the correct and necessary sync points for this memory
in the driver should it choose to return non-consistent memory.

Note: where the platform can return consistent memory, it will
guarantee that the sync points become nops.
Expand All @@ -535,12 +536,13 @@ that simply cannot make consistent memory.
::

void
dma_free_noncoherent(struct device *dev, size_t size, void *cpu_addr,
dma_addr_t dma_handle)
dma_free_attrs(struct device *dev, size_t size, void *cpu_addr,
dma_addr_t dma_handle, unsigned long attrs)

Free memory allocated by the nonconsistent API. All parameters must
be identical to those passed in (and returned by
dma_alloc_noncoherent()).
Free memory allocated by the dma_alloc_attrs(). All parameters common
parameters must identical to those otherwise passed to dma_fre_coherent,
and the attrs argument must be identical to the attrs passed to
dma_alloc_attrs().

::

Expand All @@ -564,8 +566,8 @@ memory or doing partial flushes.
dma_cache_sync(struct device *dev, void *vaddr, size_t size,
enum dma_data_direction direction)

Do a partial sync of memory that was allocated by
dma_alloc_noncoherent(), starting at virtual address vaddr and
Do a partial sync of memory that was allocated by dma_alloc_attrs() with
the DMA_ATTR_NON_CONSISTENT flag starting at virtual address vaddr and
continuing on for size. Again, you *must* observe the cache line
boundaries when doing this.

Expand All @@ -590,34 +592,11 @@ size is the size of the area (must be multiples of PAGE_SIZE).

flags can be ORed together and are:

- DMA_MEMORY_MAP - request that the memory returned from
dma_alloc_coherent() be directly writable.

- DMA_MEMORY_IO - request that the memory returned from
dma_alloc_coherent() be addressable using read()/write()/memcpy_toio() etc.

One or both of these flags must be present.

- DMA_MEMORY_INCLUDES_CHILDREN - make the declared memory be allocated by
dma_alloc_coherent of any child devices of this one (for memory residing
on a bridge).

- DMA_MEMORY_EXCLUSIVE - only allocate memory from the declared regions.
Do not allow dma_alloc_coherent() to fall back to system memory when
it's out of memory in the declared region.

The return value will be either DMA_MEMORY_MAP or DMA_MEMORY_IO and
must correspond to a passed in flag (i.e. no returning DMA_MEMORY_IO
if only DMA_MEMORY_MAP were passed in) for success or zero for
failure.

Note, for DMA_MEMORY_IO returns, all subsequent memory returned by
dma_alloc_coherent() may no longer be accessed directly, but instead
must be accessed using the correct bus functions. If your driver
isn't prepared to handle this contingency, it should not specify
DMA_MEMORY_IO in the input flags.

As a simplification for the platforms, only **one** such region of
As a simplification for the platforms, only *one* such region of
memory may be declared per device.

For reasons of efficiency, most platforms choose to track the declared
Expand Down
4 changes: 3 additions & 1 deletion Documentation/IPMI.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,9 @@ If you want the driver to put an event into the event log on a panic,
enable the 'Generate a panic event to all BMCs on a panic' option. If
you want the whole panic string put into the event log using OEM
events, enable the 'Generate OEM events containing the panic string'
option.
option. You can also enable these dynamically by setting the module
parameter named "panic_op" in the ipmi_msghandler module to "event"
or "string". Setting that parameter to "none" disables this function.

Basic Design
------------
Expand Down
Loading

0 comments on commit da6f381

Please sign in to comment.