Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

update master branch to 4.15 #12

Merged
merged 3,705 commits into from
Jan 31, 2018
Merged

update master branch to 4.15 #12

merged 3,705 commits into from
Jan 31, 2018
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jan 25, 2018

  1. cifs: remove rfc1002 header from smb2_set_info_req

    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Ronnie Sahlberg authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    2fc803e View commit details
    Browse the repository at this point in the history
  2. cifs: remove rfc1002 header from smb2_query_directory_req

    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Ronnie Sahlberg authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    7c00c3a View commit details
    Browse the repository at this point in the history
  3. cifs: remove rfc1002 header from smb2_query_info_req

    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Ronnie Sahlberg authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    b2fb7fe View commit details
    Browse the repository at this point in the history
  4. cifs: remove rfc1002 header from smb2_oplock_break we get from server

    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Ronnie Sahlberg authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    21ad948 View commit details
    Browse the repository at this point in the history
  5. cifs: remove unused variable from SMB2_read

    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Ronnie Sahlberg authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    5dfe69a View commit details
    Browse the repository at this point in the history
  6. cifs: remove rfc1002 header from smb2_lease_ack

    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
    Ronnie Sahlberg authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    8eb7998 View commit details
    Browse the repository at this point in the history
  7. cifs: remove small_smb2_init

    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Ronnie Sahlberg authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    305428a View commit details
    Browse the repository at this point in the history
  8. cifs: avoid a kmalloc in smb2_send_recv/SendReceive2 for the common case

    In both functions, use an array of 8 (arbitrary but should be big enough
    for all current uses) iov and avoid having to kmalloc the array
    for the common case.
    
    If 8 is too small, then fall back to the original behaviour and use
    kmalloc/kfree.
    
    This should not change any behaviour but should save us a tiny amount of
    cpu cycles.
    
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Ronnie Sahlberg authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    3cecf48 View commit details
    Browse the repository at this point in the history
  9. CIFS: SMBD: Add parameter rdata to smb2_new_read_req

    This patch is for preparing upper layer for doing SMB read via RDMA write.
    
    When we assemble the SMB read packet header, we need to know the I/O layout
    if this request is to use a RDMA write. rdata has all the information we need
    for memory registration. Add rdata to smb2_new_read_req.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Ronnie Sahlberg <lsahlber.redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    2dabfd5 View commit details
    Browse the repository at this point in the history
  10. CIFS: SMBD: Introduce kernel config option CONFIG_CIFS_SMB_DIRECT

    Build SMB Direct code when this option is set.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Ronnie Sahlberg <lsahlber.redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    2b6ed88 View commit details
    Browse the repository at this point in the history
  11. CIFS: SMBD: Add rdma mount option

    Add "rdma" to CIFS mount options to connect to SMB Direct.
    Add checks to validate this is used on SMB 3.X dialects.
    
    To connect to SMBDirect, use "mount.cifs -o rdma,vers=3.x".
    At the time of this patch, 3.x can be 3.0, 3.02 or 3.1.1.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Ronnie Sahlberg <lsahlber.redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    8339dd3 View commit details
    Browse the repository at this point in the history
  12. CIFS: SMBD: Add SMB Direct protocol initial values and constants

    To prepare for protocol implementation, add constants and user-configurable
    values for the SMB Direct protocol.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Ronnie Sahlberg <lsahlber.redhat.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    03bee01 View commit details
    Browse the repository at this point in the history
  13. CIFS: SMBD: Establish SMB Direct connection

    Add code to implement the core functions to establish a SMB Direct connection.
    
    1. Establish an RDMA connection to SMB server.
    2. Negotiate and setup SMB Direct protocol.
    3. Implement idle connection timer and credit management.
    
    SMB Direct is enabled by setting CONFIG_CIFS_SMB_DIRECT.
    
    Add to Makefile to enable building SMB Direct.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    f198186 View commit details
    Browse the repository at this point in the history
  14. CIFS: SMBD: Implement function to create a SMB Direct connection

    The upper layer calls this function to connect to peer through SMB Direct.
    Each SMB Direct connection is based on a RDMA RC Queue Pair.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    399f953 View commit details
    Browse the repository at this point in the history
  15. CIFS: SMBD: export protocol initial values

    For use-configurable SMB Direct protocol values, export them to /proc/fs/cifs.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    d8ec913 View commit details
    Browse the repository at this point in the history
  16. cifs: Fix missing put_xid in cifs_file_strict_mmap

    If cifs_zap_mapping() returned an error, we would return without putting
    the xid that we got earlier.  Restructure cifs_file_strict_mmap() and
    cifs_file_mmap() to be more similar to each other and have a single
    point of return that always puts the xid.
    
    Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    CC: Stable <stable@vger.kernel.org>
    Matthew Wilcox authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    f04a703 View commit details
    Browse the repository at this point in the history
  17. cifs: fix build errors for SMB_DIRECT

    Prevent build errors when CIFS=y and INFINIBAND=m.
    
    fs/cifs/smbdirect.o: In function `smbd_qp_async_error_upcall':
    smbdirect.c:(.text+0x28c): undefined reference to `ib_event_msg'
    fs/cifs/smbdirect.o: In function `smbd_destroy_rdma_work':
    smbdirect.c:(.text+0xfde): undefined reference to `ib_drain_qp'
    smbdirect.c:(.text+0xfea): undefined reference to `rdma_destroy_qp'
    smbdirect.c:(.text+0x12a0): undefined reference to `ib_free_cq'
    smbdirect.c:(.text+0x12ac): undefined reference to `ib_free_cq'
    smbdirect.c:(.text+0x12b8): undefined reference to `ib_dealloc_pd'
    smbdirect.c:(.text+0x12c4): undefined reference to `rdma_destroy_id'
    fs/cifs/smbdirect.o: In function `_smbd_get_connection':
    smbdirect.c:(.text+0x168c): undefined reference to `rdma_create_id'
    smbdirect.c:(.text+0x1713): undefined reference to `rdma_resolve_addr'
    smbdirect.c:(.text+0x1780): undefined reference to `rdma_resolve_route'
    smbdirect.c:(.text+0x17e3): undefined reference to `rdma_destroy_id'
    smbdirect.c:(.text+0x183d): undefined reference to `rdma_destroy_id'
    smbdirect.c:(.text+0x199d): undefined reference to `ib_alloc_cq'
    smbdirect.c:(.text+0x19d9): undefined reference to `ib_alloc_cq'
    smbdirect.c:(.text+0x1a89): undefined reference to `rdma_create_qp'
    smbdirect.c:(.text+0x1b3c): undefined reference to `rdma_connect'
    smbdirect.c:(.text+0x2538): undefined reference to `rdma_destroy_qp'
    smbdirect.c:(.text+0x2549): undefined reference to `ib_free_cq'
    smbdirect.c:(.text+0x255a): undefined reference to `ib_free_cq'
    smbdirect.c:(.text+0x2563): undefined reference to `ib_dealloc_pd'
    smbdirect.c:(.text+0x256c): undefined reference to `rdma_destroy_id'
    smbdirect.c:(.text+0x25f0): undefined reference to `__ib_alloc_pd'
    smbdirect.c:(.text+0x26bb): undefined reference to `rdma_disconnect'
    fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
    smbdirect.c:(.text+0x62): undefined reference to `rdma_disconnect'
    
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc:	Steve French <sfrench@samba.org>
    Cc:	linux-cifs@vger.kernel.org
    Cc:	samba-technical@lists.samba.org (moderated for non-subscribers)
    Signed-off-by: Steve French <smfrench@gmail.com>
    rddunlap authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    0933d6f View commit details
    Browse the repository at this point in the history
  18. CIFS: SMBD: Upper layer connects to SMBDirect session

    When "rdma" is specified in the mount option, make CIFS connect to
    SMB Direct.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    2f89464 View commit details
    Browse the repository at this point in the history
  19. CIFS: SMBD: Implement function to reconnect to a SMB Direct transport

    Add function to implement a reconnect to SMB Direct. This involves tearing down
    the current connection and establishing/negotiating a new connection.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    ad57b8e View commit details
    Browse the repository at this point in the history
  20. CIFS: SMBD: Upper layer reconnects to SMB Direct session

    Do a reconnect on SMB Direct when it is used as the connection. Reconnect can
    happen for many reasons and it's mostly the decision of SMB2 upper layer.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    781a805 View commit details
    Browse the repository at this point in the history
  21. CIFS: SMBD: Implement function to destroy a SMB Direct connection

    Add function to tear down a SMB Direct connection. This is used by upper layer
    to free all SMB Direct connection and transport resources.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    8ef130f View commit details
    Browse the repository at this point in the history
  22. CIFS: SMBD: Upper layer destroys SMB Direct session on shutdown or um…

    …ount
    
    When upper layer wants to umount, make it call shutdown on transport when
    SMB Direct is used.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    bce9ce7 View commit details
    Browse the repository at this point in the history
  23. CIFS: SMBD: Set SMB Direct maximum read or write size for I/O

    When connecting over SMB Direct, the transport negotiates its maximum I/O sizes
    with the server and determines how to choose to do RDMA send/recv vs
    read/write. Expose these maximum I/O sizes to upper layer so we will get the
    correct sized payloads.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    09902f8 View commit details
    Browse the repository at this point in the history
  24. CIFS: SMBD: Implement function to receive data via RDMA receive

    On the receive path, the transport maintains receive buffers and a reassembly
    queue for transferring payload via RDMA recv. There is data copy in the
    transport on recv when it copies the payload to upper layer.
    
    The transport recognizes the RFC1002 header length use in the SMB
    upper layer payloads in CIFS. Because this length is mainly used for TCP and
    not applicable to RDMA, it is handled as a out-of-band information and is
    never sent over the wire, and the trasnport behaves like TCP to upper layer
    by processing and exposing the length correctly on data payloads.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    f64b78f View commit details
    Browse the repository at this point in the history
  25. CIFS: SMBD: Upper layer receives data via RDMA receive

    With SMB Direct connected, use it for receiving data via RDMA receive.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    2fef137 View commit details
    Browse the repository at this point in the history
  26. CIFS: SMBD: Implement function to send data via RDMA send

    The transport doesn't maintain send buffers or send queue for transferring
    payload via RDMA send. There is no data copy in the transport on send.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    d649e1b View commit details
    Browse the repository at this point in the history
  27. CIFS: SMBD: Upper layer sends data via RDMA send

    With SMB Direct connected, use it for sending data via RDMA send.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    9762c2d View commit details
    Browse the repository at this point in the history
  28. CIFS: SMBD: Implement RDMA memory registration

    Memory registration is used for transferring payload via RDMA read or write.
    After I/O is done, memory registrations are recovered and reused. This
    process can be time consuming and is done in a work queue.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    c739858 View commit details
    Browse the repository at this point in the history
  29. CIFS: SMBD: Upper layer performs SMB write via RDMA read through memo…

    …ry registration
    
    When sending I/O, if size is larger than rdma_readwrite_threshold we prepare
    to send SMB write packet for a RDMA read via memory registration. The actual
    I/O is done by remote peer through local RDMA hardware. Modify the relevant
    fields in the packet accordingly, and append a smbd_buffer_descriptor_v1 to
    the end of the SMB write packet.
    
    On write I/O finish, deregister the memory region if this was for a RDMA read.
    If remote invalidation is not used, the call to smbd_deregister_mr will do
    local invalidation and possibly wait. Memory region is normally deregistered
    in MID callback as soon as it's used. There are situations where the MID may
    not be created on I/O failure, under which memory region is deregistered when
    write data context is released.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    db223a5 View commit details
    Browse the repository at this point in the history
  30. CIFS: SMBD: Read correct returned data length for RDMA write (SMB rea…

    …d) I/O
    
    This patch is for preparing upper layer doing SMB read via RDMA write.
    
    When RDMA write is used for SMB read, the returned data length is in
    DataRemaining in the response packet. Reading it properly by adding a
    parameter to specifiy where the returned data length is.
    
    Add the defition for memory registration to wdata and return the correct
    length based on if RDMA write is used.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    74dcf41 View commit details
    Browse the repository at this point in the history
  31. CIFS: SMBD: Upper layer performs SMB read via RDMA write through memo…

    …ry registration
    
    If I/O size is larger than rdma_readwrite_threshold, use RDMA write for
    SMB read by specifying channel SMB2_CHANNEL_RDMA_V1 or
    SMB2_CHANNEL_RDMA_V1_INVALIDATE in the SMB packet, depending on SMB dialect
    used. Append a smbd_buffer_descriptor_v1 to the end of the SMB packet and fill
    in other values to indicate this SMB read uses RDMA write.
    
    There is no need to read from the transport for incoming payload. At the time
    SMB read response comes back, the data is already transferred and placed in the
    pages by RDMA hardware.
    
    When SMB read is finished, deregister the memory regions if RDMA write is used
    for this SMB read. smbd_deregister_mr may need to do local invalidation and
    sleep, if server remote invalidation is not used.
    
    There are situations where the MID may not be created on I/O failure, under
    which memory region is deregistered when read data context is released.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    bd3dcc6 View commit details
    Browse the repository at this point in the history
  32. CIFS: SMBD: Add SMB Direct debug counters

    For debugging and troubleshooting, export SMBDirect debug counters to
    /proc/fs/cifs/DebugData.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    08a3b96 View commit details
    Browse the repository at this point in the history
  33. CIFS: SMBD: Disable signing on SMB direct transport

    Currently the CIFS SMB Direct implementation (experimental) doesn't properly
    support signing. Disable it when SMB Direct is in use for transport.
    
    Signing will be enabled in future after it is implemented.
    
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    longlimsft authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    8801e90 View commit details
    Browse the repository at this point in the history
  34. CIFS: SMBD: _smbd_get_connection() can be static

    Fixes: 07495ff5d9bc ("CIFS: SMBD: Establish SMB Direct connection")
    Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Long Li <longli@microsoft.com>
    kbuild test robot authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    9084432 View commit details
    Browse the repository at this point in the history
  35. cifs: Fix autonegotiate security settings mismatch

    Autonegotiation gives a security settings mismatch error if the SMB
    server selects an SMBv3 dialect that isn't SMB3.02. The exact error is
    "protocol revalidation - security settings mismatch".
    This can be tested using Samba v4.2 or by setting the global Samba
    setting max protocol = SMB3_00.
    
    The check that fails in smb3_validate_negotiate is the dialect
    verification of the negotiate info response. This is because it tries
    to verify against the protocol_id in the global smbdefault_values. The
    protocol_id in smbdefault_values is SMB3.02.
    In SMB2_negotiate the protocol_id in smbdefault_values isn't updated,
    it is global so it probably shouldn't be, but server->dialect is.
    
    This patch changes the check in smb3_validate_negotiate to use
    server->dialect instead of server->vals->protocol_id. The patch works
    with autonegotiate and when using a specific version in the vers mount
    option.
    
    Signed-off-by: Daniel N Pettersson <danielnp@axis.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    CC: Stable <stable@vger.kernel.org>
    Daniel N Pettersson authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    9aca7e4 View commit details
    Browse the repository at this point in the history
  36. CIFS: SMBD: work around gcc -Wmaybe-uninitialized warning

    GCC versions from 4.9 to 6.3 produce a false-positive warning when
    dealing with a conditional spin_lock_irqsave():
    
    fs/cifs/smbdirect.c: In function 'smbd_recv_buf':
    include/linux/spinlock.h:260:3: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
    
    This function calls some sleeping interfaces, so it is clear that it
    does not get called with interrupts disabled and there is no need
    to save the irq state before taking the spinlock. This lets us
    remove the variable, which makes the function slightly more efficient
    and avoids the warning.
    
    A further cleanup could do the same change for other functions in this
    file, but I did not want to take this too far for now.
    
    Fixes: ac69f66e54ca ("CIFS: SMBD: Implement function to receive data via RDMA receive")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Steve French <smfrench@gmail.com>
    arndb authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    e36c048 View commit details
    Browse the repository at this point in the history
  37. cifs: remove redundant duplicated assignment of pointer 'node'

    Node is assigned twice to rb_first(root), first during declaration
    time and second after a taking a spin lock, so we have a duplicated
    assignment.  Remove the first assignment because it is redundant and
    also not protected by the spin lock.
    
    Cleans up clang warning:
    fs/cifs/connect.c:4435:18: warning: Value stored to 'node' during
    its initialization is never read
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Colin Ian King authored and smfrench committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    37e12f5 View commit details
    Browse the repository at this point in the history
  38. Merge tag 'drm-misc-fixes-2018-01-24' of git://anongit.freedesktop.or…

    …g/drm/drm-misc into drm-fixes
    
    Two vc4 fixes that were applied in the last day.
    One fixes a NULL dereference, and the other fixes
    a flickering bug.
    
    Cc: Eric Anholt <eric@anholt.net>
    Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
    
    * tag 'drm-misc-fixes-2018-01-24' of git://anongit.freedesktop.org/drm/drm-misc:
      drm/vc4: Fix NULL pointer dereference in vc4_save_hang_state()
      drm/vc4: Flush the caches before the bin jobs, as well.
    airlied committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    7e3f8e9 View commit details
    Browse the repository at this point in the history
  39. mtd: nand: gpmi: Fix subpage reads

    Commit 25f815f ("mtd: nand: force drivers to explicitly send
    READ/PROG commands") added a call to nand_read_page_op() in
    gpmi_ecc_read_page(), which means this function now sends a READ0
    command and place the data pointer at the beginning of the page. This
    logic is breaking gpmi_ecc_read_subpage() which was calling
    gpmi_ecc_read_page() and expected it to only retrieve the data without
    sending the READ0 command.
    
    Create a gpmi_ecc_read_page_data() helper which only does the data
    retrieval and ECC correction steps and implement gpmi_ecc_read_page()
    as a wrapper that calls nand_read_page_op()+gpmi_ecc_read_page_data().
    
    This way, gpmi_ecc_read_subpage() can call gpmi_ecc_read_page_data()
    which restores the logic we had before commit 25f815f ("mtd: nand:
    force drivers to explicitly send READ/PROG commands").
    
    Fixes: 25f815f ("mtd: nand: force drivers to explicitly send READ/PROG commands")
    Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
    Reviewed-by: Miquel Raynal <miquel.raynal@free-electrons.com>
    Acked-by: Han Xu <han.xu@nxp.com>
    Boris Brezillon committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    4c7e95b View commit details
    Browse the repository at this point in the history
  40. mtd: nand: sunxi: Fix ECC strength choice

    When the requested ECC strength does not exactly match the strengths
    supported by the ECC engine, the driver is selecting the closest
    strength meeting the 'selected_strength > requested_strength'
    constraint. Fix the fact that, in this particular case, ecc->strength
    value was not updated to match the 'selected_strength'.
    
    For instance, one can encounter this issue when no ECC requirement is
    filled in the device tree while the NAND chip minimum requirement is not
    a strength/step_size combo natively supported by the ECC engine.
    
    Fixes: 1fef62c ("mtd: nand: add sunxi NAND flash controller support")
    Cc: <stable@vger.kernel.org>
    Suggested-by: Boris Brezillon <boris.brezillon@free-electrons.com>
    Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
    Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
    miquelraynal authored and Boris Brezillon committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    f4c6cd1 View commit details
    Browse the repository at this point in the history
  41. x86/hyperv: Stop suppressing X86_FEATURE_PCID

    When hypercall-based TLB flush was enabled for Hyper-V guests PCID feature
    was deliberately suppressed as a precaution: back then PCID was never
    exposed to Hyper-V guests and it wasn't clear what will happen if some day
    it becomes available. The day came and PCID/INVPCID features are already
    exposed on certain Hyper-V hosts.
    
    From TLFS (as of 5.0b) it is unclear how TLB flush hypercalls combine with
    PCID. In particular the usage of PCID is per-cpu based: the same mm gets
    different CR3 values on different CPUs. If the hypercall does exact
    matching this will fail. However, this is not the case. David Zhang
    explains:
    
     "In practice, the AddressSpace argument is ignored on any VM that supports
      PCIDs.
    
      Architecturally, the AddressSpace argument must match the CR3 with PCID
      bits stripped out (i.e., the low 12 bits of AddressSpace should be 0 in
      long mode). The flush hypercalls flush all PCIDs for the specified
      AddressSpace."
    
    With this, PCID can be enabled.
    
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: David Zhang <dazhan@microsoft.com>
    Cc: Stephen Hemminger <sthemmin@microsoft.com>
    Cc: Haiyang Zhang <haiyangz@microsoft.com>
    Cc: "Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: devel@linuxdriverproject.org
    Cc: "K. Y. Srinivasan" <kys@microsoft.com>
    Cc: Aditya Bhandari <adityabh@microsoft.com>
    Link: https://lkml.kernel.org/r/20180124103629.29980-1-vkuznets@redhat.com
    vittyvk authored and KAGA-KOKO committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    617ab45 View commit details
    Browse the repository at this point in the history
  42. x86: Remove unused IOMMU_STRESS Kconfig

    Last use of IOMMU_STRESS was removed in commit 29b6841 ("x86:
    amd_iommu: move to drivers/iommu/"). 6 years later the Kconfig entry is
    definitely due for removal.
    
    Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Joerg Roedel <jroedel@suse.de>
    Link: https://lkml.kernel.org/r/1516825754-28415-1-git-send-email-clabbe@baylibre.com
    montjoie authored and KAGA-KOKO committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    782bf20 View commit details
    Browse the repository at this point in the history
  43. perf vendor events intel: Update Broadwell events to V22

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    b3ab8ad View commit details
    Browse the repository at this point in the history
  44. perf vendor events intel: Update BroadwellX events to V13

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    97d00f2 View commit details
    Browse the repository at this point in the history
  45. perf vendor events intel: Update Goldmont events to V12

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    03da89c View commit details
    Browse the repository at this point in the history
  46. perf vendor events intel: Update Haswell events to V27

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    ca3a2d0 View commit details
    Browse the repository at this point in the history
  47. perf vendor events intel: Update HaswellX events to V19

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    032c16b View commit details
    Browse the repository at this point in the history
  48. perf vendor events intel: Update IvyBridge events to V20

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    c955cd2 View commit details
    Browse the repository at this point in the history
  49. perf vendor events intel: Update IvyTown events to V20

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    194b6fa View commit details
    Browse the repository at this point in the history
  50. perf vendor events intel: Update Silvermont events to V14

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    ffaa6f2 View commit details
    Browse the repository at this point in the history
  51. perf vendor events intel: Update Skylake events to V36

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    c93240a View commit details
    Browse the repository at this point in the history
  52. perf vendor events intel: Update SkylakeX events to V1.06

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    1716021 View commit details
    Browse the repository at this point in the history
  53. perf vendor events intel: Update BroadwellDE events to V7

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    fae0a4d View commit details
    Browse the repository at this point in the history
  54. perf vendor events intel: Update IvyBridge files to V20

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    f5b5bdd View commit details
    Browse the repository at this point in the history
  55. perf vendor events intel: Update IvyTown files to V20

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180118234518.GA27753@tassilo.jf.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Andi Kleen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    5b50758 View commit details
    Browse the repository at this point in the history
  56. perf tools: Integrating the CoreSight decoding library

    The Open CoreSight Decoding Library (openCSD) is a free and open library
    to decode traces collected by the CoreSight hardware infrastructure.
    
    This patch adds the required mechanic to recognise the presence of the
    openCSD library on a system and set up miscellaneous flags to be used in
    the compilation of the trace decoding feature.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Link: http://lkml.kernel.org/r/1516211539-5166-2-git-send-email-mathieu.poirier@linaro.org
    Link: http://lkml.kernel.org/r/1516635644-24819-1-git-send-email-mathieu.poirier@linaro.org
    [ Merged missing test-libopencsd.c file, provided later by Mathieu ]
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    mathieupoirier authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    aa6292f View commit details
    Browse the repository at this point in the history
  57. perf tools: Add initial entry point for decoder CoreSight traces

    This patch adds the entry point for CoreSight trace decoding, serving as
    a jumping board for furhter expansions.
    
    Co-authored-by: Tor Jeremiassen <tor@ti.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-3-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    2 people authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    440a23b View commit details
    Browse the repository at this point in the history
  58. perf tools: Add processing of coresight metadata

    The auxtrace_info section contains metadata that describes the number of
    trace capable CPUs, their ETM version and trace configuration, including
    trace id values. This information is required by the trace decoder in
    order to properly decode the compressed trace packets. This patch adds
    code to read and parse this metadata, and store it for use in
    configuring instances of the cs-etm trace decoder.
    
    Co-authored-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Tor Jeremiassen <tor@ti.com>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-4-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    2 people authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    cd8bfd8 View commit details
    Browse the repository at this point in the history
  59. perf tools: Add decoder mechanic to support dumping trace data

    This patch adds the required interface to the openCSD library to support
    dumping CoreSight trace packet using the "report --dump" command.  The
    information conveyed is related to the type of packets gathered by a
    trace session rather than full decoding.
    
    Co-authored-by: Tor Jeremiassen <tor@ti.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-5-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    2 people authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    68ffe39 View commit details
    Browse the repository at this point in the history
  60. perf tools: Add support for decoding CoreSight trace data

    Adding functionality to create a CoreSight trace decoder capable
    of decoding trace data pushed by a client application.
    
    Co-authored-by: Tor Jeremiassen <tor@ti.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-6-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    2 people authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    c9a01a1 View commit details
    Browse the repository at this point in the history
  61. perf tools: Add functionality to communicate with the openCSD decoder

    This patch adds functions to communicate with the openCSD trace decoder,
    more specifically to access program memory, fetch trace packets and
    reset the decoder.
    
    Co-authored-by: Tor Jeremiassen <tor@ti.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-7-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    2 people authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    290598b View commit details
    Browse the repository at this point in the history
  62. pert tools: Add queue management functionality

    Add functionatlity to setup trace queues so that traces associated with
    CoreSight auxtrace events found in the perf.data file can be classified
    properly.  The decoder and memory callback associated with each queue are
    then used to decode the traces that have been assigned to that queue.
    
    Co-authored-by: Tor Jeremiassen <tor@ti.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-8-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    2 people authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    20d9c47 View commit details
    Browse the repository at this point in the history
  63. perf tools: Add full support for CoreSight trace decoding

    This patch adds support for complete packet decoding, allowing traces
    collected during a trace session to be decoder from the "report"
    infrastructure.
    
    Co-authored-by: Tor Jeremiassen <tor@ti.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-9-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    2 people authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    9f878b2 View commit details
    Browse the repository at this point in the history
  64. perf tools: Add mechanic to synthesise CoreSight trace packets

    Once decoded from trace packets information on trace range needs
    to be communicated to the perf synthesis infrastructure so that it
    is available to the perf tools built-in rendering tools and scripts.
    
    Co-authored-by: Tor Jeremiassen <tor@ti.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-10-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    2 people authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    b12235b View commit details
    Browse the repository at this point in the history
  65. MAINTAINERS: Adding entry for CoreSight trace decoding

    Adding maintainers for Coresight trace decoding via perf tools.
    
    Signed-off-by: Tor Jeremiassen <tor@ti.com>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Mike Leach <mike.leach@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1516211539-5166-11-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    tor-jeremiassen authored and acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    8046bf0 View commit details
    Browse the repository at this point in the history
  66. perf bpf: Remove misplaced __maybe_unused attribute

    The bpf__setup_stdout() function uses that evlist argument, remove the
    misleading __maybe_unused attribute.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-7vbhhzbd33nvdm7l35gdfryt@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    78c4369 View commit details
    Browse the repository at this point in the history
  67. perf trace: Add --print-sample

    To help with debugging, like the interrupted out of order issue that
    will be dealt with in the next patch in this series, changing the code
    to deal with:
    
    raw_syscalls:sys_enter 411967179.269 Timer 9609/9626 [2]
    raw_syscalls:sys_enter 411967179.213 file:// Content 9609/9609 [3]
       328.038 (18446744073709.496 ms): Timer/9626 futex(uaddr: 0x7fc0d4027044, op: WAIT|PRIV, utime: 0x7fc0b0ffdb50     ) ...
     raw_syscalls:sys_exit 411967179.225 file:// Content 9609/9609 [3]
       327.982 ( 0.012 ms): file:// Conten/9609 futex(uaddr: 0x7fc0d4027040, op: WAKE|PRIV, val: 1                    ) = 1
    
    That long duration is the bug.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-fljqiibjn7wet24jd1ed7abc@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    591421e View commit details
    Browse the repository at this point in the history
  68. perf trace: Do not print from time delta for interrupted syscall lines

    We were calculating the delta from a in-flight syscall that got its
    output interrupted by another syscall, which doesn't seem like useful
    information, we will print the syscall duration (sys_exit - sys_enter)
    when the raw_syscalls:sys_exit event happens.
    
    The problem here is how we're consuming the multiple ring buffers,
    without using the ordered_events code used by perf_session, which may
    cause some reordering of syscalls for diferent CPUs, so just stop
    printing that delta, to avoid things like:
    
      # trace --print-sample -p 9626 -e futex
      raw_syscalls:sys_enter 411967179.269 Timer 9609/9626 [2]
      raw_syscalls:sys_enter 411967179.213 file:// Content 9609/9609 [3]
         328.038 (18446744073709.496 ms): Timer/9626 futex(uaddr: 0x7fc0d4027044, op: WAIT|PRIV, utime: 0x7fc0b0ffdb50     ) ...
       raw_syscalls:sys_exit 411967179.225 file:// Content 9609/9609 [3]
         327.982 ( 0.012 ms): file:// Conten/9609 futex(uaddr: 0x7fc0d4027040, op: WAKE|PRIV, val: 1                    ) = 1
    
    This is a bandaid, we should better try and use the ordered_events code,
    possibly with some refactoring prep work, but for now at least we don't
    show those false long deltas for the lines ending in '...'.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-q6xgsqrju1sr6ltud9kjjhmb@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    522283f View commit details
    Browse the repository at this point in the history
  69. perf trace beauty futex: Beautify FUTEX_BITSET_MATCH_ANY

    E.g.:
    
      # strace -e futex -p 14437
      strace: Process 14437 attached
      futex(0x7f46f4808d70, FUTEX_WAKE_PRIVATE, 1) = 0
      futex(0x7f46f24e68b0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1516636744, tv_nsec=221969000}, 0xffffffff) = -1 ETIMEDOUT (Connection timed out)
     <detached ...>
      #
    
    Should pretty print that 0xffffffff value, like:
    
      # trace -e futex --tid 14437
         0.028 (   0.005 ms): futex(uaddr: 0x7f46f4808d70, op: WAKE|PRIV, val: 1                    ) = 0
         0.037 (1000.092 ms): futex(uaddr: 0x7f46f24e68b0, op: WAIT_BITSET|PRIV|CLKRT, utime: 0x7f46f23fedf0, val3: MATCH_ANY) = -1 ETIMEDOUT Connection timed out
    ^C#
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-raef6e352la90600yksthao1@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    3258abe View commit details
    Browse the repository at this point in the history
  70. perf evlist: Remove fcntl.h from evlist.h

    Not needed there, fixup the places where it is needed and was getting
    only by luck via evlist.h.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-yxjpetn64z8vjuguu84gr6x6@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    bafae98 View commit details
    Browse the repository at this point in the history
  71. perf trace beauty flock: Move to separate object file

    To resolve some header conflicts that were preventing the build to
    succeed in the Alpine Linux distribution.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-bvud0dvzvip3kibeplupdbmc@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    acmel committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    c19d084 View commit details
    Browse the repository at this point in the history
  72. KVM: x86: Make indirect calls in emulator speculation safe

    Replace the indirect calls with CALL_NOSPEC.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ashok Raj <ashok.raj@intel.com>
    Cc: Greg KH <gregkh@linuxfoundation.org>
    Cc: Jun Nakajima <jun.nakajima@intel.com>
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: rga@amazon.de
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Asit Mallick <asit.k.mallick@intel.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Jason Baron <jbaron@akamai.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Arjan Van De Ven <arjan.van.de.ven@intel.com>
    Cc: Tim Chen <tim.c.chen@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180125095843.595615683@infradead.org
    Peter Zijlstra authored and KAGA-KOKO committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    1a29b5b View commit details
    Browse the repository at this point in the history
  73. KVM: VMX: Make indirect call speculation safe

    Replace indirect call with CALL_NOSPEC.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ashok Raj <ashok.raj@intel.com>
    Cc: Greg KH <gregkh@linuxfoundation.org>
    Cc: Jun Nakajima <jun.nakajima@intel.com>
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: rga@amazon.de
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Asit Mallick <asit.k.mallick@intel.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Jason Baron <jbaron@akamai.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Arjan Van De Ven <arjan.van.de.ven@intel.com>
    Cc: Tim Chen <tim.c.chen@linux.intel.com>
    Link: https://lkml.kernel.org/r/20180125095843.645776917@infradead.org
    Peter Zijlstra authored and KAGA-KOKO committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    c940a3f View commit details
    Browse the repository at this point in the history
  74. perf/core: Fix lock inversion between perf,trace,cpuhp

    Lockdep gifted us with noticing the following 4-way lockup scenario:
    
            perf_trace_init()
     #0       mutex_lock(&event_mutex)
              perf_trace_event_init()
                perf_trace_event_reg()
                  tp_event->class->reg() := tracepoint_probe_register
     #1             mutex_lock(&tracepoints_mutex)
                      trace_point_add_func()
     #2                 static_key_enable()
    
     #2     do_cpu_up()
              perf_event_init_cpu()
     #3         mutex_lock(&pmus_lock)
     #4         mutex_lock(&ctx->mutex)
    
            perf_event_task_disable()
              mutex_lock(&current->perf_event_mutex)
     #4       ctx = perf_event_ctx_lock()
     #5       perf_event_for_each_child()
    
            do_exit()
              task_work_run()
                __fput()
                  perf_release()
                    perf_event_release_kernel()
     #4               mutex_lock(&ctx->mutex)
     #5               mutex_lock(&event->child_mutex)
                      free_event()
                        _free_event()
                          event->destroy() := perf_trace_destroy
     #0                     mutex_lock(&event_mutex);
    
    Fix that by moving the free_event() out from under the locks.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vince Weaver <vincent.weaver@maine.edu>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    82d9485 View commit details
    Browse the repository at this point in the history
  75. perf/core: Fix another perf,trace,cpuhp lock inversion

    Lockdep noticed the following 3-way lockup race:
    
            perf_trace_init()
     #0       mutex_lock(&event_mutex)
              perf_trace_event_init()
                perf_trace_event_reg()
                  tp_event->class->reg() := tracepoint_probe_register
     #1              mutex_lock(&tracepoints_mutex)
                      trace_point_add_func()
     #2                  static_key_enable()
    
     #2	do_cpu_up()
    	  perf_event_init_cpu()
     #3	    mutex_lock(&pmus_lock)
     #4	    mutex_lock(&ctx->mutex)
    
    	perf_ioctl()
     #4	  ctx = perf_event_ctx_lock()
    	  _perf_iotcl()
    	    ftrace_profile_set_filter()
     #0	      mutex_lock(&event_mutex)
    
    Fudge it for now by noting that the tracepoint state does not depend
    on the event <-> context relation. Ugly though :/
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    43fa87f View commit details
    Browse the repository at this point in the history
  76. perf/core: Fix ctx::mutex deadlock

    Lockdep noticed the following 3-way lockup scenario:
    
    	sys_perf_event_open()
    	  perf_event_alloc()
    	    perf_try_init_event()
     #0	      ctx = perf_event_ctx_lock_nested(1)
    	      perf_swevent_init()
    		swevent_hlist_get()
     #1		  mutex_lock(&pmus_lock)
    
    	perf_event_init_cpu()
     #1	  mutex_lock(&pmus_lock)
     #2	  mutex_lock(&ctx->mutex)
    
    	sys_perf_event_open()
    	  mutex_lock_double()
     #2	   mutex_lock()
     #0	   mutex_lock_nested()
    
    And while we need that perf_event_ctx_lock_nested() for HW PMUs such
    that they can iterate the sibling list, trying to match it to the
    available counters, the software PMUs need do no such thing. Exclude
    them.
    
    In particular the swevent triggers the above invertion, while the
    tpevent PMU triggers a more elaborate one through their event_mutex.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vince Weaver <vincent.weaver@maine.edu>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    0c7296c View commit details
    Browse the repository at this point in the history
  77. perf/x86: Fix perf,x86,cpuhp deadlock

    More lockdep gifts, a 5-way lockup race:
    
    	perf_event_create_kernel_counter()
    	  perf_event_alloc()
    	    perf_try_init_event()
    	      x86_pmu_event_init()
    		__x86_pmu_event_init()
    		  x86_reserve_hardware()
     #0		    mutex_lock(&pmc_reserve_mutex);
    		    reserve_ds_buffer()
     #1		      get_online_cpus()
    
    	perf_event_release_kernel()
    	  _free_event()
    	    hw_perf_event_destroy()
    	      x86_release_hardware()
     #0		mutex_lock(&pmc_reserve_mutex)
    		release_ds_buffer()
     #1		  get_online_cpus()
    
     #1	do_cpu_up()
    	  perf_event_init_cpu()
     #2	    mutex_lock(&pmus_lock)
     #3	    mutex_lock(&ctx->mutex)
    
    	sys_perf_event_open()
    	  mutex_lock_double()
     #3	    mutex_lock(ctx->mutex)
     #4	    mutex_lock_nested(ctx->mutex, 1);
    
    	perf_try_init_event()
     #4	  mutex_lock_nested(ctx->mutex, 1)
    	  x86_pmu_event_init()
    	    intel_pmu_hw_config()
    	      x86_add_exclusive()
     #0		mutex_lock(&pmc_reserve_mutex)
    
    Fix it by using ordering constructs instead of locking.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vince Weaver <vincent.weaver@maine.edu>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    efe951d View commit details
    Browse the repository at this point in the history
  78. nvme-pci: Suspend queues after deleting them

    The driver had been abusing the cq_vector state to know if new submissions
    were safe, but that was before we could quiesce blk-mq. If the controller
    happens to get an interrupt through while we're suspending those queues,
    'no irq handler' warnings may occur.
    
    This patch will disable the interrupts only after the queues are deleted.
    
    Reported-by: Jianchao Wang <jianchao.w.wang@oracle.com>
    Tested-by: Jianchao Wang <jianchao.w.wang@oracle.com>
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Keith Busch authored and Christoph Hellwig committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    ee9aebb View commit details
    Browse the repository at this point in the history
  79. ata: sata_mv: Replace mdelay with usleep_range in mv_reset_channel

    After checking all possible call chains to mv_reset_channel here,
    my tool finds that mv_reset_channel is never called in atomic context,
    namely never in an interrupt handler or holding a spinlock.
    Thus mdelay can be replaced with usleep_range to avoid busy wait.
    
    This is found by a static analysis tool named DCNS written by myself.
    
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    XidianGeneral authored and htejun committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    e72685d View commit details
    Browse the repository at this point in the history
  80. ata: pata_it821x: Replace mdelay with usleep_range in it821x_firmware…

    …_command
    
    After checking all possible call chains to it821x_firmware_command here,
    my tool finds that it821x_firmware_command
    is never called in atomic context,
    namely never in an interrupt handler or holding a spinlock.
    And it821x_firmware_command calls kmalloc(GFP_KERNEL),
    so it proves again that it821x_firmware_command
    can call functions which can sleep.
    Thus mdelay can be replaced with usleep_range to avoid busy wait.
    
    This is found by a static analysis tool named DCNS written by myself.
    
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    XidianGeneral authored and htejun committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    eada859 View commit details
    Browse the repository at this point in the history
  81. ata: pata_pdc2027x: Replace mdelay with msleep

    After checking all possible call chains to pdc_adjust_pll and
    pdc_detect_pll_input_clock,
    my tool finds that these functions are never called in atomic context,
    namely never in an interrupt handler or holding a spinlock.
    And their caller functions pdc2027x_init_one and pdc2027x_reinit_one
    calls pci_enable_device which can sleep, and no spinlock is held when
    calling pdc_adjust_pll and pdc_detect_pll_input_clock,
    so it proves that pdc_adjust_pll and pdc_detect_pll_input_clock
    can call functions which can sleep.
    Thus mdelay can be replaced with msleep to avoid busy wait.
    
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    XidianGeneral authored and htejun committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    b3506c7 View commit details
    Browse the repository at this point in the history
  82. net: tcp: close sock if net namespace is exiting

    When a tcp socket is closed, if it detects that its net namespace is
    exiting, close immediately and do not wait for FIN sequence.
    
    For normal sockets, a reference is taken to their net namespace, so it will
    never exit while the socket is open.  However, kernel sockets do not take a
    reference to their net namespace, so it may begin exiting while the kernel
    socket is still open.  In this case if the kernel socket is a tcp socket,
    it will stay open trying to complete its close sequence.  The sock's dst(s)
    hold a reference to their interface, which are all transferred to the
    namespace's loopback interface when the real interfaces are taken down.
    When the namespace tries to take down its loopback interface, it hangs
    waiting for all references to the loopback interface to release, which
    results in messages like:
    
    unregister_netdevice: waiting for lo to become free. Usage count = 1
    
    These messages continue until the socket finally times out and closes.
    Since the net namespace cleanup holds the net_mutex while calling its
    registered pernet callbacks, any new net namespace initialization is
    blocked until the current net namespace finishes exiting.
    
    After this change, the tcp socket notices the exiting net namespace, and
    closes immediately, releasing its dst(s) and their reference to the
    loopback interface, which lets the net namespace continue exiting.
    
    Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1711407
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=97811
    Signed-off-by: Dan Streetman <ddstreet@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    ddstreet authored and davem330 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    4ee806d View commit details
    Browse the repository at this point in the history
  83. Merge tag 'for-4.15-tag' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/kdave/linux
    
    Pull btrfs fix from David Sterba:
     "It's been reported recently that readdir can list stale entries under
      some conditions. Fix it."
    
    * tag 'for-4.15-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      Btrfs: fix stale entries in readdir
    torvalds committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    525273f View commit details
    Browse the repository at this point in the history
  84. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull KVM fixes from Radim Krčmář:
     "Fix races and a potential use after free in the s390 cmma migration
      code"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: s390: add proper locking for CMMA migration bitmap
    torvalds committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    6e20630 View commit details
    Browse the repository at this point in the history
  85. nvme: don't free uuid pointer before printing it

    Commit df351ef ("nvme-fabrics: fix memory leak when parsing host ID
    option") fixed the leak of 'p' but in case uuid_parse() fails the memory
    is freed before the error print that is using it.
    
    Free it after printing eventual errors.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Fixes: df351ef ("nvme-fabrics: fix memory leak when parsing host ID option")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Johannes Thumshirn authored and Christoph Hellwig committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    6e49412 View commit details
    Browse the repository at this point in the history
  86. nvme-rdma: remove redundant boolean for inline_data

    Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Max Gurtovoy authored and Christoph Hellwig committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    1dad3a6 View commit details
    Browse the repository at this point in the history
  87. f2fs: use GFP_F2FS_ZERO for cleanup

    Clean up codes with GFP_F2FS_ZERO, no logic changes.
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    chaseyu authored and Jaegeuk Kim committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    2882d34 View commit details
    Browse the repository at this point in the history
  88. f2fs: clean up duplicated assignment in init_discard_policy

    Remove duplicated codes of assignment for .max_requests and .io_aware_gran.
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    chaseyu authored and Jaegeuk Kim committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    6819b88 View commit details
    Browse the repository at this point in the history
  89. f2fs: stop issuing discard if fs is readonly

    If filesystem is readonly, stop to issue discard in daemon.
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    chaseyu authored and Jaegeuk Kim committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    3b60d80 View commit details
    Browse the repository at this point in the history
  90. f2fs: rebuild sit page from sit info in mem

    This patch rebuild sit page from sit info in mem instead
    of issue a read io.
    
    I test this method and the result is as below:
    
    Pre:
     mmc_perf_test-12061 [001] ...1   976.819992: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [001] ...1   976.856446: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
     mmc_perf_test-12061 [003] ...1   998.976946: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [003] ...1   999.023269: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
     mmc_perf_test-12061 [003] ...1  1022.060772: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [003] ...1  1022.111034: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
     mmc_perf_test-12061 [002] ...1  1070.127643: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [003] ...1  1070.187352: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
     mmc_perf_test-12061 [003] ...1  1095.942124: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [003] ...1  1095.995975: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
     mmc_perf_test-12061 [003] ...1  1122.535091: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [003] ...1  1122.586521: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
     mmc_perf_test-12061 [001] ...1  1147.897487: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [001] ...1  1147.959438: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
     mmc_perf_test-12061 [003] ...1  1177.926951: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [002] ...1  1177.976823: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
     mmc_perf_test-12061 [002] ...1  1204.176087: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
     mmc_perf_test-12061 [002] ...1  1204.239046: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    
    Some sit flush consume more than 50ms.
    
    Now:
    mmc_perf_test-2187  [007] ...1   196.840684: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [007] ...1   196.841258: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [007] ...1   219.430582: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [007] ...1   219.431144: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [002] ...1   243.638678: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [000] ...1   243.638980: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [002] ...1   265.392180: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [002] ...1   265.392245: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [000] ...1   290.309051: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [000] ...1   290.309116: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [003] ...1   317.144209: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [003] ...1   317.145913: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [005] ...1   343.224954: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [005] ...1   343.225574: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [000] ...1   370.239846: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [000] ...1   370.241138: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [001] ...1   397.029043: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [001] ...1   397.030750: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    mmc_perf_test-2187  [003] ...1   425.386377: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = start flush sit
    mmc_perf_test-2187  [003] ...1   425.387735: f2fs_write_checkpoint: dev = (259,44), checkpoint for Sync, state = end flush sit
    
    Most sit flush consume no more than 1ms.
    
    Signed-off-by: Yunlei He <heyunlei@huawei.com>
    Reviewed-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Yunlei He authored and Jaegeuk Kim committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    068c3cd View commit details
    Browse the repository at this point in the history
  91. net: don't call update_pmtu unconditionally

    Some dst_ops (e.g. md_dst_ops)) doesn't set this handler. It may result to:
    "BUG: unable to handle kernel NULL pointer dereference at           (null)"
    
    Let's add a helper to check if update_pmtu is available before calling it.
    
    Fixes: 52a589d ("geneve: update skb dst pmtu on tx path")
    Fixes: a93bf0f ("vxlan: update skb dst pmtu on tx path")
    CC: Roman Kapl <code@rkapl.cz>
    CC: Xin Long <lucien.xin@gmail.com>
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    NicolasDichtel authored and davem330 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    f15ca72 View commit details
    Browse the repository at this point in the history
  92. pnfs/blocklayout: pnfs_block_dev_map uses bytes, not sectors

    Fixup the field types to match their use.
    
    Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
    Signed-off-by: Trond Myklebust <trondmy@gmail.com>
    Benjamin Coddington authored and trondmy committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    b396047 View commit details
    Browse the repository at this point in the history
  93. pnfs/blocklayout: Ensure disk address in block device map

    It's possible that the device map is smaller than the offset into the device
    for the I/O we're adding.  Add a check for it and bail out, otherwise we
    risk botching the bio calculations that follow.
    
    Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
    Signed-off-by: Trond Myklebust <trondmy@gmail.com>
    Benjamin Coddington authored and trondmy committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    f34462c View commit details
    Browse the repository at this point in the history
  94. f2fs: support inode creation time

    This patch adds creation time field in inode layout to support showing
    kstat.btime in ->statx.
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    chaseyu authored and Jaegeuk Kim committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    1c1d35d View commit details
    Browse the repository at this point in the history
  95. drm/nouveau: Move irq setup/teardown to pci ctor/dtor

    For a while we've been having issues with seemingly random interrupts
    coming from nvidia cards when resuming them. Originally the fix for this
    was thought to be just re-arming the MSI interrupt registers right after
    re-allocating our IRQs, however it seems a lot of what we do is both
    wrong and not even nessecary.
    
    This was made apparent by what appeared to be a regression in the
    mainline kernel that started introducing suspend/resume issues for
    nouveau:
    
            a0c9259 (irq/matrix: Spread interrupts on allocation)
    
    After this commit was introduced, we started getting interrupts from the
    GPU before we actually re-allocated our own IRQ (see references below)
    and assigned the IRQ handler. Investigating this turned out that the
    problem was not with the commit, but the fact that nouveau even
    free/allocates it's irqs before and after suspend/resume.
    
    For starters: drivers in the linux kernel haven't had to handle
    freeing/re-allocating their IRQs during suspend/resume cycles for quite
    a while now. Nouveau seems to be one of the few drivers left that still
    does this, despite the fact there's no reason we actually need to since
    disabling interrupts from the device side should be enough, as the
    kernel is already smart enough to know to disable host-side interrupts
    for us before going into suspend. Since we were tearing down our IRQs by
    hand however, that means there was a short period during resume where
    interrupts could be received before we re-allocated our IRQ which would
    lead to us getting an unhandled IRQ. Since we never handle said IRQ and
    re-arm the interrupt registers, this would cause us to miss all of the
    interrupts from the GPU and cause our init process to start timing out
    on anything requiring interrupts.
    
    So, since this whole setup/teardown every suspend/resume cycle is
    useless anyway, move irq setup/teardown into the pci subdev's ctor/dtor
    functions instead so they're only called at driver load and driver
    unload. This should fix most of the issues with pending interrupts on
    resume, along with getting suspend/resume for nouveau to work again.
    
    As well, this probably means we can also just remove the msi rearm call
    inside nvkm_pci_init(). But since our main focus here is to fix
    suspend/resume before 4.15, we'll save that for a later patch.
    
    Signed-off-by: Lyude Paul <lyude@redhat.com>
    Cc: Karol Herbst <kherbst@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: stable@vger.kernel.org
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Lyude authored and Ben Skeggs committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    0fd189a View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2018

  1. orangefs: fix deadlock; do not write i_size in read_iter

    After do_readv_writev, the inode cache is invalidated anyway, so i_size
    will never be read.  It will be fetched from the server which will also
    know about updates from other machines.
    
    Fixes deadlock on 32-bit SMP.
    
    See https://marc.info/?l=linux-fsdevel&m=151268557427760&w=2
    
    Signed-off-by: Martin Brandenburg <martin@omnibond.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Mike Marshall <hubcap@omnibond.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Martin Brandenburg authored and torvalds committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    6793f1c View commit details
    Browse the repository at this point in the history
  2. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/dtor/input
    
    Pull input fixes from Dmitry Torokhov:
     "The main item is that we try to better handle the newer trackpoints on
      Lenovo devices that are now being produced by Elan/ALPS/NXP and only
      implement a small subset of the original IBM trackpoint controls"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Revert "Input: synaptics_rmi4 - use devm_device_add_group() for attributes in F01"
      Input: trackpoint - only expose supported controls for Elan, ALPS and NXP
      Input: trackpoint - force 3 buttons if 0 button is reported
      Input: xpad - add support for PDP Xbox One controllers
      Input: stmfts,s6sy671 - add SPDX identifier
    torvalds committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    993ca20 View commit details
    Browse the repository at this point in the history
  3. r8169: fix memory corruption on retrieval of hardware statistics.

    Hardware statistics retrieval hurts in tight invocation loops.
    
    Avoid extraneous write and enforce strict ordering of writes targeted to
    the tally counters dump area address registers.
    
    Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
    Tested-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Francois Romieu authored and davem330 committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    a78e936 View commit details
    Browse the repository at this point in the history
  4. net: vrf: Add support for sends to local broadcast address

    Sukumar reported that sends to the local broadcast address
    (255.255.255.255) are broken. Check for the address in vrf driver
    and do not redirect to the VRF device - similar to multicast
    packets.
    
    With this change sockets can use SO_BINDTODEVICE to specify an
    egress interface and receive responses. Note: the egress interface
    can not be a VRF device but needs to be the enslaved device.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=198521
    
    Reported-by: Sukumar Gopalakrishnan <sukumarg1973@gmail.com>
    Signed-off-by: David Ahern <dsahern@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    dsahern authored and davem330 committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    1e19c4d View commit details
    Browse the repository at this point in the history
  5. Merge branch 'linux-4.15' of git://github.com/skeggsb/linux into drm-…

    …fixes
    
    Single irq regression fix
    * 'linux-4.15' of git://github.com/skeggsb/linux:
      drm/nouveau: Move irq setup/teardown to pci ctor/dtor
    airlied committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    baa35cc View commit details
    Browse the repository at this point in the history
  6. nvme-pci: introduce RECONNECTING state to mark initializing procedure

    After Sagi's commit (nvme-rdma: fix concurrent reset and reconnect),
    both nvme-fc/rdma have following pattern:
    RESETTING    - quiesce blk-mq queues, teardown and delete queues/
                   connections, clear out outstanding IO requests...
    RECONNECTING - establish new queues/connections and some other
                   initializing things.
    Introduce RECONNECTING to nvme-pci transport to do the same mark.
    Then we get a coherent state definition among nvme pci/rdma/fc
    transports.
    
    Suggested-by: James Smart <james.smart@broadcom.com>
    Reviewed-by: James Smart <james.smart@broadcom.com>
    Reviewed-by: Reviewed-by: Keith Busch <keith.busch@intel.com>
    Signed-off-by: Jianchao Wang <jianchao.w.wang@oracle.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Jianchao Wang authored and Christoph Hellwig committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    ad70062 View commit details
    Browse the repository at this point in the history
  7. nvme: add tracepoint for nvme_setup_cmd

    Add tracepoints for nvme_setup_cmd() for tracing admin and/or nvm commands.
    
    Examples of the two tracepoints are as follows for trace_nvme_setup_admin_cmd():
    kworker/u8:0-5     [003] ....     2.998792: nvme_setup_admin_cmd: cmdid=14, flags=0x0, meta=0x0, cmd=(nvme_admin_create_cq cqid=1, qsize=1023, cq_flags=0x3, irq_vector=0)
    
    and trace_nvme_setup_nvm_cmd():
    dd-205   [001] ....     3.503929: nvme_setup_nvm_cmd: qid=1, nsid=1, cmdid=989, flags=0x0, meta=0x0, cmd=(nvme_cmd_read slba=4096, len=2047, ctrl=0x0, dsmgmt=0, reftag=0)
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Reviewed-by: Hannes Reinecke <hare@suse.de>
    Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
    Reviewed-by: Keith Busch <keith.busch@intel.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Johannes Thumshirn authored and Christoph Hellwig committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    3d030e4 View commit details
    Browse the repository at this point in the history
  8. nvme: add tracepoint for nvme_complete_rq

    Add a tracepoint in nvme_complete_rq() for completions of NVMe commands. An
    expmale output of the trace-point is as follows:
    
    <idle>-0     [001] d.h.     3.505266: nvme_complete_rq: cmdid=989, qid=1, res=0, retries=0, flags=0x0, status=0
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
    Reviewed-by: Keith Busch <keith.busch@intel.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Johannes Thumshirn authored and Christoph Hellwig committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    ca5554a View commit details
    Browse the repository at this point in the history
  9. spi: orion: Fix a resource leak if the optional "axi" clk is deferred

    If the optional "axi" clk is deferred, we still need to undo some
    initialisation. Especially 'master' must be released. It will be
    reallocated the next time 'orion_spi_probe()' is called.
    
    Add a new label to clean what needs to be cleaned and rename another
    label to improve the names used.
    
    Fixes: 92ae112 ("spi: orion: Fix clock resource by adding an optional bus clock")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    tititiou36 authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    479c03a View commit details
    Browse the repository at this point in the history
  10. module/retpoline: Warn about missing retpoline in module

    There's a risk that a kernel which has full retpoline mitigations becomes
    vulnerable when a module gets loaded that hasn't been compiled with the
    right compiler or the right option.
    
    To enable detection of that mismatch at module load time, add a module info
    string "retpoline" at build time when the module was compiled with
    retpoline support. This only covers compiled C source, but assembler source
    or prebuilt object files are not checked.
    
    If a retpoline enabled kernel detects a non retpoline protected module at
    load time, print a warning and report it in the sysfs vulnerability file.
    
    [ tglx: Massaged changelog ]
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: gregkh@linuxfoundation.org
    Cc: torvalds@linux-foundation.org
    Cc: jeyu@kernel.org
    Cc: arjan@linux.intel.com
    Link: https://lkml.kernel.org/r/20180125235028.31211-1-andi@firstfloor.org
    Andi Kleen authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    caf7501 View commit details
    Browse the repository at this point in the history
  11. regulator: added support for suspend states

    Some systems need to set regulators to specific states when they enter
    low power modes, especially around CPUs. There are many of these modes
    depending on the particular runtime state.
    
    Currently the regulator consumers are not granted permission to change
    suspend state of regulator devices, the constraints are configured at
    startup.  In order to allow changes in a vlotage range, we need to add
    new properties for voltage range and a flag to give permission to
    change the suspend voltage and suspend on/off in suspend mode.
    
    Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Chunyan Zhang authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    057c764 View commit details
    Browse the repository at this point in the history
  12. regulator: make regulator voltage be an array to support more states

    Some regulator consumers would like to make the regulator device
    keeping a voltage range output when the system entering into
    suspend states.
    
    Making regulator voltage be an array can allow consumers to set voltage
    for normal state as well as for suspend states through the same code.
    
    Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Chunyan Zhang authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    c360a6d View commit details
    Browse the repository at this point in the history
  13. regulator: leave one item to record whether regulator is enabled

    The items "disabled" and "enabled" are a little redundant, since only one
    of them would be set to record if the regulator device should keep on
    or be switched to off in suspend states.
    
    So in this patch, the "disabled" was removed, only leave the "enabled":
      - enabled == 1 for regulator-on-in-suspend
      - enabled == 0 for regulator-off-in-suspend
      - enabled == -1 means do nothing when entering suspend mode.
    
    Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Chunyan Zhang authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    72069f9 View commit details
    Browse the repository at this point in the history
  14. regulator: empty the old suspend functions

    Regualtor suspend/resume functions should only be called by PM suspend
    core via registering dev_pm_ops, and regulator devices should implement
    the callback functions.  Thus, any regulator consumer shouldn't call
    the regulator suspend/resume functions directly.
    
    In order to avoid compile errors, two empty functions with the same name
    still be left for the time being.
    
    Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Chunyan Zhang authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    aa27bbc View commit details
    Browse the repository at this point in the history
  15. regulator: add PM suspend and resume hooks

    In this patch, consumers are allowed to set suspend voltage, and this
    actually just set the "uV" in constraint::regulator_state, when the
    regulator_suspend_late() was called by PM core through callback when
    the system is entering into suspend, the regulator device would act
    suspend activity then.
    
    And it assumes that if any consumer set suspend voltage, the regulator
    device should be enabled in the suspend state.  And if the suspend
    voltage of a regulator device for all consumers was set zero, the
    regulator device would be off in the suspend state.
    
    This patch also provides a new function hook to regulator devices for
    resuming from suspend states.
    
    Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Chunyan Zhang authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    f7efad1 View commit details
    Browse the repository at this point in the history
  16. spi: dw: Remove unused members from struct chip_data

    Local struct chip_data has two members that are not used:
    
    - cs. Looks like was never used
    - enable_dma. Became unused by the commit f89a6d8 ("spi: dw-mid: move
      to use core SPI DMA mappings").
    
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jhnikula authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    993181e View commit details
    Browse the repository at this point in the history
  17. x86/cpufeatures: Add CPUID_7_EDX CPUID leaf

    This is a pure feature bits leaf. There are two AVX512 feature bits in it
    already which were handled as scattered bits, and three more from this leaf
    are going to be added for speculation control features.
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviewed-by: Borislav Petkov <bp@suse.de>
    Cc: gnomes@lxorguk.ukuu.org.uk
    Cc: ak@linux.intel.com
    Cc: ashok.raj@intel.com
    Cc: dave.hansen@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1516896855-7642-2-git-send-email-dwmw@amazon.co.uk
    dwmw2 authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    95ca0ee View commit details
    Browse the repository at this point in the history
  18. x86/cpufeatures: Add Intel feature bits for Speculation Control

    Add three feature bits exposed by new microcode on Intel CPUs for
    speculation control.
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviewed-by: Borislav Petkov <bp@suse.de>
    Cc: gnomes@lxorguk.ukuu.org.uk
    Cc: ak@linux.intel.com
    Cc: ashok.raj@intel.com
    Cc: dave.hansen@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1516896855-7642-3-git-send-email-dwmw@amazon.co.uk
    dwmw2 authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    fc67dd7 View commit details
    Browse the repository at this point in the history
  19. x86/cpufeatures: Add AMD feature bits for Speculation Control

    AMD exposes the PRED_CMD/SPEC_CTRL MSRs slightly differently to Intel.
    See http://lkml.kernel.org/r/2b3e25cc-286d-8bd0-aeaf-9ac4aae39de8@amd.com
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Cc: gnomes@lxorguk.ukuu.org.uk
    Cc: ak@linux.intel.com
    Cc: ashok.raj@intel.com
    Cc: dave.hansen@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1516896855-7642-4-git-send-email-dwmw@amazon.co.uk
    dwmw2 authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    5d10cbc View commit details
    Browse the repository at this point in the history
  20. x86/msr: Add definitions for new speculation control MSRs

    Add MSR and bit definitions for SPEC_CTRL, PRED_CMD and ARCH_CAPABILITIES.
    
    See Intel's 336996-Speculative-Execution-Side-Channel-Mitigations.pdf
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: gnomes@lxorguk.ukuu.org.uk
    Cc: ak@linux.intel.com
    Cc: ashok.raj@intel.com
    Cc: dave.hansen@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1516896855-7642-5-git-send-email-dwmw@amazon.co.uk
    dwmw2 authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    1e340c6 View commit details
    Browse the repository at this point in the history
  21. x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown

    Also, for CPUs which don't speculate at all, don't report that they're
    vulnerable to the Spectre variants either.
    
    Leave the cpu_no_meltdown[] match table with just X86_VENDOR_AMD in it
    for now, even though that could be done with a simple comparison, on the
    assumption that we'll have more to add.
    
    Based on suggestions from Dave Hansen and Alan Cox.
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviewed-by: Borislav Petkov <bp@suse.de>
    Acked-by: Dave Hansen <dave.hansen@intel.com>
    Cc: gnomes@lxorguk.ukuu.org.uk
    Cc: ak@linux.intel.com
    Cc: ashok.raj@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1516896855-7642-6-git-send-email-dwmw@amazon.co.uk
    dwmw2 authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    fec9434 View commit details
    Browse the repository at this point in the history
  22. x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 micr…

    …ocodes
    
    This doesn't refuse to load the affected microcodes; it just refuses to
    use the Spectre v2 mitigation features if they're detected, by clearing
    the appropriate feature bits.
    
    The AMD CPUID bits are handled here too, because hypervisors *may* have
    been exposing those bits even on Intel chips, for fine-grained control
    of what's available.
    
    It is non-trivial to use x86_match_cpu() for this table because that
    doesn't handle steppings. And the approach taken in commit bd9240a
    almost made me lose my lunch.
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: gnomes@lxorguk.ukuu.org.uk
    Cc: ak@linux.intel.com
    Cc: ashok.raj@intel.com
    Cc: dave.hansen@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1516896855-7642-7-git-send-email-dwmw@amazon.co.uk
    dwmw2 authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    a5b2966 View commit details
    Browse the repository at this point in the history
  23. x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) …

    …support
    
    Expose indirect_branch_prediction_barrier() for use in subsequent patches.
    
    [ tglx: Add IBPB status to spectre_v2 sysfs file ]
    
    Co-developed-by: KarimAllah Ahmed <karahmed@amazon.de>
    Signed-off-by: KarimAllah Ahmed <karahmed@amazon.de>
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Cc: gnomes@lxorguk.ukuu.org.uk
    Cc: ak@linux.intel.com
    Cc: ashok.raj@intel.com
    Cc: dave.hansen@intel.com
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1516896855-7642-8-git-send-email-dwmw@amazon.co.uk
    dwmw2 authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    20ffa1c View commit details
    Browse the repository at this point in the history
  24. x86/alternative: Print unadorned pointers

    After commit ad67b74 ("printk: hash addresses printed with %p")
    pointers are being hashed when printed. However, this makes the alternative
    debug output completely useless. Switch to %px in order to see the
    unadorned kernel pointers.
    
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: riel@redhat.com
    Cc: ak@linux.intel.com
    Cc: peterz@infradead.org
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: jikos@kernel.org
    Cc: luto@amacapital.net
    Cc: dave.hansen@intel.com
    Cc: torvalds@linux-foundation.org
    Cc: keescook@google.com
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Cc: pjt@google.com
    Link: https://lkml.kernel.org/r/20180126121139.31959-2-bp@alien8.de
    suryasaimadhu authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    0e6c16c View commit details
    Browse the repository at this point in the history
  25. x86/nospec: Fix header guards names

    ... to adhere to the _ASM_X86_ naming scheme.
    
    No functional change.
    
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: riel@redhat.com
    Cc: ak@linux.intel.com
    Cc: peterz@infradead.org
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: jikos@kernel.org
    Cc: luto@amacapital.net
    Cc: dave.hansen@intel.com
    Cc: torvalds@linux-foundation.org
    Cc: keescook@google.com
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Cc: pjt@google.com
    Link: https://lkml.kernel.org/r/20180126121139.31959-3-bp@alien8.de
    suryasaimadhu authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    7a32fc5 View commit details
    Browse the repository at this point in the history
  26. x86/bugs: Drop one "mitigation" from dmesg

    Make
    
    [    0.031118] Spectre V2 mitigation: Mitigation: Full generic retpoline
    
    into
    
    [    0.031118] Spectre V2: Mitigation: Full generic retpoline
    
    to reduce the mitigation mitigations strings.
    
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: riel@redhat.com
    Cc: ak@linux.intel.com
    Cc: peterz@infradead.org
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: jikos@kernel.org
    Cc: luto@amacapital.net
    Cc: dave.hansen@intel.com
    Cc: torvalds@linux-foundation.org
    Cc: keescook@google.com
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: tim.c.chen@linux.intel.com
    Cc: pjt@google.com
    Link: https://lkml.kernel.org/r/20180126121139.31959-5-bp@alien8.de
    suryasaimadhu authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    55fa19d View commit details
    Browse the repository at this point in the history
  27. x86/mm/64: Fix vmapped stack syncing on very-large-memory 4-level sys…

    …tems
    
    Neil Berrington reported a double-fault on a VM with 768GB of RAM that uses
    large amounts of vmalloc space with PTI enabled.
    
    The cause is that load_new_mm_cr3() was never fixed to take the 5-level pgd
    folding code into account, so, on a 4-level kernel, the pgd synchronization
    logic compiles away to exactly nothing.
    
    Interestingly, the problem doesn't trigger with nopti.  I assume this is
    because the kernel is mapped with global pages if we boot with nopti.  The
    sequence of operations when we create a new task is that we first load its
    mm while still running on the old stack (which crashes if the old stack is
    unmapped in the new mm unless the TLB saves us), then we call
    prepare_switch_to(), and then we switch to the new stack.
    prepare_switch_to() pokes the new stack directly, which will populate the
    mapping through vmalloc_fault().  I assume that we're getting lucky on
    non-PTI systems -- the old stack's TLB entry stays alive long enough to
    make it all the way through prepare_switch_to() and switch_to() so that we
    make it to a valid stack.
    
    Fixes: b50858c ("x86/mm/vmalloc: Add 5-level paging support")
    Reported-and-tested-by: Neil Berrington <neil.berrington@datacore.com>
    Signed-off-by: Andy Lutomirski <luto@kernel.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
    Cc: stable@vger.kernel.org
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Link: https://lkml.kernel.org/r/346541c56caed61abbe693d7d2742b4a380c5001.1516914529.git.luto@kernel.org
    amluto authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    5beda7d View commit details
    Browse the repository at this point in the history
  28. x86/mm/64: Tighten up vmalloc_fault() sanity checks on 5-level kernels

    On a 5-level kernel, if a non-init mm has a top-level entry, it needs to
    match init_mm's, but the vmalloc_fault() code skipped over the BUG_ON()
    that would have checked it.
    
    While we're at it, get rid of the rather confusing 4-level folded "pgd"
    logic.
    
    Cleans-up: b50858c ("x86/mm/vmalloc: Add 5-level paging support")
    Signed-off-by: Andy Lutomirski <luto@kernel.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Neil Berrington <neil.berrington@datacore.com>
    Link: https://lkml.kernel.org/r/2ae598f8c279b0a29baf75df207e6f2fdddc0a1b.1516914529.git.luto@kernel.org
    amluto authored and KAGA-KOKO committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    36b3a77 View commit details
    Browse the repository at this point in the history
  29. regulator: core: Move of_find_regulator_by_node() to of_regulator.c

    As of_find_regulator_by_node() is an of function it should be moved from
    core.c to of_regulator.c. It provides better separation of device tree
    functions from the core and allows other of_functions in of_regulator.c
    to resolve device_node to regulator_dev. This will be useful for
    implementation of parsing coupled regulators properties.
    
    Declare of_find_regulator_by_node() function in internal.h as well as
    regulator_class and dev_to_rdev(), as they are needed by
    of_find_regulator_by_node().
    
    Signed-off-by: Maciej Purski <m.purski@samsung.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Maciej Purski authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    148096a View commit details
    Browse the repository at this point in the history
  30. regulator: core: Refactor regulator_list_voltage()

    Change _regulator_list_voltage() argument from regulator to
    regulator_dev in order to provide better separation of core layers.
    Allow calling _regulator_list_voltage() from functions, with
    regulator_dev argument. This refactoring is needed in order to
    implement setting voltage of coupled regulators.
    
    Signed-off-by: Maciej Purski <m.purski@samsung.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Maciej Purski authored and broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    3d67fe9 View commit details
    Browse the repository at this point in the history
  31. Update the RISC-V MAINTAINERS file

    Now that we're upstream in Linux we've been able to make some
    infrastructure changes so our port works a bit more like other ports.
    Specifically:
    
    * We now have a mailing list specific to the RISC-V Linux port, hosted
      at lists.infreadead.org.
    * We now have a kernel.org git tree where work on our port is
      coordinated.
    
    This patch changes the RISC-V maintainers entry to reflect these new
    bits of infrastructure.
    
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
    palmer-dabbelt committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    6572cc2 View commit details
    Browse the repository at this point in the history
  32. dccp: don't restart ccid2_hc_tx_rto_expire() if sk in closed state

    ccid2_hc_tx_rto_expire() timer callback always restarts the timer
    again and can run indefinitely (unless it is stopped outside), and after
    commit 120e9da ("dccp: defer ccid_hc_tx_delete() at dismantle time"),
    which moved ccid_hc_tx_delete() (also includes sk_stop_timer()) from
    dccp_destroy_sock() to sk_destruct(), this started to happen quite often.
    The timer prevents releasing the socket, as a result, sk_destruct() won't
    be called.
    
    Found with LTP/dccp_ipsec tests running on the bonding device,
    which later couldn't be unloaded after the tests were completed:
    
      unregister_netdevice: waiting for bond0 to become free. Usage count = 148
    
    Fixes: 2a91aa3 ("[DCCP] CCID2: Initial CCID2 (TCP-Like) implementation")
    Signed-off-by: Alexey Kodanev <alexey.kodanev@oracle.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    akodanev authored and davem330 committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    dd5684e View commit details
    Browse the repository at this point in the history
  33. VSOCK: set POLLOUT | POLLWRNORM for TCP_CLOSING

    select(2) with wfds but no rfds must return when the socket is shut down
    by the peer.  This way userspace notices socket activity and gets -EPIPE
    from the next write(2).
    
    Currently select(2) does not return for virtio-vsock when a SEND+RCV
    shutdown packet is received.  This is because vsock_poll() only sets
    POLLOUT | POLLWRNORM for TCP_CLOSE, not the TCP_CLOSING state that the
    socket is in when the shutdown is received.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    stefanhaRH authored and davem330 committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    ba3169f View commit details
    Browse the repository at this point in the history
  34. Merge tag 'drm-fixes-for-v4.15-rc10-2' of git://people.freedesktop.or…

    …g/~airlied/linux
    
    Pull drm fixes from Dave Airlie:
     "A fairly urgent nouveau regression fix for broken irqs across
      suspend/resume came in. This was broken before but a patch in 4.15 has
      made it much more obviously broken and now s/r fails a lot more often.
    
      The fix removes freeing the irq across s/r which never should have
      been done anyways.
    
      Also two vc4 fixes for a NULL deference and some misrendering /
      flickering on screen"
    
    * tag 'drm-fixes-for-v4.15-rc10-2' of git://people.freedesktop.org/~airlied/linux:
      drm/nouveau: Move irq setup/teardown to pci ctor/dtor
      drm/vc4: Fix NULL pointer dereference in vc4_save_hang_state()
      drm/vc4: Flush the caches before the bin jobs, as well.
    torvalds committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    db21854 View commit details
    Browse the repository at this point in the history
  35. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
    
     1) The per-network-namespace loopback device, and thus its namespace,
        can have its teardown deferred for a long time if a kernel created
        TCP socket closes and the namespace is exiting meanwhile. The kernel
        keeps trying to finish the close sequence until it times out (which
        takes quite some time).
    
        Fix this by forcing the socket closed in this situation, from Dan
        Streetman.
    
     2) Fix regression where we're trying to invoke the update_pmtu method
        on route types (in this case metadata tunnel routes) that don't
        implement the dst_ops method. Fix from Nicolas Dichtel.
    
     3) Fix long standing memory corruption issues in r8169 driver by
        performing the chip statistics DMA programming more correctly. From
        Francois Romieu.
    
     4) Handle local broadcast sends over VRF routes properly, from David
        Ahern.
    
     5) Don't refire the DCCP CCID2 timer endlessly, otherwise the socket
        can never be released. From Alexey Kodanev.
    
     6) Set poll flags properly in VSOCK protocol layer, from Stefan
        Hajnoczi.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
      VSOCK: set POLLOUT | POLLWRNORM for TCP_CLOSING
      dccp: don't restart ccid2_hc_tx_rto_expire() if sk in closed state
      net: vrf: Add support for sends to local broadcast address
      r8169: fix memory corruption on retrieval of hardware statistics.
      net: don't call update_pmtu unconditionally
      net: tcp: close sock if net namespace is exiting
    torvalds committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    ba804bb View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    285c22d View commit details
    Browse the repository at this point in the history
  37. regulator: Fix build error

    3d67fe9 (regulator: core: Refactor regulator_list_voltage()) missed
    one user of regulator_list_voltage(), update for that.
    
    Signed-off-by: Mark Brown <broonie@kernel.org>
    broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    00cb9f4 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    73d8003 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    2755646 View commit details
    Browse the repository at this point in the history
  40. Merge remote-tracking branches 'regulator/topic/doc' and 'regulator/t…

    …opic/sc2731' into regulator-next
    broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    cf1ba3b View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    4e79f3f View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    7a4e28a View commit details
    Browse the repository at this point in the history
  43. Merge remote-tracking branches 'spi/topic/a3700', 'spi/topic/atmel', …

    …'spi/topic/bcm53xx', 'spi/topic/davinci' and 'spi/topic/dw' into spi-next
    broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    ae324b2 View commit details
    Browse the repository at this point in the history
  44. Merge remote-tracking branches 'spi/topic/fsl-dspi', 'spi/topic/imx',…

    … 'spi/topic/jcore', 'spi/topic/meson' and 'spi/topic/orion' into spi-next
    broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    33c58c1 View commit details
    Browse the repository at this point in the history
  45. Merge remote-tracking branches 'spi/topic/pxa2xx', 'spi/topic/s3c64xx…

    …', 'spi/topic/sh-msiof', 'spi/topic/sirf' and 'spi/topic/sun6i' into spi-next
    broonie committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    977b06d View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    35a8f1a View commit details
    Browse the repository at this point in the history
  47. Merge branch 'nvme-4.16' of git://git.infradead.org/nvme into for-4.1…

    …6/block
    
    Pull NVMe fixes from Christoph:
    
    "The additional week before the 4.15 release gave us time for a few more
    nvme fixes, as well as the nifty trace points from Johannes"
    
    * 'nvme-4.16' of git://git.infradead.org/nvme:
      nvme: add tracepoint for nvme_complete_rq
      nvme: add tracepoint for nvme_setup_cmd
      nvme-pci: introduce RECONNECTING state to mark initializing procedure
      nvme-rdma: remove redundant boolean for inline_data
      nvme: don't free uuid pointer before printing it
      nvme-pci: Suspend queues after deleting them
      nvme-pci: Fix queue double allocations
    axboe committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    b16791d View commit details
    Browse the repository at this point in the history
  48. arm64: Fix TTBR + PAN + 52-bit PA logic in cpu_do_switch_mm

    In cpu_do_switch_mm(.) with ARM64_SW_TTBR0_PAN=y we apply phys_to_ttbr
    to a value that already has an ASID inserted into the upper bits. For
    52-bit PA configurations this then can give us TTBR0_EL1 registers that
    cause translation table walks to attempt to access non-zero PA[51:48]
    spuriously. Ultimately leading to a Synchronous External Abort on level
    1 translation.
    
    This patch re-arranges the logic in cpu_do_switch_mm(.) such that
    phys_to_ttbr is called before the ASID is inserted into the TTBR0 value.
    
    Fixes: 6b88a32 ("arm64: kpti: Fix the interaction between ASID switching and software PAN")
    Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Tested-by: Kristina Martsenko <kristina.martsenko@arm.com>
    Reviewed-by: Kristina Martsenko <kristina.martsenko@arm.com>
    Signed-off-by: Steve Capper <steve.capper@arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    stevecapperarm authored and ctmarinas committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    ec89ab5 View commit details
    Browse the repository at this point in the history
  49. block: remove smart1,2.h

    smart1,2.h is unused since commit d436641 ("cpqarray: remove it from the kernel")
    Remove it from tree.
    
    Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    montjoie authored and axboe committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    796baee View commit details
    Browse the repository at this point in the history
  50. CIFS: make IPC a regular tcon

    * Remove ses->ipc_tid.
    * Make IPC$ regular tcon.
    * Add a direct pointer to it in ses->tcon_ipc.
    * Distinguish PIPE tcon from IPC tcon by adding a tcon->pipe flag. All
      IPC tcons are pipes but not all pipes are IPC.
    * All TreeConnect functions now cannot take a NULL tcon object.
    
    The IPC tcon has the same lifetime as the session it belongs to. It is
    created when the session is created and destroyed when the session is
    destroyed.
    
    Since no mounts directly refer to the IPC tcon, its refcount should
    always be set to initialisation value (1). Thus we make sure
    cifs_put_tcon() skips it.
    
    If the mount request resulting in a new session being created requires
    encryption, try to require it too for IPC.
    
    * set SERVER_NAME_LENGTH to serverName actual size
    
    The maximum length of an ipv6 string representation is defined in
    INET6_ADDRSTRLEN as 45+1 for null but lets keep what we know works.
    
    Signed-off-by: Aurelien Aptel <aaptel@suse.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    aaptel authored and smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    b327a71 View commit details
    Browse the repository at this point in the history
  51. CIFS: use tcon_ipc instead of use_ipc parameter of SMB2_ioctl

    Since IPC now has a tcon object, the caller can just pass it. This
    allows domain-based DFS requests to work with smb2+.
    
    Link: https://bugzilla.samba.org/show_bug.cgi?id=12917
    Fixes: 9d49640 ("CIFS: implement get_dfs_refer for SMB2+")
    Signed-off-by: Aurelien Aptel <aaptel@suse.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    aaptel authored and smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    63a83b8 View commit details
    Browse the repository at this point in the history
  52. CIFS: dump IPC tcon in debug proc file

    dump it as first share with an "IPC: " prefix.
    
    Signed-off-by: Aurelien Aptel <aaptel@suse.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    aaptel authored and smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    02cf590 View commit details
    Browse the repository at this point in the history
  53. Cleanup some minor endian issues in smb3 rdma

    Minor cleanup of some sparse warnings (including a few misc
    endian fixes for the new smb3 rdma code)
    
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    2026b06 View commit details
    Browse the repository at this point in the history
  54. CIFS: zero sensitive data when freeing

    also replaces memset()+kfree() by kzfree().
    
    Signed-off-by: Aurelien Aptel <aaptel@suse.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Cc: <stable@vger.kernel.org>
    aaptel authored and smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    97f4b72 View commit details
    Browse the repository at this point in the history
  55. move a few externs to smbdirect.h to eliminate warning

    Quiet minor sparse warnings in new SMB3 rdma patch series
    ("symbol was not declared ...") by moving these externs to smbdirect.h
    
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    6b31471 View commit details
    Browse the repository at this point in the history
  56. CIFS: document tcon/ses/server refcount dance

    Signed-off-by: Aurelien Aptel <aaptel@suse.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    aaptel authored and smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    4a1360d View commit details
    Browse the repository at this point in the history
  57. cifs: add .splice_write

    add splice_write support in cifs vfs using iter_file_splice_write
    
    Signed-off-by: Andrés Souto <kai670@gmail.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    andsouto authored and smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    cd1aca2 View commit details
    Browse the repository at this point in the history
  58. update internal version number for cifs.ko

    To version 2.11
    
    Signed-off-by: Steve French <smfrench@gmail.com>
    smfrench committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    ab2c643 View commit details
    Browse the repository at this point in the history
  59. Merge tag 'riscv-for-linus-4.15-maintainers' of git://git.kernel.org/…

    …pub/scm/linux/kernel/git/palmer/riscv-linux
    
    Pull RISC-V update from Palmer Dabbelt:
     "RISC-V: We have a new mailing list and git repo!
    
      Sorry to send something essentially as late as possible (Friday after
      an rc9), but we managed to get a mailing list for the RISC-V Linux
      port. We've been using patches@groups.riscv.org for a while, but that
      list has some problems (it's Google Groups and it's shared over all
      RISC-V software projects). The new infaread.org list is much better.
      We just got it on Wednesday but I used it a bit on Thursday to shake
      out all the configuration problems and it appears to be in working
      order.
    
      When I updated the mailing list I noticed that the MAINTAINERS file
      was pointing to our github repo, but now that we have a kernel.org
      repo I'd like to point to that instead so I changed that as well.
      We'll be centralizing all RISC-V Linux related development here as
      that seems to be the saner way to go about it.
    
      I can understand if it's too late to get this into 4.15, but given
      that it's not a code change I was hoping it'd still be OK. It would be
      nice to have the new mailing list and git repo in the release tarballs
      so when people start to find bugs they'll get to the right place"
    
    * tag 'riscv-for-linus-4.15-maintainers' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
      Update the RISC-V MAINTAINERS file
    torvalds committed Jan 26, 2018
    Configuration menu
    Copy the full SHA
    c4e0ca7 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2018

  1. x86: Mark hpa as a "Designated Reviewer" for the time being

    Due to some unfortunate events, I have not been directly involved in
    the x86 kernel patch flow for a while now.  I have also not been able
    to ramp back up by now like I had hoped to, and after reviewing what I
    will need to work on both internally at Intel and elsewhere in the near
    term, it is clear that I am not going to be able to ramp back up until
    late 2018 at the very earliest.
    
    It is not acceptable to not recognize that this load is currently
    taken by Ingo and Thomas without my direct participation, so I mark
    myself as R: (designated reviewer) rather than M: (maintainer) until
    further notice.  This is in fact recognizing the de facto situation
    for the past few years.
    
    I have obviously no intention of going away, and I will do everything
    within my power to improve Linux on x86 and x86 for Linux.  This,
    however, puts credit where it is due and reflects a change of focus.
    
    This patch also removes stale entries for portions of the x86
    architecture which have not been maintained separately from arch/x86
    for a long time.  If there is a reason to re-introduce them then that
    can happen later.
    
    Signed-off-by: H. Peter Anvin <h.peter.anvin@intel.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Bruce Schlobohm <bruce.schlobohm@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20180125195934.5253-1-hpa@zytor.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    H. Peter Anvin authored and Ingo Molnar committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    8a95b74 View commit details
    Browse the repository at this point in the history
  2. hrtimer: Reset hrtimer cpu base proper on CPU hotplug

    The hrtimer interrupt code contains a hang detection and mitigation
    mechanism, which prevents that a long delayed hrtimer interrupt causes a
    continous retriggering of interrupts which prevent the system from making
    progress. If a hang is detected then the timer hardware is programmed with
    a certain delay into the future and a flag is set in the hrtimer cpu base
    which prevents newly enqueued timers from reprogramming the timer hardware
    prior to the chosen delay. The subsequent hrtimer interrupt after the delay
    clears the flag and resumes normal operation.
    
    If such a hang happens in the last hrtimer interrupt before a CPU is
    unplugged then the hang_detected flag is set and stays that way when the
    CPU is plugged in again. At that point the timer hardware is not armed and
    it cannot be armed because the hang_detected flag is still active, so
    nothing clears that flag. As a consequence the CPU does not receive hrtimer
    interrupts and no timers expire on that CPU which results in RCU stalls and
    other malfunctions.
    
    Clear the flag along with some other less critical members of the hrtimer
    cpu base to ensure starting from a clean state when a CPU is plugged in.
    
    Thanks to Paul, Sebastian and Anna-Maria for their help to get down to the
    root cause of that hard to reproduce heisenbug. Once understood it's
    trivial and certainly justifies a brown paperbag.
    
    Fixes: 41d2e49 ("hrtimer: Tune hrtimer_interrupt hang logic")
    Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Sebastian Sewior <bigeasy@linutronix.de>
    Cc: Anna-Maria Gleixner <anna-maria@linutronix.de>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1801261447590.2067@nanos
    KAGA-KOKO committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    d5421ea View commit details
    Browse the repository at this point in the history
  3. Merge branch 'timers/urgent' into timers/core

    Pick up urgent bug fix and resolve the conflict.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    KAGA-KOKO committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    303c146 View commit details
    Browse the repository at this point in the history
  4. x86/cpu/bugs: Make retpoline module warning conditional

    If sysfs is disabled and RETPOLINE not defined:
    
    arch/x86/kernel/cpu/bugs.c:97:13: warning: ‘spectre_v2_bad_module’ defined but not used
    [-Wunused-variable]
     static bool spectre_v2_bad_module;
    
    Hide it.
    
    Fixes: caf7501 ("module/retpoline: Warn about missing retpoline in module")
    Reported-by: Borislav Petkov <bp@alien8.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: David Woodhouse <dwmw2@infradead.org>
    KAGA-KOKO committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    e383095 View commit details
    Browse the repository at this point in the history
  5. hwmon: (dell-smm) Enable broken functionality via "force" module param

    Some Dell machines are broken and some functionality is disabled. Show
    warning into dmesg about this fact and allow user via "force" module param
    to override brokenness and enable broken functionality.
    
    Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    pali authored and groeck committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    836ad11 View commit details
    Browse the repository at this point in the history
  6. hwmon: (dell-smm) Disable fan support for Dell Inspiron 7720

    Calling fan related SMM functions implemented by Dell BIOS firmware on Dell
    Inspiron 7720 freeze kernel for about 500ms. Until Dell fixes it we need to
    disable fan support for Dell Inspiron 7720 as it makes system unusable.
    
    Via "force" module param fan support can be enabled.
    
    Reported-by: vova7890@mail.ru
    Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=195751
    Cc: stable@vger.kernel.org # v4.0+, will need backport
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    pali authored and groeck committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    f480ea9 View commit details
    Browse the repository at this point in the history
  7. hwmon: (dell-smm) Disable fan support for Dell Vostro 3360

    Calling fan related SMM functions implemented by Dell BIOS firmware on Dell
    Vostro 3360 freeze kernel for about 500ms.
    
    Unfortunately, it is unlikely for Dell to fix this since the machine
    is pretty old, so this commit just disables fan support to make the
    system usable again.
    
    Via "force" module param fan support can be enabled.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=195751
    Link: http://lkml.iu.edu/hypermail/linux/kernel/1711.2/06083.html
    Reviewed-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    pfactum authored and groeck committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    6fbc423 View commit details
    Browse the repository at this point in the history
  8. x86/cpufeatures: Clean up Spectre v2 related CPUID flags

    We want to expose the hardware features simply in /proc/cpuinfo as "ibrs",
    "ibpb" and "stibp". Since AMD has separate CPUID bits for those, use them
    as the user-visible bits.
    
    When the Intel SPEC_CTRL bit is set which indicates both IBRS and IBPB
    capability, set those (AMD) bits accordingly. Likewise if the Intel STIBP
    bit is set, set the AMD STIBP that's used for the generic hardware
    capability.
    
    Hide the rest from /proc/cpuinfo by putting "" in the comments. Including
    RETPOLINE and RETPOLINE_AMD which shouldn't be visible there. There are
    patches to make the sysfs vulnerabilities information non-readable by
    non-root, and the same should apply to all information about which
    mitigations are actually in use. Those *shouldn't* appear in /proc/cpuinfo.
    
    The feature bit for whether IBPB is actually used, which is needed for
    ALTERNATIVEs, is renamed to X86_FEATURE_USE_IBPB.
    
    Originally-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: ak@linux.intel.com
    Cc: dave.hansen@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1517070274-12128-2-git-send-email-dwmw@amazon.co.uk
    dwmw2 authored and KAGA-KOKO committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    2961298 View commit details
    Browse the repository at this point in the history
  9. x86/retpoline: Simplify vmexit_fill_RSB()

    Simplify it to call an asm-function instead of pasting 41 insn bytes at
    every call site. Also, add alignment to the macro as suggested here:
    
      https://support.google.com/faqs/answer/7625886
    
    [dwmw2: Clean up comments, let it clobber %ebx and just tell the compiler]
    
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: ak@linux.intel.com
    Cc: dave.hansen@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1517070274-12128-3-git-send-email-dwmw@amazon.co.uk
    bp3tk0v authored and KAGA-KOKO committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    1dde741 View commit details
    Browse the repository at this point in the history
  10. x86/speculation: Simplify indirect_branch_prediction_barrier()

    Make it all a function which does the WRMSR instead of having a hairy
    inline asm.
    
    [dwmw2: export it, fix CONFIG_RETPOLINE issues]
    
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: ak@linux.intel.com
    Cc: dave.hansen@intel.com
    Cc: karahmed@amazon.de
    Cc: arjan@linux.intel.com
    Cc: torvalds@linux-foundation.org
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: pbonzini@redhat.com
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Link: https://lkml.kernel.org/r/1517070274-12128-4-git-send-email-dwmw@amazon.co.uk
    suryasaimadhu authored and KAGA-KOKO committed Jan 27, 2018
    Configuration menu
    Copy the full SHA
    64e1672 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2018

  1. x86/ftrace: Add one more ENDPROC annotation

    When ORC support was added for the ftrace_64.S code, an ENDPROC
    for function_hook() was missed. This results in the following warning:
    
      arch/x86/kernel/ftrace_64.o: warning: objtool: .entry.text+0x0: unreachable instruction
    
    Fixes: e2ac83d ("x86/ftrace: Fix ORC unwinding from ftrace handlers")
    Reported-by: Steven Rostedt <rostedt@goodmis.org>
    Reported-by: Borislav Petkov <bp@alien8.de>
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Ingo Molnar <mingo@kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: https://lkml.kernel.org/r/20180128022150.dqierscqmt3uwwsr@treble
    jpoimboe authored and KAGA-KOKO committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    dd08516 View commit details
    Browse the repository at this point in the history
  2. NFS: Remove a redundant call to unmap_mapping_range()

    We don't need to call unmap_mapping_range() prior to calling
    nfs_sync_mapping().
    
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    trondmypd committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    128159f View commit details
    Browse the repository at this point in the history
  3. fs/cifs/cifsacl.c Fixes typo in a comment

    Signed-off-by: Achilles Gaikwad <achillesgaikwad@gmail.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Achilles Gaikwad authored and smfrench committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    36c7ce4 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/tip/tip
    
    Pull locking fixes from Thomas Gleixner:
     "Two final locking fixes for 4.15:
    
       - Repair the OWNER_DIED logic in the futex code which got wreckaged
         with the recent fix for a subtle race condition.
    
       - Prevent the hard lockup detector from triggering when dumping all
         held locks in the system"
    
    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      locking/lockdep: Avoid triggering hardlockup from debug_show_all_locks()
      futex: Fix OWNER_DEAD fixup
    torvalds committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    8c76e31 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull perf fixes from Thomas Gleixner:
     "Four patches which all address lock inversions and deadlocks in the
      perf core code and the Intel debug store"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf/x86: Fix perf,x86,cpuhp deadlock
      perf/core: Fix ctx::mutex deadlock
      perf/core: Fix another perf,trace,cpuhp lock inversion
      perf/core: Fix lock inversion between perf,trace,cpuhp
    torvalds committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    39e3836 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull scheduler fix from Thomas Gleixner:
     "A single bug fix to prevent a subtle deadlock in the scheduler core
      code vs cpu hotplug"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/core: Fix cpu.max vs. cpuhotplug deadlock
    torvalds committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    6244419 View commit details
    Browse the repository at this point in the history
  7. Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/tip/tip
    
    Pull timer fix from Thomas Gleixner:
     "A single fix for a ~10 years old problem which causes high resolution
      timers to stop after a CPU unplug/plug cycle due to a stale flag in
      the per CPU hrtimer base struct.
    
      Paul McKenney was hunting this for about a year, but the heisenbug
      nature made it resistant against debug attempts for quite some time"
    
    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      hrtimer: Reset hrtimer cpu base proper on CPU hotplug
    torvalds committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    07b0137 View commit details
    Browse the repository at this point in the history
  8. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull x86 fixes from Thomas Gleixner:
     "A set of small fixes for 4.15:
    
       - Fix vmapped stack synchronization on systems with 4-level paging
         and a large amount of memory caused by a missing 5-level folding
         which made the pgd synchronization logic to fail and causing double
         faults.
    
       - Add a missing sanity check in the vmalloc_fault() logic on 5-level
         paging systems.
    
       - Bring back protection against accessing a freed initrd in the
         microcode loader which was lost by a wrong merge conflict
         resolution.
    
       - Extend the Broadwell micro code loading sanity check.
    
       - Add a missing ENDPROC annotation in ftrace assembly code which
         makes ORC unhappy.
    
       - Prevent loading the AMD power module on !AMD platforms. The load
         itself is uncritical, but an unload attempt results in a kernel
         crash.
    
       - Update Peter Anvins role in the MAINTAINERS file"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/ftrace: Add one more ENDPROC annotation
      x86: Mark hpa as a "Designated Reviewer" for the time being
      x86/mm/64: Tighten up vmalloc_fault() sanity checks on 5-level kernels
      x86/mm/64: Fix vmapped stack syncing on very-large-memory 4-level systems
      x86/microcode: Fix again accessing initrd after having been freed
      x86/microcode/intel: Extend BDW late-loading further with LLC size check
      perf/x86/amd/power: Do not load AMD power module on !AMD platforms
    torvalds committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    32c6cdf View commit details
    Browse the repository at this point in the history
  9. Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/tip/tip
    
    Pull x86 retpoline fixlet from Thomas Gleixner:
     "Remove the ESP/RSP thunks for retpoline as they cannot ever work.
    
      Get rid of them before they show up in a release"
    
    * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/retpoline: Remove the esp/rsp thunk
    torvalds committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    24b1ccc View commit details
    Browse the repository at this point in the history
  10. Merge tag 'perf-core-for-mingo-4.16-20180125' of git://git.kernel.org…

    …/pub/scm/linux/kernel/git/acme/linux into perf/core
    
    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
    
    - Introduce a errno code to string facility to allow tools such as
      'perf trace' to support multi-arch perf.data decoding/beautifying,
      uses errno header files copied from the kernel, this allows
      removing the need for audit-libs in arches generating its syscall
      tables from the kernel sources, so far x86 and s/390 (Hendrik Brueckner)
    
    - Intel-PT/BTS sample synthesizing fixes (Adrian Hunter)
    
    - Intel vendor event JSON updates for the Broadwell, BroadwellDE,
      BroadwellX, Goldmont, Haswell, HaswellX, IvyBridge, IvyBridge, IvyTown,
      IvyTown, Silvermont, Skylake and SkylakeX architectures. (Andi Kleen)
    
    - Use ui__error() to have --field error handling messages not to
      disappear due to TUI exit cleanup (Arnaldo Carvalho de Melo)
    
    - Don't warn about unavailability of builtin clang in 'perf trace', just
      continue fallbacking to using the external toolchain (Arnaldo Carvalho de Melo)
    
    - Move conditional O_CLOEXEC define to util.h to keep the build
      working on older distros where that is not available now that
      this define will be used in more source files (Arnaldo Carvalho de Melo)
    
    - Using O_CLOEXEC in do_open() to avoid having too many open files when
      using 'perf script' from the 'perf report' TUI scripts browser (Wang YanQing)
    
    - Add 'perf trace --print-sample' to help in debugging the printing
      of timestamp calculations, for instance (Arnaldo Carvalho de Melo)
    
    - Do not print from time delta for interrupted syscall lines in 'perf
      trace' (those ending with '...') just print the total syscall duration
      at raw_syscalls:sys_exit time (Arnaldo Carvalho de Melo)
    
    - Beautify FUTEX_BITSET_MATCH_ANY in the futex syscall in 'perf trace'
      (Arnaldo Carvalho de Melo)
    
    - Display EXTRA features for 'make VF=1' build (Jiri Olsa)
    
    - Add support for CoreSight trace decoding by making the perf tools
      use the external openCSD (Mathieu Poirier, Tor Jeremiassen)
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    e4c1091 View commit details
    Browse the repository at this point in the history
  11. Linux 4.15

    torvalds committed Jan 28, 2018
    Configuration menu
    Copy the full SHA
    d8a5b80 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2018

  1. NFS: Fix a race between mmap() and O_DIRECT

    When locking the file in order to do O_DIRECT on it, we must unmap
    any mmapped ranges on the pagecache so that we can flush out the
    dirty data.
    
    Fixes: a5864c9 ("NFS: Do not serialise O_DIRECT reads and writes")
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    Cc: stable@vger.kernel.org # v4.8+
    trondmypd committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    e231c68 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'spi-nor/for-4.16' of git://git.infradead.org/linux-mtd int…

    …o mtd/next
    
    Pull spi-nor changes from Cyrille Pitchen:
    
    "
      This pull-request contains the following notable changes:
    
      Core changes:
      * Add support to new ISSI and Cypress/Spansion memory parts.
      * Fix support of Micron memories by checking error bits in the FSR.
      * Fix update of block-protection bits by reading back the SR.
      * Restore the internal state of the SPI flash memory when removing the
        device.
    
      Driver changes:
      * Maintenance for Freescale, Intel and Metiatek drivers.
      * Add support of the direct access mode for the Cadence QSPI controller.
    "
    Boris Brezillon committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    c8f22b0 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'nand/for-4.16' of git://git.infradead.org/linux-mtd into m…

    …td/next
    
    Pull NAND changes from Boris Brezillon:
    
    "
      Core changes:
      * Fix NAND_CMD_NONE handling in nand_command[_lp]() hooks
      * Introduce the ->exec_op() infrastructure
      * Rework NAND buffers handling
      * Fix ECC requirements for K9F4G08U0D
      * Fix nand_do_read_oob() to return the number of bitflips
      * Mark K9F1G08U0E as not supporting subpage writes
    
      Driver changes:
      * MTK: Rework the driver to support new IP versions
      * OMAP OneNAND: Full rework to use new APIs (libgpio, dmaengine) and fix
        DT support
      * Marvell: Add a new driver to replace the pxa3xx one
    "
    Boris Brezillon committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    571cb17 View commit details
    Browse the repository at this point in the history
  4. fs: new API for handling inode->i_version

    Add a documentation blob that explains what the i_version field is, how
    it is expected to work, and how it is currently implemented by various
    filesystems.
    
    We already have inode_inc_iversion. Add several other functions for
    manipulating and accessing the i_version counter. For now, the
    implementation is trivial and basically works the way that all of the
    open-coded i_version accesses work today.
    
    Future patches will convert existing users of i_version to use the new
    API, and then convert the backend implementation to do things more
    efficiently.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    ae5e165 View commit details
    Browse the repository at this point in the history
  5. fs: don't take the i_lock in inode_inc_iversion

    The rationale for taking the i_lock when incrementing this value is
    lost in antiquity. The readers of the field don't take it (at least
    not universally), so my assumption is that it was only done here to
    serialize incrementors.
    
    If that is indeed the case, then we can drop the i_lock from this
    codepath and treat it as a atomic64_t for the purposes of
    incrementing it. This allows us to use inode_inc_iversion without
    any danger of lock inversion.
    
    Note that the read side is not fetched atomically with this change.
    The assumption here is that that is not a critical issue since the
    i_version is not fully synchronized with anything else anyway.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    7594c46 View commit details
    Browse the repository at this point in the history
  6. fat: convert to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    2489dba View commit details
    Browse the repository at this point in the history
  7. affs: convert to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    9dffe56 View commit details
    Browse the repository at this point in the history
  8. afs: convert to new i_version API

    For AFS, it's generally treated as an opaque value, so we use the
    *_raw variants of the API here.
    
    Note that AFS has quite a different definition for this counter. AFS
    only increments it on changes to the data to the data in regular files
    and contents of the directories. Inode metadata changes do not result
    in a version increment.
    
    We'll need to reconcile that somehow if we ever want to present this to
    userspace via statx.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    a01179e View commit details
    Browse the repository at this point in the history
  9. btrfs: convert to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Acked-by: David Sterba <dsterba@suse.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    c7f88c4 View commit details
    Browse the repository at this point in the history
  10. exofs: switch to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    317bc94 View commit details
    Browse the repository at this point in the history
  11. ext2: convert to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    e1d747d View commit details
    Browse the repository at this point in the history
  12. ext4: convert to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Acked-by: Theodore Ts'o <tytso@mit.edu>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    ee73f9a View commit details
    Browse the repository at this point in the history
  13. nfs: convert to new i_version API

    For NFS, we just use the "raw" API since the i_version is mostly
    managed by the server. The exception there is when the client
    holds a write delegation, but we only need to bump it once
    there anyway to handle CB_GETATTR.
    
    Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    1eb5d98 View commit details
    Browse the repository at this point in the history
  14. nfsd: convert to new i_version API

    Mostly just making sure we use the "get" wrappers so we know when
    it is being fetched for later use.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    1f15a55 View commit details
    Browse the repository at this point in the history
  15. ocfs2: convert to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    cc56c33 View commit details
    Browse the repository at this point in the history
  16. ufs: use new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    bb8c2d6 View commit details
    Browse the repository at this point in the history
  17. xfs: convert to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Acked-by: Darrick J. Wong <darrick.wong@oracle.com>
    Acked-by: Dave Chinner <dchinner@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    f0e2828 View commit details
    Browse the repository at this point in the history
  18. IMA: switch IMA over to new i_version API

    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    3b370b2 View commit details
    Browse the repository at this point in the history
  19. fs: only set S_VERSION when updating times if necessary

    We only really need to update i_version if someone has queried for it
    since we last incremented it. By doing that, we can avoid having to
    update the inode if the times haven't changed.
    
    If the times have changed, then we go ahead and forcibly increment the
    counter, under the assumption that we'll be going to the storage
    anyway, and the increment itself is relatively cheap.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    e38cf30 View commit details
    Browse the repository at this point in the history
  20. xfs: avoid setting XFS_ILOG_CORE if i_version doesn't need incrementing

    If XFS_ILOG_CORE is already set then go ahead and increment it.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Acked-by: Darrick J. Wong <darrick.wong@oracle.com>
    Acked-by: Dave Chinner <dchinner@redhat.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    d17260f View commit details
    Browse the repository at this point in the history
  21. btrfs: only dirty the inode in btrfs_update_time if something was cha…

    …nged
    
    At this point, we know that "now" and the file times may differ, and we
    suspect that the i_version has been flagged to be bumped. Attempt to
    bump the i_version, and only mark the inode dirty if that actually
    occurred or if one of the times was updated.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Acked-by: David Sterba <dsterba@suse.com>
    Reviewed-by: Liu Bo <bo.li.liu@oracle.com>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    3a8c723 View commit details
    Browse the repository at this point in the history
  22. fs: handle inode->i_version more efficiently

    Since i_version is mostly treated as an opaque value, we can exploit that
    fact to avoid incrementing it when no one is watching. With that change,
    we can avoid incrementing the counter on writes, unless someone has
    queried for it since it was last incremented. If the a/c/mtime don't
    change, and the i_version hasn't changed, then there's no need to dirty
    the inode metadata on a write.
    
    Convert the i_version counter to an atomic64_t, and use the lowest order
    bit to hold a flag that will tell whether anyone has queried the value
    since it was last incremented.
    
    When we go to maybe increment it, we fetch the value and check the flag
    bit.  If it's clear then we don't need to do anything if the update
    isn't being forced.
    
    If we do need to update, then we increment the counter by 2, and clear
    the flag bit, and then use a CAS op to swap it into place. If that
    works, we return true. If it doesn't then do it again with the value
    that we fetch from the CAS operation.
    
    On the query side, if the flag is already set, then we just shift the
    value down by 1 bit and return it. Otherwise, we set the flag in our
    on-stack value and again use cmpxchg to swap it into place if it hasn't
    changed. If it has, then we use the value from the cmpxchg as the new
    "old" value and try again.
    
    This method allows us to avoid incrementing the counter on writes (and
    dirtying the metadata) under typical workloads. We only need to increment
    if it has been queried since it was last changed.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Acked-by: Dave Chinner <dchinner@redhat.com>
    Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
    jtlayton committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    f02a9ad View commit details
    Browse the repository at this point in the history
  23. Merge tag 'init_task-20180117' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/dhowells/linux-fs
    
    Pull init_task initializer cleanups from David Howells:
     "It doesn't seem useful to have the init_task in a header file rather
      than in a normal source file. We could consolidate init_task handling
      instead and expand out various macros.
    
      Here's a series of patches that consolidate init_task handling:
    
       (1) Make THREAD_SIZE available to vmlinux.lds for cris, hexagon and
           openrisc.
    
       (2) Alter the INIT_TASK_DATA linker script macro to set
           init_thread_union and init_stack rather than defining these in C.
    
           Insert init_task and init_thread_into into the init_stack area in
           the linker script as appropriate to the configuration, with
           different section markers so that they end up correctly ordered.
    
           We can then get merge ia64's init_task.c into the main one.
    
           We then have a bunch of single-use INIT_*() macros that seem only
           to be macros because they used to be used per-arch. We can then
           expand these in place of the user and get rid of a few lines and
           a lot of backslashes.
    
       (3) Expand INIT_TASK() in place.
    
       (4) Expand in place various small INIT_*() macros that are defined
           conditionally. Expand them and surround them by #if[n]def/#endif
           in the .c file as it takes fewer lines.
    
       (5) Expand INIT_SIGNALS() and INIT_SIGHAND() in place.
    
       (6) Expand INIT_STRUCT_PID in place.
    
      These macros can then be discarded"
    
    * tag 'init_task-20180117' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
      Expand INIT_STRUCT_PID and remove
      Expand the INIT_SIGNALS and INIT_SIGHAND macros and remove
      Expand various INIT_* macros and remove
      Expand INIT_TASK() in init/init_task.c and remove
      Construct init thread stack in the linker script rather than by union
      openrisc: Make THREAD_SIZE available to vmlinux.lds
      hexagon: Make THREAD_SIZE available to vmlinux.lds
      cris: Make THREAD_SIZE available to vmlinux.lds
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    49f9c35 View commit details
    Browse the repository at this point in the history
  24. Merge tag 'sound-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/tiwai/sound
    
    Pull sound updates from Takashi Iwai:
     "The major changes in the core API side in this cycle are the still
      on-going ASoC componentization works. Other than that, only few small
      changes such as 20bit PCM format support are found.
    
      Meanwhile the rest majority of changes are for ASoC drivers:
    
       - Large cleanups of some of the TI CODEC drivers
    
       - Continued work on Intel ASoC stuff for new quirks, ACPI GPIO
         handling, Kconfigs and lots of cleanups
    
       - Refactoring of the Freescale SSI driver, as preliminary work for
         the upcoming changes
    
       - Work on ST DFSDM driver, including the required IIO patches
    
       - New drivers for Allwinner A83T, Maxim MAX89373, SocioNext UiniPhier
         EVEA Tempo Semiconductor TSCS42xx and TI PCM816x, TAS5722 and
         TAS6424 devices
    
       - Removal of dead codes for SN95031 and board drivers
    
      Last but not least, a few HD-audio and USB-audio quirks are included
      as usual, too"
    
    * tag 'sound-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (303 commits)
      ALSA: hda - Reduce the suspend time consumption for ALC256
      ASoC: use seq_file to dump the contents of dai_list,platform_list and codec_list
      ASoC: soc-core: add missing EXPORT_SYMBOL_GPL() for snd_soc_rtdcom_lookup
      IIO: ADC: stm32-dfsdm: remove unused variable again
      ASoC: bcm2835: fix hw_params error when device is in prepared state
      ASoC: mxs-sgtl5000: Do not print error on probe deferral
      ASoC: sgtl5000: Do not print error on probe deferral
      ASoC: Intel: remove select on non-existing SND_SOC_INTEL_COMMON
      ALSA: usb-audio: Support changing input on Sound Blaster E1
      ASoC: Intel: remove second duplicated assignment to pointer 'res'
      ALSA: hda/realtek - update ALC215 depop optimize
      ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289
      ALSA: pcm: Fix trailing semicolon
      ASoC: add Component level .read/.write
      ASoC: cx20442: fix regression by adding back .read/.write
      ASoC: uda1380: fix regression by adding back .read/.write
      ASoC: tlv320dac33: fix regression by adding back .read/.write
      ALSA: hda - Use IS_REACHABLE() for dependency on input
      IIO: ADC: stm32-dfsdm: fix static check warning
      IIO: ADC: stm32-dfsdm: code optimization
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    1c1f395 View commit details
    Browse the repository at this point in the history
  25. Merge tag 'pm-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/rafael/linux-pm
    
    Pull power management updates from Rafael Wysocki:
     "This includes some infrastructure changes in the PM core, mostly
      related to integration between runtime PM and system-wide suspend and
      hibernation, plus some driver changes depending on them and fixes for
      issues in that area which have become quite apparent recently.
    
      Also included are changes making more x86-based systems use the Low
      Power Sleep S0 _DSM interface by default, which turned out to be
      necessary to handle power button wakeups from suspend-to-idle on
      Surface Pro3.
    
      On the cpufreq front we have fixes and cleanups in the core, some new
      hardware support, driver updates and the removal of some unused code
      from the CPU cooling thermal driver.
    
      Apart from this, the Operating Performance Points (OPP) framework is
      prepared to be used with power domains in the future and there is a
      usual bunch of assorted fixes and cleanups.
    
      Specifics:
    
       - Define a PM driver flag allowing drivers to request that their
         devices be left in suspend after system-wide transitions to the
         working state if possible and add support for it to the PCI bus
         type and the ACPI PM domain (Rafael Wysocki).
    
       - Make the PM core carry out optimizations for devices with driver PM
         flags set in some cases and make a few drivers set those flags
         (Rafael Wysocki).
    
       - Fix and clean up wrapper routines allowing runtime PM device
         callbacks to be re-used for system-wide PM, change the generic
         power domains (genpd) framework to stop using those routines
         incorrectly and fix up a driver depending on that behavior of genpd
         (Rafael Wysocki, Ulf Hansson, Geert Uytterhoeven).
    
       - Fix and clean up the PM core's device wakeup framework and
         re-factor system-wide PM core code related to device wakeup
         (Rafael Wysocki, Ulf Hansson, Brian Norris).
    
       - Make more x86-based systems use the Low Power Sleep S0 _DSM
         interface by default (to fix power button wakeup from
         suspend-to-idle on Surface Pro3) and add a kernel command line
         switch to tell it to ignore the system sleep blacklist in the ACPI
         core (Rafael Wysocki).
    
       - Fix a race condition related to cpufreq governor module removal and
         clean up the governor management code in the cpufreq core (Rafael
         Wysocki).
    
       - Drop the unused generic code related to the handling of the static
         power energy usage model in the CPU cooling thermal driver along
         with the corresponding documentation (Viresh Kumar).
    
       - Add mt2712 support to the Mediatek cpufreq driver (Andrew-sh
         Cheng).
    
       - Add a new operating point to the imx6ul and imx6q cpufreq drivers
         and switch the latter to using clk_bulk_get() (Anson Huang, Dong
         Aisheng).
    
       - Add support for multiple regulators to the TI cpufreq driver along
         with a new DT binding related to that and clean up that driver
         somewhat (Dave Gerlach).
    
       - Fix a powernv cpufreq driver regression leading to incorrect CPU
         frequency reporting, fix that driver to deal with non-continguous
         P-states correctly and clean it up (Gautham Shenoy, Shilpasri
         Bhat).
    
       - Add support for frequency scaling on Armada 37xx SoCs through the
         generic DT cpufreq driver (Gregory CLEMENT).
    
       - Fix error code paths in the mvebu cpufreq driver (Gregory CLEMENT).
    
       - Fix a transition delay setting regression in the longhaul cpufreq
         driver (Viresh Kumar).
    
       - Add Skylake X (server) support to the intel_pstate cpufreq driver
         and clean up that driver somewhat (Srinivas Pandruvada).
    
       - Clean up the cpufreq statistics collection code (Viresh Kumar).
    
       - Drop cluster terminology and dependency on physical_package_id from
         the PSCI driver and drop dependency on arm_big_little from the SCPI
         cpufreq driver (Sudeep Holla).
    
       - Add support for system-wide suspend and resume to the RAPL power
         capping driver and drop a redundant semicolon from it (Zhen Han,
         Luis de Bethencourt).
    
       - Make SPI domain validation (in the SCSI SPI transport driver) and
         system-wide suspend mutually exclusive as they rely on the same
         underlying mechanism and cannot be carried out at the same time
         (Bart Van Assche).
    
       - Fix the computation of the amount of memory to preallocate in the
         hibernation core and clean up one function in there (Rainer Fiebig,
         Kyungsik Lee).
    
       - Prepare the Operating Performance Points (OPP) framework for being
         used with power domains and clean up one function in it (Viresh
         Kumar, Wei Yongjun).
    
       - Clean up the generic sysfs interface for device PM (Andy
         Shevchenko).
    
       - Fix several minor issues in power management frameworks and clean
         them up a bit (Arvind Yadav, Bjorn Andersson, Geert Uytterhoeven,
         Gustavo Silva, Julia Lawall, Luis de Bethencourt, Paul Gortmaker,
         Sergey Senozhatsky, gaurav jindal).
    
       - Make it easier to disable PM via Kconfig (Mark Brown).
    
       - Clean up the cpupower and intel_pstate_tracer utilities (Doug
         Smythies, Laura Abbott)"
    
    * tag 'pm-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (89 commits)
      PCI / PM: Remove spurious semicolon
      cpufreq: scpi: remove arm_big_little dependency
      drivers: psci: remove cluster terminology and dependency on physical_package_id
      powercap: intel_rapl: Fix trailing semicolon
      dmaengine: rcar-dmac: Make DMAC reinit during system resume explicit
      PM / runtime: Allow no callbacks in pm_runtime_force_suspend|resume()
      PM / hibernate: Drop unused parameter of enough_swap
      PM / runtime: Check ignore_children in pm_runtime_need_not_resume()
      PM / runtime: Rework pm_runtime_force_suspend/resume()
      PM / genpd: Stop/start devices without pm_runtime_force_suspend/resume()
      cpufreq: powernv: Dont assume distinct pstate values for nominal and pmin
      cpufreq: intel_pstate: Add Skylake servers support
      cpufreq: intel_pstate: Replace bxt_funcs with core_funcs
      platform/x86: surfacepro3: Support for wakeup from suspend-to-idle
      ACPI / PM: Use Low Power S0 Idle on more systems
      PM / wakeup: Print warn if device gets enabled as wakeup source during sleep
      PM / domains: Don't skip driver's ->suspend|resume_noirq() callbacks
      PM / core: Propagate wakeup_path status flag in __device_suspend_late()
      PM / core: Re-structure code for clearing the direct_complete flag
      powercap: add suspend and resume mechanism for SOC power limit
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    7f3fdd4 View commit details
    Browse the repository at this point in the history
  26. Merge tag 'acpi-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/rafael/linux-pm
    
    Pull ACPI updates from Rafael Wysocki:
     "The majority of this is an update of the ACPICA kernel code to
      upstream revision 20171215 with a cosmetic change and a maintainers
      information update on top of it.
    
      The rest is mostly some minor fixes and cleanups in the ACPI drivers
      and cleanups to initialization on x86.
    
      Specifics:
    
       - Update the ACPICA kernel code to upstream revision 20171215 including:
          * Support for ACPI 6.0A changes in the NFIT table (Bob Moore)
          * Local 64-bit divide in string conversions (Bob Moore)
          * Fix for a regression in acpi_evaluate_object_type() (Bob Moore)
          * Fixes for memory leaks during package object resolution (Bob
            Moore)
          * Deployment of safe version of strncpy() (Bob Moore)
          * Debug and messaging updates (Bob Moore)
          * Support for PDTT, SDEV, TPM2 tables in iASL and tools (Bob
            Moore)
          * Null pointer dereference avoidance in Op and cleanups (Colin Ian
            King)
          * Fix for memory leak from building prefixed pathname (Erik
            Schmauss)
          * Coding style fixes, disassembler and compiler updates (Hanjun
            Guo, Erik Schmauss)
          * Additional PPTT flags from ACPI 6.2 (Jeremy Linton)
          * Fix for an off-by-one error in acpi_get_timer_duration()
            (Jung-uk Kim)
          * Infinite loop detection timeout and utilities cleanups (Lv
            Zheng)
          * Windows 10 version 1607 and 1703 OSI strings (Mario
            Limonciello)
    
       - Update ACPICA information in MAINTAINERS to reflect the current
         status of ACPICA maintenance and rename a local variable in one
         function to match the corresponding upstream code (Rafael Wysocki)
    
       - Clean up ACPI-related initialization on x86 (Andy Shevchenko)
    
       - Add support for Intel Merrifield to the ACPI GPIO code (Andy
         Shevchenko)
    
       - Clean up ACPI PMIC drivers (Andy Shevchenko, Arvind Yadav)
    
       - Fix the ACPI Generic Event Device (GED) driver to free IRQs on
         shutdown and clean up the PCI IRQ Link driver (Sinan Kaya)
    
       - Make the GHES code call into the AER driver on all errors and clean
         up the ACPI APEI code (Colin Ian King, Tyler Baicar)
    
       - Make the IA64 ACPI NUMA code parse all SRAT entries (Ganapatrao
         Kulkarni)
    
       - Add a lid switch blacklist to the ACPI button driver and make it
         print extra debug messages on lid events (Hans de Goede)
    
       - Add quirks for Asus GL502VSK and UX305LA to the ACPI battery driver
         and clean it up somewhat (Bjørn Mork, Kai-Heng Feng)
    
       - Add device link for CHT SD card dependency on I2C to the ACPI LPSS
         (Intel SoCs) driver and make it avoid creating platform device
         objects for devices without MMIO resources (Adrian Hunter, Hans de
         Goede)
    
       - Fix the ACPI GPE mask kernel command line parameter handling
         (Prarit Bhargava)
    
       - Fix the handling of (incorrectly exposed) backlight interfaces
         without LCD (Hans de Goede)
    
       - Fix the usage of debugfs_create_*() in the ACPI EC driver (Geert
         Uytterhoeven)"
    
    * tag 'acpi-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (62 commits)
      ACPI/PCI: pci_link: reduce verbosity when IRQ is enabled
      ACPI / LPSS: Do not instiate platform_dev for devs without MMIO resources
      ACPI / PMIC: Convert to use builtin_platform_driver() macro
      ACPI / x86: boot: Propagate error code in acpi_gsi_to_irq()
      ACPICA: Update version to 20171215
      ACPICA: trivial style fix, no functional change
      ACPICA: Fix a couple memory leaks during package object resolution
      ACPICA: Recognize the Windows 10 version 1607 and 1703 OSI strings
      ACPICA: DT compiler: prevent error if optional field at the end of table is not present
      ACPICA: Rename a global variable, no functional change
      ACPICA: Create and deploy safe version of strncpy
      ACPICA: Cleanup the global variables and update comments
      ACPICA: Debugger: fix slight indentation issue
      ACPICA: Fix a regression in the acpi_evaluate_object_type() interface
      ACPICA: Update for a few debug output statements
      ACPICA: Debug output, no functional change
      ACPI: EC: Fix debugfs_create_*() usage
      ACPI / video: Default lcd_only to true on Win8-ready and newer machines
      ACPI / x86: boot: Don't setup SCI on HW-reduced platforms
      ACPI / x86: boot: Use INVALID_ACPI_IRQ instead of 0 for acpi_sci_override_gsi
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    1a9a126 View commit details
    Browse the repository at this point in the history
  27. btrfs: get device pointer from device_list_add()

    Instead of pointer to btrfs_fs_devices as an arg in device_list_add()
    better to get pointer to btrfs_device as return value, then we have
    both, pointer to btrfs_device and btrfs_fs_devices. btrfs_device is
    needed to handle reappearing missing device.
    
    Signed-off-by: Anand Jain <anand.jain@oracle.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    asj authored and kdave committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    e124ece View commit details
    Browse the repository at this point in the history
  28. btrfs: drop devid as device_list_add() arg

    As struct btrfs_disk_super is being passed, so it can get devid
    the same way its parent does.
    
    Signed-off-by: Anand Jain <anand.jain@oracle.com>
    Reviewed-by: Josef Bacik <jbacik@fb.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    asj authored and kdave committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    3acbcbf View commit details
    Browse the repository at this point in the history
  29. Merge tag 'pnp-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/rafael/linux-pm
    
    Pull PNP updates from Rafael Wysocki:
     "These make pnpbios_thread_init() use PTR_ERR_OR_ZERO() and remove an
      unnecessary kallsyms include from drivers/pnp/quirks.c (Vasyl
      Gomonovych, Sergey Senozhatsky)"
    
    * tag 'pnp-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      PNP: pnpbios: Use PTR_ERR_OR_ZERO()
      PNP: remove unneeded kallsyms include
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    1c7385d View commit details
    Browse the repository at this point in the history
  30. Merge tag 'mfd-next-4.16' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/lee/mfd
    
    Pull MFD updates from Lee Jones:
     "New Drivers:
       - Add support for RAVE Supervisory Processor
    
      Moved drivers:
       - Move Realtek Card Reader Driver to Misc
    
      New Device Support:
       - Add support for Pinctrl to axp20x
    
      New Functionality:
       - Add resume support to atmel-flexcom
    
      Fix-ups:
       - Split MFD (mfd) and userspace handlers (platform) in cros_ec
       - Fix trivial (whitespace, spelling) issue(s) in pcf50633-core
       - Clean-up error handling in ab8500-debugfs
       - General tidying up in tmio_core
       - Kconfig fix-ups for qcom-pm8xxx
       - Licensing changes (SPDX) to stm32-lptimer, stm32-timers
       - Device Tree fixups in mc13xxx
       - Simplify/remove unused code in cros_ec_spi, axp20x, ti_am335x_tscadc,
         kempld-core, intel_soc_pmic_core.c, ab8500-debugfs"
    
    * tag 'mfd-next-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (32 commits)
      mfd: lpc_ich: Do not touch SPI-NOR write protection bit on Apollo Lake
      mfd: axp20x: Mark axp288 CHRG_BAK_CTRL register volatile
      mfd: ab8500: Introduce DEFINE_SHOW_ATTRIBUTE() macro
      atmel_flexcom: Support resuming after a chip reset
      mfd: Remove duplicate includes
      dt-bindings: mfd: mc13xxx: Add the unit address to sysled
      mfd: stm32: Adopt SPDX identifier
      mfd: axp20x: Add pinctrl cell for AXP813
      mfd: pm8xxx: Make elegible for COMPILE_TEST
      mfd: kempld-core: Use resource_size function on resource object
      mfd: tmio: Move register macros to tmio_core.c
      mfd: cros ec: spi: Simplify delay handling between SPI messages
      mfd: palmas: Assign the right powerhold mask for tps65917
      mfd: ab8500-debugfs: Use common error handling code in ab8500_print_modem_registers()
      mfd: ti_am335x_tscadc: Remove redundant assignment to node
      mfd: pcf50633: Fix spelling mistake: 'Falied' -> 'Failed'
      dt-bindings: watchdog: Add bindings for RAVE SP watchdog driver
      watchdog: Add RAVE SP watchdog driver
      mfd: Add driver for RAVE Supervisory Processor
      serdev: Introduce devm_serdev_device_open()
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    bc4e118 View commit details
    Browse the repository at this point in the history
  31. Merge tag 'for-backlight-next-4.16' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/lee/backlight
    
    Pull backlight updates from Lee Jones:
     "Fix-ups:
       - Deprecate pci_get_bus_and_slot() in apple_bl
    
      Bug Fixes:
       - Enable Chip Select when conducting SPI transfers in corgi_lcd,
         tdo24m, tosa_lcd"
    
    * tag 'for-backlight-next-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
      backlight: tdo24m: Fix the SPI CS between transfers
      backlight: apple_bl: Deprecate pci_get_bus_and_slot()
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    aa5e75b View commit details
    Browse the repository at this point in the history
  32. Merge tag 'mtd/for-4.16' of git://git.infradead.org/linux-mtd

    Pull MTD updates from Boris Brezillon:
     "MTD core changes:
       - Rework core functions to avoid duplicating generic checks in
         NAND/OneNAND sub-layers
       - Update the MAINTAINERS entry to reflect the fact that MTD
         maintainers now use a single git tree
    
      MTD driver changes:
       - CFI: use macros instead of inline functions to limit stack usage
         and make KASAN happy
    
      NAND core changes:
       - Fix NAND_CMD_NONE handling in nand_command[_lp]() hooks
       - Introduce the ->exec_op() infrastructure
       - Rework NAND buffers handling
       - Fix ECC requirements for K9F4G08U0D
       - Fix nand_do_read_oob() to return the number of bitflips
       - Mark K9F1G08U0E as not supporting subpage writes
    
      NAND driver changes:
       - MTK: Rework the driver to support new IP versions
       - OMAP OneNAND: Full rework to use new APIs (libgpio, dmaengine) and
         fix DT support
       - Marvell: Add a new driver to replace the pxa3xx one
    
      SPI NOR core changes:
       - Add support to new ISSI and Cypress/Spansion memory parts.
       - Fix support of Micron memories by checking error bits in the FSR.
       - Fix update of block-protection bits by reading back the SR.
       - Restore the internal state of the SPI flash memory when removing
         the device.
    
      SPI NOR driver changes:
       - Maintenance for Freescale, Intel and Metiatek drivers.
       - Add support of the direct access mode for the Cadence QSPI
         controller"
    
    * tag 'mtd/for-4.16' of git://git.infradead.org/linux-mtd: (93 commits)
      mtd: nand: sunxi: Fix ECC strength choice
      mtd: nand: gpmi: Fix subpage reads
      mtd: nand: Fix build issues due to an anonymous union
      mtd: nand: marvell: Fix missing memory allocation modifier
      mtd: nand: marvell: remove redundant variable 'oob_len'
      mtd: nand: marvell: fix spelling mistake: "suceed"-> "succeed"
      mtd: onenand: omap2: Remove redundant dev_err call in omap2_onenand_probe()
      mtd: Remove duplicate checks on mtd_oob_ops parameter
      mtd: Fallback to ->_read/write_oob() when ->_read/write() is missing
      mtd: mtdpart: Make ECC stat handling consistent
      mtd: onenand: omap2: print resource using %pR format string
      mtd: mtk-nor: modify functions' name more generally
      mtd: onenand: samsung: remove incorrect __iomem annotation
      MAINTAINERS: Add entry for Marvell NAND controller driver
      ARM: OMAP2+: Remove gpmc-onenand
      mtd: onenand: omap2: Configure driver from DT
      mtd: onenand: omap2: Decouple DMA enabling from INT pin availability
      mtd: onenand: omap2: Do not make delay for GPIO OMAP3 specific
      mtd: onenand: omap2: Convert to use dmaengine for memcpy
      mtd: onenand: omap2: Unify OMAP2 and OMAP3 DMA implementation
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    0fc7e74 View commit details
    Browse the repository at this point in the history
  33. Merge tag 'hwmon-for-linus-v4.16' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/groeck/linux-staging
    
    Pull hwmon updates from Guenter Roeck:
    
     - New driver for W83773G
    
     - Fan control support for PMBus drivers
    
     - Improvements and minor fixes in several drivers
    
    * tag 'hwmon-for-linus-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (32 commits)
      hwmon: (dell-smm) Disable fan support for Dell Vostro 3360
      hwmon: (dell-smm) Disable fan support for Dell Inspiron 7720
      hwmon: (dell-smm) Enable broken functionality via "force" module param
      hwmon: (k10temp) Add temperature offset for Ryzen 1900X
      hwmon: (lm75) Fix trailing semicolon
      hwmon: (ina2xx) Fix access to uninitialized mutex
      hwmon: (pmbus/ir35221) Remove unnecessary scaling
      hwmon: (sht3x) wait predefined limits loading complete before access
      hwmon: (pmbus/ibm-cffps) Add dependency on LEDS_CLASS
      hwmon: (pmbus/cffps) Add led class device for power supply fault led
      hwmon: (pmbus) cffps: Add PMBUS_SKIP_STATUS_CHECK
      hwmon: (aspeed-pwm-tacho) Deassert reset in probe
      dt-bindings: hwmon: aspeed-pwm-tacho: Add reset node
      hwmon: (pmbus) cffps: Add debugfs entries
      hwmon: (pmbus) Export pmbus device debugfs directory entry
      hwmon: (w83773g) Fix fault detection and reporting
      hwmon: (hih6130) Fix documentation of struct hih6130
      hwmon: (iio_hwmon) Fix documentation of struct iio_hwmon_state
      hwmon: (sht15) Fix parameter documentation of sht15_crc8()
      hwmon: (sht21) Fix documentation of struct sht21
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    47d5cc5 View commit details
    Browse the repository at this point in the history
  34. Merge tag 'mmc-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/ulfh/mmc
    
    Pull MMC updates from Ulf Hansson:
     "There are two major achievements for MMC in this release, which
      deserves to be specially highlighted.
    
      First, we have converted the MMC block device from using the legacy
      blk interface into using the modern blkmq interface. Not only do we
      get all the nice effects from using blkmq, but it also means that new
      fresh nice code replaces old rusty code. Great news to everybody that
      cares about MMC/SD!
    
      It should also be noted that converting to blkmq has not been trivial,
      mostly because of that we have been carrying too much of MMC specific
      optimizations for the I/O request path, rather than striving to move
      these to the generic blk layer. Hopefully we won't be doing that
      mistake, ever again.
    
      Special thanks to Adrian Hunter (Intel) and to Linus Walleij (Linaro),
      who both have been working on this for quite some time!
    
      Second, on top of the blkmq deployment, we have enabled full support
      the eMMC command queuing feature, introduced in the eMMC v.5.1 spec.
      This also includes an implementation of a host driver library,
      supporting the corresponding CQHCI HW. Ideally, those controllers that
      supports CQHCI should only need some minor adaptations to make this
      play.
    
      So far the sdhci-pci driver for the Intel GLKs and the sdhci-of-arasan
      driver used on Rockchip RK3399, have enabled support for eMMC command
      queueing.
    
      Worth to highlight is also that, implementing the eMMC command queuing
      support has been a collaborative effort, as several people from
      Codeaurora, Rockchip, Intel and Linaro have been involved. However,
      the work has been driven by Adrian Hunter (Intel).
    
      In some shadow of the above, here are the rest of the highlights:
    
      MMC core:
       - Don't remove non-removable cards during system suspend
       - Add a slot-gpio helper to check capability of GPIO WP detection
    
      MMC host:
       - sdhci: Cleanups and improvements of some wakeup related code
       - sdhci-pci-arasan: New variant to support Arasan PCI HW with integrated phy
       - sdhci-acpi: Avoid broken UHS transfer modes on Intel CHT
       - sdhci-acpi: Add support for ACPI HID of AMD Controller with HS400
       - sdhci_f_sdh30: Add ACPI support
       - sdhci-esdhc-imx: Enable/disable clock at runtime suspend/resume
       - sdhci-of-esdhc: A few minor fixes
       - mmci: Add support for new STM32 variant
       - renesas_sdhi: enable R-Car D3 (r8a77995) support
       - tmio/renesas_sdhi: Re-structuring, cleanups and modernizations"
    
    * tag 'mmc-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (96 commits)
      mmc: mmci: fix error return code in mmci_probe()
      mmc: davinci: suppress error message on EPROBE_DEFER
      mmc: davinci: dont' use module_platform_driver_probe()
      mmc: tmio: hide unused tmio_mmc_clk_disable/tmio_mmc_clk_enable functions
      mmc: mmci: Add STM32 variant
      mmc: mmci: Add support for setting pad type via pinctrl
      mmc: mmci: Don't pretend all variants to have OPENDRAIN bit
      mmc: mmci: Don't pretend all variants to have MCI_STARBITERR flag
      mmc: mmci: Don't pretend all variants to have MMCIMASK1 register
      mmc: tmio: refactor .get_ro hook
      mmc: slot-gpio: add a helper to check capability of GPIO WP detection
      mmc: tmio: remove dma_ops from tmio_mmc_host_probe() argument
      mmc: tmio: move {tmio_}mmc_of_parse() to tmio_mmc_host_alloc()
      mmc: tmio: move clk_enable/disable out of tmio_mmc_host_probe()
      mmc: tmio: ioremap memory resource in tmio_mmc_host_alloc()
      mmc: sh_mmcif: remove redundant initialization of 'opc'
      mmc: sdhci: Rework sdhci_enable_irq_wakeups()
      mmc: sdhci: Handle failure of enable_irq_wake()
      mmc: sdhci: Stop exporting sdhci_enable_irq_wakeups()
      mmc: sdhci-pci: Use device wakeup capability to determine MMC_PM_WAKE_SDIO_IRQ capability
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    0bae60f View commit details
    Browse the repository at this point in the history
  35. Merge tag 'spi-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/broonie/spi
    
    Pull spi updates from Mark Brown:
     "Quite a quiet release for SPI, there are no changes at all to the core
      and not that many changes to drivers. Highlights of those driver
      changes include:
    
       - SH MSIOF support for GPIO chip selects contributed by Geert
         Uytterhoeven.
    
       - Full duplex support for a3700 contributed by Maxime Chevallier.
    
       - Support for DMA transfers on Atmel devices that require a bounce
         buffer contributed by Radu Pirea"
    
    * tag 'spi-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (31 commits)
      spi: dw: Remove unused members from struct chip_data
      spi: orion: Fix a resource leak if the optional "axi" clk is deferred
      spi: a3700: Remove endianness swapping for full-duplex transfers
      spi: a3700: Remove endianness swapping functions when accessing FIFOs
      spi: a3700: Add full-duplex support
      spi: a3700: Allow to enable or disable FIFO mode
      spi: a3700: Set frequency limits at startup
      spi: a3700: Clear DATA_OUT when performing a read
      spi: orion: Fix clock resource by adding an optional bus clock
      spi: s3c64xx: add SPDX identifier
      spi: imx: do not access registers while clocks disabled
      spi: atmel: Implements transfers with bounce buffer
      spi: sh-msiof: Fix timeout failures for TX-only DMA transfers
      spi: spi-fsl-dspi: account for const type of of_device_id.data
      spi: bcm53xx: simplify reading SPI data
      spi: sirf: account for const type of of_device_id.data
      spi: pxa2xx: Use gpiod_put() not gpiod_free()
      spi: pxa2xx: avoid redundant gpio_to_desc(desc_to_gpio()) round-trip
      spi: sh-msiof: Document hardware limitations related to chip selects
      spi: sh-msiof: Implement cs-gpios configuration
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    8e32647 View commit details
    Browse the repository at this point in the history
  36. Merge tag 'regulator-v4.16' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/broonie/regulator
    
    Pull regulator updates from Mark Brown:
     "This is a quiet release in terms of code volume but a fairly big one
      in terms of framework changes - we've got one long awaited feature in
      the form of runtime configuration of suspend and the start of coupled
      regulator support too:
    
       - Support for modifying the voltage and enable configuration devices
         will have in suspend, contributed by Chunyan Zhang.
    
       - Support for the Spreadtrum SC2731, contributed by Erick Chen.
    
       - The start of changes to support coupled regulators from Maciej
         Purski, the rest of the series should arrive for v4.17"
    
    * tag 'regulator-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
      regulator: Fix build error
      regulator: core: Refactor regulator_list_voltage()
      regulator: core: Move of_find_regulator_by_node() to of_regulator.c
      regulator: add PM suspend and resume hooks
      regulator: empty the old suspend functions
      regulator: leave one item to record whether regulator is enabled
      regulator: make regulator voltage be an array to support more states
      regulator: added support for suspend states
      regulator: qcom_spmi: Use regmap helpers for enable/disable/is_enabled callback
      regulator: sc2731: Fix defines for SC2731_WR_UNLOCK and SC2731_PWR_WR_PROT_VALUE
      regulator: fix incorrect indentation of two assignment statements
      regulator: sc2731: Add regulator driver to support Spreadtrum SC2731 PMIC
      regulator: Add Spreadtrum SC2731 regulator documentation
      regulator: Update code examples in documentation
      MAINTAINERS: regulator: Add Documentation/power/regulator/
      regulator: tps65218: Add NULL test for devm_kzalloc call
      regulator: tps65218: Remove unused enum tps65218_regulators
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    dc38787 View commit details
    Browse the repository at this point in the history
  37. Merge tag 'regmap-v4.16' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/broonie/regmap
    
    Pull regmap updates from Mark Brown:
     "A very busy release for regmap, all fairly specialist stuff but
      useful:
    
       - Support for disabling locking from Bartosz Golaszewski, allowing
         users that handle their own locking to save some overhead.
    
       - Support for hwspinlocks in syscons in MFD from Baolin Wang, this is
         going through the regmap tree since the first users turned up some
         some cases that needed interface tweaks with 0 being used as a
         syscon identifier.
    
       - Support for devices with no read or write flag from Andrew F.
         Davis.
    
       - Basic support for devices on SoundWire buses from Vinod Koul"
    
    * tag 'regmap-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
      mfd: syscon: Add hardware spinlock support
      regmap: Allow empty read/write_flag_mask
      regcache: flat: Un-inline index lookup from cache access
      regmap: Add SoundWire bus support
      regmap: Add one flag to indicate if a hwlock should be used
      regmap: debugfs: document why we don't create the debugfs entries
      regmap: debugfs: emit a debug message when locking is disabled
      regmap: use proper part of work_buf for storing val
      regmap: potentially duplicate the name string stored in regmap
      regmap: Disable debugfs when locking is disabled
      regmap: rename regmap_lock_unlock_empty() to regmap_lock_unlock_none()
      regmap: allow to disable all locking mechanisms
      regmap: Remove the redundant config to select hwspinlock
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    b5856f9 View commit details
    Browse the repository at this point in the history
  38. Merge tag 'edac_for_4.16' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/bp/bp
    
    Pull EDAC updates from Borislav Petkov:
    
     - new EDAC driver for some TI SOCs (Tero Kristo)
    
     - small cleanups
    
    * tag 'edac_for_4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
      EDAC, mv64x60: Fix an error handling path
      EDAC, ti: Add support for TI keystone and DRA7xx EDAC
      EDAC, octeon: Fix an uninitialized variable warning
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    9697e9d View commit details
    Browse the repository at this point in the history
  39. Merge branch 'for-4.16/block' of git://git.kernel.dk/linux-block

    Pull block updates from Jens Axboe:
     "This is the main pull request for block IO related changes for the
      4.16 kernel. Nothing major in this pull request, but a good amount of
      improvements and fixes all over the map. This contains:
    
       - BFQ improvements, fixes, and cleanups from Angelo, Chiara, and
         Paolo.
    
       - Support for SMR zones for deadline and mq-deadline from Damien and
         Christoph.
    
       - Set of fixes for bcache by way of Michael Lyle, including fixes
         from himself, Kent, Rui, Tang, and Coly.
    
       - Series from Matias for lightnvm with fixes from Hans Holmberg,
         Javier, and Matias. Mostly centered around pblk, and the removing
         rrpc 1.2 in preparation for supporting 2.0.
    
       - A couple of NVMe pull requests from Christoph. Nothing major in
         here, just fixes and cleanups, and support for command tracing from
         Johannes.
    
       - Support for blk-throttle for tracking reads and writes separately.
         From Joseph Qi. A few cleanups/fixes also for blk-throttle from
         Weiping.
    
       - Series from Mike Snitzer that enables dm to register its queue more
         logically, something that's alwways been problematic on dm since
         it's a stacked device.
    
       - Series from Ming cleaning up some of the bio accessor use, in
         preparation for supporting multipage bvecs.
    
       - Various fixes from Ming closing up holes around queue mapping and
         quiescing.
    
       - BSD partition fix from Richard Narron, fixing a problem where we
         can't mount newer (10/11) FreeBSD partitions.
    
       - Series from Tejun reworking blk-mq timeout handling. The previous
         scheme relied on atomic bits, but it had races where we would think
         a request had timed out if it to reused at the wrong time.
    
       - null_blk now supports faking timeouts, to enable us to better
         exercise and test that functionality separately. From me.
    
       - Kill the separate atomic poll bit in the request struct. After
         this, we don't use the atomic bits on blk-mq anymore at all. From
         me.
    
       - sgl_alloc/free helpers from Bart.
    
       - Heavily contended tag case scalability improvement from me.
    
       - Various little fixes and cleanups from Arnd, Bart, Corentin,
         Douglas, Eryu, Goldwyn, and myself"
    
    * 'for-4.16/block' of git://git.kernel.dk/linux-block: (186 commits)
      block: remove smart1,2.h
      nvme: add tracepoint for nvme_complete_rq
      nvme: add tracepoint for nvme_setup_cmd
      nvme-pci: introduce RECONNECTING state to mark initializing procedure
      nvme-rdma: remove redundant boolean for inline_data
      nvme: don't free uuid pointer before printing it
      nvme-pci: Suspend queues after deleting them
      bsg: use pr_debug instead of hand crafted macros
      blk-mq-debugfs: don't allow write on attributes with seq_operations set
      nvme-pci: Fix queue double allocations
      block: Set BIO_TRACE_COMPLETION on new bio during split
      blk-throttle: use queue_is_rq_based
      block: Remove kblockd_schedule_delayed_work{,_on}()
      blk-mq: Avoid that blk_mq_delay_run_hw_queue() introduces unintended delays
      blk-mq: Rename blk_mq_request_direct_issue() into blk_mq_request_issue_directly()
      lib/scatterlist: Fix chaining support in sgl_alloc_order()
      blk-throttle: track read and write request individually
      block: add bdev_read_only() checks to common helpers
      block: fail op_is_write() requests to read-only partitions
      blk-throttle: export io_serviced_recursive, io_service_bytes_recursive
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    0a4b6e2 View commit details
    Browse the repository at this point in the history
  40. Merge tag 'upstream-4.16-rc1' of git://git.infradead.org/linux-ubifs

    Pull UBI/UBIFS updates from Richard Weinberger:
    
     - use the new fscrypt APIs
    
     - a fix for a Fastmap issue
    
     - other minor bug fixes
    
    * tag 'upstream-4.16-rc1' of git://git.infradead.org/linux-ubifs:
      ubi: block: Fix locking for idr_alloc/idr_remove
      mtd: ubi: wl: Fix error return code in ubi_wl_init()
      ubi: Fix copy/paste error in function documentation
      ubi: Fastmap: Fix typo
      ubifs: remove error message in ubifs_xattr_get
      ubi: fastmap: Erase outdated anchor PEBs during attach
      ubifs: switch to fscrypt_prepare_setattr()
      ubifs: switch to fscrypt_prepare_lookup()
      ubifs: switch to fscrypt_prepare_rename()
      ubifs: switch to fscrypt_prepare_link()
      ubifs: switch to fscrypt_file_open()
      ubi: fastmap: Clean up the initialization of pointer p
      ubi: fastmap: Use kmem_cache_free to deallocate memory
      ubi: Fix race condition between ubi volume creation and udev
      mtd: ubi: Use 'max_bad_blocks' to compute bad_peb_limit if available
      ubifs: Fix uninitialized variable in search_dh_cookie()
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    d1de762 View commit details
    Browse the repository at this point in the history
  41. Merge tag 'iversion-v4.16-1' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/jlayton/linux
    
    Pull inode->i_version rework from Jeff Layton:
     "This pile of patches is a rework of the inode->i_version field. We
      have traditionally incremented that field on every inode data or
      metadata change. Typically this increment needs to be logged on disk
      even when nothing else has changed, which is rather expensive.
    
      It turns out though that none of the consumers of that field actually
      require this behavior. The only real requirement for all of them is
      that it be different iff the inode has changed since the last time the
      field was checked.
    
      Given that, we can optimize away most of the i_version increments and
      avoid dirtying inode metadata when the only change is to the i_version
      and no one is querying it. Queries of the i_version field are rather
      rare, so we can help write performance under many common workloads.
    
      This patch series converts existing accesses of the i_version field to
      a new API, and then converts all of the in-kernel filesystems to use
      it. The last patch in the series then converts the backend
      implementation to a scheme that optimizes away a large portion of the
      metadata updates when no one is looking at it.
    
      In my own testing this series significantly helps performance with
      small I/O sizes. I also got this email for Christmas this year from
      the kernel test robot (a 244% r/w bandwidth improvement with XFS over
      DAX, with 4k writes):
    
        https://lkml.org/lkml/2017/12/25/8
    
      A few of the earlier patches in this pile are also flowing to you via
      other trees (mm, integrity, and nfsd trees in particular)".
    
    * tag 'iversion-v4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux: (22 commits)
      fs: handle inode->i_version more efficiently
      btrfs: only dirty the inode in btrfs_update_time if something was changed
      xfs: avoid setting XFS_ILOG_CORE if i_version doesn't need incrementing
      fs: only set S_VERSION when updating times if necessary
      IMA: switch IMA over to new i_version API
      xfs: convert to new i_version API
      ufs: use new i_version API
      ocfs2: convert to new i_version API
      nfsd: convert to new i_version API
      nfs: convert to new i_version API
      ext4: convert to new i_version API
      ext2: convert to new i_version API
      exofs: switch to new i_version API
      btrfs: convert to new i_version API
      afs: convert to new i_version API
      affs: convert to new i_version API
      fat: convert to new i_version API
      fs: don't take the i_lock in inode_inc_iversion
      fs: new API for handling inode->i_version
      ntfs: remove i_version handling
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    a4b7fd7 View commit details
    Browse the repository at this point in the history
  42. Merge tag '4.16-rc-SMB3' of git://git.samba.org/sfrench/cifs-2.6

    Pull cifs updates from Steve French:
     "Some fixes for stable, fixed SMB3 DFS support, SMB3 Direct (RDMA) and
      various bug fixes and cleanup"
    
    * tag '4.16-rc-SMB3' of git://git.samba.org/sfrench/cifs-2.6: (60 commits)
      fs/cifs/cifsacl.c Fixes typo in a comment
      update internal version number for cifs.ko
      cifs: add .splice_write
      CIFS: document tcon/ses/server refcount dance
      move a few externs to smbdirect.h to eliminate warning
      CIFS: zero sensitive data when freeing
      Cleanup some minor endian issues in smb3 rdma
      CIFS: dump IPC tcon in debug proc file
      CIFS: use tcon_ipc instead of use_ipc parameter of SMB2_ioctl
      CIFS: make IPC a regular tcon
      cifs: remove redundant duplicated assignment of pointer 'node'
      CIFS: SMBD: work around gcc -Wmaybe-uninitialized warning
      cifs: Fix autonegotiate security settings mismatch
      CIFS: SMBD: _smbd_get_connection() can be static
      CIFS: SMBD: Disable signing on SMB direct transport
      CIFS: SMBD: Add SMB Direct debug counters
      CIFS: SMBD: Upper layer performs SMB read via RDMA write through memory registration
      CIFS: SMBD: Read correct returned data length for RDMA write (SMB read) I/O
      CIFS: SMBD: Upper layer performs SMB write via RDMA read through memory registration
      CIFS: SMBD: Implement RDMA memory registration
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    6787dc2 View commit details
    Browse the repository at this point in the history
  43. Merge tag 'for-4.16-tag' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/kdave/linux
    
    Pull btrfs updates from David Sterba:
     "Features or user visible changes:
    
       - fallocate: implement zero range mode
    
       - avoid losing data raid profile when deleting a device
    
       - tree item checker: more checks for directory items and xattrs
    
      Notable fixes:
    
       - raid56 recovery: don't use cached stripes, that could be
         potentially changed and a later RMW or recovery would lead to
         corruptions or failures
    
       - let raid56 try harder to rebuild damaged data, reading from all
         stripes if necessary
    
       - fix scrub to repair raid56 in a similar way as in the case above
    
      Other:
    
       - cleanups: device freeing, removed some call indirections, redundant
         bio_put/_get, unused parameters, refactorings and renames
    
       - RCU list traversal fixups
    
       - simplify mount callchain, remove recursing back when mounting a
         subvolume
    
       - plug for fsync, may improve bio merging on multiple devices
    
       - compression heurisic: replace heap sort with radix sort, gains some
         performance
    
       - add extent map selftests, buffered write vs dio"
    
    * tag 'for-4.16-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (155 commits)
      btrfs: drop devid as device_list_add() arg
      btrfs: get device pointer from device_list_add()
      btrfs: set the total_devices in device_list_add()
      btrfs: move pr_info into device_list_add
      btrfs: make btrfs_free_stale_devices() to match the path
      btrfs: rename btrfs_free_stale_devices() arg to skip_dev
      btrfs: make btrfs_free_stale_devices() argument optional
      btrfs: make btrfs_free_stale_device() to iterate all stales
      btrfs: no need to check for btrfs_fs_devices::seeding
      btrfs: Use IS_ALIGNED in btrfs_truncate_block instead of opencoding it
      Btrfs: noinline merge_extent_mapping
      Btrfs: add WARN_ONCE to detect unexpected error from merge_extent_mapping
      Btrfs: extent map selftest: dio write vs dio read
      Btrfs: extent map selftest: buffered write vs dio read
      Btrfs: add extent map selftests
      Btrfs: move extent map specific code to extent_map.c
      Btrfs: add helper for em merge logic
      Btrfs: fix unexpected EEXIST from btrfs_get_extent
      Btrfs: fix incorrect block_len in merge_extent_mapping
      btrfs: Remove unused readahead spinlock
      ...
    torvalds committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    31466f3 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2018

  1. Merge tag 'm68k-for-v4.16-tag1' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/geert/linux-m68k
    
    Pull m68k updates from Geert Uytterhoeven:
    
      - first part of an overhaul of the NuBus subsystem, to bring it up to
        modern driver model standards
    
      - a race condition fix for Mac
    
      - defconfig updates
    
    * tag 'm68k-for-v4.16-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
      MAINTAINERS: Add NuBus subsystem entry
      m68k/mac: Fix race conditions in OSS interrupt dispatch
      nubus: Add support for the driver model
      nubus: Add expansion_type values for various Mac models
      nubus: Adopt standard linked list implementation
      nubus: Rename struct nubus_dev
      nubus: Rework /proc/bus/nubus/s/ implementation
      nubus: Generalize block resource handling
      nubus: Clean up whitespace
      nubus: Remove redundant code
      nubus: Call proc_mkdir() not more than once per slot directory
      nubus: Validate slot resource IDs
      nubus: Fix log spam
      nubus: Use static functions where possible
      nubus: Fix up header split
      nubus: Avoid array underflow and overflow
      m68k/defconfig: Update defconfigs for v4.15-rc1
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    aca21de View commit details
    Browse the repository at this point in the history
  2. Merge tag 'xtensa-20180129' of git://github.com/jcmvbkbc/linux-xtensa

    Pull Xtensa updates from Max Filippov:
    
     - add SSP support
    
     - add KASAN support
    
     - improvements to xtensa-specific assembly:
        - use ENTRY and ENDPROC consistently
        - clean up and unify word alignment macros
        - clean up and unify fixup marking
        - use 'call' instead of 'callx' where possible
    
     - various cleanups:
        - consiolidate kernel stack size related definitions
        - replace #ifdef'fed/commented out debug printk statements with
          pr_debug
        - use struct exc_table instead of flat array for exception handling
          data
    
     - build kernel with -mtext-section-literals; simplify xtensa linker
       script
    
     - fix futex_atomic_cmpxchg_inatomic()
    
    * tag 'xtensa-20180129' of git://github.com/jcmvbkbc/linux-xtensa: (21 commits)
      xtensa: fix futex_atomic_cmpxchg_inatomic
      xtensa: shut up gcc-8 warnings
      xtensa: print kernel sections info in mem_init
      xtensa: use generic strncpy_from_user with KASAN
      xtensa: use __memset in __xtensa_clear_user
      xtensa: add support for KASAN
      xtensa: move fixmap and kmap just above the KSEG
      xtensa: don't clear swapper_pg_dir in paging_init
      xtensa: extract init_kio
      xtensa: implement early_trap_init
      xtensa: clean up exception handling structure
      xtensa: clean up custom-controlled debug output
      xtensa: enable stack protector
      xtensa: print hardware config ID on startup
      xtensa: consolidate kernel stack size related definitions
      xtensa: clean up functions in assembly code
      xtensa: clean up word alignment macros in assembly code
      xtensa: clean up fixups in assembly code
      xtensa: use call instead of callx in assembly code
      xtensa: build kernel with text-section-literals
      ...
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    d0bd31d View commit details
    Browse the repository at this point in the history
  3. Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull irq updates from Thomas Gleixner:
     "A rather small set of irq updates this time:
    
       - removal of the old and now obsolete irq domain debugging code
    
       - the new Goldfish PIC driver
    
       - the usual pile of small fixes and updates"
    
    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      irqdomain: Kill CONFIG_IRQ_DOMAIN_DEBUG
      irq/work: Improve the flag definitions
      irqchip/gic-v3: Fix the driver probe() fail due to disabled GICC entry
      irqchip/irq-goldfish-pic: Add Goldfish PIC driver
      dt-bindings/goldfish-pic: Add device tree binding for Goldfish PIC driver
      irqchip/ompic: fix return value check in ompic_of_init()
      dt-bindings/bcm283x: Define polarity of per-cpu interrupts
      irqchip/irq-bcm2836: Add support for DT interrupt polarity
      dt-bindings/bcm2836-l1-intc: Add interrupt polarity support
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    7bcd342 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull timer updates from Thomas Gleixner:
     "The timer departement presents:
    
       - A rather large rework of the hrtimer infrastructure which
         introduces softirq based hrtimers to replace the spread of
         hrtimer/tasklet combos which force the actual callback execution
         into softirq context. The approach is completely different from the
         initial implementation which you cursed at 10 years ago rightfully.
    
         The softirq based timers have their own queues and there is no
         nasty indirection and list reshuffling in the hard interrupt
         anymore. This comes with conversion of some of the hrtimer/tasklet
         users, the rest and the final removal of that horrible interface
         will come towards the end of the merge window or go through the
         relevant maintainer trees.
    
         Note: The top commit merged the last minute bugfix for the 10 years
         old CPU hotplug bug as I wanted to make sure that I fatfinger the
         merge conflict resolution myself.
    
       - The overhaul of the STM32 clocksource/clockevents driver
    
       - A new driver for the Spreadtrum SC9860 timer
    
       - A new driver dor the Actions Semi S700 timer
    
       - The usual set of fixes and updates all over the place"
    
    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (53 commits)
      usb/gadget/NCM: Replace tasklet with softirq hrtimer
      ALSA/dummy: Replace tasklet with softirq hrtimer
      hrtimer: Implement SOFT/HARD clock base selection
      hrtimer: Implement support for softirq based hrtimers
      hrtimer: Prepare handling of hard and softirq based hrtimers
      hrtimer: Add clock bases and hrtimer mode for softirq context
      hrtimer: Use irqsave/irqrestore around __run_hrtimer()
      hrtimer: Factor out __hrtimer_next_event_base()
      hrtimer: Factor out __hrtimer_start_range_ns()
      hrtimer: Remove the 'base' parameter from hrtimer_reprogram()
      hrtimer: Make remote enqueue decision less restrictive
      hrtimer: Unify remote enqueue handling
      hrtimer: Unify hrtimer removal handling
      hrtimer: Make hrtimer_force_reprogramm() unconditionally available
      hrtimer: Make hrtimer_reprogramm() unconditional
      hrtimer: Make hrtimer_cpu_base.next_timer handling unconditional
      hrtimer: Make the remote enqueue check unconditional
      hrtimer: Use accesor functions instead of direct access
      hrtimer: Make the hrtimer_cpu_base::hres_active field unconditional, to simplify the code
      hrtimer: Make room in 'struct hrtimer_cpu_base'
      ...
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    a46d3f9 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/tip
    
    Pull x86/cache updates from Thomas Gleixner:
     "A set of patches which add support for L2 cache partitioning to the
      Intel RDT facility"
    
    * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/intel_rdt: Add command line parameter to control L2_CDP
      x86/intel_rdt: Enable L2 CDP in MSR IA32_L2_QOS_CFG
      x86/intel_rdt: Add two new resources for L2 Code and Data Prioritization (CDP)
      x86/intel_rdt: Enumerate L2 Code and Data Prioritization (CDP) feature
      x86/intel_rdt: Add L2CDP support in documentation
      x86/intel_rdt: Update documentation
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    f0b1342 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull x86 platform updates from Thomas Gleixner:
     "The platform support for x86 contains the following updates:
    
       - A set of updates for the UV platform to support new CPUs and to fix
         some of the UV4A BAU MRRs
    
       - The initial platform support for the jailhouse hypervisor to allow
         native Linux guests (inmates) in non-root cells.
    
       - A fix for the PCI initialization on Intel MID platforms"
    
    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
      x86/jailhouse: Respect pci=lastbus command line settings
      x86/jailhouse: Set X86_FEATURE_TSC_KNOWN_FREQ
      x86/platform/intel-mid: Move PCI initialization to arch_init()
      x86/platform/uv/BAU: Replace hard-coded values with MMR definitions
      x86/platform/UV: Fix UV4A BAU MMRs
      x86/platform/UV: Fix GAM MMR references in the UV x2apic code
      x86/platform/UV: Fix GAM MMR changes in UV4A
      x86/platform/UV: Add references to access fixed UV4A HUB MMRs
      x86/platform/UV: Fix UV4A support on new Intel Processors
      x86/platform/UV: Update uv_mmrs.h to prepare for UV4A fixes
      x86/jailhouse: Add PCI dependency
      x86/jailhouse: Hide x2apic code when CONFIG_X86_X2APIC=n
      x86/jailhouse: Initialize PCI support
      x86/jailhouse: Wire up IOAPIC for legacy UART ports
      x86/jailhouse: Halt instead of failing to restart
      x86/jailhouse: Silence ACPI warning
      x86/jailhouse: Avoid access of unsupported platform resources
      x86/jailhouse: Set up timekeeping
      x86/jailhouse: Enable PMTIMER
      x86/jailhouse: Enable APIC and SMP support
      ...
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    669c0f7 View commit details
    Browse the repository at this point in the history
  7. Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull x86 timer updates from Thomas Gleixner:
     "A small set of updates for x86 specific timers:
    
       - Mark TSC invariant on a subset of Centaur CPUs
    
       - Allow TSC calibration without PIT on mobile platforms which lack
         legacy devices"
    
    * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/centaur: Mark TSC invariant
      x86/tsc: Introduce early tsc clocksource
      x86/time: Unconditionally register legacy timer interrupt
      x86/tsc: Allow TSC calibration without PIT
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    36c289e View commit details
    Browse the repository at this point in the history
  8. Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/tip/tip
    
    Pull x86 mm update from Thomas Gleixner:
     "A single patch which excludes the GART aperture from vmcore as
      accessing that area from a dump kernel can crash the kernel.
    
      Not necessarily the nicest way to fix this, but curing this from
      ground up requires a more thorough rewrite of the whole kexec/kdump
      magic"
    
    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/gart: Exclude GART aperture from vmcore
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    9426335 View commit details
    Browse the repository at this point in the history
  9. Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/tip/tip
    
    Pull x86/pti updates from Thomas Gleixner:
     "Another set of melted spectrum related changes:
    
       - Code simplifications and cleanups for RSB and retpolines.
    
       - Make the indirect calls in KVM speculation safe.
    
       - Whitelist CPUs which are known not to speculate from Meltdown and
         prepare for the new CPUID flag which tells the kernel that a CPU is
         not affected.
    
       - A less rigorous variant of the module retpoline check which merily
         warns when a non-retpoline protected module is loaded and reflects
         that fact in the sysfs file.
    
       - Prepare for Indirect Branch Prediction Barrier support.
    
       - Prepare for exposure of the Speculation Control MSRs to guests, so
         guest OSes which depend on those "features" can use them. Includes
         a blacklist of the broken microcodes. The actual exposure of the
         MSRs through KVM is still being worked on"
    
    * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/speculation: Simplify indirect_branch_prediction_barrier()
      x86/retpoline: Simplify vmexit_fill_RSB()
      x86/cpufeatures: Clean up Spectre v2 related CPUID flags
      x86/cpu/bugs: Make retpoline module warning conditional
      x86/bugs: Drop one "mitigation" from dmesg
      x86/nospec: Fix header guards names
      x86/alternative: Print unadorned pointers
      x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support
      x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes
      x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown
      x86/msr: Add definitions for new speculation control MSRs
      x86/cpufeatures: Add AMD feature bits for Speculation Control
      x86/cpufeatures: Add Intel feature bits for Speculation Control
      x86/cpufeatures: Add CPUID_7_EDX CPUID leaf
      module/retpoline: Warn about missing retpoline in module
      KVM: VMX: Make indirect call speculation safe
      KVM: x86: Make indirect calls in emulator speculation safe
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    6304672 View commit details
    Browse the repository at this point in the history
  10. Documentation: Fix 'file_mapped' -> 'mapped_file'

    There is no entry file_mapped in the memory.stat file. This looks like a
    simple word flip that's gone unnoticed since 2010 (dc10e28,
    memcg: update documentation).
    
    Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Florian Schmidt authored and htejun committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    03eac8b View commit details
    Browse the repository at this point in the history
  11. Merge branch 'core-debug-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull STRICT_DEVMEM default from Ingo Molnar:
     "Make CONFIG_STRICT_DEVMEM default-y on x86 and arm64 as well, to
      follow the distro status quo"
    
    * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      Kconfig: Make STRICT_DEVMEM default-y on x86 and arm64
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    c148879 View commit details
    Browse the repository at this point in the history
  12. Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull RCU updates from Ingo Molnar:
     "The main RCU changes in this cycle were:
    
       - Updates to use cond_resched() instead of cond_resched_rcu_qs()
         where feasible (currently everywhere except in kernel/rcu and in
         kernel/torture.c). Also a couple of fixes to avoid sending IPIs to
         offline CPUs.
    
       - Updates to simplify RCU's dyntick-idle handling.
    
       - Updates to remove almost all uses of smp_read_barrier_depends() and
         read_barrier_depends().
    
       - Torture-test updates.
    
       - Miscellaneous fixes"
    
    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits)
      torture: Save a line in stutter_wait(): while -> for
      torture: Eliminate torture_runnable and perf_runnable
      torture: Make stutter less vulnerable to compilers and races
      locking/locktorture: Fix num reader/writer corner cases
      locking/locktorture: Fix rwsem reader_delay
      torture: Place all torture-test modules in one MAINTAINERS group
      rcutorture/kvm-build.sh: Skip build directory check
      rcutorture: Simplify functions.sh include path
      rcutorture: Simplify logging
      rcutorture/kvm-recheck-*: Improve result directory readability check
      rcutorture/kvm.sh: Support execution from any directory
      rcutorture/kvm.sh: Use consistent help text for --qemu-args
      rcutorture/kvm.sh: Remove unused variable, `alldone`
      rcutorture: Remove unused script, config2frag.sh
      rcutorture/configinit: Fix build directory error message
      rcutorture: Preempt RCU-preempt readers more vigorously
      torture: Reduce #ifdefs for preempt_schedule()
      rcu: Remove have_rcu_nocb_mask from tree_plugin.h
      rcu: Add comment giving debug strategy for double call_rcu()
      tracing, rcu: Hide trace event rcu_nocb_wake when not used
      ...
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    d772794 View commit details
    Browse the repository at this point in the history
  13. Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull EFI updates from Ingo Molnar:
     "The biggest change in this cycle was the addition of ARM CPER error
      decoding when printing EFI errors into the kernel log.
    
      There are also misc smaller updates: documentation update, cleanups
      and an EFI memory map permissions quirk"
    
    * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/efi: Clarify that reset attack mitigation needs appropriate userspace
      efi: Parse ARM error information value
      efi: Move ARM CPER code to new file
      efi: Use PTR_ERR_OR_ZERO()
      arm64/efi: Ignore EFI_MEMORY_XP attribute if RP and/or WP are set
      efi/capsule-loader: Fix pr_err() string to end with newline
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    b8dbf73 View commit details
    Browse the repository at this point in the history
  14. Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull locking updates from Ingo Molnar:
     "The main changes relate to making lock_is_held() et al (and external
      wrappers of them) work on const data types - this requires const
      propagation through the depths of lockdep.
    
      This removes a number of ugly type hacks the external helpers used"
    
    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      lockdep: Convert some users to const
      lockdep: Make lockdep checking constant
      lockdep: Assign lock keys on registration
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    5e7481a View commit details
    Browse the repository at this point in the history
  15. Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/tip
    
    Pull perf updates from Ingo Molnar:
     "Kernel side changes:
    
       - Clean up the x86 instruction decoder (Masami Hiramatsu)
    
       - Add new uprobes optimization for PUSH instructions on x86 (Yonghong
         Song)
    
       - Add MSR_IA32_THERM_STATUS to the MSR events (Stephane Eranian)
    
       - Fix misc bugs, update documentation, plus various cleanups (Jiri
         Olsa)
    
      There's a large number of tooling side improvements:
    
       - Intel-PT/BTS improvements (Adrian Hunter)
    
       - Numerous 'perf trace' improvements (Arnaldo Carvalho de Melo)
    
       - Introduce an errno code to string facility (Hendrik Brueckner)
    
       - Various build system improvements (Jiri Olsa)
    
       - Add support for CoreSight trace decoding by making the perf tools
         use the external openCSD (Mathieu Poirier, Tor Jeremiassen)
    
       - Add ARM Statistical Profiling Extensions (SPE) support (Kim
         Phillips)
    
       - libtraceevent updates (Steven Rostedt)
    
       - Intel vendor event JSON updates (Andi Kleen)
    
       - Introduce 'perf report --mmaps' and 'perf report --tasks' to show
         info present in 'perf.data' (Jiri Olsa, Arnaldo Carvalho de Melo)
    
       - Add infrastructure to record first and last sample time to the
         perf.data file header, so that when processing all samples in a
         'perf record' session, such as when doing build-id processing, or
         when specifically requesting that that info be recorded, use that
         in 'perf report --time', that also got support for percent slices
         in addition to absolute ones.
    
         I.e. now it is possible to ask for the samples in the 10%-20% time
         slice of a perf.data file (Jin Yao)
    
       - Allow system wide 'perf stat --per-thread', sorting the result (Jin
         Yao)
    
         E.g.:
    
          [root@jouet ~]# perf stat --per-thread --metrics IPC
          ^C
           Performance counter stats for 'system wide':
    
                      make-22229  23,012,094,032  inst_retired.any   #  0.8 IPC
                       cc1-22419     692,027,497  inst_retired.any   #  0.8 IPC
                       gcc-22418     328,231,855  inst_retired.any   #  0.9 IPC
                       cc1-22509     220,853,647  inst_retired.any   #  0.8 IPC
                       gcc-22486     199,874,810  inst_retired.any   #  1.0 IPC
                        as-22466     177,896,365  inst_retired.any   #  0.9 IPC
                       cc1-22465     150,732,374  inst_retired.any   #  0.8 IPC
                       gcc-22508     112,555,593  inst_retired.any   #  0.9 IPC
                       cc1-22487     108,964,079  inst_retired.any   #  0.7 IPC
           qemu-system-x86-2697       21,330,550  inst_retired.any   #  0.3 IPC
           systemd-journal-551        20,642,951  inst_retired.any   #  0.4 IPC
           docker-containe-17651       9,552,892  inst_retired.any   #  0.5 IPC
           dockerd-current-9809        7,528,586  inst_retired.any   #  0.5 IPC
                      make-22153  12,504,194,380  inst_retired.any   #  0.8 IPC
                   python2-22429  12,081,290,954  inst_retired.any   #  0.8 IPC
          <SNIP>
                   python2-22429  15,026,328,103  cpu_clk_unhalted.thread
                       cc1-22419     826,660,193  cpu_clk_unhalted.thread
                       gcc-22418     365,321,295  cpu_clk_unhalted.thread
                       cc1-22509     279,169,362  cpu_clk_unhalted.thread
                       gcc-22486     210,156,950  cpu_clk_unhalted.thread
          <SNIP>
    
               5.638075538 seconds time elapsed
    
         [root@jouet ~]#
    
       - Improve shell auto-completion of perf events (Jin Yao)
    
       - 'perf probe' improvements (Masami Hiramatsu)
    
       - Improve PMU infrastructure to support amp64's ThunderX2
         implementation defined core events (Ganapatrao Kulkarni)
    
       - Various annotation related improvements and fixes (Thomas Richter)
    
       - Clarify usage of 'overwrite' and 'backward' in the evlist/mmap
         code, removing the 'overwrite' parameter from several functions as
         it was always used it as 'false' (Wang Nan)
    
       - Fix/improve 'perf record' reverse recording support (Wang Nan)
    
       - Improve command line options documentation (Sihyeon Jang)
    
       - Optimize sample parsing for ordering events, where we don't need to
         parse all the PERF_SAMPLE_ bits, just the ones leading to the
         timestamp needed to reorder events (Jiri Olsa)
    
       - Generalize the annotation code to support other source information
         besides objdump/DWARF obtained ones, starting with python scripts,
         that will is slated to be merged soon (Jiri Olsa)
    
       - ... and a lot more that I failed to list, see the shortlog and
         changelog for details"
    
    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (262 commits)
      perf trace beauty flock: Move to separate object file
      perf evlist: Remove fcntl.h from evlist.h
      perf trace beauty futex: Beautify FUTEX_BITSET_MATCH_ANY
      perf trace: Do not print from time delta for interrupted syscall lines
      perf trace: Add --print-sample
      perf bpf: Remove misplaced __maybe_unused attribute
      MAINTAINERS: Adding entry for CoreSight trace decoding
      perf tools: Add mechanic to synthesise CoreSight trace packets
      perf tools: Add full support for CoreSight trace decoding
      pert tools: Add queue management functionality
      perf tools: Add functionality to communicate with the openCSD decoder
      perf tools: Add support for decoding CoreSight trace data
      perf tools: Add decoder mechanic to support dumping trace data
      perf tools: Add processing of coresight metadata
      perf tools: Add initial entry point for decoder CoreSight traces
      perf tools: Integrating the CoreSight decoding library
      perf vendor events intel: Update IvyTown files to V20
      perf vendor events intel: Update IvyBridge files to V20
      perf vendor events intel: Update BroadwellDE events to V7
      perf vendor events intel: Update SkylakeX events to V1.06
      ...
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    d8b91dd View commit details
    Browse the repository at this point in the history
  16. Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull x86 RAS updates from Ingo Molnar:
    
     - various AMD SMCA error parsing/reporting improvements (Yazen Ghannam)
    
     - extend Intel CMCI error reporting to more cases (Xie XiuQi)
    
    * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/MCE: Make correctable error detection look at the Deferred bit
      x86/MCE: Report only DRAM ECC as memory errors on AMD systems
      x86/MCE/AMD: Define a function to get SMCA bank type
      x86/mce/AMD: Don't set DEF_INT_TYPE in MSR_CU_DEF_ERR on SMCA systems
      x86/MCE: Extend table to report action optional errors through CMCI too
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    a1c75e1 View commit details
    Browse the repository at this point in the history
  17. Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull scheduler updates from Ingo Molnar:
     "The main changes in this cycle were:
    
       - Implement frequency/CPU invariance and OPP selection for
         SCHED_DEADLINE (Juri Lelli)
    
       - Tweak the task migration logic for better multi-tasking
         workload scalability (Mel Gorman)
    
       - Misc cleanups, fixes and improvements"
    
    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/deadline: Make bandwidth enforcement scale-invariant
      sched/cpufreq: Move arch_scale_{freq,cpu}_capacity() outside of #ifdef CONFIG_SMP
      sched/cpufreq: Remove arch_scale_freq_capacity()'s 'sd' parameter
      sched/cpufreq: Always consider all CPUs when deciding next freq
      sched/cpufreq: Split utilization signals
      sched/cpufreq: Change the worker kthread to SCHED_DEADLINE
      sched/deadline: Move CPU frequency selection triggering points
      sched/cpufreq: Use the DEADLINE utilization signal
      sched/deadline: Implement "runtime overrun signal" support
      sched/fair: Only immediately migrate tasks due to interrupts if prev and target CPUs share cache
      sched/fair: Correct obsolete comment about cpufreq_update_util()
      sched/fair: Remove impossible condition from find_idlest_group_cpu()
      sched/cpufreq: Don't pass flags to sugov_set_iowait_boost()
      sched/cpufreq: Initialize sg_cpu->flags to 0
      sched/fair: Consider RT/IRQ pressure in capacity_spare_wake()
      sched/fair: Use 'unsigned long' for utilization, consistently
      sched/core: Rework and clarify prepare_lock_switch()
      sched/fair: Remove unused 'curr' parameter from wakeup_gran
      sched/headers: Constify object_is_on_stack()
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    af8c5e2 View commit details
    Browse the repository at this point in the history
  18. Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull x86 apic cleanup from Ingo Molnar:
     "A single change simplifying the APIC code bit"
    
    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/apic: Remove local var in flat_send_IPI_allbutself()
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    5289d30 View commit details
    Browse the repository at this point in the history
  19. Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull x86 cleanups from Ingo Molnar:
     "Misc cleanups"
    
    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86: Remove unused IOMMU_STRESS Kconfig
      x86/extable: Mark exception handler functions visible
      x86/timer: Don't inline __const_udelay
      x86/headers: Remove duplicate #includes
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    3ccabd6 View commit details
    Browse the repository at this point in the history
  20. Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull x86 hyperv update from Ingo Molnar:
     "Enable PCID support on Hyper-V guests"
    
    * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/hyperv: Stop suppressing X86_FEATURE_PCID
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    72906f3 View commit details
    Browse the repository at this point in the history
  21. Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/arm64/linux
    
    Pull arm64 updates from Catalin Marinas:
     "The main theme of this pull request is security covering variants 2
      and 3 for arm64. I expect to send additional patches next week
      covering an improved firmware interface (requires firmware changes)
      for variant 2 and way for KPTI to be disabled on unaffected CPUs
      (Cavium's ThunderX doesn't work properly with KPTI enabled because of
      a hardware erratum).
    
      Summary:
    
       - Security mitigations:
          - variant 2: invalidate the branch predictor with a call to
            secure firmware
          - variant 3: implement KPTI for arm64
    
       - 52-bit physical address support for arm64 (ARMv8.2)
    
       - arm64 support for RAS (firmware first only) and SDEI (software
         delegated exception interface; allows firmware to inject a RAS
         error into the OS)
    
       - perf support for the ARM DynamIQ Shared Unit PMU
    
       - CPUID and HWCAP bits updated for new floating point multiplication
         instructions in ARMv8.4
    
       - remove some virtual memory layout printks during boot
    
       - fix initial page table creation to cope with larger than 32M kernel
         images when 16K pages are enabled"
    
    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (104 commits)
      arm64: Fix TTBR + PAN + 52-bit PA logic in cpu_do_switch_mm
      arm64: Turn on KPTI only on CPUs that need it
      arm64: Branch predictor hardening for Cavium ThunderX2
      arm64: Run enable method for errata work arounds on late CPUs
      arm64: Move BP hardening to check_and_switch_context
      arm64: mm: ignore memory above supported physical address size
      arm64: kpti: Fix the interaction between ASID switching and software PAN
      KVM: arm64: Emulate RAS error registers and set HCR_EL2's TERR & TEA
      KVM: arm64: Handle RAS SErrors from EL2 on guest exit
      KVM: arm64: Handle RAS SErrors from EL1 on guest exit
      KVM: arm64: Save ESR_EL2 on guest SError
      KVM: arm64: Save/Restore guest DISR_EL1
      KVM: arm64: Set an impdef ESR for Virtual-SError using VSESR_EL2.
      KVM: arm/arm64: mask/unmask daif around VHE guests
      arm64: kernel: Prepare for a DISR user
      arm64: Unconditionally enable IESB on exception entry/return for firmware-first
      arm64: kernel: Survive corrected RAS errors notified by SError
      arm64: cpufeature: Detect CPU RAS Extentions
      arm64: sysreg: Move to use definitions for all the SCTLR bits
      arm64: cpufeature: __this_cpu_has_cap() shouldn't stop early
      ...
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    0aebc6a View commit details
    Browse the repository at this point in the history
  22. Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/ebiederm/user-namespace
    
    Pull siginfo cleanups from Eric Biederman:
     "Long ago when 2.4 was just a testing release copy_siginfo_to_user was
      made to copy individual fields to userspace, possibly for efficiency
      and to ensure initialized values were not copied to userspace.
    
      Unfortunately the design was complex, it's assumptions unstated, and
      humans are fallible and so while it worked much of the time that
      design failed to ensure unitialized memory is not copied to userspace.
    
      This set of changes is part of a new design to clean up siginfo and
      simplify things, and hopefully make the siginfo handling robust enough
      that a simple inspection of the code can be made to ensure we don't
      copy any unitializied fields to userspace.
    
      The design is to unify struct siginfo and struct compat_siginfo into a
      single definition that is shared between all architectures so that
      anyone adding to the set of information shared with struct siginfo can
      see the whole picture. Hopefully ensuring all future si_code
      assignments are arch independent.
    
      The design is to unify copy_siginfo_to_user32 and
      copy_siginfo_from_user32 so that those function are complete and cope
      with all of the different cases documented in signinfo_layout. I don't
      think there was a single implementation of either of those functions
      that was complete and correct before my changes unified them.
    
      The design is to introduce a series of helpers including
      force_siginfo_fault that take the values that are needed in struct
      siginfo and build the siginfo structure for their callers. Ensuring
      struct siginfo is built correctly.
    
      The remaining work for 4.17 (unless someone thinks it is post -rc1
      material) is to push usage of those helpers down into the
      architectures so that architecture specific code will not need to deal
      with the fiddly work of intializing struct siginfo, and then when
      struct siginfo is guaranteed to be fully initialized change copy
      siginfo_to_user into a simple wrapper around copy_to_user.
    
      Further there is work in progress on the issues that have been
      documented requires arch specific knowledge to sort out.
    
      The changes below fix or at least document all of the issues that have
      been found with siginfo generation. Then proceed to unify struct
      siginfo the 32 bit helpers that copy siginfo to and from userspace,
      and generally clean up anything that is not arch specific with regards
      to siginfo generation.
    
      It is a lot but with the unification you can of siginfo you can
      already see the code reduction in the kernel"
    
    * 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (45 commits)
      signal/memory-failure: Use force_sig_mceerr and send_sig_mceerr
      mm/memory_failure: Remove unused trapno from memory_failure
      signal/ptrace: Add force_sig_ptrace_errno_trap and use it where needed
      signal/powerpc: Remove unnecessary signal_code parameter of do_send_trap
      signal: Helpers for faults with specialized siginfo layouts
      signal: Add send_sig_fault and force_sig_fault
      signal: Replace memset(info,...) with clear_siginfo for clarity
      signal: Don't use structure initializers for struct siginfo
      signal/arm64: Better isolate the COMPAT_TASK portion of ptrace_hbptriggered
      ptrace: Use copy_siginfo in setsiginfo and getsiginfo
      signal: Unify and correct copy_siginfo_to_user32
      signal: Remove the code to clear siginfo before calling copy_siginfo_from_user32
      signal: Unify and correct copy_siginfo_from_user32
      signal/blackfin: Remove pointless UID16_SIGINFO_COMPAT_NEEDED
      signal/blackfin: Move the blackfin specific si_codes to asm-generic/siginfo.h
      signal/tile: Move the tile specific si_codes to asm-generic/siginfo.h
      signal/frv: Move the frv specific si_codes to asm-generic/siginfo.h
      signal/ia64: Move the ia64 specific si_codes to asm-generic/siginfo.h
      signal/powerpc: Remove redefinition of NSIGTRAP on powerpc
      signal: Move addr_lsb into the _sigfault union for clarity
      ...
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    d417302 View commit details
    Browse the repository at this point in the history
  23. Merge branch 'userns-linus' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/ebiederm/user-namespace
    
    Pull userns updates from Eric Biederman:
     "Between the holidays and other distractions only a small amount of
      namespace work made it into my tree this time.
    
      Just a final cleanup from a revert several kernels ago and a small
      typo fix from Wolffhardt Schwabe"
    
    * 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
      fix typo in assignment of fs default overflow gid
      autofs4: Modify autofs_wait to use current_uid() and current_gid()
      userns: Don't fail follow_automount based on s_user_ns
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    2afe738 View commit details
    Browse the repository at this point in the history
  24. Merge branch 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/tj/wq
    
    Pull workqueue updates from Tejun Heo:
     "Workqueue has an early init trick where workqueues can be created and
      work items queued on them before the workqueue subsystem is online.
      This helps simplifying early init and operation of low level
      subsystems which use workqueues for managerial things which aren't
      depended upon early during boot.
    
      Out of laziness, the early init didn't cover workqueues with
      WQ_MEM_RECLAIM, which is inconsistent and confusing because adding the
      flag simply makes the system fail to boot. Cover WQ_MEM_RECLAIM too.
    
      This was originally brought up for RCU but RCU didn't actually need
      this. I still think it's a good idea to cover it"
    
    * 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
      workqueue: allow WQ_MEM_RECLAIM on early init workqueues
      workqueue: separate out init_rescuer()
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    f8cc87b View commit details
    Browse the repository at this point in the history
  25. Merge branch 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/tj/libata
    
    Pull libata updates from Tejun Heo:
     "Nothing too interesting. Several patches to convert mdelay() to
      usleep_range(), removal of unused pata_at32, and other low level
      driver specific changes"
    
    * 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
      ata: pata_pdc2027x: Replace mdelay with msleep
      ata: pata_it821x: Replace mdelay with usleep_range in it821x_firmware_command
      ata: sata_mv: Replace mdelay with usleep_range in mv_reset_channel
      ata: remove pata_at32
      phy: brcm-sata: remove unused variable
      phy: brcm-sata: fix semicolon.cocci warnings
      ata: ahci_brcm: Recover from failures to identify devices
      phy: brcm-sata: Implement calibrate callback
      ahci: Add Intel Cannon Lake PCH-H PCI ID
      ata_piix: constify pci_bits
      libata:pata_atiixp: Don't use unconnected secondary port on SB600
      ata: ahci_brcm: Avoid clobbering SATA_TOP_CTRL_BUS_CTRL
      ahci: Allow setting a default LPM policy for mobile chipsets
      ahci: Add PCI ids for Intel Bay Trail, Cherry Trail and Apollo Lake AHCI
      ahci: Annotate PCI ids for mobile Intel chipsets as such
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    76a250f View commit details
    Browse the repository at this point in the history
  26. Merge branch 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/tj/percpu
    
    Pull percpu update from Tejun Heo:
     "One trivial patch to convert the return type from int to bool"
    
    * 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
      percpu: percpu_counter_initialized can be boolean
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    289104c View commit details
    Browse the repository at this point in the history
  27. Merge branch 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/tj/cgroup
    
    Pull cgroup updates from Tejun Heo:
     "Nothing too interesting. Documentation updates and trivial changes;
      however, this pull request does containt he previusly discussed
      dropping of __must_check from strscpy()"
    
    * 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
      Documentation: Fix 'file_mapped' -> 'mapped_file'
      string: drop __must_check from strscpy() and restore strscpy() usages in cgroup
      cgroup, docs: document the root cgroup behavior of cpu and io controllers
      cgroup-v2.txt: fix typos
      cgroup: Update documentation reference
      Documentation/cgroup-v1: fix outdated programming details
      cgroup, docs: document cgroup v2 device controller
    torvalds committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    13ddd16 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2018

  1. Merge branch 'misc.poll' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs
    
    Pull poll annotations from Al Viro:
     "This introduces a __bitwise type for POLL### bitmap, and propagates
      the annotations through the tree. Most of that stuff is as simple as
      'make ->poll() instances return __poll_t and do the same to local
      variables used to hold the future return value'.
    
      Some of the obvious brainos found in process are fixed (e.g. POLLIN
      misspelled as POLL_IN). At that point the amount of sparse warnings is
      low and most of them are for genuine bugs - e.g. ->poll() instance
      deciding to return -EINVAL instead of a bitmap. I hadn't touched those
      in this series - it's large enough as it is.
    
      Another problem it has caught was eventpoll() ABI mess; select.c and
      eventpoll.c assumed that corresponding POLL### and EPOLL### were
      equal. That's true for some, but not all of them - EPOLL### are
      arch-independent, but POLL### are not.
    
      The last commit in this series separates userland POLL### values from
      the (now arch-independent) kernel-side ones, converting between them
      in the few places where they are copied to/from userland. AFAICS, this
      is the least disruptive fix preserving poll(2) ABI and making epoll()
      work on all architectures.
    
      As it is, it's simply broken on sparc - try to give it EPOLLWRNORM and
      it will trigger only on what would've triggered EPOLLWRBAND on other
      architectures. EPOLLWRBAND and EPOLLRDHUP, OTOH, are never triggered
      at all on sparc. With this patch they should work consistently on all
      architectures"
    
    * 'misc.poll' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (37 commits)
      make kernel-side POLL... arch-independent
      eventpoll: no need to mask the result of epi_item_poll() again
      eventpoll: constify struct epoll_event pointers
      debugging printk in sg_poll() uses %x to print POLL... bitmap
      annotate poll(2) guts
      9p: untangle ->poll() mess
      ->si_band gets POLL... bitmap stored into a user-visible long field
      ring_buffer_poll_wait() return value used as return value of ->poll()
      the rest of drivers/*: annotate ->poll() instances
      media: annotate ->poll() instances
      fs: annotate ->poll() instances
      ipc, kernel, mm: annotate ->poll() instances
      net: annotate ->poll() instances
      apparmor: annotate ->poll() instances
      tomoyo: annotate ->poll() instances
      sound: annotate ->poll() instances
      acpi: annotate ->poll() instances
      crypto: annotate ->poll() instances
      block: annotate ->poll() instances
      x86: annotate ->poll() instances
      ...
    torvalds committed Jan 31, 2018
    Configuration menu
    Copy the full SHA
    168fe32 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'work.mqueue' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/viro/vfs
    
    Pull mqueue/bpf vfs cleanups from Al Viro:
     "mqueue and bpf go through rather painful and similar contortions to
      create objects in their dentry trees. Provide a primitive for doing
      that without abusing ->mknod(), switch bpf and mqueue to it.
    
      Another mqueue-related thing that has ended up in that branch is
      on-demand creation of internal mount (based upon the work of Giuseppe
      Scrivano)"
    
    * 'work.mqueue' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      mqueue: switch to on-demand creation of internal mount
      tidy do_mq_open() up a bit
      mqueue: clean prepare_open() up
      do_mq_open(): move all work prior to dentry_open() into a helper
      mqueue: fold mq_attr_ok() into mqueue_get_inode()
      move dentry_open() calls up into do_mq_open()
      mqueue: switch to vfs_mkobj(), quit abusing ->d_fsdata
      bpf_obj_do_pin(): switch to vfs_mkobj(), quit abusing ->mknod()
      new primitive: vfs_mkobj()
    torvalds committed Jan 31, 2018
    Configuration menu
    Copy the full SHA
    8b0fdf6 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'work.sock_recvmsg' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/viro/vfs
    
    Pull kern_recvmsg reduction from Al Viro:
     "kernel_recvmsg() is a set_fs()-using wrapper for sock_recvmsg(). In
      all but one case that is not needed - use of ITER_KVEC for ->msg_iter
      takes care of the data and does not care about set_fs(). The only
      exception is svc_udp_recvfrom() where we want cmsg to be store into
      kernel object; everything else can just use sock_recvmsg() and be done
      with that.
    
      A followup converting svc_udp_recvfrom() away from set_fs() (and
      killing kernel_recvmsg() off) is *NOT* in here - I'd like to hear what
      netdev folks think of the approach proposed in that followup)"
    
    * 'work.sock_recvmsg' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      tipc: switch to sock_recvmsg()
      smc: switch to sock_recvmsg()
      ipvs: switch to sock_recvmsg()
      mISDN: switch to sock_recvmsg()
      drbd: switch to sock_recvmsg()
      lustre lnet_sock_read(): switch to sock_recvmsg()
      cfs2: switch to sock_recvmsg()
      ncpfs: switch to sock_recvmsg()
      dlm: switch to sock_recvmsg()
      svc_recvfrom(): switch to sock_recvmsg()
    torvalds committed Jan 31, 2018
    Configuration menu
    Copy the full SHA
    1ed2d76 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'nfs-for-4.16-1' of git://git.linux-nfs.org/projects/trondm…

    …y/linux-nfs
    
    Pull NFS client updates from Trond Myklebust:
     "Highlights include:
    
      Stable bugfixes:
    
       - Fix breakages in the nfsstat utility due to the inclusion of the
         NFSv4 LOOKUPP operation
    
       - Fix a NULL pointer dereference in nfs_idmap_prepare_pipe_upcall()
         due to nfs_idmap_legacy_upcall() being called without an 'aux'
         parameter
    
       - Fix a refcount leak in the standard O_DIRECT error path
    
       - Fix a refcount leak in the pNFS O_DIRECT fallback to MDS path
    
       - Fix CPU latency issues with nfs_commit_release_pages()
    
       - Fix the LAYOUTUNAVAILABLE error case in the file layout type
    
       - NFS: Fix a race between mmap() and O_DIRECT
    
      Features:
    
       - Support the statx() mask and query flags to enable optimisations
         when the user is requesting only attributes that are already up to
         date in the inode cache, or is specifying the AT_STATX_DONT_SYNC
         flag
    
       - Add a module alias for the SCSI pNFS layout type
    
      Bugfixes:
    
       - Automounting when resolving a NFSv4 referral should preserve the
         RDMA transport protocol settings
    
       - Various other RDMA bugfixes from Chuck
    
       - pNFS block layout fixes
    
       - Always set NFS_LOCK_LOST when a lock is lost"
    
    * tag 'nfs-for-4.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (69 commits)
      NFS: Fix a race between mmap() and O_DIRECT
      NFS: Remove a redundant call to unmap_mapping_range()
      pnfs/blocklayout: Ensure disk address in block device map
      pnfs/blocklayout: pnfs_block_dev_map uses bytes, not sectors
      lockd: Fix server refcounting
      SUNRPC: Fix null rpc_clnt dereference in rpc_task_queued tracepoint
      SUNRPC: Micro-optimize __rpc_execute
      SUNRPC: task_run_action should display tk_callback
      sunrpc: Format RPC events consistently for display
      SUNRPC: Trace xprt_timer events
      xprtrdma: Correct some documenting comments
      xprtrdma: Fix "bytes registered" accounting
      xprtrdma: Instrument allocation/release of rpcrdma_req/rep objects
      xprtrdma: Add trace points to instrument QP and CQ access upcalls
      xprtrdma: Add trace points in the client-side backchannel code paths
      xprtrdma: Add trace points for connect events
      xprtrdma: Add trace points to instrument MR allocation and recovery
      xprtrdma: Add trace points to instrument memory invalidation
      xprtrdma: Add trace points in reply decoder path
      xprtrdma: Add trace points to instrument memory registration
      ..
    torvalds committed Jan 31, 2018
    Configuration menu
    Copy the full SHA
    efd52b5 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'f2fs-for-4.16-rc1' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/jaegeuk/f2fs
    
    Pull f2fs updates from Jaegeuk Kim:
     "In this round, we've followed up to support some generic features such
      as cgroup, block reservation, linking fscrypt_ops, delivering
      write_hints, and some ioctls. And, we could fix some corner cases in
      terms of power-cut recovery and subtle deadlocks.
    
      Enhancements:
       - bitmap operations to handle NAT blocks
       - readahead to improve readdir speed
       - switch to use fscrypt_*
       - apply write hints for direct IO
       - add reserve_root=%u,resuid=%u,resgid=%u to reserve blocks for root/uid/gid
       - modify b_avail and b_free to consider root reserved blocks
       - support cgroup writeback
       - support FIEMAP_FLAG_XATTR for fibmap
       - add F2FS_IOC_PRECACHE_EXTENTS to pre-cache extents
       - add F2FS_IOC_{GET/SET}_PIN_FILE to pin LBAs for data blocks
       - support inode creation time
    
      Bug fixs:
       - sysfile-based quota operations
       - memory footprint accounting
       - allow to write data on partial preallocation case
       - fix deadlock case on fallocate
       - fix to handle fill_super errors
       - fix missing inode updates of fsync'ed file
       - recover renamed file which was fsycn'ed before
       - drop inmemory pages in corner error case
       - keep last_disk_size correctly
       - recover missing i_inline flags during roll-forward
    
      Various clean-up patches were added as well"
    
    * tag 'f2fs-for-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (72 commits)
      f2fs: support inode creation time
      f2fs: rebuild sit page from sit info in mem
      f2fs: stop issuing discard if fs is readonly
      f2fs: clean up duplicated assignment in init_discard_policy
      f2fs: use GFP_F2FS_ZERO for cleanup
      f2fs: allow to recover node blocks given updated checkpoint
      f2fs: recover some i_inline flags
      f2fs: correct removexattr behavior for null valued extended attribute
      f2fs: drop page cache after fs shutdown
      f2fs: stop gc/discard thread after fs shutdown
      f2fs: hanlde error case in f2fs_ioc_shutdown
      f2fs: split need_inplace_update
      f2fs: fix to update last_disk_size correctly
      f2fs: kill F2FS_INLINE_XATTR_ADDRS for cleanup
      f2fs: clean up error path of fill_super
      f2fs: avoid hungtask when GC encrypted block if io_bits is set
      f2fs: allow quota to use reserved blocks
      f2fs: fix to drop all inmem pages correctly
      f2fs: speed up defragment on sparse file
      f2fs: support F2FS_IOC_PRECACHE_EXTENTS
      ...
    torvalds committed Jan 31, 2018
    Configuration menu
    Copy the full SHA
    3da90b1 View commit details
    Browse the repository at this point in the history