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 #1

Merged
merged 251 commits into from
Jun 28, 2018
Merged

update #1

merged 251 commits into from
Jun 28, 2018
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Mar 17, 2018

  1. iio: adc: stm32-dfsdm: fix successive oversampling settings

    When doing successive oversampling settings, it may fail to update filter
    parameters silently:
    - First time oversampling is being set, it will be successful, as fl->res
    is 0 initially.
    - Next attempts with various oversamp value may return 0 (success), but
    keep previous filter parameters, due to 'res' never reaches above or
    equal current 'fl->res'.
    
    This is particularly true when setting sampling frequency (that relies on
    oversamp). Typical failure without error:
    - run 1st test @16kHz samp freq will succeed
    - run new test @8khz will succeed as well
    - run new test @16kHz (again): sample rate will remain 8kHz without error
    
    Fixes: e2e6771 ("IIO: ADC: add STM32 DFSDM sigma delta ADC support")
    
    Signed-off-by: Fabrice Gasnier <[email protected]>
    Acked-by: Arnaud Pouliquen <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Jonathan Cameron <[email protected]>
    Fabrice Gasnier authored and jic23 committed Mar 17, 2018
    Configuration menu
    Copy the full SHA
    7531cf5 View commit details
    Browse the repository at this point in the history
  2. iio: adc: stm32-dfsdm: fix sample rate for div2 spi clock

    When channel clk source is set to "CLKOUT_F" or "CLKOUT_R" (e.g. div2),
    sample rate is currently set to half the requested value.
    
    Fixes: eca9498 ("IIO: ADC: add stm32 DFSDM support for PDM
    microphone")
    
    Signed-off-by: Fabrice Gasnier <[email protected]>
    Acked-by: Arnaud Pouliquen <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Jonathan Cameron <[email protected]>
    Fabrice Gasnier authored and jic23 committed Mar 17, 2018
    Configuration menu
    Copy the full SHA
    d58109d View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2018

  1. iio:buffer: make length types match kfifo types

    Currently, we use int for buffer length and bytes_per_datum. However,
    kfifo uses unsigned int for length and size_t for element size. We need
    to make sure these matches or we will have bugs related to overflow (in
    the range between INT_MAX and UINT_MAX for length, for example).
    
    In addition, set_bytes_per_datum uses size_t while bytes_per_datum is an
    int, which would cause bugs for large values of bytes_per_datum.
    
    Change buffer length to use unsigned int and bytes_per_datum to use
    size_t.
    
    Signed-off-by: Martin Kelly <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Jonathan Cameron <[email protected]>
    Martin Kelly authored and jic23 committed Mar 30, 2018
    Configuration menu
    Copy the full SHA
    c043ec1 View commit details
    Browse the repository at this point in the history
  2. iio:kfifo_buf: check for uint overflow

    Currently, the following causes a kernel OOPS in memcpy:
    
    echo 1073741825 > buffer/length
    echo 1 > buffer/enable
    
    Note that using 1073741824 instead of 1073741825 causes "write error:
    Cannot allocate memory" but no OOPS.
    
    This is because 1073741824 == 2^30 and 1073741825 == 2^30+1. Since kfifo
    rounds up to the nearest power of 2, it will actually call kmalloc with
    roundup_pow_of_two(length) * bytes_per_datum.
    
    Using length == 1073741825 and bytes_per_datum == 2, we get:
    
    kmalloc(roundup_pow_of_two(1073741825) * 2
    or kmalloc(2147483648 * 2)
    or kmalloc(4294967296)
    or kmalloc(UINT_MAX + 1)
    
    so this overflows to 0, causing kmalloc to return ZERO_SIZE_PTR and
    subsequent memcpy to fail once the device is enabled.
    
    Fix this by checking for overflow prior to allocating a kfifo. With this
    check added, the above code returns -EINVAL when enabling the buffer,
    rather than causing an OOPS.
    
    Signed-off-by: Martin Kelly <[email protected]>
    cc: <[email protected]>
    Signed-off-by: Jonathan Cameron <[email protected]>
    Martin Kelly authored and jic23 committed Mar 30, 2018
    Configuration menu
    Copy the full SHA
    3d13de4 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2018

  1. iio: adc: at91-sama5d2_adc: fix channel configuration for differentia…

    …l channels
    
    When iterating through the channels, the index in the array is not the
    scan index. Added an xlate function to translate to the proper index.
    The result of the bug is that the channel array is indexed with a wrong index,
    thus instead of the proper channel, we access invalid memory, which may
    lead to invalid results and/or corruption.
    This will be used also for devicetree channel xlate.
    
    Fixes: 5e1a1da ("iio: adc: at91-sama5d2_adc: add hw trigger and buffer support")
    Fixes: 073c662 ("iio: adc: at91-sama5d2_adc: add support for DMA")
    Signed-off-by: Eugen Hristev <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Jonathan Cameron <[email protected]>
    ehristev authored and jic23 committed Apr 15, 2018
    Configuration menu
    Copy the full SHA
    f0c8d1f View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2018

  1. iio: hid-sensor-trigger: Fix sometimes not powering up the sensor aft…

    …er resume
    
    hid_sensor_set_power_work() powers the sensors back up after a resume
    based on the user_requested_state atomic_t.
    
    But hid_sensor_power_state() treats this as a boolean flag, leading to
    the following problematic scenario:
    
    1) Some app starts using the iio-sensor in buffered / triggered mode,
       hid_sensor_data_rdy_trigger_set_state(true) gets called, setting
       user_requested_state to 1.
    2) Something directly accesses a _raw value through sysfs, leading
       to a call to hid_sensor_power_state(true) followed by
       hid_sensor_power_state(false) call, this sets user_requested_state
       to 1 followed by setting it to 0.
    3) Suspend/resume the machine, hid_sensor_set_power_work() now does
       NOT power the sensor back up because user_requested_state (wrongly)
       is 0. Which stops the app using the sensor in buffered mode from
       receiving any new values.
    
    This commit changes user_requested_state to a counter tracking how many
    times hid_sensor_power_state(true) was called instead, fixing this.
    
    Cc: Bastien Nocera <[email protected]>
    Cc: Srinivas Pandruvada <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    Acked-by: Srinivas Pandruvada <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Jonathan Cameron <[email protected]>
    jwrdegoede authored and jic23 committed Apr 21, 2018
    Configuration menu
    Copy the full SHA
    6f92253 View commit details
    Browse the repository at this point in the history
  2. iio: adc: select buffer for at91-sama5d2_adc

    We need to select the buffer code, otherwise we get build errors
    with undefined functions on the trigger and buffer,
    if we select just IIO and then AT91_SAMA5D2_ADC from menuconfig
    
    This adds a Kconfig 'select' statement like other ADC
    drivers have it already.
    
    Fixes: 5e1a1da ("iio: adc: at91-sama5d2_adc: add hw trigger and buffer support")
    Signed-off-by: Eugen Hristev <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Jonathan Cameron <[email protected]>
    ehristev authored and jic23 committed Apr 21, 2018
    Configuration menu
    Copy the full SHA
    76974ef View commit details
    Browse the repository at this point in the history

Commits on May 9, 2018

  1. Merge tag 'iio-fixes-for-4.17a' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/jic23/iio into staging-linus
    
    Jonathan writes:
    
    First round of IIO fixes for the 4.17 cycle.
    
    * core
      - fix up some issues with overflow etc around wrong types
        for some fo the kfifo handling functions.  Seems unlikely
        this would be triggered in reality but the fixes are simple
        so let's tidy them up.  Second patch deals with checking
        the userspace value passed for length for potential overflow.
    * ad7793
      - Catch up with changes to the ad_sigma_delta core and use
        read_raw / write_raw iwth IIO_CHAN_INFO_SAMP_FEW to handle
        sampling frequency control.
    * at91-sama5d2
      - Channel config for differential channels was completely broken.
      - Missing Kconfig dependency for buffer support.
    * hid-sensor
      - Fix an issue with powering up after resume due to wrong reference
        counting.
    * stm32-dfsdm
      - Fix an issue with second writes of the oversampling settings
        failing.
      - Fix an issue with the sample rate being set to half of requested
        value when particular clock source is used.
    gregkh committed May 9, 2018
    Configuration menu
    Copy the full SHA
    9d569b1 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2018

  1. xfrm6: avoid potential infinite loop in _decode_session6()

    syzbot found a way to trigger an infinitie loop by overflowing
    @offset variable that has been forced to use u16 for some very
    obscure reason in the past.
    
    We probably want to look at NEXTHDR_FRAGMENT handling which looks
    wrong, in a separate patch.
    
    In net-next, we shall try to use skb_header_pointer() instead of
    pskb_may_pull().
    
    watchdog: BUG: soft lockup - CPU#1 stuck for 134s! [syz-executor738:4553]
    Modules linked in:
    irq event stamp: 13885653
    hardirqs last  enabled at (13885652): [<ffffffff878009d5>] restore_regs_and_return_to_kernel+0x0/0x2b
    hardirqs last disabled at (13885653): [<ffffffff87800905>] interrupt_entry+0xb5/0xf0 arch/x86/entry/entry_64.S:625
    softirqs last  enabled at (13614028): [<ffffffff84df0809>] tun_napi_alloc_frags drivers/net/tun.c:1478 [inline]
    softirqs last  enabled at (13614028): [<ffffffff84df0809>] tun_get_user+0x1dd9/0x4290 drivers/net/tun.c:1825
    softirqs last disabled at (13614032): [<ffffffff84df1b6f>] tun_get_user+0x313f/0x4290 drivers/net/tun.c:1942
    CPU: 1 PID: 4553 Comm: syz-executor738 Not tainted 4.17.0-rc3+ #40
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    RIP: 0010:check_kcov_mode kernel/kcov.c:67 [inline]
    RIP: 0010:__sanitizer_cov_trace_pc+0x20/0x50 kernel/kcov.c:101
    RSP: 0018:ffff8801d8cfe250 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
    RAX: ffff8801d88a8080 RBX: ffff8801d7389e40 RCX: 0000000000000006
    RDX: 0000000000000000 RSI: ffffffff868da4ad RDI: ffff8801c8a53277
    RBP: ffff8801d8cfe250 R08: ffff8801d88a8080 R09: ffff8801d8cfe3e8
    R10: ffffed003b19fc87 R11: ffff8801d8cfe43f R12: ffff8801c8a5327f
    R13: 0000000000000000 R14: ffff8801c8a4e5fe R15: ffff8801d8cfe3e8
    FS:  0000000000d88940(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: ffffffffff600400 CR3: 00000001acab3000 CR4: 00000000001406e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
     _decode_session6+0xc1d/0x14f0 net/ipv6/xfrm6_policy.c:150
     __xfrm_decode_session+0x71/0x140 net/xfrm/xfrm_policy.c:2368
     xfrm_decode_session_reverse include/net/xfrm.h:1213 [inline]
     icmpv6_route_lookup+0x395/0x6e0 net/ipv6/icmp.c:372
     icmp6_send+0x1982/0x2da0 net/ipv6/icmp.c:551
     icmpv6_send+0x17a/0x300 net/ipv6/ip6_icmp.c:43
     ip6_input_finish+0x14e1/0x1a30 net/ipv6/ip6_input.c:305
     NF_HOOK include/linux/netfilter.h:288 [inline]
     ip6_input+0xe1/0x5e0 net/ipv6/ip6_input.c:327
     dst_input include/net/dst.h:450 [inline]
     ip6_rcv_finish+0x29c/0xa10 net/ipv6/ip6_input.c:71
     NF_HOOK include/linux/netfilter.h:288 [inline]
     ipv6_rcv+0xeb8/0x2040 net/ipv6/ip6_input.c:208
     __netif_receive_skb_core+0x2468/0x3650 net/core/dev.c:4646
     __netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4711
     netif_receive_skb_internal+0x126/0x7b0 net/core/dev.c:4785
     napi_frags_finish net/core/dev.c:5226 [inline]
     napi_gro_frags+0x631/0xc40 net/core/dev.c:5299
     tun_get_user+0x3168/0x4290 drivers/net/tun.c:1951
     tun_chr_write_iter+0xb9/0x154 drivers/net/tun.c:1996
     call_write_iter include/linux/fs.h:1784 [inline]
     do_iter_readv_writev+0x859/0xa50 fs/read_write.c:680
     do_iter_write+0x185/0x5f0 fs/read_write.c:959
     vfs_writev+0x1c7/0x330 fs/read_write.c:1004
     do_writev+0x112/0x2f0 fs/read_write.c:1039
     __do_sys_writev fs/read_write.c:1112 [inline]
     __se_sys_writev fs/read_write.c:1109 [inline]
     __x64_sys_writev+0x75/0xb0 fs/read_write.c:1109
     do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Eric Dumazet <[email protected]>
    Cc: Steffen Klassert <[email protected]>
    Cc: Nicolas Dichtel <[email protected]>
    Reported-by: [email protected]
    Signed-off-by: Steffen Klassert <[email protected]>
    Eric Dumazet authored and klassert committed May 14, 2018
    Configuration menu
    Copy the full SHA
    d9f9277 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2018

  1. thunderbolt: Handle NULL boot ACL entries properly

    If the boot ACL entry is already NULL we should not fill in the upper
    two DWs with 0xfffffffff. Otherwise they are not shown as empty entries
    when the sysfs attribute is read.
    
    Fixes: 9aaa3b8 ("thunderbolt: Add support for preboot ACL")
    Signed-off-by: Mika Westerberg <[email protected]>
    Acked-by: Yehezkel Bernat <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    westeri authored and gregkh committed May 15, 2018
    Configuration menu
    Copy the full SHA
    dd010bd View commit details
    Browse the repository at this point in the history

Commits on May 16, 2018

  1. afs: Fix directory permissions check

    Doing faccessat("/afs/some/directory", 0) triggers a BUG in the permissions
    check code.
    
    Fix this by just removing the BUG section.  If no permissions are asked
    for, just return okay if the file exists.
    
    Also:
    
     (1) Split up the directory check so that it has separate if-statements
         rather than if-else-if (e.g. checking for MAY_EXEC shouldn't skip the
         check for MAY_READ and MAY_WRITE).
    
     (2) Check for MAY_CHDIR as MAY_EXEC.
    
    Without the main fix, the following BUG may occur:
    
     kernel BUG at fs/afs/security.c:386!
     invalid opcode: 0000 [#1] SMP PTI
     ...
     RIP: 0010:afs_permission+0x19d/0x1a0 [kafs]
     ...
     Call Trace:
      ? inode_permission+0xbe/0x180
      ? do_faccessat+0xdc/0x270
      ? do_syscall_64+0x60/0x1f0
      ? entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    Fixes: 00d3b7a ("[AFS]: Add security support.")
    Reported-by: Jonathan Billings <[email protected]>
    Signed-off-by: David Howells <[email protected]>
    dhowells committed May 16, 2018
    Configuration menu
    Copy the full SHA
    378831e View commit details
    Browse the repository at this point in the history
  2. afs: Fix mounting of backup volumes

    In theory the AFS_VLSF_BACKVOL flag for a server in a vldb entry
    would indicate the presence of a backup volume on that server.
    
    In practice however, this flag is never set, and the presence of
    a backup volume is implied by the entry having AFS_VLF_BACKEXISTS set,
    for the server that hosts the read-write volume (has AFS_VLSF_RWVOL).
    
    Signed-off-by: Marc Dionne <[email protected]>
    Signed-off-by: David Howells <[email protected]>
    Marc Dionne authored and dhowells committed May 16, 2018
    Configuration menu
    Copy the full SHA
    1fba586 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2018

  1. netfilter: nf_tables: fix NULL pointer dereference on nft_ct_helper_o…

    …bj_dump()
    
    In the nft_ct_helper_obj_dump(), always priv->helper4 is dereferenced.
    But if family is ipv6, priv->helper6 should be dereferenced.
    
    Steps to reproduces:
    
       #test.nft
       table ip6 filter {
    	   ct helper ftp {
    		   type "ftp" protocol tcp
    	   }
    	   chain input {
    		   type filter hook input priority 4;
    		   ct helper set "ftp"
    	   }
       }
    
       %nft -f test.nft
       %nft list ruleset
    
    we can see the below messages:
    
    [  916.286233] kasan: GPF could be caused by NULL-ptr deref or user memory access
    [  916.294777] general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN PTI
    [  916.302613] Modules linked in: nft_objref nf_conntrack_sip nf_conntrack_snmp nf_conntrack_broadcast nf_conntrack_ftp nft_ct nf_conntrack nf_tables nfnetlink [last unloaded: nfnetlink]
    [  916.318758] CPU: 1 PID: 2093 Comm: nft Not tainted 4.17.0-rc4+ #181
    [  916.326772] Hardware name: To be filled by O.E.M. To be filled by O.E.M./Aptio CRB, BIOS 5.6.5 07/08/2015
    [  916.338773] RIP: 0010:strlen+0x1a/0x90
    [  916.342781] RSP: 0018:ffff88010ff0f2f8 EFLAGS: 00010292
    [  916.346773] RAX: dffffc0000000000 RBX: ffff880119b26ee8 RCX: ffff88010c150038
    [  916.354777] RDX: 0000000000000002 RSI: ffff880119b26ee8 RDI: 0000000000000010
    [  916.362773] RBP: 0000000000000010 R08: 0000000000007e88 R09: ffff88010c15003c
    [  916.370773] R10: ffff88010c150037 R11: ffffed002182a007 R12: ffff88010ff04040
    [  916.378779] R13: 0000000000000010 R14: ffff880119b26f30 R15: ffff88010ff04110
    [  916.387265] FS:  00007f57a1997700(0000) GS:ffff88011b800000(0000) knlGS:0000000000000000
    [  916.394785] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [  916.402778] CR2: 00007f57a0ac80f0 CR3: 000000010ff02000 CR4: 00000000001006e0
    [  916.410772] Call Trace:
    [  916.414787]  nft_ct_helper_obj_dump+0x94/0x200 [nft_ct]
    [  916.418779]  ? nft_ct_set_eval+0x560/0x560 [nft_ct]
    [  916.426771]  ? memset+0x1f/0x40
    [  916.426771]  ? __nla_reserve+0x92/0xb0
    [  916.434774]  ? memcpy+0x34/0x50
    [  916.434774]  nf_tables_fill_obj_info+0x484/0x860 [nf_tables]
    [  916.442773]  ? __nft_release_basechain+0x600/0x600 [nf_tables]
    [  916.450779]  ? lock_acquire+0x193/0x380
    [  916.454771]  ? lock_acquire+0x193/0x380
    [  916.458789]  ? nf_tables_dump_obj+0x148/0xcb0 [nf_tables]
    [  916.462777]  nf_tables_dump_obj+0x5f0/0xcb0 [nf_tables]
    [  916.470769]  ? __alloc_skb+0x30b/0x500
    [  916.474779]  netlink_dump+0x752/0xb50
    [  916.478775]  __netlink_dump_start+0x4d3/0x750
    [  916.482784]  nf_tables_getobj+0x27a/0x930 [nf_tables]
    [  916.490774]  ? nft_obj_notify+0x100/0x100 [nf_tables]
    [  916.494772]  ? nf_tables_getobj+0x930/0x930 [nf_tables]
    [  916.502579]  ? nf_tables_dump_flowtable_done+0x70/0x70 [nf_tables]
    [  916.506774]  ? nft_obj_notify+0x100/0x100 [nf_tables]
    [  916.514808]  nfnetlink_rcv_msg+0x8ab/0xa86 [nfnetlink]
    [  916.518771]  ? nfnetlink_rcv_msg+0x550/0xa86 [nfnetlink]
    [  916.526782]  netlink_rcv_skb+0x23e/0x360
    [  916.530773]  ? nfnetlink_bind+0x200/0x200 [nfnetlink]
    [  916.534778]  ? debug_check_no_locks_freed+0x280/0x280
    [  916.542770]  ? netlink_ack+0x870/0x870
    [  916.546786]  ? ns_capable_common+0xf4/0x130
    [  916.550765]  nfnetlink_rcv+0x172/0x16c0 [nfnetlink]
    [  916.554771]  ? sched_clock_local+0xe2/0x150
    [  916.558774]  ? sched_clock_cpu+0x144/0x180
    [  916.566575]  ? lock_acquire+0x380/0x380
    [  916.570775]  ? sched_clock_local+0xe2/0x150
    [  916.574765]  ? nfnetlink_net_init+0x130/0x130 [nfnetlink]
    [  916.578763]  ? sched_clock_cpu+0x144/0x180
    [  916.582770]  ? lock_acquire+0x193/0x380
    [  916.590771]  ? lock_acquire+0x193/0x380
    [  916.594766]  ? lock_acquire+0x380/0x380
    [  916.598760]  ? netlink_deliver_tap+0x262/0xa60
    [  916.602766]  ? lock_acquire+0x193/0x380
    [  916.606766]  netlink_unicast+0x3ef/0x5a0
    [  916.610771]  ? netlink_attachskb+0x630/0x630
    [  916.614763]  netlink_sendmsg+0x72a/0xb00
    [  916.618769]  ? netlink_unicast+0x5a0/0x5a0
    [  916.626766]  ? _copy_from_user+0x92/0xc0
    [  916.630773]  __sys_sendto+0x202/0x300
    [  916.634772]  ? __ia32_sys_getpeername+0xb0/0xb0
    [  916.638759]  ? lock_acquire+0x380/0x380
    [  916.642769]  ? lock_acquire+0x193/0x380
    [  916.646761]  ? finish_task_switch+0xf4/0x560
    [  916.650763]  ? __schedule+0x582/0x19a0
    [  916.655301]  ? __sched_text_start+0x8/0x8
    [  916.655301]  ? up_read+0x1c/0x110
    [  916.655301]  ? __do_page_fault+0x48b/0xaa0
    [  916.655301]  ? entry_SYSCALL_64_after_hwframe+0x59/0xbe
    [  916.655301]  __x64_sys_sendto+0xdd/0x1b0
    [  916.655301]  do_syscall_64+0x96/0x3d0
    [  916.655301]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
    [  916.655301] RIP: 0033:0x7f57a0ff5e03
    [  916.655301] RSP: 002b:00007fff6367e0a8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
    [  916.655301] RAX: ffffffffffffffda RBX: 00007fff6367f1e0 RCX: 00007f57a0ff5e03
    [  916.655301] RDX: 0000000000000020 RSI: 00007fff6367e110 RDI: 0000000000000003
    [  916.655301] RBP: 00007fff6367e100 R08: 00007f57a0ce9160 R09: 000000000000000c
    [  916.655301] R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff6367e110
    [  916.655301] R13: 0000000000000020 R14: 00007f57a153c610 R15: 0000562417258de0
    [  916.655301] Code: ff ff ff 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 fa 53 48 c1 ea 03 48 b8 00 00 00 00 00 fc ff df 48 89 fd 48 83 ec 08 <0f> b6 04 02 48 89 fa 83 e2 07 38 d0 7f
    [  916.655301] RIP: strlen+0x1a/0x90 RSP: ffff88010ff0f2f8
    [  916.771929] ---[ end trace 1065e048e72479fe ]---
    [  916.777204] Kernel panic - not syncing: Fatal exception
    [  916.778158] Kernel Offset: 0x14000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
    
    Signed-off-by: Taehee Yoo <[email protected]>
    Acked-by: Florian Westphal <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    TaeheeYoo authored and ummakynes committed May 17, 2018
    Configuration menu
    Copy the full SHA
    b715345 View commit details
    Browse the repository at this point in the history
  2. netfilter: ebtables: handle string from userspace with care

    strlcpy() can't be safely used on a user-space provided string,
    as it can try to read beyond the buffer's end, if the latter is
    not NULL terminated.
    
    Leveraging the above, syzbot has been able to trigger the following
    splat:
    
    BUG: KASAN: stack-out-of-bounds in strlcpy include/linux/string.h:300
    [inline]
    BUG: KASAN: stack-out-of-bounds in compat_mtw_from_user
    net/bridge/netfilter/ebtables.c:1957 [inline]
    BUG: KASAN: stack-out-of-bounds in ebt_size_mwt
    net/bridge/netfilter/ebtables.c:2059 [inline]
    BUG: KASAN: stack-out-of-bounds in size_entry_mwt
    net/bridge/netfilter/ebtables.c:2155 [inline]
    BUG: KASAN: stack-out-of-bounds in compat_copy_entries+0x96c/0x14a0
    net/bridge/netfilter/ebtables.c:2194
    Write of size 33 at addr ffff8801b0abf888 by task syz-executor0/4504
    
    CPU: 0 PID: 4504 Comm: syz-executor0 Not tainted 4.17.0-rc2+ #40
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
    Google 01/01/2011
    Call Trace:
      __dump_stack lib/dump_stack.c:77 [inline]
      dump_stack+0x1b9/0x294 lib/dump_stack.c:113
      print_address_description+0x6c/0x20b mm/kasan/report.c:256
      kasan_report_error mm/kasan/report.c:354 [inline]
      kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412
      check_memory_region_inline mm/kasan/kasan.c:260 [inline]
      check_memory_region+0x13e/0x1b0 mm/kasan/kasan.c:267
      memcpy+0x37/0x50 mm/kasan/kasan.c:303
      strlcpy include/linux/string.h:300 [inline]
      compat_mtw_from_user net/bridge/netfilter/ebtables.c:1957 [inline]
      ebt_size_mwt net/bridge/netfilter/ebtables.c:2059 [inline]
      size_entry_mwt net/bridge/netfilter/ebtables.c:2155 [inline]
      compat_copy_entries+0x96c/0x14a0 net/bridge/netfilter/ebtables.c:2194
      compat_do_replace+0x483/0x900 net/bridge/netfilter/ebtables.c:2285
      compat_do_ebt_set_ctl+0x2ac/0x324 net/bridge/netfilter/ebtables.c:2367
      compat_nf_sockopt net/netfilter/nf_sockopt.c:144 [inline]
      compat_nf_setsockopt+0x9b/0x140 net/netfilter/nf_sockopt.c:156
      compat_ip_setsockopt+0xff/0x140 net/ipv4/ip_sockglue.c:1279
      inet_csk_compat_setsockopt+0x97/0x120 net/ipv4/inet_connection_sock.c:1041
      compat_tcp_setsockopt+0x49/0x80 net/ipv4/tcp.c:2901
      compat_sock_common_setsockopt+0xb4/0x150 net/core/sock.c:3050
      __compat_sys_setsockopt+0x1ab/0x7c0 net/compat.c:403
      __do_compat_sys_setsockopt net/compat.c:416 [inline]
      __se_compat_sys_setsockopt net/compat.c:413 [inline]
      __ia32_compat_sys_setsockopt+0xbd/0x150 net/compat.c:413
      do_syscall_32_irqs_on arch/x86/entry/common.c:323 [inline]
      do_fast_syscall_32+0x345/0xf9b arch/x86/entry/common.c:394
      entry_SYSENTER_compat+0x70/0x7f arch/x86/entry/entry_64_compat.S:139
    RIP: 0023:0xf7fb3cb9
    RSP: 002b:00000000fff0c26c EFLAGS: 00000282 ORIG_RAX: 000000000000016e
    RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000000000
    RDX: 0000000000000080 RSI: 0000000020000300 RDI: 00000000000005f4
    RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
    R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
    
    The buggy address belongs to the page:
    page:ffffea0006c2afc0 count:0 mapcount:0 mapping:0000000000000000 index:0x0
    flags: 0x2fffc0000000000()
    raw: 02fffc0000000000 0000000000000000 0000000000000000 00000000ffffffff
    raw: 0000000000000000 ffffea0006c20101 0000000000000000 0000000000000000
    page dumped because: kasan: bad access detected
    
    Fix the issue replacing the unsafe function with strscpy() and
    taking care of possible errors.
    
    Fixes: 81e675c ("netfilter: ebtables: add CONFIG_COMPAT support")
    Reported-and-tested-by: [email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    Paolo Abeni authored and ummakynes committed May 17, 2018
    Configuration menu
    Copy the full SHA
    94c752f View commit details
    Browse the repository at this point in the history

Commits on May 18, 2018

  1. s390/purgatory: Fix endless interrupt loop

    New compilers use the floating-point registers as spill registers when
    there is high register pressure. In the purgatory however, the afp control
    bit is not set. This leads to an exception whenever a floating-point
    instruction is used, which again causes an interrupt loop.
    
    Forbid the compiler to use floating-point instructions by adding
    -msoft-float to KBUILD_CFLAGS.
    
    Signed-off-by: Philipp Rudo <[email protected]>
    Fixes: 840798a (s390/kexec_file: Add purgatory)
    Reviewed-by: Hendrik Brueckner <[email protected]>
    Signed-off-by: Martin Schwidefsky <[email protected]>
    Philipp Rudo authored and Martin Schwidefsky committed May 18, 2018
    Configuration menu
    Copy the full SHA
    d8de756 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2018

  1. i2c: xlp9xx: Add MAINTAINERS entry

    The i2c XLP9xx driver is maintained by Cavium.
    Add George Cherian and Jan Glauber as the Maintainers.
    
    Signed-off-by: George Cherian <[email protected]>
    Acked-by: Jan Glauber <[email protected]>
    Signed-off-by: Wolfram Sang <[email protected]>
    George Cherian authored and Wolfram Sang committed May 22, 2018
    Configuration menu
    Copy the full SHA
    f3c6a2c View commit details
    Browse the repository at this point in the history

Commits on May 23, 2018

  1. nds32: lib: To use generic lib instead of libgcc to prevent the symbo…

    …l undefined issue.
    
    We can use the generic lib to fix these error because the symbol of
    libgcc in toolchain is not exported.
    
    ERROR: "__ucmpdi2" [fs/xfs/xfs.ko] undefined!
    ERROR: "__ashrdi3" [fs/xfs/xfs.ko] undefined!
    ERROR: "__lshrdi3" [fs/xfs/xfs.ko] undefined!
    ERROR: "__ashldi3" [fs/ntfs/ntfs.ko] undefined!
    ...
    
    Signed-off-by: Greentime Hu <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    aeaa7af View commit details
    Browse the repository at this point in the history
  2. nds32: Fix building error when CONFIG_FREEZE is enabled.

    To include kernel/Kconfig.freezer to make sure the dependency between
    CONFIG_CGROUP_FREEZER and CONFIG_FREEZER
    
    It will cause building error when I make allmodconfig.
    
    kernel/cgroup/freezer.c: In function 'freezer_css_online':
    kernel/cgroup/freezer.c:116:15: error: 'system_freezing_cnt' undeclared (first use in this function)
       atomic_inc(&system_freezing_cnt);
                   ^~~~~~~~~~~~~~~~~~~
    kernel/cgroup/freezer.c:116:15: note: each undeclared identifier is reported only once for each function it appears in
    kernel/cgroup/freezer.c: In function 'freezer_css_offline':
    kernel/cgroup/freezer.c:137:15: error: 'system_freezing_cnt' undeclared (first use in this function)
       atomic_dec(&system_freezing_cnt);
                   ^~~~~~~~~~~~~~~~~~~
    kernel/cgroup/freezer.c: In function 'freezer_attach':
    kernel/cgroup/freezer.c:181:4: error: implicit declaration of function 'freeze_task' [-Werror=implicit-function-declaration]
        freeze_task(task);
        ^~~~~~~~~~~
    kernel/cgroup/freezer.c: In function 'freezer_apply_state':
    kernel/cgroup/freezer.c:360:16: error: 'system_freezing_cnt' undeclared (first use in this function)
        atomic_inc(&system_freezing_cnt);
                    ^~~~~~~~~~~~~~~~~~~
    
    Signed-off-by: Greentime Hu <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    6ca4b26 View commit details
    Browse the repository at this point in the history
  3. nds32: Fix building error of crypto/xor.c by adding xor.h

    When I compiled with allmodconfig, it caused this building failed.
    crypto/xor.c:25:21: fatal error: asm/xor.h: No such file or directory
     #include <asm/xor.h>
                         ^
    compilation terminated.
    
    Signed-off-by: Greentime Hu <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    81560e0 View commit details
    Browse the repository at this point in the history
  4. nds32: Fix drivers/gpu/drm/udl/udl_fb.c building error by defining PA…

    …GE_SHARED
    
    It broke the 'allmodconfig' build.
    drivers/gpu/drm/udl/udl_fb.c: In function 'udl_fb_mmap':
    drivers/gpu/drm/udl/udl_fb.c:183:52: error: 'PAGE_SHARED' undeclared (first use in this function)
       if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED))
                                                        ^~~~~~~~~~~
    drivers/gpu/drm/udl/udl_fb.c:183:52: note: each undeclared identifier is reported only once for each function it appears in
    make[4]: *** [drivers/gpu/drm/udl/udl_fb.o] Error 1
    
    Signed-off-by: Greentime Hu <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    8cedb78 View commit details
    Browse the repository at this point in the history
  5. nds32: Fix xfs_buf built failed by export invalidate_kernel_vmap_rang…

    …e and flush_kernel_vmap_range
    
    It broke the 'allmodconfig' build.
    fs/xfs/xfs_buf.c: In function 'xfs_buf_bio_end_io':
    fs/xfs/xfs_buf.c:1242:3: error: implicit declaration of function 'invalidate_kernel_vmap_range' [-Werror=implicit-function-declaration]
       invalidate_kernel_vmap_range(bp->b_addr, xfs_buf_vmap_len(bp));
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    fs/xfs/xfs_buf.c: In function 'xfs_buf_ioapply_map':
    fs/xfs/xfs_buf.c:1312:4: error: implicit declaration of function 'flush_kernel_vmap_range' [-Werror=implicit-function-declaration]
        flush_kernel_vmap_range(bp->b_addr,
        ^~~~~~~~~~~~~~~~~~~~~~~
    
    Signed-off-by: Greentime Hu <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    03969d0 View commit details
    Browse the repository at this point in the history
  6. nds32: Fix the symbols undefined issue by exporting them.

    It broke the 'allmodconfig' build.
      LD      vmlinux
      SYSMAP  System.map
      Building modules, stage 2.
      MODPOST 5028 modules
    ERROR: "flush_dcache_page" [net/sunrpc/xprtrdma/rpcrdma.ko] undefined!
    ERROR: "empty_zero_page" [net/ceph/libceph.ko] undefined!
    ERROR: "save_stack_trace" [kernel/backtracetest.ko] undefined!
    ERROR: "clear_page" [fs/ocfs2/dlm/ocfs2_dlm.ko] undefined!
    ERROR: "copy_page" [fs/nilfs2/nilfs2.ko] undefined!
    ...
    
    Signed-off-by: Greentime Hu <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    e3f4624 View commit details
    Browse the repository at this point in the history
  7. nds32: Fix the unknown type u8 issue.

    It broke the 'allmodconfig' build.
    We need to include <linux/types.h> to make sure the type is defined
    before using it.
    
    Signed-off-by: Greentime Hu <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    bb91267 View commit details
    Browse the repository at this point in the history
  8. nds32: Fix build failed because arch_trace_hardirqs_off is changed to…

    … trace_hardirqs_off.
    
    It broke the 'allmodconfig' build when CONFIG_TRACE_IRQFLAGS is enabled.
    
    Signed-off-by: Nick Chun-Ming Hu <[email protected]>
    Signed-off-by: Greentime Hu <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    c8c20f9 View commit details
    Browse the repository at this point in the history
  9. nds32: Fix the allmodconfig build. To make sure CONFIG_CPU_LITTLE_END…

    …IAN is default y
    
    This way we can build kernel with CONFIG_CPU_LITTLE_ENDIAN=y. Build allmodconfig
    and allnoconfig are available too. It also fixes the endian mismatch issue
    because AFLAGS and LDFLAGS is not passed correctly.
    
    Signed-off-by: Vincent Ren-Wei Chen <[email protected]>
    Signed-off-by: Greentime Hu <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    b3b112b View commit details
    Browse the repository at this point in the history
  10. nds32: Fix the virtual address may map too much range by tlbop issue.

    We use tlbop to map virtual address in the first beginning, however it
    may map too much if DRAM size is not that big. We have to invalidate the
    mapping when the page table is created.
    
    Signed-off-by: Greentime Hu <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    3ff2228 View commit details
    Browse the repository at this point in the history
  11. nds32: To refine readability of INT_MASK_INITAIAL_VAL

    Refine readability of INT_MASK_INITAIAL_VAL with meaningful macro instead
    of magic number.
    
    Signed-off-by: Greentime Hu <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    8769c22 View commit details
    Browse the repository at this point in the history
  12. nds32: To fix a cache inconsistency issue by setting correct cacheabi…

    …lity of NTC
    
    The nds32 architecture will use physical memory when interrupt or
    exception comes and it will use the setting of NTC0-4. The original
    implementation didn't consider the DRAM start address may start from 1GB,
    2GB or 3GB to cause this issue. It will write the data to DRAM if it is
    running in physical address however kernel will read the data with
    virtaul address through data cache. In this case, the data of DRAM is
    latest.
    
    This fix will set the correct cacheability to let kernel write/read the
    latest data in cache instead of DRAM.
    
    Signed-off-by: Greentime Hu <[email protected]>
    Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    abb90a2 View commit details
    Browse the repository at this point in the history
  13. nds32: Renaming the file for unaligned access

    Change the name of the file '/proc/sys/nds32/unaligned_acess'
    to '/proc/sys/nds32/unaligned_access'
    
    Signed-off-by: Nickhu <[email protected]>
    Reviewed-by: Greentime Hu <[email protected]>
    Signed-off-by: Greentime Hu <[email protected]>
    Nickhu authored and Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    b3a7584 View commit details
    Browse the repository at this point in the history
  14. nds32: Fix the unaligned access handler

    If the kernel config 'CONFIG_ALIGNMENT_TRAP' and the file
    '/proc/sys/nds32/unaligned_access/enable' are set, the kernel
    unaligned access handler does not handle correctly when the
    value of immediate field is negative. This commit fixes the
    unaligned access handler in kernel.
    
    Signed-off-by: Nickhu <[email protected]>
    Reviewed-by: Greentime Hu <[email protected]>
    Signed-off-by: Greentime Hu <[email protected]>
    Nickhu authored and Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    1613de8 View commit details
    Browse the repository at this point in the history
  15. nds32: Correct flush_dcache_page function

    1. Disable local irq before d-cache write-back and invalidate.
       The cpu_dcache_wbinval_page function is composed of d-cache
    write-back and invalidate. If the local irq is enabled when calling
    cpu_dcache_wbinval_page, the content of d-cache is possibly updated
    between write-back and invalidate. In this case, the updated data will
    be dropped due to the following d-cache invalidation. Therefore, we
    disable the local irq before calling cpu_dcache_wbinval_page.
    
    2. Correct the data write-back for page aliasing case.
       Only the page whose (page->index << PAGE_SHIFT) is located at the
    same page color as page_address(page) needs to execute data write-back
    in flush_dcache_page function.
    
    Signed-off-by: Vincent Chen <[email protected]>
    Reviewed-by: Greentime Hu <[email protected]>
    Signed-off-by: Greentime Hu <[email protected]>
    Vincent Chen authored and Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    efcc4ea View commit details
    Browse the repository at this point in the history
  16. nds32: Flush the cache of the page at vmaddr instead of kaddr in flus…

    …h_anon_page
    
    According to Documentation/cachetlb.txt, the cache of the page at vmaddr
    shall be flushed in flush_anon_page instead of the cache of the page at
    page_address(page).
    
    Signed-off-by: Vincent Chen <[email protected]>
    Reviewed-by: Greentime Hu <[email protected]>
    Signed-off-by: Greentime Hu <[email protected]>
    Vincent Chen authored and Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    5b9f956 View commit details
    Browse the repository at this point in the history
  17. nds32: Disable local irq before calling cpu_dcache_wb_page in copy_us…

    …er_highpage
    
    In order to ensure that all data in source page has been written back
    to memory before copy_page, the local irq shall be disabled before
    calling cpu_dcache_wb_page(). In addition, removing unneeded page
    invalidation for 'to' page.
    
    Signed-off-by: Vincent Chen <[email protected]>
    Reviewed-by: Greentime Hu <[email protected]>
    Signed-off-by: Greentime Hu <[email protected]>
    Vincent Chen authored and Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    aaaaba5 View commit details
    Browse the repository at this point in the history
  18. nds32: Fix compiler warning, Wstringop-overflow, in vdso.c

    Getting a compiler warning, Wstringop-overflow, in
    arch/nds32/kernel/vdso.c when kernel is built by gcc-8. Declaring
    vdso_start and vdso_end as a pointer to fix this compiler warning.
    
    Signed-off-by: Vincent Chen <[email protected]>
    Reviewed-by: Greentime Hu <[email protected]>
    Signed-off-by: Greentime Hu <[email protected]>
    Vincent Chen authored and Greentime Hu committed May 23, 2018
    Configuration menu
    Copy the full SHA
    a30e7d1 View commit details
    Browse the repository at this point in the history
  19. s390/dasd: use blk_mq_rq_from_pdu for per request data

    Dasd uses completion_data from struct request to store per request
    private data - this is problematic since this member is part of a
    union which is also used by IO schedulers.
    Let the block layer maintain space for per request data behind each
    struct request.
    
    Fixes crashes on block layer timeouts like this one:
    
    Unable to handle kernel pointer dereference in virtual kernel address space
    Failing address: 0000000000000000 TEID: 0000000000000483
    Fault in home space mode while using kernel ASCE.
    AS:0000000001308007 R3:00000000fffc8007 S:00000000fffcc000 P:000000000000013d
    Oops: 0004 ilc:2 [#1] PREEMPT SMP
    Modules linked in: [...]
    CPU: 0 PID: 1480 Comm: kworker/0:2H Not tainted 4.17.0-rc4-00046-gaa3bcd43b5af #203
    Hardware name: IBM 3906 M02 702 (LPAR)
    Workqueue: kblockd blk_mq_timeout_work
    Krnl PSW : 0000000067ac406b 00000000b6960308 (do_raw_spin_trylock+0x30/0x78)
               R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3
    Krnl GPRS: 0000000000000c00 0000000000000000 0000000000000000 0000000000000001
               0000000000b9d3c8 0000000000000000 0000000000000001 00000000cf9639d8
               0000000000000000 0700000000000000 0000000000000000 000000000099f09e
               0000000000000000 000000000076e9d0 000000006247bb08 000000006247bae0
    Krnl Code: 00000000001c159c: b90400c2           lgr     %r12,%r2
               00000000001c15a0: a7180000           lhi     %r1,0
              #00000000001c15a4: 583003a4           l       %r3,932
              >00000000001c15a8: ba132000           cs      %r1,%r3,0(%r2)
               00000000001c15ac: a7180001           lhi     %r1,1
               00000000001c15b0: a784000b           brc     8,1c15c6
               00000000001c15b4: c0e5004e72aa       brasl   %r14,b8fb08
               00000000001c15ba: 1812               lr      %r1,%r2
    Call Trace:
    ([<0700000000000000>] 0x700000000000000)
     [<0000000000b9d3d2>] _raw_spin_lock_irqsave+0x7a/0xb8
     [<000000000099f09e>] dasd_times_out+0x46/0x278
     [<000000000076ea6e>] blk_mq_terminate_expired+0x9e/0x108
     [<000000000077497a>] bt_for_each+0x102/0x130
     [<0000000000774e54>] blk_mq_queue_tag_busy_iter+0x74/0xd8
     [<000000000076fea0>] blk_mq_timeout_work+0x260/0x320
     [<0000000000169dd4>] process_one_work+0x3bc/0x708
     [<000000000016a382>] worker_thread+0x262/0x408
     [<00000000001723a8>] kthread+0x160/0x178
     [<0000000000b9e73a>] kernel_thread_starter+0x6/0xc
     [<0000000000b9e734>] kernel_thread_starter+0x0/0xc
    INFO: lockdep is turned off.
    Last Breaking-Event-Address:
     [<0000000000b9d3cc>] _raw_spin_lock_irqsave+0x74/0xb8
    
    Kernel panic - not syncing: Fatal exception: panic_on_oops
    
    Signed-off-by: Sebastian Ott <[email protected]>
    Reviewed-by: Stefan Haberland <[email protected]>
    Signed-off-by: Martin Schwidefsky <[email protected]>
    sebott authored and Martin Schwidefsky committed May 23, 2018
    Configuration menu
    Copy the full SHA
    f0f59a2 View commit details
    Browse the repository at this point in the history
  20. netfilter: nft_meta: fix wrong value dereference in nft_meta_set_eval

    In the nft_meta_set_eval, nftrace value is dereferenced as u32 from sreg.
    But correct type is u8. so that sometimes incorrect value is dereferenced.
    
    Steps to reproduce:
    
       %nft add table ip filter
       %nft add chain ip filter input { type filter hook input priority 4\; }
       %nft add rule ip filter input nftrace set 0
       %nft monitor
    
    Sometimes, we can see trace messages.
    
       trace id 16767227 ip filter input packet: iif "enp2s0"
       ether saddr xx:xx:xx:xx:xx:xx ether daddr xx:xx:xx:xx:xx:xx
       ip saddr 192.168.0.1 ip daddr 255.255.255.255 ip dscp cs0
       ip ecn not-ect ip
       trace id 16767227 ip filter input rule nftrace set 0 (verdict continue)
       trace id 16767227 ip filter input verdict continue
       trace id 16767227 ip filter input
    
    Signed-off-by: Taehee Yoo <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    TaeheeYoo authored and ummakynes committed May 23, 2018
    Configuration menu
    Copy the full SHA
    97a0549 View commit details
    Browse the repository at this point in the history
  21. netfilter: nft_limit: fix packet ratelimiting

    Credit calculations for the packet ratelimiting are not correct, as per
    the applied ratelimit of 25/second and burst 8, a total of 33 packets
    should have been accepted.  This is true in iptables(33) but not in
    nftables (~65). For packet ratelimiting, use:
    
    	div_u64(limit->nsecs, limit->rate) * limit->burst;
    
    to calculate credit, just like in iptables' xt_limit does.
    
    Moreover, use default burst in iptables, users are expecting similar
    behaviour.
    
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    ummakynes committed May 23, 2018
    Configuration menu
    Copy the full SHA
    3e0f64b View commit details
    Browse the repository at this point in the history
  22. ipvs: fix buffer overflow with sync daemon and service

    syzkaller reports for buffer overflow for interface name
    when starting sync daemons [1]
    
    What we do is that we copy user structure into larger stack
    buffer but later we search NUL past the stack buffer.
    The same happens for sched_name when adding/editing virtual server.
    
    We are restricted by IP_VS_SCHEDNAME_MAXLEN and IP_VS_IFNAME_MAXLEN
    being used as size in include/uapi/linux/ip_vs.h, so they
    include the space for NUL.
    
    As using strlcpy is wrong for unsafe source, replace it with
    strscpy and add checks to return EINVAL if source string is not
    NUL-terminated. The incomplete strlcpy fix comes from 2.6.13.
    
    For the netlink interface reduce the len parameter for
    IPVS_DAEMON_ATTR_MCAST_IFN and IPVS_SVC_ATTR_SCHED_NAME,
    so that we get proper EINVAL.
    
    [1]
    kernel BUG at lib/string.c:1052!
    invalid opcode: 0000 [#1] SMP KASAN
    Dumping ftrace buffer:
        (ftrace buffer empty)
    Modules linked in:
    CPU: 1 PID: 373 Comm: syz-executor936 Not tainted 4.17.0-rc4+ #45
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
    Google 01/01/2011
    RIP: 0010:fortify_panic+0x13/0x20 lib/string.c:1051
    RSP: 0018:ffff8801c976f800 EFLAGS: 00010282
    RAX: 0000000000000022 RBX: 0000000000000040 RCX: 0000000000000000
    RDX: 0000000000000022 RSI: ffffffff8160f6f1 RDI: ffffed00392edef6
    RBP: ffff8801c976f800 R08: ffff8801cf4c62c0 R09: ffffed003b5e4fb0
    R10: ffffed003b5e4fb0 R11: ffff8801daf27d87 R12: ffff8801c976fa20
    R13: ffff8801c976fae4 R14: ffff8801c976fae0 R15: 000000000000048b
    FS:  00007fd99f75e700(0000) GS:ffff8801daf00000(0000)
    knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00000000200001c0 CR3: 00000001d6843000 CR4: 00000000001406e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
      strlen include/linux/string.h:270 [inline]
      strlcpy include/linux/string.h:293 [inline]
      do_ip_vs_set_ctl+0x31c/0x1d00 net/netfilter/ipvs/ip_vs_ctl.c:2388
      nf_sockopt net/netfilter/nf_sockopt.c:106 [inline]
      nf_setsockopt+0x7d/0xd0 net/netfilter/nf_sockopt.c:115
      ip_setsockopt+0xd8/0xf0 net/ipv4/ip_sockglue.c:1253
      udp_setsockopt+0x62/0xa0 net/ipv4/udp.c:2487
      ipv6_setsockopt+0x149/0x170 net/ipv6/ipv6_sockglue.c:917
      tcp_setsockopt+0x93/0xe0 net/ipv4/tcp.c:3057
      sock_common_setsockopt+0x9a/0xe0 net/core/sock.c:3046
      __sys_setsockopt+0x1bd/0x390 net/socket.c:1903
      __do_sys_setsockopt net/socket.c:1914 [inline]
      __se_sys_setsockopt net/socket.c:1911 [inline]
      __x64_sys_setsockopt+0xbe/0x150 net/socket.c:1911
      do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
      entry_SYSCALL_64_after_hwframe+0x49/0xbe
    RIP: 0033:0x447369
    RSP: 002b:00007fd99f75dda8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036
    RAX: ffffffffffffffda RBX: 00000000006e39e4 RCX: 0000000000447369
    RDX: 000000000000048b RSI: 0000000000000000 RDI: 0000000000000003
    RBP: 0000000000000000 R08: 0000000000000018 R09: 0000000000000000
    R10: 00000000200001c0 R11: 0000000000000246 R12: 00000000006e39e0
    R13: 75a1ff93f0896195 R14: 6f745f3168746576 R15: 0000000000000001
    Code: 08 5b 41 5c 41 5d 41 5e 41 5f 5d c3 0f 0b 48 89 df e8 d2 8f 48 fa eb
    de 55 48 89 fe 48 c7 c7 60 65 64 88 48 89 e5 e8 91 dd f3 f9 <0f> 0b 90 90
    90 90 90 90 90 90 90 90 90 55 48 89 e5 41 57 41 56
    RIP: fortify_panic+0x13/0x20 lib/string.c:1051 RSP: ffff8801c976f800
    
    Reported-and-tested-by: [email protected]
    Fixes: e4ff675 ("ipvs: add sync_maxlen parameter for the sync daemon")
    Fixes: 4da62fc ("[IPVS]: Fix for overflows")
    Signed-off-by: Julian Anastasov <[email protected]>
    Acked-by: Simon Horman <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    Julian Anastasov authored and ummakynes committed May 23, 2018
    Configuration menu
    Copy the full SHA
    52f9675 View commit details
    Browse the repository at this point in the history
  23. Input: synaptics - Lenovo Carbon X1 Gen5 (2017) devices should use RMI

    The touchpad on Lenovo Carbon X1 Gen 5 (2017 - Kabylake) is accessible over
    SMBUS/RMI, so let's activate it by default.
    
    Cc: [email protected]
    Reviewed-by: Benjamin Tissoires <[email protected]>
    Signed-off-by: Dmitry Torokhov <[email protected]>
    dtor committed May 23, 2018
    Configuration menu
    Copy the full SHA
    9b20710 View commit details
    Browse the repository at this point in the history
  24. Input: synaptics - Lenovo Thinkpad X1 Carbon G5 (2017) with Elantech …

    …trackpoints should use RMI
    
    Lenovo use two different trackpoints in the fifth generation Thinkpad X1
    Carbon. Both are accessible over SMBUS/RMI but the pnpIDs are missing.
    This patch is for the Elantech trackpoint specifically which also
    reports SMB version 3 so rmi_smbus needs to be updated in order to
    handle it.
    
    For the record, I was not the first one to come up with this patch as it
    has been floating around the internet for a while now. However, I have
    spent significant time with testing and my efforts to find the original
    author of the patch have been unsuccessful.
    
    Signed-off-by: Edvard Holst <[email protected]>
    Cc: [email protected]
    Signed-off-by: Dmitry Torokhov <[email protected]>
    ardevd authored and dtor committed May 23, 2018
    Configuration menu
    Copy the full SHA
    15e2cff View commit details
    Browse the repository at this point in the history
  25. Input: synaptics - add Intertouch support on X1 Carbon 6th and X280

    Synaptics devices reported it has Intertouch support,
    and it fails via PS/2 as following logs:
    
    psmouse serio2: Failed to reset mouse on synaptics-pt/serio0
    psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
    
    Set these new devices to use SMBus to fix this issue, then they report
    SMBus version 3 is using, patch:
    https://patchwork.kernel.org/patch/9989547/ enabled SMBus ver 3 and
    makes synaptics devices work fine on SMBus mode.
    
    Signed-off-by: Aaron Ma <[email protected]>
    Cc: [email protected]
    Signed-off-by: Dmitry Torokhov <[email protected]>
    pyma1 authored and dtor committed May 23, 2018
    Configuration menu
    Copy the full SHA
    5717a09 View commit details
    Browse the repository at this point in the history
  26. Input: synaptics - add Lenovo 80 series ids to SMBus

    This time, Lenovo decided to go with different pieces in its latest
    series of Thinkpads.
    
    For those we have been able to test:
    - the T480 is using Synaptics with an IBM trackpoint
       -> it behaves properly with or without intertouch, there is no point
          not using RMI4
    - the X1 Carbon 6th gen is using Synaptics with an IBM trackpoint
       -> the touchpad doesn't behave properly under PS/2 so we have to
          switch it to RMI4 if we do not want to have disappointed users
    - the X280 is using Synaptics with an ALPS trackpoint
       -> the recent fixes in the trackpoint handling fixed it so upstream
          now works fine with or without RMI4, and there is no point not
          using RMI4
    - the T480s is using an Elan touchpad, so that's a different story
    
    Cc: <[email protected]> # v4.14.x, v4.15.x, v4.16.x
    Signed-off-by: Benjamin Tissoires <[email protected]>
    Acked-by: KT Liao <[email protected]>
    Signed-off-by: Dmitry Torokhov <[email protected]>
    bentiss authored and dtor committed May 23, 2018
    Configuration menu
    Copy the full SHA
    ad8fb55 View commit details
    Browse the repository at this point in the history
  27. Input: elan_i2c_smbus - fix corrupted stack

    New ICs (like the one on the Lenovo T480s) answer to
    ETP_SMBUS_IAP_VERSION_CMD 4 bytes instead of 3. This corrupts the stack
    as i2c_smbus_read_block_data() uses the values returned by the i2c
    device to know how many data it need to return.
    
    i2c_smbus_read_block_data() can read up to 32 bytes (I2C_SMBUS_BLOCK_MAX)
    and there is no safeguard on how many bytes are provided in the return
    value. Ensure we always have enough space for any future firmware.
    Also 0-initialize the values to prevent any access to uninitialized memory.
    
    Cc: <[email protected]> # v4.4.x, v4.9.x, v4.14.x, v4.15.x, v4.16.x
    Signed-off-by: Benjamin Tissoires <[email protected]>
    Acked-by: KT Liao <[email protected]>
    Signed-off-by: Dmitry Torokhov <[email protected]>
    bentiss authored and dtor committed May 23, 2018
    Configuration menu
    Copy the full SHA
    40f7090 View commit details
    Browse the repository at this point in the history
  28. netfilter: provide correct argument to nla_strlcpy()

    Recent patch forgot to remove nla_data(), upsetting syzkaller a bit.
    
    BUG: KASAN: slab-out-of-bounds in nla_strlcpy+0x13d/0x150 lib/nlattr.c:314
    Read of size 1 at addr ffff8801ad1f4fdd by task syz-executor189/4509
    
    CPU: 1 PID: 4509 Comm: syz-executor189 Not tainted 4.17.0-rc6+ #62
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x1b9/0x294 lib/dump_stack.c:113
     print_address_description+0x6c/0x20b mm/kasan/report.c:256
     kasan_report_error mm/kasan/report.c:354 [inline]
     kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412
     __asan_report_load1_noabort+0x14/0x20 mm/kasan/report.c:430
     nla_strlcpy+0x13d/0x150 lib/nlattr.c:314
     nfnl_acct_new+0x574/0xc50 net/netfilter/nfnetlink_acct.c:118
     nfnetlink_rcv_msg+0xdb5/0xff0 net/netfilter/nfnetlink.c:212
     netlink_rcv_skb+0x172/0x440 net/netlink/af_netlink.c:2448
     nfnetlink_rcv+0x1fe/0x1ba0 net/netfilter/nfnetlink.c:513
     netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
     netlink_unicast+0x58b/0x740 net/netlink/af_netlink.c:1336
     netlink_sendmsg+0x9f0/0xfa0 net/netlink/af_netlink.c:1901
     sock_sendmsg_nosec net/socket.c:629 [inline]
     sock_sendmsg+0xd5/0x120 net/socket.c:639
     sock_write_iter+0x35a/0x5a0 net/socket.c:908
     call_write_iter include/linux/fs.h:1784 [inline]
     new_sync_write fs/read_write.c:474 [inline]
     __vfs_write+0x64d/0x960 fs/read_write.c:487
     vfs_write+0x1f8/0x560 fs/read_write.c:549
     ksys_write+0xf9/0x250 fs/read_write.c:598
     __do_sys_write fs/read_write.c:610 [inline]
     __se_sys_write fs/read_write.c:607 [inline]
     __x64_sys_write+0x73/0xb0 fs/read_write.c:607
    
    Fixes: 4e09fc8 ("netfilter: prefer nla_strlcpy for dealing with NLA_STRING attributes")
    Signed-off-by: Eric Dumazet <[email protected]>
    Acked-by: Florian Westphal <[email protected]>
    Reported-by: syzbot <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    Eric Dumazet authored and ummakynes committed May 23, 2018
    Configuration menu
    Copy the full SHA
    4b83a90 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2018

  1. fix io_destroy()/aio_complete() race

    If io_destroy() gets to cancelling everything that can be cancelled and
    gets to kiocb_cancel() calling the function driver has left in ->ki_cancel,
    it becomes vulnerable to a race with IO completion.  At that point req
    is already taken off the list and aio_complete() does *NOT* spin until
    we (in free_ioctx_users()) releases ->ctx_lock.  As the result, it proceeds
    to kiocb_free(), freing req just it gets passed to ->ki_cancel().
    
    Fix is simple - remove from the list after the call of kiocb_cancel().  All
    instances of ->ki_cancel() already have to cope with the being called with
    iocb still on list - that's what happens in io_cancel(2).
    
    Cc: [email protected]
    Fixes: 0460fef "aio: use cancellation list lazily"
    Signed-off-by: Al Viro <[email protected]>
    Al Viro committed May 24, 2018
    Configuration menu
    Copy the full SHA
    4faa999 View commit details
    Browse the repository at this point in the history
  2. MIPS: lantiq: gphy: Drop reboot/remove reset asserts

    While doing a global software reset, these bits are not cleared and let
    some bootloader fail to initialise the GPHYs. The bootloader don't
    expect the GPHYs in reset, as they aren't during power on.
    
    The asserts were a workaround for a wrong syscon-reboot mask. With a
    mask set which includes the GPHY resets, these resets aren't required
    any more.
    
    Fixes: 1265341 ("MIPS: lantiq: Add a GPHY driver which uses the RCU syscon-mfd")
    Signed-off-by: Mathias Kresin <[email protected]>
    Acked-by: Martin Blumenstingl <[email protected]>
    Acked-by: Hauke Mehrtens <[email protected]>
    Cc: John Crispin <[email protected]>
    Cc: [email protected]
    Cc: <[email protected]> # 4.14+
    Patchwork: https://patchwork.linux-mips.org/patch/19003/
    [[email protected]: Fix build warnings]
    Signed-off-by: James Hogan <[email protected]>
    mkresin authored and amalon committed May 24, 2018
    Configuration menu
    Copy the full SHA
    3279563 View commit details
    Browse the repository at this point in the history
  3. MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests

    Having PR_FP_MODE_FRE (i.e. Config5.FRE) set without PR_FP_MODE_FR (i.e.
    Status.FR) is not supported as the lone purpose of Config5.FRE is to
    emulate Status.FR=0 handling on FPU hardware that has Status.FR=1
    hardwired[1][2].  Also we do not handle this case elsewhere, and assume
    throughout our code that TIF_HYBRID_FPREGS and TIF_32BIT_FPREGS cannot
    be set both at once for a task, leading to inconsistent behaviour if
    this does happen.
    
    Return unsuccessfully then from prctl(2) PR_SET_FP_MODE calls requesting
    PR_FP_MODE_FRE to be set with PR_FP_MODE_FR clear.  This corresponds to
    modes allowed by `mips_set_personality_fp'.
    
    References:
    
    [1] "MIPS Architecture For Programmers, Vol. III: MIPS32 / microMIPS32
        Privileged Resource Architecture", Imagination Technologies,
        Document Number: MD00090, Revision 6.02, July 10, 2015, Table 9.69
        "Config5 Register Field Descriptions", p. 262
    
    [2] "MIPS Architecture For Programmers, Volume III: MIPS64 / microMIPS64
        Privileged Resource Architecture", Imagination Technologies,
        Document Number: MD00091, Revision 6.03, December 22, 2015, Table
        9.72 "Config5 Register Field Descriptions", p. 288
    
    Fixes: 9791554 ("MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS")
    Signed-off-by: Maciej W. Rozycki <[email protected]>
    Cc: Ralf Baechle <[email protected]>
    Cc: [email protected]
    Cc: <[email protected]> # 4.0+
    Patchwork: https://patchwork.linux-mips.org/patch/19327/
    Signed-off-by: James Hogan <[email protected]>
    Maciej W. Rozycki authored and amalon committed May 24, 2018
    Configuration menu
    Copy the full SHA
    28e4213 View commit details
    Browse the repository at this point in the history
  4. MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs

    Use 64-bit accesses for 64-bit floating-point general registers with
    PTRACE_PEEKUSR, removing the truncation of their upper halves in the
    FR=1 mode, caused by commit bbd426f ("MIPS: Simplify FP context
    access"), which inadvertently switched them to using 32-bit accesses.
    
    The PTRACE_POKEUSR side is fine as it's never been broken and continues
    using 64-bit accesses.
    
    Fixes: bbd426f ("MIPS: Simplify FP context access")
    Signed-off-by: Maciej W. Rozycki <[email protected]>
    Cc: Ralf Baechle <[email protected]>
    Cc: [email protected]
    Cc: <[email protected]> # 3.15+
    Patchwork: https://patchwork.linux-mips.org/patch/19334/
    Signed-off-by: James Hogan <[email protected]>
    Maciej W. Rozycki authored and amalon committed May 24, 2018
    Configuration menu
    Copy the full SHA
    c7e8146 View commit details
    Browse the repository at this point in the history
  5. drm/psr: Fix missed entry in PSR setup time table.

    Entry corresponding to 220 us setup time was missing. I am not aware of
    any specific bug this fixes, but this could potentially result in enabling
    PSR on a panel with a higher setup time requirement than supported by the
    hardware.
    
    I verified the value is present in eDP spec versions 1.3, 1.4 and 1.4a.
    
    Fixes: 6608804 ("drm/dp: Add drm_dp_psr_setup_time()")
    Cc: [email protected]
    Cc: Ville Syrjälä <[email protected]>
    Cc: Jose Roberto de Souza <[email protected]>
    Cc: [email protected]
    Reviewed-by: José Roberto de Souza <[email protected]>
    Reviewed-by: Tarun Vyas <[email protected]>
    Signed-off-by: Dhinakaran Pandiyan <[email protected]>
    Signed-off-by: Jani Nikula <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    dhnkrn authored and jnikula committed May 24, 2018
    Configuration menu
    Copy the full SHA
    bdcc02c View commit details
    Browse the repository at this point in the history
  6. drm/omap: fix NULL deref crash with SDI displays

    Fix a NULL deref bug introduced in commit 24aac60 ("drm: omapdrm:
    sdi: Allocate the sdi private data structure dynamically").
    
    Signed-off-by: Tomi Valkeinen <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Fixes: 24aac60 ("drm: omapdrm: sdi: Allocate the sdi private data structure dynamically")
    Reported-by: Tony Lindgren <[email protected]>
    Tested-by: Tony Lindgren <[email protected]>
    Reviewed-by: Benoit Parrot <[email protected]>
    tomba committed May 24, 2018
    Configuration menu
    Copy the full SHA
    2bc5ff0 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2018

  1. stm class: Use vmalloc for the master map

    Fengguang is running into a warning from the buddy allocator:
    
    > swapper/0: page allocation failure: order:9, mode:0x14040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null)
    > CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.17.0-rc1 #262
    > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
    > Call Trace:
    ...
    >  __kmalloc+0x14b/0x180: ____cache_alloc at mm/slab.c:3127
    >  stm_register_device+0xf3/0x5c0: stm_register_device at drivers/hwtracing/stm/core.c:695
    ...
    
    Which is basically a result of the stm class trying to allocate ~512kB
    for the dummy_stm with its default parameters. There's no reason, however,
    for it not to be vmalloc()ed instead, which is what this patch does.
    
    Reported-by: Fengguang Wu <[email protected]>
    Signed-off-by: Alexander Shishkin <[email protected]>
    CC: [email protected] # v4.4+
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    virtuoso authored and gregkh committed May 25, 2018
    Configuration menu
    Copy the full SHA
    b5e2ced View commit details
    Browse the repository at this point in the history
  2. intel_th: Use correct device when freeing buffers

    Commit d5c435d ("intel_th: msu: Use the real device in case of IOMMU
    domain allocation") changes dma buffer allocation to use the actual
    underlying device, but forgets to change the deallocation path, which leads
    to (if you've got CAP_SYS_RAWIO):
    
    > # echo 0,0 > /sys/bus/intel_th/devices/0-msc0/nr_pages
    > ------------[ cut here ]------------
    > kernel BUG at ../linux/drivers/iommu/intel-iommu.c:3670!
    > CPU: 3 PID: 231 Comm: sh Not tainted 4.17.0-rc1+ #2729
    > RIP: 0010:intel_unmap+0x11e/0x130
    ...
    > Call Trace:
    >  intel_free_coherent+0x3e/0x60
    >  msc_buffer_win_free+0x100/0x160 [intel_th_msu]
    
    This patch fixes the buffer deallocation code to use the correct device.
    
    Signed-off-by: Alexander Shishkin <[email protected]>
    Fixes: d5c435d ("intel_th: msu: Use the real device in case of IOMMU domain allocation")
    Reported-by: Baofeng Tian <[email protected]>
    CC: [email protected] # v4.14+
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    virtuoso authored and gregkh committed May 25, 2018
    Configuration menu
    Copy the full SHA
    0ed2424 View commit details
    Browse the repository at this point in the history
  3. RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes

    The recent changes in Broadcom's ethernet driver(L2 driver) broke
    RoCE functionality in terms of MSIx vector allocation and
    de-allocation.
    
    There is a possibility that L2 driver would initiate MSIx vector
    reallocation depending upon the requests coming from administrator.
    In such cases L2 driver needs to free up all the MSIx vectors
    allocated previously and reallocate/initialize those.
    
    If RoCE driver is loaded and reshuffling is attempted, there will be
    kernel crashes because RoCE driver would still be holding the MSIx
    vectors but L2 driver would attempt to free in-use vectors. Thus
    leading to a kernel crash.
    
    Making changes in roce driver to fix crashes described above.
    As part of solution L2 driver tells RoCE driver to release
    the MSIx vector whenever there is a need. When RoCE driver
    get message it sync up with all the running tasklets and IRQ
    handlers and releases the vectors. L2 driver send one more
    message to RoCE driver to resume the MSIx vectors. L2 driver
    guarantees that RoCE vector do not change during reshuffling.
    
    Fixes: ec86f14 ("bnxt_en: Add ULP calls to stop and restart IRQs.")
    Fixes: 08654eb ("bnxt_en: Change IRQ assignment for RDMA driver.")
    Signed-off-by: Devesh Sharma <[email protected]>
    Signed-off-by: Jason Gunthorpe <[email protected]>
    Devesh Sharma authored and jgunthorpe committed May 25, 2018
    Configuration menu
    Copy the full SHA
    6e04b10 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2018

  1. hwtracing: stm: fix build error on some arches

    Commit b5e2ced ("stm class: Use vmalloc for the master map") caused
    a build error on some arches as vmalloc.h was not explicitly included.
    
    Fix that by adding it to the list of includes.
    
    Fixes: b5e2ced ("stm class: Use vmalloc for the master map")
    Reported-by: kbuild test robot <[email protected]>
    Cc: Alexander Shishkin <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    gregkh committed May 26, 2018
    Configuration menu
    Copy the full SHA
    806e308 View commit details
    Browse the repository at this point in the history
  2. crypto: inside-secure - do not use memset on MMIO

    This patch fixes the Inside Secure driver which uses a memtset() call to
    set an MMIO area from the cryptographic engine to 0. This is wrong as
    memset() isn't guaranteed to work on MMIO for many reasons. This led to
    kernel paging request panics in certain cases. Use memset_io() instead.
    
    Fixes: 1b44c5a ("crypto: inside-secure - add SafeXcel EIP197 crypto engine driver")
    Reported-by: Ofer Heifetz <[email protected]>
    Signed-off-by: Antoine Tenart <[email protected]>
    Signed-off-by: Herbert Xu <[email protected]>
    atenart authored and herbertx committed May 26, 2018
    Configuration menu
    Copy the full SHA
    bf4407f View commit details
    Browse the repository at this point in the history

Commits on May 28, 2018

  1. tracing: Fix crash when freeing instances with event triggers

    If a instance has an event trigger enabled when it is freed, it could cause
    an access of free memory. Here's the case that crashes:
    
     # cd /sys/kernel/tracing
     # mkdir instances/foo
     # echo snapshot > instances/foo/events/initcall/initcall_start/trigger
     # rmdir instances/foo
    
    Would produce:
    
     general protection fault: 0000 [#1] PREEMPT SMP PTI
     Modules linked in: tun bridge ...
     CPU: 5 PID: 6203 Comm: rmdir Tainted: G        W         4.17.0-rc4-test+ #933
     Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01 v03.03 07/14/2016
     RIP: 0010:clear_event_triggers+0x3b/0x70
     RSP: 0018:ffffc90003783de0 EFLAGS: 00010286
     RAX: 0000000000000000 RBX: 6b6b6b6b6b6b6b2b RCX: 0000000000000000
     RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8800c7130ba0
     RBP: ffffc90003783e00 R08: ffff8801131993f8 R09: 0000000100230016
     R10: ffffc90003783d80 R11: 0000000000000000 R12: ffff8800c7130ba0
     R13: ffff8800c7130bd8 R14: ffff8800cc093768 R15: 00000000ffffff9c
     FS:  00007f6f4aa86700(0000) GS:ffff88011eb40000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 00007f6f4a5aed60 CR3: 00000000cd552001 CR4: 00000000001606e0
     Call Trace:
      event_trace_del_tracer+0x2a/0xc5
      instance_rmdir+0x15c/0x200
      tracefs_syscall_rmdir+0x52/0x90
      vfs_rmdir+0xdb/0x160
      do_rmdir+0x16d/0x1c0
      __x64_sys_rmdir+0x17/0x20
      do_syscall_64+0x55/0x1a0
      entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    This was due to the call the clears out the triggers when an instance is
    being deleted not removing the trigger from the link list.
    
    Cc: [email protected]
    Fixes: 85f2b08 ("tracing: Add basic event trigger framework")
    Signed-off-by: Steven Rostedt (VMware) <[email protected]>
    rostedt committed May 28, 2018
    Configuration menu
    Copy the full SHA
    86b389f View commit details
    Browse the repository at this point in the history
  2. drm/i915: Disable LVDS on Radiant P845

    Radiant P845 does not have LVDS, only VGA.
    
    Cc: [email protected]
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105468
    Signed-off-by: Ondrej Zary <[email protected]>
    Signed-off-by: Ville Syrjälä <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 7f7105f)
    Signed-off-by: Joonas Lahtinen <[email protected]>
    Ondrej Zary authored and jlahtine-intel committed May 28, 2018
    Configuration menu
    Copy the full SHA
    b3fb227 View commit details
    Browse the repository at this point in the history
  3. drm/i915/lvds: Move acpi lid notification registration to registratio…

    …n phase
    
    Delay registering ourselves with the acpi lid notification mechanism
    until we are registering the connectors after initialisation is
    complete. This prevents a possibility of trying to handle the lid
    notification before we are ready with the danger of chasing
    uninitialised function pointers.
    
     BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
     IP:           (null)
     PGD 0 P4D 0
     Oops: 0010 [#1] PREEMPT SMP PTI
     Modules linked in: arc4(+) iwldvm(+) i915(+) mac80211 i2c_algo_bit coretemp mei_wdt iwlwifi drm_kms_helper kvm_intel wmi_bmof iTCO_wdt iTCO_vendor_support kvm snd_hda_codec_conexant snd_hda_codec_generic drm psmouse cfg80211 irqbypass input_leds pcspkr i2c_i801 snd_hda_intel snd_hda_codec thinkpad_acpi snd_hda_core mei_me lpc_ich snd_hwdep e1000e wmi nvram snd_pcm mei snd_timer shpchp ptp pps_core rfkill syscopyarea snd intel_agp sysfillrect intel_gtt soundcore sysimgblt battery led_class fb_sys_fops ac rtc_cmos agpgart evdev mac_hid acpi_cpufreq ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 fscrypto crypto_simd glue_helper cryptd aes_x86_64 xts algif_skcipher af_alg dm_crypt dm_mod sd_mod uas usb_storage serio_raw atkbd libps2 ahci libahci uhci_hcd libata scsi_mod ehci_pci
      ehci_hcd usbcore usb_common i8042 serio
     CPU: 1 PID: 378 Comm: systemd-logind Not tainted 4.16.8-1-ARCH #1
     Hardware name: LENOVO 7454CTO/7454CTO, BIOS 6DET72WW (3.22 ) 10/25/2012
     RIP: 0010:          (null)
     RSP: 0018:ffffaf4580c33a18 EFLAGS: 00010287
     RAX: 0000000000000000 RBX: ffff947533558000 RCX: 000000000000003e
     RDX: ffffffffc0aa80c0 RSI: ffffaf4580c33a3c RDI: ffff947534e4c000
     RBP: ffff947533558338 R08: ffff947534598930 R09: ffffffffc0a928b1
     R10: ffffd8f181d5fd40 R11: 0000000000000000 R12: ffffffffc0a928b1
     R13: ffff947533558368 R14: ffffffffc0a928a9 R15: ffff947534e4c000
     FS:  00007f3dc4ddb940(0000) GS:ffff947539280000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 0000000000000000 CR3: 000000006e214000 CR4: 00000000000406e0
     Call Trace:
      ?  intel_modeset_setup_hw_state+0x385/0xf60 [i915]
      ? __intel_display_resume+0x1e/0xc0 [i915]
      ? intel_display_resume+0xcc/0x120 [i915]
      ? intel_lid_notify+0xbc/0xc0 [i915]
      ? notifier_call_chain+0x47/0x70
      ? blocking_notifier_call_chain+0x3e/0x60
      ? acpi_lid_notify_state+0x8f/0x1d0
      ? acpi_lid_update_state+0x49/0x70
      ? acpi_lid_input_open+0x60/0x90
      ? input_open_device+0x5d/0xa0
      ? evdev_open+0x1ba/0x1e0 [evdev]
      ? chrdev_open+0xa3/0x1b0
      ? cdev_put.part.0+0x20/0x20
      ? do_dentry_open+0x14c/0x300
      ? path_openat+0x30c/0x1240
      ? current_time+0x16/0x60
      ? do_filp_open+0x93/0x100
      ? __check_object_size+0xfb/0x180
      ? do_sys_open+0x186/0x210
      ? do_syscall_64+0x74/0x190
      ?  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
     Code:  Bad RIP value.
     RIP:           (null) RSP: ffffaf4580c33a18
     CR2: 0000000000000000
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106559
    Fixes: c1c7af6 ("drm/i915: force mode set at lid open time")
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: Maarten Lankhorst <[email protected]>
    Cc: Ville Syrjälä <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Reviewed-by: Jani Nikula <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Cc: [email protected]
    (cherry picked from commit e578a57)
    Signed-off-by: Joonas Lahtinen <[email protected]>
    ickle authored and jlahtine-intel committed May 28, 2018
    Configuration menu
    Copy the full SHA
    b9eb9c9 View commit details
    Browse the repository at this point in the history
  4. drm/i915/query: Protect tainted function pointer lookup

    Smatch identifies i915_query_ioctl() as being a potential victim of
    Spectre due to its use of a tainted user index into a function pointer
    array. Use array_index_nospec() to defang the user index before using it
    to lookup the function pointer.
    
    Fixes: a446ae2 ("drm/i915: add query uAPI")
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: Lionel Landwerlin <[email protected]>
    Cc: Joonas Lahtinen <[email protected]>
    Cc: Tvrtko Ursulin <[email protected]>
    Reviewed-by: Lionel Landwerlin <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 84b510e)
    Signed-off-by: Joonas Lahtinen <[email protected]>
    ickle authored and jlahtine-intel committed May 28, 2018
    Configuration menu
    Copy the full SHA
    540ead8 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'nds32-for-linus-4.17-fixes' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/greentime/linux
    
    Pull nds32 fixes from Greentime Hu:
     "Bug fixes and build error fixes for nds32"
    
    * tag 'nds32-for-linus-4.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux:
      nds32: Fix compiler warning, Wstringop-overflow, in vdso.c
      nds32: Disable local irq before calling cpu_dcache_wb_page in copy_user_highpage
      nds32: Flush the cache of the page at vmaddr instead of kaddr in flush_anon_page
      nds32: Correct flush_dcache_page function
      nds32: Fix the unaligned access handler
      nds32: Renaming the file for unaligned access
      nds32: To fix a cache inconsistency issue by setting correct cacheability of NTC
      nds32: To refine readability of INT_MASK_INITAIAL_VAL
      nds32: Fix the virtual address may map too much range by tlbop issue.
      nds32: Fix the allmodconfig build. To make sure CONFIG_CPU_LITTLE_ENDIAN is default y
      nds32: Fix build failed because arch_trace_hardirqs_off is changed to trace_hardirqs_off.
      nds32: Fix the unknown type u8 issue.
      nds32: Fix the symbols undefined issue by exporting them.
      nds32: Fix xfs_buf built failed by export invalidate_kernel_vmap_range and flush_kernel_vmap_range
      nds32: Fix drivers/gpu/drm/udl/udl_fb.c building error by defining PAGE_SHARED
      nds32: Fix building error of crypto/xor.c by adding xor.h
      nds32: Fix building error when CONFIG_FREEZE is enabled.
      nds32: lib: To use generic lib instead of libgcc to prevent the symbol undefined issue.
    torvalds committed May 28, 2018
    Configuration menu
    Copy the full SHA
    786b71f View commit details
    Browse the repository at this point in the history
  6. IB: Revert "remove redundant INFINIBAND kconfig dependencies"

    Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
    on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
    link error when another driver using it is built-in. The
    INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
    a 'bool' symbol that does not force anything to be a module in turn.
    
    fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
    smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
    net/9p/trans_rdma.o: In function `rdma_request':
    trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
    net/9p/trans_rdma.o: In function `rdma_destroy_trans':
    trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
    trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
    
    Fixes: 9533b29 ("IB: remove redundant INFINIBAND kconfig dependencies")
    Signed-off-by: Arnd Bergmann <[email protected]>
    Acked-by: Greg Thelen <[email protected]>
    Signed-off-by: Jason Gunthorpe <[email protected]>
    arndb authored and jgunthorpe committed May 28, 2018
    Configuration menu
    Copy the full SHA
    533d1da View commit details
    Browse the repository at this point in the history
  7. tracing: Make the snapshot trigger work with instances

    The snapshot trigger currently only affects the main ring buffer, even when
    it is used by the instances. This can be confusing as the snapshot trigger
    is listed in the instance.
    
     > # cd /sys/kernel/tracing
     > # mkdir instances/foo
     > # echo snapshot > instances/foo/events/syscalls/sys_enter_fchownat/trigger
     > # echo top buffer > trace_marker
     > # echo foo buffer > instances/foo/trace_marker
     > # touch /tmp/bar
     > # chown rostedt /tmp/bar
     > # cat instances/foo/snapshot
     # tracer: nop
     #
     #
     # * Snapshot is freed *
     #
     # Snapshot commands:
     # echo 0 > snapshot : Clears and frees snapshot buffer
     # echo 1 > snapshot : Allocates snapshot buffer, if not already allocated.
     #                      Takes a snapshot of the main buffer.
     # echo 2 > snapshot : Clears snapshot buffer (but does not allocate or free)
     #                      (Doesn't have to be '2' works with any number that
     #                       is not a '0' or '1')
    
     > # cat snapshot
     # tracer: nop
     #
     #                              _-----=> irqs-off
     #                             / _----=> need-resched
     #                            | / _---=> hardirq/softirq
     #                            || / _--=> preempt-depth
     #                            ||| /     delay
     #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
     #              | |       |   ||||       |         |
                 bash-1189  [000] ....   111.488323: tracing_mark_write: top buffer
    
    Not only did the snapshot occur in the top level buffer, but the instance
    snapshot buffer should have been allocated, and it is still free.
    
    Cc: [email protected]
    Fixes: 85f2b08 ("tracing: Add basic event trigger framework")
    Signed-off-by: Steven Rostedt (VMware) <[email protected]>
    rostedt committed May 28, 2018
    Configuration menu
    Copy the full SHA
    2824f50 View commit details
    Browse the repository at this point in the history
  8. netfilter: nf_tables: disable preemption in nft_update_chain_stats()

    This patch fixes the following splat.
    
    [118709.054937] BUG: using smp_processor_id() in preemptible [00000000] code: test/1571
    [118709.054970] caller is nft_update_chain_stats.isra.4+0x53/0x97 [nf_tables]
    [118709.054980] CPU: 2 PID: 1571 Comm: test Not tainted 4.17.0-rc6+ #335
    [...]
    [118709.054992] Call Trace:
    [118709.055011]  dump_stack+0x5f/0x86
    [118709.055026]  check_preemption_disabled+0xd4/0xe4
    
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    ummakynes committed May 28, 2018
    Configuration menu
    Copy the full SHA
    ad9d9e8 View commit details
    Browse the repository at this point in the history
  9. netfilter: nf_tables: fix NULL-ptr in nf_tables_dump_obj()

    The table field in nft_obj_filter is not an array. In order to check
    tablename, we should check if the pointer is set.
    
    Test commands:
    
       %nft add table ip filter
       %nft add counter ip filter ct1
       %nft reset counters
    
    Splat looks like:
    
    [  306.510504] kasan: CONFIG_KASAN_INLINE enabled
    [  306.516184] kasan: GPF could be caused by NULL-ptr deref or user memory access
    [  306.524775] general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN PTI
    [  306.528284] Modules linked in: nft_objref nft_counter nf_tables nfnetlink ip_tables x_tables
    [  306.528284] CPU: 0 PID: 1488 Comm: nft Not tainted 4.17.0-rc4+ #17
    [  306.528284] Hardware name: To be filled by O.E.M. To be filled by O.E.M./Aptio CRB, BIOS 5.6.5 07/08/2015
    [  306.528284] RIP: 0010:nf_tables_dump_obj+0x52c/0xa70 [nf_tables]
    [  306.528284] RSP: 0018:ffff8800b6cb7520 EFLAGS: 00010246
    [  306.528284] RAX: 0000000000000000 RBX: ffff8800b6c49820 RCX: 0000000000000000
    [  306.528284] RDX: 0000000000000000 RSI: dffffc0000000000 RDI: ffffed0016d96e9a
    [  306.528284] RBP: ffff8800b6cb75c0 R08: ffffed00236fce7c R09: ffffed00236fce7b
    [  306.528284] R10: ffffffff9f6241e8 R11: ffffed00236fce7c R12: ffff880111365108
    [  306.528284] R13: 0000000000000000 R14: ffff8800b6c49860 R15: ffff8800b6c49860
    [  306.528284] FS:  00007f838b007700(0000) GS:ffff88011b600000(0000) knlGS:0000000000000000
    [  306.528284] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [  306.528284] CR2: 00007ffeafabcf78 CR3: 00000000b6cbe000 CR4: 00000000001006f0
    [  306.528284] Call Trace:
    [  306.528284]  netlink_dump+0x470/0xa20
    [  306.528284]  __netlink_dump_start+0x5ae/0x690
    [  306.528284]  ? nf_tables_getobj+0x1b3/0x740 [nf_tables]
    [  306.528284]  nf_tables_getobj+0x2f5/0x740 [nf_tables]
    [  306.528284]  ? nft_obj_notify+0x100/0x100 [nf_tables]
    [  306.528284]  ? nf_tables_getobj+0x740/0x740 [nf_tables]
    [  306.528284]  ? nf_tables_dump_flowtable_done+0x70/0x70 [nf_tables]
    [  306.528284]  ? nft_obj_notify+0x100/0x100 [nf_tables]
    [  306.528284]  nfnetlink_rcv_msg+0x8ff/0x932 [nfnetlink]
    [  306.528284]  ? nfnetlink_rcv_msg+0x216/0x932 [nfnetlink]
    [  306.528284]  netlink_rcv_skb+0x1c9/0x2f0
    [  306.528284]  ? nfnetlink_bind+0x1d0/0x1d0 [nfnetlink]
    [  306.528284]  ? debug_check_no_locks_freed+0x270/0x270
    [  306.528284]  ? netlink_ack+0x7a0/0x7a0
    [  306.528284]  ? ns_capable_common+0x6e/0x110
    [ ... ]
    
    Fixes: e46abbc ("netfilter: nf_tables: Allow table names of up to 255 chars")
    Signed-off-by: Taehee Yoo <[email protected]>
    Acked-by: Florian Westphal <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    TaeheeYoo authored and ummakynes committed May 28, 2018
    Configuration menu
    Copy the full SHA
    360cc79 View commit details
    Browse the repository at this point in the history
  10. netfilter: nf_tables: increase nft_counters_enabled in nft_chain_stat…

    …s_replace()
    
    When a chain is updated, a counter can be attached. if so,
    the nft_counters_enabled should be increased.
    
    test commands:
    
       %nft add table ip filter
       %nft add chain ip filter input { type filter hook input priority 4\; }
       %iptables-compat -Z input
       %nft delete chain ip filter input
    
    we can see below messages.
    
    [  286.443720] jump label: negative count!
    [  286.448278] WARNING: CPU: 0 PID: 1459 at kernel/jump_label.c:197 __static_key_slow_dec_cpuslocked+0x6f/0xf0
    [  286.449144] Modules linked in: nf_tables nfnetlink ip_tables x_tables
    [  286.449144] CPU: 0 PID: 1459 Comm: nft Tainted: G        W         4.17.0-rc2+ #12
    [  286.449144] RIP: 0010:__static_key_slow_dec_cpuslocked+0x6f/0xf0
    [  286.449144] RSP: 0018:ffff88010e5176f0 EFLAGS: 00010286
    [  286.449144] RAX: 000000000000001b RBX: ffffffffc0179500 RCX: ffffffffb8a82522
    [  286.449144] RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffff88011b7e5eac
    [  286.449144] RBP: 0000000000000000 R08: ffffed00236fce5c R09: ffffed00236fce5b
    [  286.449144] R10: ffffffffc0179503 R11: ffffed00236fce5c R12: 0000000000000000
    [  286.449144] R13: ffff88011a28e448 R14: ffff88011a28e470 R15: dffffc0000000000
    [  286.449144] FS:  00007f0384328700(0000) GS:ffff88011b600000(0000) knlGS:0000000000000000
    [  286.449144] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [  286.449144] CR2: 00007f038394bf10 CR3: 0000000104a86000 CR4: 00000000001006f0
    [  286.449144] Call Trace:
    [  286.449144]  static_key_slow_dec+0x6a/0x70
    [  286.449144]  nf_tables_chain_destroy+0x19d/0x210 [nf_tables]
    [  286.449144]  nf_tables_commit+0x1891/0x1c50 [nf_tables]
    [  286.449144]  nfnetlink_rcv+0x1148/0x13d0 [nfnetlink]
    [ ... ]
    
    Signed-off-by: Taehee Yoo <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    TaeheeYoo authored and ummakynes committed May 28, 2018
    Configuration menu
    Copy the full SHA
    bbb8c61 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2018

  1. scsi: scsi_transport_srp: Fix shost to rport translation

    Since an SRP remote port is attached as a child to shost->shost_gendev
    and as the only child, the translation from the shost pointer into an
    rport pointer must happen by looking up the shost child that is an
    rport. This patch fixes the following KASAN complaint:
    
    BUG: KASAN: slab-out-of-bounds in srp_timed_out+0x57/0x110 [scsi_transport_srp]
    Read of size 4 at addr ffff880035d3fcc0 by task kworker/1:0H/19
    
    CPU: 1 PID: 19 Comm: kworker/1:0H Not tainted 4.16.0-rc3-dbg+ #1
    Workqueue: kblockd blk_mq_timeout_work
    Call Trace:
    dump_stack+0x85/0xc7
    print_address_description+0x65/0x270
    kasan_report+0x231/0x350
    srp_timed_out+0x57/0x110 [scsi_transport_srp]
    scsi_times_out+0xc7/0x3f0 [scsi_mod]
    blk_mq_terminate_expired+0xc2/0x140
    bt_iter+0xbc/0xd0
    blk_mq_queue_tag_busy_iter+0x1c7/0x350
    blk_mq_timeout_work+0x325/0x3f0
    process_one_work+0x441/0xa50
    worker_thread+0x76/0x6c0
    kthread+0x1b2/0x1d0
    ret_from_fork+0x24/0x30
    
    Fixes: e68ca75 ("scsi_transport_srp: Reduce failover time")
    Signed-off-by: Bart Van Assche <[email protected]>
    Cc: Hannes Reinecke <[email protected]>
    Cc: Johannes Thumshirn <[email protected]>
    Cc: Jason Gunthorpe <[email protected]>
    Cc: Doug Ledford <[email protected]>
    Cc: Laurence Oberman <[email protected]>
    Cc: [email protected]
    Reviewed-by: Johannes Thumshirn <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    KAGA-KOKO authored and martinkpetersen committed May 29, 2018
    Configuration menu
    Copy the full SHA
    c9ddf73 View commit details
    Browse the repository at this point in the history
  2. Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf

    Pablo Neira Ayuso says:
    
    ====================
    Netfilter/IPVS fixes for net
    
    The following patchset contains Netfilter/IPVS fixes for your net tree:
    
    1) Null pointer dereference when dumping conntrack helper configuration,
       from Taehee Yoo.
    
    2) Missing sanitization in ebtables extension name through compat,
       from Paolo Abeni.
    
    3) Broken fetch of tracing value, from Taehee Yoo.
    
    4) Incorrect arithmetics in packet ratelimiting.
    
    5) Buffer overflow in IPVS sync daemon, from Julian Anastasov.
    
    6) Wrong argument to nla_strlcpy() in nfnetlink_{acct,cthelper},
       from Eric Dumazet.
    
    7) Fix splat in nft_update_chain_stats().
    
    8) Null pointer dereference from object netlink dump path, from
       Taehee Yoo.
    
    9) Missing static_branch_inc() when enabling counters in existing
       chain, from Taehee Yoo.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    513acc5 View commit details
    Browse the repository at this point in the history
  3. ipv6: sr: fix memory OOB access in seg6_do_srh_encap/inline

    seg6_do_srh_encap and seg6_do_srh_inline can possibly do an
    out-of-bounds access when adding the SRH to the packet. This no longer
    happen when expanding the skb not only by the size of the SRH (+
    outer IPv6 header), but also by skb->mac_len.
    
    [   53.793056] BUG: KASAN: use-after-free in seg6_do_srh_encap+0x284/0x620
    [   53.794564] Write of size 14 at addr ffff88011975ecfa by task ping/674
    
    [   53.796665] CPU: 0 PID: 674 Comm: ping Not tainted 4.17.0-rc3-ARCH+ #90
    [   53.796670] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
    BIOS 1.11.0-20171110_100015-anatol 04/01/2014
    [   53.796673] Call Trace:
    [   53.796679]  <IRQ>
    [   53.796689]  dump_stack+0x71/0xab
    [   53.796700]  print_address_description+0x6a/0x270
    [   53.796707]  kasan_report+0x258/0x380
    [   53.796715]  ? seg6_do_srh_encap+0x284/0x620
    [   53.796722]  memmove+0x34/0x50
    [   53.796730]  seg6_do_srh_encap+0x284/0x620
    [   53.796741]  ? seg6_do_srh+0x29b/0x360
    [   53.796747]  seg6_do_srh+0x29b/0x360
    [   53.796756]  seg6_input+0x2e/0x2e0
    [   53.796765]  lwtunnel_input+0x93/0xd0
    [   53.796774]  ipv6_rcv+0x690/0x920
    [   53.796783]  ? ip6_input+0x170/0x170
    [   53.796791]  ? eth_gro_receive+0x2d0/0x2d0
    [   53.796800]  ? ip6_input+0x170/0x170
    [   53.796809]  __netif_receive_skb_core+0xcc0/0x13f0
    [   53.796820]  ? netdev_info+0x110/0x110
    [   53.796827]  ? napi_complete_done+0xb6/0x170
    [   53.796834]  ? e1000_clean+0x6da/0xf70
    [   53.796845]  ? process_backlog+0x129/0x2a0
    [   53.796853]  process_backlog+0x129/0x2a0
    [   53.796862]  net_rx_action+0x211/0x5c0
    [   53.796870]  ? napi_complete_done+0x170/0x170
    [   53.796887]  ? run_rebalance_domains+0x11f/0x150
    [   53.796891]  __do_softirq+0x10e/0x39e
    [   53.796894]  do_softirq_own_stack+0x2a/0x40
    [   53.796895]  </IRQ>
    [   53.796898]  do_softirq.part.16+0x54/0x60
    [   53.796900]  __local_bh_enable_ip+0x5b/0x60
    [   53.796903]  ip6_finish_output2+0x416/0x9f0
    [   53.796906]  ? ip6_dst_lookup_flow+0x110/0x110
    [   53.796909]  ? ip6_sk_dst_lookup_flow+0x390/0x390
    [   53.796911]  ? __rcu_read_unlock+0x66/0x80
    [   53.796913]  ? ip6_mtu+0x44/0xf0
    [   53.796916]  ? ip6_output+0xfc/0x220
    [   53.796918]  ip6_output+0xfc/0x220
    [   53.796921]  ? ip6_finish_output+0x2b0/0x2b0
    [   53.796923]  ? memcpy+0x34/0x50
    [   53.796926]  ip6_send_skb+0x43/0xc0
    [   53.796929]  rawv6_sendmsg+0x1216/0x1530
    [   53.796932]  ? __orc_find+0x6b/0xc0
    [   53.796934]  ? rawv6_rcv_skb+0x160/0x160
    [   53.796937]  ? __rcu_read_unlock+0x66/0x80
    [   53.796939]  ? __rcu_read_unlock+0x66/0x80
    [   53.796942]  ? is_bpf_text_address+0x1e/0x30
    [   53.796944]  ? kernel_text_address+0xec/0x100
    [   53.796946]  ? __kernel_text_address+0xe/0x30
    [   53.796948]  ? unwind_get_return_address+0x2f/0x50
    [   53.796950]  ? __save_stack_trace+0x92/0x100
    [   53.796954]  ? save_stack+0x89/0xb0
    [   53.796956]  ? kasan_kmalloc+0xa0/0xd0
    [   53.796958]  ? kmem_cache_alloc+0xd2/0x1f0
    [   53.796961]  ? prepare_creds+0x23/0x160
    [   53.796963]  ? __x64_sys_capset+0x252/0x3e0
    [   53.796966]  ? do_syscall_64+0x69/0x160
    [   53.796968]  ? entry_SYSCALL_64_after_hwframe+0x44/0xa9
    [   53.796971]  ? __alloc_pages_nodemask+0x170/0x380
    [   53.796973]  ? __alloc_pages_slowpath+0x12c0/0x12c0
    [   53.796977]  ? tty_vhangup+0x20/0x20
    [   53.796979]  ? policy_nodemask+0x1a/0x90
    [   53.796982]  ? __mod_node_page_state+0x8d/0xa0
    [   53.796986]  ? __check_object_size+0xe7/0x240
    [   53.796989]  ? __sys_sendto+0x229/0x290
    [   53.796991]  ? rawv6_rcv_skb+0x160/0x160
    [   53.796993]  __sys_sendto+0x229/0x290
    [   53.796996]  ? __ia32_sys_getpeername+0x50/0x50
    [   53.796999]  ? commit_creds+0x2de/0x520
    [   53.797002]  ? security_capset+0x57/0x70
    [   53.797004]  ? __x64_sys_capset+0x29f/0x3e0
    [   53.797007]  ? __x64_sys_rt_sigsuspend+0xe0/0xe0
    [   53.797011]  ? __do_page_fault+0x664/0x770
    [   53.797014]  __x64_sys_sendto+0x74/0x90
    [   53.797017]  do_syscall_64+0x69/0x160
    [   53.797019]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
    [   53.797022] RIP: 0033:0x7f43b7a6714a
    [   53.797023] RSP: 002b:00007ffd891bd368 EFLAGS: 00000246 ORIG_RAX:
    000000000000002c
    [   53.797026] RAX: ffffffffffffffda RBX: 00000000006129c0 RCX: 00007f43b7a6714a
    [   53.797028] RDX: 0000000000000040 RSI: 00000000006129c0 RDI: 0000000000000004
    [   53.797029] RBP: 00007ffd891be640 R08: 0000000000610940 R09: 000000000000001c
    [   53.797030] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000040
    [   53.797032] R13: 000000000060e6a0 R14: 0000000000008004 R15: 000000000040b661
    
    [   53.797171] Allocated by task 642:
    [   53.797460]  kasan_kmalloc+0xa0/0xd0
    [   53.797463]  kmem_cache_alloc+0xd2/0x1f0
    [   53.797465]  getname_flags+0x40/0x210
    [   53.797467]  user_path_at_empty+0x1d/0x40
    [   53.797469]  do_faccessat+0x12a/0x320
    [   53.797471]  do_syscall_64+0x69/0x160
    [   53.797473]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    [   53.797607] Freed by task 642:
    [   53.797869]  __kasan_slab_free+0x130/0x180
    [   53.797871]  kmem_cache_free+0xa8/0x230
    [   53.797872]  filename_lookup+0x15b/0x230
    [   53.797874]  do_faccessat+0x12a/0x320
    [   53.797876]  do_syscall_64+0x69/0x160
    [   53.797878]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    [   53.798014] The buggy address belongs to the object at ffff88011975e600
                    which belongs to the cache names_cache of size 4096
    [   53.799043] The buggy address is located 1786 bytes inside of
                    4096-byte region [ffff88011975e600, ffff88011975f600)
    [   53.800013] The buggy address belongs to the page:
    [   53.800414] page:ffffea000465d600 count:1 mapcount:0
    mapping:0000000000000000 index:0x0 compound_mapcount: 0
    [   53.801259] flags: 0x17fff0000008100(slab|head)
    [   53.801640] raw: 017fff0000008100 0000000000000000 0000000000000000
    0000000100070007
    [   53.803147] raw: dead000000000100 dead000000000200 ffff88011b185a40
    0000000000000000
    [   53.803787] page dumped because: kasan: bad access detected
    
    [   53.804384] Memory state around the buggy address:
    [   53.804788]  ffff88011975eb80: fb fb fb fb fb fb fb fb fb fb fb fb
    fb fb fb fb
    [   53.805384]  ffff88011975ec00: fb fb fb fb fb fb fb fb fb fb fb fb
    fb fb fb fb
    [   53.805979] >ffff88011975ec80: fb fb fb fb fb fb fb fb fb fb fb fb
    fb fb fb fb
    [   53.806577]                                                                 ^
    [   53.807165]  ffff88011975ed00: fb fb fb fb fb fb fb fb fb fb fb fb
    fb fb fb fb
    [   53.807762]  ffff88011975ed80: fb fb fb fb fb fb fb fb fb fb fb fb
    fb fb fb fb
    [   53.808356] ==================================================================
    [   53.808949] Disabling lock debugging due to kernel taint
    
    Fixes: 6c8702c ("ipv6: sr: add support for SRH encapsulation and injection with lwtunnels")
    Signed-off-by: David Lebrun <[email protected]>
    Signed-off-by: Mathieu Xhonneux <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Zashas authored and davem330 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    bbb40a0 View commit details
    Browse the repository at this point in the history
  4. net: netsec: reduce DMA mask to 40 bits

    The netsec network controller IP can drive 64 address bits for DMA, and
    the DMA mask is set accordingly in the driver. However, the SynQuacer
    SoC, which is the only silicon incorporating this IP at the moment,
    integrates this IP in a manner that leaves address bits [63:40]
    unconnected.
    
    Up until now, this has not resulted in any problems, given that the DDR
    controller doesn't decode those bits to begin with. However, recent
    firmware updates for platforms incorporating this SoC allow the IOMMU
    to be enabled, which does decode address bits [47:40], and allocates
    top down from the IOVA space, producing DMA addresses that have bits
    set that have been left unconnected.
    
    Both the DT and ACPI (IORT) descriptions of the platform take this into
    account, and only describe a DMA address space of 40 bits (using either
    dma-ranges DT properties, or DMA address limits in IORT named component
    nodes). However, even though our IOMMU and bus layers may take such
    limitations into account by setting a narrower DMA mask when creating
    the platform device, the netsec probe() entrypoint follows the common
    practice of setting the DMA mask uncondionally, according to the
    capabilities of the IP block itself rather than to its integration into
    the chip.
    
    It is currently unclear what the correct fix is here. We could hack around
    it by only setting the DMA mask if it deviates from its default value of
    DMA_BIT_MASK(32). However, this makes it impossible for the bus layer to
    use DMA_BIT_MASK(32) as the bus limit, and so it appears that a more
    comprehensive approach is required to take DMA limits imposed by the
    SoC as a whole into account.
    
    In the mean time, let's limit the DMA mask to 40 bits. Given that there
    is currently only one SoC that incorporates this IP, this is a reasonable
    approach that can be backported to -stable and buys us some time to come
    up with a proper fix going forward.
    
    Fixes: 533dd11 ("net: socionext: Add Synquacer NetSec driver")
    Cc: Robin Murphy <[email protected]>
    Cc: Jassi Brar <[email protected]>
    Cc: Masahisa Kojima <[email protected]>
    Cc: Ilias Apalodimas <[email protected]>
    Signed-off-by: Ard Biesheuvel <[email protected]>
    Reviewed-by: Robin Murphy <[email protected]>
    Acked-by: Jassi Brar <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Ard Biesheuvel authored and davem330 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    3125642 View commit details
    Browse the repository at this point in the history
  5. Revert "rt2800: use TXOP_BACKOFF for probe frames"

    This reverts commit fb47ada.
    
    In some situations when we set TXOP_BACKOFF, the probe frame is
    not sent at all. What it worse then sending probe frame as part
    of AMPDU and can degrade 11n performance to 11g rates.
    
    Cc: [email protected]
    Signed-off-by: Stanislaw Gruszka <[email protected]>
    Signed-off-by: Kalle Valo <[email protected]>
    Stanislaw Gruszka authored and Kalle Valo committed May 29, 2018
    Configuration menu
    Copy the full SHA
    52a1923 View commit details
    Browse the repository at this point in the history
  6. iwlwifi: pcie: compare with number of IRQs requested for, not number …

    …of CPUs
    
    When there are 16 or more logical CPUs, we request for
    `IWL_MAX_RX_HW_QUEUES` (16) IRQs only as we limit to that number of
    IRQs, but later on we compare the number of IRQs returned to
    nr_online_cpus+2 instead of max_irqs, the latter being what we
    actually asked for. This ends up setting num_rx_queues to 17 which
    causes lots of out-of-bounds array accesses later on.
    
    Compare to max_irqs instead, and also add an assertion in case
    num_rx_queues > IWM_MAX_RX_HW_QUEUES.
    
    This fixes https://bugzilla.kernel.org/show_bug.cgi?id=199551
    
    Fixes: 2e5d4a8 ("iwlwifi: pcie: Add new configuration to enable MSIX")
    Signed-off-by: Hao Wei Tee <[email protected]>
    Tested-by: Sara Sharon <[email protected]>
    Signed-off-by: Luca Coelho <[email protected]>
    Signed-off-by: Kalle Valo <[email protected]>
    angelsl authored and Kalle Valo committed May 29, 2018
    Configuration menu
    Copy the full SHA
    ab1068d View commit details
    Browse the repository at this point in the history
  7. drm/i915/query: nospec expects no more than an unsigned long

    nospec quite reasonably asserts that it will never be used with an index
    larger than unsigned long (that being the largest possibly index into an
    C array). However, our ubi uses the convention of u64 for any large
    integer, running afoul of the assertion on 32b. Reduce our index to an
    unsigned long, checking for type overflow first.
    
      drivers/gpu/drm/i915/i915_query.c: In function 'i915_query_ioctl':
      include/linux/compiler.h:339:38: error: call to '__compiletime_assert_119' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
    
    Reported-by: [email protected]
    Fixes: 84b510e ("drm/i915/query: Protect tainted function pointer lookup")
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: Lionel Landwerlin <[email protected]>
    Cc: Joonas Lahtinen <[email protected]>
    Cc: Tvrtko Ursulin <[email protected]>
    Reviewed-by: Lionel Landwerlin <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit a33b1dc)
    Signed-off-by: Joonas Lahtinen <[email protected]>
    ickle authored and jlahtine-intel committed May 29, 2018
    Configuration menu
    Copy the full SHA
    65b3bdc View commit details
    Browse the repository at this point in the history
  8. Merge tag 'trace-v4.17-rc4-3' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/rostedt/linux-trace
    
    Pull tracing fixes from Steven Rostedt:
     "While writing selftests for a new feature, I triggered two existing
      bugs that deal with triggers and instances.
    
       - a generic trigger bug where the triggers are not removed from a
         linked list properly when deleting an instance.
    
       - a bug specific to snapshots, where the snapshot is done in the top
         level buffer, when it is supposed to snapshot the buffer associated
         to the instance the snapshot trigger exists in"
    
    * tag 'trace-v4.17-rc4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      tracing: Make the snapshot trigger work with instances
      tracing: Fix crash when freeing instances with event triggers
    torvalds committed May 29, 2018
    Configuration menu
    Copy the full SHA
    3d661e2 View commit details
    Browse the repository at this point in the history
  9. atm: zatm: fix memcmp casting

    memcmp() returns int, but eprom_try_esi() cast it to unsigned char. One
    can lose significant bits and get 0 from non-0 value returned by the
    memcmp().
    
    Signed-off-by: Ivan Bornyakov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    i1brnkv authored and davem330 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    f9c6442 View commit details
    Browse the repository at this point in the history
  10. mlxsw: spectrum: Forbid creation of VLAN 1 over port/LAG

    VLAN 1 is internally used for untagged traffic. Prevent creation of
    explicit netdevice for that VLAN, because that currently isn't supported
    and leads to the NULL pointer dereference cited below.
    
    Fix by preventing creation of VLAN devices with VID of 1 over mlxsw
    devices or LAG devices that involve mlxsw devices.
    
    [  327.175816] ================================================================================
    [  327.184544] UBSAN: Undefined behaviour in drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c:200:12
    [  327.193667] member access within null pointer of type 'const struct mlxsw_sp_fid'
    [  327.201226] CPU: 0 PID: 8983 Comm: ip Not tainted 4.17.0-rc4-petrm_net_ip6gre_headroom-custom-140 #11
    [  327.210496] Hardware name: Mellanox Technologies Ltd. "MSN2410-CB2F"/"SA000874", BIOS 4.6.5 03/08/2016
    [  327.219872] Call Trace:
    [  327.222384]  dump_stack+0xc3/0x12b
    [  327.234007]  ubsan_epilogue+0x9/0x49
    [  327.237638]  ubsan_type_mismatch_common+0x1f9/0x2d0
    [  327.255769]  __ubsan_handle_type_mismatch+0x90/0xa7
    [  327.264716]  mlxsw_sp_fid_type+0x35/0x50 [mlxsw_spectrum]
    [  327.270255]  mlxsw_sp_port_vlan_router_leave+0x46/0xc0 [mlxsw_spectrum]
    [  327.277019]  mlxsw_sp_inetaddr_port_vlan_event+0xe1/0x340 [mlxsw_spectrum]
    [  327.315031]  mlxsw_sp_netdevice_vrf_event+0xa8/0x100 [mlxsw_spectrum]
    [  327.321626]  mlxsw_sp_netdevice_event+0x276/0x430 [mlxsw_spectrum]
    [  327.367863]  notifier_call_chain+0x4c/0x150
    [  327.372128]  __netdev_upper_dev_link+0x1b3/0x260
    [  327.399450]  vrf_add_slave+0xce/0x170 [vrf]
    [  327.403703]  do_setlink+0x658/0x1d70
    [  327.508998]  rtnl_newlink+0x908/0xf20
    [  327.559128]  rtnetlink_rcv_msg+0x50c/0x720
    [  327.571720]  netlink_rcv_skb+0x16a/0x1f0
    [  327.583450]  netlink_unicast+0x2ca/0x3e0
    [  327.599305]  netlink_sendmsg+0x3e2/0x7f0
    [  327.616655]  sock_sendmsg+0x76/0xc0
    [  327.620207]  ___sys_sendmsg+0x494/0x5d0
    [  327.666117]  __sys_sendmsg+0xc2/0x130
    [  327.690953]  do_syscall_64+0x66/0x370
    [  327.694677]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
    [  327.699782] RIP: 0033:0x7f4c2f3f8037
    [  327.703393] RSP: 002b:00007ffe8c389708 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
    [  327.711035] RAX: ffffffffffffffda RBX: 000000005b03f53e RCX: 00007f4c2f3f8037
    [  327.718229] RDX: 0000000000000000 RSI: 00007ffe8c389760 RDI: 0000000000000003
    [  327.725431] RBP: 00007ffe8c389760 R08: 0000000000000000 R09: 00007f4c2f443630
    [  327.732632] R10: 00000000000005eb R11: 0000000000000246 R12: 0000000000000000
    [  327.739833] R13: 00000000006774e0 R14: 00007ffe8c3897e8 R15: 0000000000000000
    [  327.747096] ================================================================================
    
    Fixes: 9589a7b ("mlxsw: spectrum: Handle VLAN devices linking / unlinking")
    Suggested-by: Ido Schimmel <[email protected]>
    Signed-off-by: Petr Machata <[email protected]>
    Signed-off-by: Ido Schimmel <[email protected]>
    Acked-by: Jiri Pirko <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    pmachata authored and davem330 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    47bf9df View commit details
    Browse the repository at this point in the history
  11. net: qmi_wwan: Add Netgear Aircard 779S

    Add support for Netgear Aircard 779S
    
    Signed-off-by: Josh Hill <[email protected]>
    Acked-by: Bjørn Mork <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Josh Hill authored and davem330 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    2415f3b View commit details
    Browse the repository at this point in the history
  12. be2net: Fix error detection logic for BE3

    Check for 0xE00 (RECOVERABLE_ERR) along with ARMFW UE (0x0)
    in be_detect_error() to know whether the error is valid error or not
    
    Fixes: 673c96e ("be2net: Fix UE detection logic for BE3")
    Signed-off-by: Suresh Reddy <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    be2net authored and davem330 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    d2c2725 View commit details
    Browse the repository at this point in the history
  13. tun: Fix NULL pointer dereference in XDP redirect

    Calling XDP redirection requires bh disabled. Softirq can call another
    XDP function and redirection functions, then the percpu static variable
    ri->map can be overwritten to NULL.
    
    This is a generic XDP case called from tun.
    
    [ 3535.736058] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
    [ 3535.743974] PGD 0 P4D 0
    [ 3535.746530] Oops: 0000 [#1] SMP PTI
    [ 3535.750049] Modules linked in: vhost_net vhost tap tun bridge stp llc ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter sunrpc vfat fat ext4 mbcache jbd2 intel_rapl skx_edac nfit libnvdimm x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm ipmi_ssif irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc ses aesni_intel crypto_simd cryptd enclosure hpwdt hpilo glue_helper ipmi_si pcspkr wmi mei_me ioatdma mei ipmi_devintf shpchp dca ipmi_msghandler lpc_ich acpi_power_meter sch_fq_codel ip_tables xfs libcrc32c sd_mod mgag200 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm drm smartpqi i40e crc32c_intel scsi_transport_sas tg3 i2c_core ptp pps_core
    [ 3535.813456] CPU: 5 PID: 1630 Comm: vhost-1614 Not tainted 4.17.0-rc4 #2
    [ 3535.820127] Hardware name: HPE ProLiant DL360 Gen10/ProLiant DL360 Gen10, BIOS U32 11/14/2017
    [ 3535.828732] RIP: 0010:__xdp_map_lookup_elem+0x5/0x30
    [ 3535.833740] RSP: 0018:ffffb4bc47bf7c58 EFLAGS: 00010246
    [ 3535.839009] RAX: ffff9fdfcfea1c40 RBX: 0000000000000000 RCX: ffff9fdf27fe3100
    [ 3535.846205] RDX: ffff9fdfca769200 RSI: 0000000000000000 RDI: 0000000000000000
    [ 3535.853402] RBP: ffffb4bc491d9000 R08: 00000000000045ad R09: 0000000000000ec0
    [ 3535.860597] R10: 0000000000000001 R11: ffff9fdf26c3ce4e R12: ffff9fdf9e72c000
    [ 3535.867794] R13: 0000000000000000 R14: fffffffffffffff2 R15: ffff9fdfc82cdd00
    [ 3535.874990] FS:  0000000000000000(0000) GS:ffff9fdfcfe80000(0000) knlGS:0000000000000000
    [ 3535.883152] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 3535.888948] CR2: 0000000000000018 CR3: 0000000bde724004 CR4: 00000000007626e0
    [ 3535.896145] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 3535.903342] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [ 3535.910538] PKRU: 55555554
    [ 3535.913267] Call Trace:
    [ 3535.915736]  xdp_do_generic_redirect+0x7a/0x310
    [ 3535.920310]  do_xdp_generic.part.117+0x285/0x370
    [ 3535.924970]  tun_get_user+0x5b9/0x1260 [tun]
    [ 3535.929279]  tun_sendmsg+0x52/0x70 [tun]
    [ 3535.933237]  handle_tx+0x2ad/0x5f0 [vhost_net]
    [ 3535.937721]  vhost_worker+0xa5/0x100 [vhost]
    [ 3535.942030]  kthread+0xf5/0x130
    [ 3535.945198]  ? vhost_dev_ioctl+0x3b0/0x3b0 [vhost]
    [ 3535.950031]  ? kthread_bind+0x10/0x10
    [ 3535.953727]  ret_from_fork+0x35/0x40
    [ 3535.957334] Code: 0e 74 15 83 f8 10 75 05 e9 49 aa b3 ff f3 c3 0f 1f 80 00 00 00 00 f3 c3 e9 29 9d b3 ff 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 <8b> 47 18 83 f8 0e 74 0d 83 f8 10 75 05 e9 49 a9 b3 ff 31 c0 c3
    [ 3535.976387] RIP: __xdp_map_lookup_elem+0x5/0x30 RSP: ffffb4bc47bf7c58
    [ 3535.982883] CR2: 0000000000000018
    [ 3535.987096] ---[ end trace 383b299dd1430240 ]---
    [ 3536.131325] Kernel panic - not syncing: Fatal exception
    [ 3536.137484] Kernel Offset: 0x26a00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
    [ 3536.281406] ---[ end Kernel panic - not syncing: Fatal exception ]---
    
    And a kernel with generic case fixed still panics in tun driver XDP
    redirect, because it disabled only preemption, but not bh.
    
    [ 2055.128746] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
    [ 2055.136662] PGD 0 P4D 0
    [ 2055.139219] Oops: 0000 [#1] SMP PTI
    [ 2055.142736] Modules linked in: vhost_net vhost tap tun bridge stp llc ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter sunrpc vfat fat ext4 mbcache jbd2 intel_rapl skx_edac nfit libnvdimm x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc ses aesni_intel ipmi_ssif crypto_simd enclosure cryptd hpwdt glue_helper ioatdma hpilo wmi dca pcspkr ipmi_si acpi_power_meter ipmi_devintf shpchp mei_me ipmi_msghandler mei lpc_ich sch_fq_codel ip_tables xfs libcrc32c sd_mod mgag200 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm drm i40e smartpqi tg3 scsi_transport_sas crc32c_intel i2c_core ptp pps_core
    [ 2055.206142] CPU: 6 PID: 1693 Comm: vhost-1683 Tainted: G        W         4.17.0-rc5-fix-tun+ #1
    [ 2055.215011] Hardware name: HPE ProLiant DL360 Gen10/ProLiant DL360 Gen10, BIOS U32 11/14/2017
    [ 2055.223617] RIP: 0010:__xdp_map_lookup_elem+0x5/0x30
    [ 2055.228624] RSP: 0018:ffff998b07607cc0 EFLAGS: 00010246
    [ 2055.233892] RAX: ffff8dbd8e235700 RBX: ffff8dbd8ff21c40 RCX: 0000000000000004
    [ 2055.241089] RDX: ffff998b097a9000 RSI: 0000000000000000 RDI: 0000000000000000
    [ 2055.248286] RBP: 0000000000000000 R08: 00000000000065a8 R09: 0000000000005d80
    [ 2055.255483] R10: 0000000000000040 R11: ffff8dbcf0100000 R12: ffff998b097a9000
    [ 2055.262681] R13: ffff8dbd8c98c000 R14: 0000000000000000 R15: ffff998b07607d78
    [ 2055.269879] FS:  0000000000000000(0000) GS:ffff8dbd8ff00000(0000) knlGS:0000000000000000
    [ 2055.278039] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 2055.283834] CR2: 0000000000000018 CR3: 0000000c0c8cc005 CR4: 00000000007626e0
    [ 2055.291030] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 2055.298227] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [ 2055.305424] PKRU: 55555554
    [ 2055.308153] Call Trace:
    [ 2055.310624]  xdp_do_redirect+0x7b/0x380
    [ 2055.314499]  tun_get_user+0x10fe/0x12a0 [tun]
    [ 2055.318895]  tun_sendmsg+0x52/0x70 [tun]
    [ 2055.322852]  handle_tx+0x2ad/0x5f0 [vhost_net]
    [ 2055.327337]  vhost_worker+0xa5/0x100 [vhost]
    [ 2055.331646]  kthread+0xf5/0x130
    [ 2055.334813]  ? vhost_dev_ioctl+0x3b0/0x3b0 [vhost]
    [ 2055.339646]  ? kthread_bind+0x10/0x10
    [ 2055.343343]  ret_from_fork+0x35/0x40
    [ 2055.346950] Code: 0e 74 15 83 f8 10 75 05 e9 e9 aa b3 ff f3 c3 0f 1f 80 00 00 00 00 f3 c3 e9 c9 9d b3 ff 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 <8b> 47 18 83 f8 0e 74 0d 83 f8 10 75 05 e9 e9 a9 b3 ff 31 c0 c3
    [ 2055.366004] RIP: __xdp_map_lookup_elem+0x5/0x30 RSP: ffff998b07607cc0
    [ 2055.372500] CR2: 0000000000000018
    [ 2055.375856] ---[ end trace 2a2dcc5e9e174268 ]---
    [ 2055.523626] Kernel panic - not syncing: Fatal exception
    [ 2055.529796] Kernel Offset: 0x2e000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
    [ 2055.677539] ---[ end Kernel panic - not syncing: Fatal exception ]---
    
    v2:
     - Removed preempt_disable/enable since local_bh_disable will prevent
       preemption as well, feedback from Jason Wang.
    
    Fixes: 761876c ("tap: XDP support")
    Signed-off-by: Toshiaki Makita <[email protected]>
    Acked-by: Jason Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Toshiaki Makita authored and davem330 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    6547e38 View commit details
    Browse the repository at this point in the history
  14. IB/core: Fix error code for invalid GID entry

    When a GID entry is invalid EAGAIN is returned. This is an incorrect error
    code, there is nothing that will make this GID entry valid again in
    bounded time.
    
    Some user space tools fail incorrectly if EAGAIN is returned here, and
    this represents a small ABI change from earlier kernels.
    
    The first patch in the Fixes list makes entries that were valid before
    to become invalid, allowing this code to trigger, while the second patch
    in the Fixes list introduced the wrong EAGAIN.
    
    Therefore revert the return result to EINVAL which matches the historical
    expectations of the ibv_query_gid_type() API of the libibverbs user space
    library.
    
    Cc: <[email protected]>
    Fixes: 598ff6b ("IB/core: Refactor GID modify code for RoCE")
    Fixes: 03db3a2 ("IB/core: Add RoCE GID table management")
    Reviewed-by: Daniel Jurgens <[email protected]>
    Signed-off-by: Parav Pandit <[email protected]>
    Signed-off-by: Leon Romanovsky <[email protected]>
    Signed-off-by: Jason Gunthorpe <[email protected]>
    paravmellanox authored and jgunthorpe committed May 29, 2018
    Configuration menu
    Copy the full SHA
    a840c93 View commit details
    Browse the repository at this point in the history
  15. i2c: ocores: update HDL sources URL

    The URL is broken. This patch fixes it.
    
    Signed-off-by: Federico Vaga <[email protected]>
    [wsa: shortened the URL a bit]
    Signed-off-by: Wolfram Sang <[email protected]>
    FedericoVaga authored and Wolfram Sang committed May 29, 2018
    Configuration menu
    Copy the full SHA
    a0ccb6b View commit details
    Browse the repository at this point in the history
  16. nvme: fix extended data LBA supported setting

    This value depands on the metadata support value, so reorder the
    initialization to fit.
    
    Fixes: b5be3b3 ("nvme: always unregister the integrity profile in __nvme_revalidate_disk")
    Signed-off-by: Max Gurtovoy <[email protected]>
    Signed-off-by: Christoph Hellwig <[email protected]>
    Cc: [email protected]
    Max Gurtovoy authored and Christoph Hellwig committed May 29, 2018
    Configuration menu
    Copy the full SHA
    c97f414 View commit details
    Browse the repository at this point in the history
  17. Merge branch 'nvme-4.17' of git://git.infradead.org/nvme into for-linus

    Pull NVMe fix from Christoph:
    
    "Below is a one-liner fix from Max that unbreaks T10-DIF support, which
     got broken in 4.15."
    
    * 'nvme-4.17' of git://git.infradead.org/nvme:
      nvme: fix extended data LBA supported setting
    axboe committed May 29, 2018
    Configuration menu
    Copy the full SHA
    43b4d1e View commit details
    Browse the repository at this point in the history
  18. drm/amd/display: Fix BUG_ON during CRTC atomic check update

    For cases where the CRTC is inactive (DPMS off), where a modeset is not
    required, yet the CRTC is still in the atomic state, we should not
    attempt to update anything on it.
    
    Previously, we were relying on the modereset_required() helper to check
    the above condition. However, the function returns false immediately if
    a modeset is not required, ignoring the CRTC's enable/active state
    flags. The correct way to filter is by looking at these flags instead.
    
    Fixes: e277adc "drm/amd/display: Hookup color management functions"
    Bugzilla: https://bugs.freedesktop.org/106194
    
    Signed-off-by: Leo (Sunpeng) Li <[email protected]>
    Reviewed-by: Harry Wentland <[email protected]>
    Tested-by: Michel Dänzer <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    leeonadoh authored and alexdeucher committed May 29, 2018
    Configuration menu
    Copy the full SHA
    20fa2ff View commit details
    Browse the repository at this point in the history
  19. Merge tag 'afs-fixes-20180529' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/dhowells/linux-fs
    
    Pull AFS fixes from David Howells:
    
     - fix a BUG triggerable from faccessat()
    
     - fix the mounting of backup volumes
    
    * tag 'afs-fixes-20180529' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
      afs: Fix mounting of backup volumes
      afs: Fix directory permissions check
    torvalds committed May 29, 2018
    Configuration menu
    Copy the full SHA
    91fc957 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2018

  1. Merge tag 'drm-intel-fixes-2018-05-29' of git://anongit.freedesktop.o…

    …rg/drm/drm-intel into drm-fixes
    
    - Fix for potential Spectre vector in the new query uAPI
    - Fix NULL pointer deref (FDO #106559)
    - DMI fix to hide LVDS for Radiant P845 (FDO #105468)
    
    * tag 'drm-intel-fixes-2018-05-29' of git://anongit.freedesktop.org/drm/drm-intel:
      drm/i915/query: nospec expects no more than an unsigned long
      drm/i915/query: Protect tainted function pointer lookup
      drm/i915/lvds: Move acpi lid notification registration to registration phase
      drm/i915: Disable LVDS on Radiant P845
    airlied committed May 30, 2018
    Configuration menu
    Copy the full SHA
    801dff4 View commit details
    Browse the repository at this point in the history
  2. selinux: KASAN: slab-out-of-bounds in xattr_getsecurity

    Call trace:
     [<ffffff9203a8d7a8>] dump_backtrace+0x0/0x428
     [<ffffff9203a8dbf8>] show_stack+0x28/0x38
     [<ffffff920409bfb8>] dump_stack+0xd4/0x124
     [<ffffff9203d187e8>] print_address_description+0x68/0x258
     [<ffffff9203d18c00>] kasan_report.part.2+0x228/0x2f0
     [<ffffff9203d1927c>] kasan_report+0x5c/0x70
     [<ffffff9203d1776c>] check_memory_region+0x12c/0x1c0
     [<ffffff9203d17cdc>] memcpy+0x34/0x68
     [<ffffff9203d75348>] xattr_getsecurity+0xe0/0x160
     [<ffffff9203d75490>] vfs_getxattr+0xc8/0x120
     [<ffffff9203d75d68>] getxattr+0x100/0x2c8
     [<ffffff9203d76fb4>] SyS_fgetxattr+0x64/0xa0
     [<ffffff9203a83f70>] el0_svc_naked+0x24/0x28
    
    If user get root access and calls security.selinux setxattr() with an
    embedded NUL on a file and then if some process performs a getxattr()
    on that file with a length greater than the actual length of the string,
    it would result in a panic.
    
    To fix this, add the actual length of the string to the security context
    instead of the length passed by the userspace process.
    
    Signed-off-by: Sachin Grover <[email protected]>
    Cc: [email protected]
    Signed-off-by: Paul Moore <[email protected]>
    Sachin Grover authored and pcmoore committed May 30, 2018
    Configuration menu
    Copy the full SHA
    efe3de7 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'drm-misc-fixes-2018-05-29' of git://anongit.freedesktop.or…

    …g/drm/drm-misc into drm-fixes
    
    core: Add 220us psr setup time (Dhinakaran)
    omap: Fix NULL deref (Tomi)
    
    Cc: Dhinakaran Pandiyan <[email protected]>
    Cc: Tomi Valkeinen <[email protected]>
    
    * tag 'drm-misc-fixes-2018-05-29' of git://anongit.freedesktop.org/drm/drm-misc:
      drm/omap: fix NULL deref crash with SDI displays
      drm/psr: Fix missed entry in PSR setup time table.
    airlied committed May 30, 2018
    Configuration menu
    Copy the full SHA
    ebb442b View commit details
    Browse the repository at this point in the history
  4. Merge branch 'drm-fixes-4.17' of git://people.freedesktop.org/~agd5f/…

    …linux into drm-fixes
    
    One last fix for 4.17.  Fix a suspend regression in DC.
    
    * 'drm-fixes-4.17' of git://people.freedesktop.org/~agd5f/linux:
      drm/amd/display: Fix BUG_ON during CRTC atomic check update
    airlied committed May 30, 2018
    Configuration menu
    Copy the full SHA
    2b85352 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/dtor/input
    
    Pull input fixes from Dmitry Torokhov:
     "We are switching a bunch of Lenovo devices with Synaptics touchpads
      from PS/2 emulation over to native RMI/SMbus.
    
      Given that all commits are marked for stable there is no point
      delaying them till next release"
    
    [ Also fix a too-small stack array for i2c communication in elan driver ]
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: elan_i2c_smbus - fix corrupted stack
      Input: synaptics - add Lenovo 80 series ids to SMBus
      Input: synaptics - add Intertouch support on X1 Carbon 6th and X280
      Input: synaptics - Lenovo Thinkpad X1 Carbon G5 (2017) with Elantech trackpoints should use RMI
      Input: synaptics - Lenovo Carbon X1 Gen5 (2017) devices should use RMI
    torvalds committed May 30, 2018
    Configuration menu
    Copy the full SHA
    0044cde View commit details
    Browse the repository at this point in the history
  6. perf parse-events: Handle uncore event aliases in small groups properly

    Perf stat doesn't count the uncore event aliases from the same uncore
    block in a group, for example:
    
      perf stat -e '{unc_m_cas_count.all,unc_m_clockticks}' -a -I 1000
      #           time             counts unit events
           1.000447342      <not counted>      unc_m_cas_count.all
           1.000447342      <not counted>      unc_m_clockticks
           2.000740654      <not counted>      unc_m_cas_count.all
           2.000740654      <not counted>      unc_m_clockticks
    
    The output is very misleading. It gives a wrong impression that the
    uncore event doesn't work.
    
    An uncore block could be composed by several PMUs. An uncore event alias
    is a joint name which means the same event runs on all PMUs of a block.
    Perf doesn't support mixed events from different PMUs in the same group.
    It is wrong to put uncore event aliases in a big group.
    
    The right way is to split the big group into multiple small groups which
    only include the events from the same PMU.
    
    Only uncore event aliases from the same uncore block should be specially
    handled here. It doesn't make sense to mix the uncore events with other
    uncore events from different blocks or even core events in a group.
    
    With the patch:
      #           time             counts unit events
         1.001557653            140,833      unc_m_cas_count.all
         1.001557653      1,330,231,332      unc_m_clockticks
         2.002709483             85,007      unc_m_cas_count.all
         2.002709483      1,429,494,563      unc_m_clockticks
    
    Reported-by: Andi Kleen <[email protected]>
    Signed-off-by: Kan Liang <[email protected]>
    Acked-by: Jiri Olsa <[email protected]>
    Cc: Agustin Vega-Frias <[email protected]>
    Cc: Ganapatrao Kulkarni <[email protected]>
    Cc: Jin Yao <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Shaokun Zhang <[email protected]>
    Cc: Will Deacon <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Kan Liang authored and acmel committed May 30, 2018
    Configuration menu
    Copy the full SHA
    369b230 View commit details
    Browse the repository at this point in the history
  7. perf test: "Session topology" dumps core on s390

    The "perf test Session topology" entry fails with core dump on s390. The root
    cause is a NULL pointer dereference in function check_cpu_topology() line 76
    (or line 82 without -v).
    
    The session->header.env.cpu variable is NULL because on s390 function
    process_cpu_topology() returns with error:
    
        socket_id number is too big.
        You may need to upgrade the perf tool.
    
    and releases the env.cpu variable via zfree() and sets it to NULL.
    
    Here is the gdb output:
    (gdb) n
    76                      pr_debug("CPU %d, core %d, socket %d\n", i,
    (gdb) n
    
    Program received signal SIGSEGV, Segmentation fault.
    0x00000000010f4d9e in check_cpu_topology (path=0x3ffffffd6c8
    	"/tmp/perf-test-J6CHMa", map=0x14a1740) at tests/topology.c:76
    76  pr_debug("CPU %d, core %d, socket %d\n", i,
    (gdb)
    
    Make sure the env.cpu variable is not used when its NULL.
    Test for NULL pointer and return TEST_SKIP if so.
    
    Output before:
    
      [root@p23lp27 perf]# ./perf test -F 39
      39: Session topology  :Segmentation fault (core dumped)
      [root@p23lp27 perf]#
    
    Output after:
    
      [root@p23lp27 perf]# ./perf test -vF 39
      39: Session topology                                      :
      --- start ---
      templ file: /tmp/perf-test-Ajx59D
      socket_id number is too big.You may need to upgrade the perf tool.
      ---- end ----
      Session topology: Skip
      [root@p23lp27 perf]#
    
    Signed-off-by: Thomas Richter <[email protected]>
    Cc: Heiko Carstens <[email protected]>
    Cc: Hendrik Brueckner <[email protected]>
    Cc: Martin Schwidefsky <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Thomas Richter authored and acmel committed May 30, 2018
    Configuration menu
    Copy the full SHA
    d121109 View commit details
    Browse the repository at this point in the history
  8. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/s390/linux
    
    Pull s390 fixes from Martin Schwidefsky:
    
     - a missing -msoft-float for the compile of the kexec purgatory
    
     - a fix for the dasd driver to avoid the double use of a field in the
       'struct request'
    
    [ That latter one is being discussed, and Christoph asked for something
      cleaner, but for now it's a fix ]
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/dasd: use blk_mq_rq_from_pdu for per request data
      s390/purgatory: Fix endless interrupt loop
    torvalds committed May 30, 2018
    Configuration menu
    Copy the full SHA
    d60d61f View commit details
    Browse the repository at this point in the history
  9. vhost_net: flush batched heads before trying to busy polling

    After commit e2b3b35 ("vhost_net: batch used ring update in rx"),
    we tend to batch updating used heads. But it doesn't flush batched
    heads before trying to do busy polling, this will cause vhost to wait
    for guest TX which waits for the used RX. Fixing by flush batched
    heads before busy loop.
    
    1 byte TCP_RR performance recovers from 13107.83 to 50402.65.
    
    Fixes: e2b3b35 ("vhost_net: batch used ring update in rx")
    Signed-off-by: Jason Wang <[email protected]>
    Acked-by: Michael S. Tsirkin <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    jasowang authored and davem330 committed May 30, 2018
    Configuration menu
    Copy the full SHA
    f5a4941 View commit details
    Browse the repository at this point in the history
  10. drm/bridge/synopsys: dw-hdmi: fix dw_hdmi_setup_rx_sense

    The dw_hdmi_setup_rx_sense exported function should not use struct device
    to recover the dw-hdmi context using drvdata, but take struct dw_hdmi
    directly like other exported functions.
    
    This caused a regression using Meson DRM on S905X since v4.17-rc1 :
    
    Internal error: Oops: 96000007 [#1] PREEMPT SMP
    [...]
    CPU: 0 PID: 124 Comm: irq/32-dw_hdmi_ Not tainted 4.17.0-rc7 #2
    Hardware name: Libre Technology CC (DT)
    [...]
    pc : osq_lock+0x54/0x188
    lr : __mutex_lock.isra.0+0x74/0x530
    [...]
    Process irq/32-dw_hdmi_ (pid: 124, stack limit = 0x00000000adf418cb)
    Call trace:
      osq_lock+0x54/0x188
      __mutex_lock_slowpath+0x10/0x18
      mutex_lock+0x30/0x38
      __dw_hdmi_setup_rx_sense+0x28/0x98
      dw_hdmi_setup_rx_sense+0x10/0x18
      dw_hdmi_top_thread_irq+0x2c/0x50
      irq_thread_fn+0x28/0x68
      irq_thread+0x10c/0x1a0
      kthread+0x128/0x130
      ret_from_fork+0x10/0x18
     Code: 34000964 d00050a2 51000484 9135c042 (f864d844)
     ---[ end trace 945641e1fbbc07da ]---
     note: irq/32-dw_hdmi_[124] exited with preempt_count 1
     genirq: exiting task "irq/32-dw_hdmi_" (124) is an active IRQ thread (irq 32)
    
    Fixes: eea034a ("drm/bridge/synopsys: dw-hdmi: don't clobber drvdata")
    Signed-off-by: Neil Armstrong <[email protected]>
    Tested-by: Koen Kooi <[email protected]>
    Signed-off-by: Sean Paul <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    superna9999 authored and atseanpaul committed May 30, 2018
    Configuration menu
    Copy the full SHA
    c32048d View commit details
    Browse the repository at this point in the history
  11. perf bpf: Fix NULL return handling in bpf__prepare_load()

    bpf_object__open()/bpf_object__open_buffer can return error pointer or
    NULL, check the return values with IS_ERR_OR_NULL() in bpf__prepare_load
    and bpf__prepare_load_buffer
    
    Signed-off-by: YueHaibing <[email protected]>
    Acked-by: Daniel Borkmann <[email protected]>
    Cc: Alexander Shishkin <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: [email protected]
    Link: https://lkml.kernel.org/n/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    YueHaibing authored and acmel committed May 30, 2018
    Configuration menu
    Copy the full SHA
    ab4e32f View commit details
    Browse the repository at this point in the history
  12. perf cs-etm: Fix indexing for decoder packet queue

    The tail of a queue is supposed to be pointing to the next available
    slot in a queue.  In this implementation the tail is incremented before
    it is used and as such points to the last used element, something that
    has the immense advantage of centralizing tail management at a single
    location and eliminating a lot of redundant code.
    
    But this needs to be taken into consideration on the dequeueing side
    where the head also needs to be incremented before it is used, or the
    first available element of the queue will be skipped.
    
    Signed-off-by: Mathieu Poirier <[email protected]>
    Tested-by: Leo Yan <[email protected]>
    Cc: Alexander Shishkin <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Robert Walker <[email protected]>
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    mathieupoirier authored and acmel committed May 30, 2018
    Configuration menu
    Copy the full SHA
    e2ab285 View commit details
    Browse the repository at this point in the history
  13. perf data: Update documentation section on cpu topology

    Add an explanation of each cpu's core and socket identifier to the
    perf.data file format documentation.
    
    Signed-off-by: Thomas Richter <[email protected]>
    Cc: Heiko Carstens <[email protected]>
    Cc: Hendrik Brueckner <[email protected]>
    Cc: Martin Schwidefsky <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Thomas Richter authored and acmel committed May 30, 2018
    Configuration menu
    Copy the full SHA
    0c71113 View commit details
    Browse the repository at this point in the history
  14. perf script python: Add addr into perf sample dict

    ARM CoreSight auxtrace uses 'sample->addr' to record the target address
    for branch instructions, so the data of 'sample->addr' is required for
    tracing data analysis.
    
    This commit collects data of 'sample->addr' into perf sample dict,
    finally can be used for python script for parsing event.
    
    Signed-off-by: Leo Yan <[email protected]>
    Cc: Alexander Shishkin <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Jonathan Corbet <[email protected]>
    Cc: Mathieu Poirier <[email protected]>
    Cc: Mike Leach <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Robert Walker <[email protected]>
    Cc: Tor Jeremiassen <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Leo Yan authored and acmel committed May 30, 2018
    Configuration menu
    Copy the full SHA
    943f32a View commit details
    Browse the repository at this point in the history
  15. perf tools: Fix perf.data format description of NRCPUS header

    In the perf.data HEADER_CPUDESC feadure header we store first the number
    of available CPUs in the system, then the number of CPUs at the time of
    writing the header, not the other way around.
    
    Reported-by: Thomas-Mich Richter <[email protected]>
    Acked-by: Andi Kleen <[email protected]>
    Cc: Adrian Hunter <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: He Kuang <[email protected]>
    Cc: Hendrik Brueckner <[email protected]>
    Cc: Jin Yao <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Kim Phillips <[email protected]>
    Cc: Lakshman Annadorai <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Simon Que <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Cc: Wang Nan <[email protected]>
    Link: https://lkml.kernel.org/n/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    acmel committed May 30, 2018
    Configuration menu
    Copy the full SHA
    18a7057 View commit details
    Browse the repository at this point in the history
  16. Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/herbert/crypto-2.6
    
    Pull crypto fix from Herbert Xu:
     "This fixes a potential kernel panic in the inside-secure driver"
    
    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: inside-secure - do not use memset on MMIO
    torvalds committed May 30, 2018
    Configuration menu
    Copy the full SHA
    c462f16 View commit details
    Browse the repository at this point in the history
  17. Merge tag 'selinux-pr-20180530' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/pcmoore/selinux
    
    Pull SELinux fix from Paul Moore:
     "One more small fix for SELinux: a small string length fix found by
      KASAN.
    
      I dislike sending patches this late in the release cycle, but this
      patch fixes a legitimate problem, is very small, limited in scope, and
      well understood.
    
      There are two threads with more information on the problem, the latest
      is linked below:
    
        https://marc.info/?t=152723737400001&r=1&w=2
    
      Stephen points out in the thread linked above:
    
       'Such a setxattr() call can only be performed by a process with
        CAP_MAC_ADMIN that is also allowed mac_admin permission in SELinux
        policy. Consequently, this is never possible on Android (no process
        is allowed mac_admin permission, always enforcing) and is only
        possible in Fedora/RHEL for a few domains (if enforcing)'"
    
    * tag 'selinux-pr-20180530' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
      selinux: KASAN: slab-out-of-bounds in xattr_getsecurity
    torvalds committed May 30, 2018
    Configuration menu
    Copy the full SHA
    943cf9f View commit details
    Browse the repository at this point in the history
  18. Merge tag 'for-linus-20180530' of git://git.kernel.dk/linux-block

    Pull block fix from Jens Axboe:
     "Just a single fix that should make it into this release, fixing a
      regression with T10-DIF on NVMe"
    
    * tag 'for-linus-20180530' of git://git.kernel.dk/linux-block:
      nvme: fix extended data LBA supported setting
    torvalds committed May 30, 2018
    Configuration menu
    Copy the full SHA
    88a8676 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'drm-misc-fixes-2018-05-30' of git://anongit.freedesktop.or…

    …g/drm/drm-misc into drm-fixes
    
    dw-hdmi: Fix Oops regression from rc1 (Neil)
    
    Cc: Neil Armstrong <[email protected]>
    
    * tag 'drm-misc-fixes-2018-05-30' of git://anongit.freedesktop.org/drm/drm-misc:
      drm/bridge/synopsys: dw-hdmi: fix dw_hdmi_setup_rx_sense
    airlied committed May 30, 2018
    Configuration menu
    Copy the full SHA
    0e33375 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2018

  1. fs: clear writeback errors in inode_init_always

    In inode_init_always(), we clear the inode mapping flags, which clears
    any retained error (AS_EIO, AS_ENOSPC) bits.  Unfortunately, we do not
    also clear wb_err, which means that old mapping errors can leak through
    to new inodes.
    
    This is crucial for the XFS inode allocation path because we recycle old
    in-core inodes and we do not want error state from an old file to leak
    into the new file.  This bug was discovered by running generic/036 and
    generic/047 in a loop and noticing that the EIOs generated by the
    collision of direct and buffered writes in generic/036 would survive the
    remount between 036 and 047, and get reported to the fsyncs (on
    different files!) in generic/047.
    
    Signed-off-by: Darrick J. Wong <[email protected]>
    Reviewed-by: Jeff Layton <[email protected]>
    Reviewed-by: Brian Foster <[email protected]>
    djwong committed May 31, 2018
    Configuration menu
    Copy the full SHA
    829bc78 View commit details
    Browse the repository at this point in the history
  2. xfrm Fix potential error pointer dereference in xfrm_bundle_create.

    We may derference an invalid pointer in the error path of
    xfrm_bundle_create(). Fix this by returning this error
    pointer directly instead of assigning it to xdst0.
    
    Fixes: 45b018b ("ipsec: Create and use new helpers for dst child access.")
    Signed-off-by: Steffen Klassert <[email protected]>
    klassert committed May 31, 2018
    Configuration menu
    Copy the full SHA
    38369f5 View commit details
    Browse the repository at this point in the history
  3. sched/core: Fix rules for running on online && !active CPUs

    As already enforced by the WARN() in __set_cpus_allowed_ptr(), the rules
    for running on an online && !active CPU are stricter than just being a
    kthread, you need to be a per-cpu kthread.
    
    If you're not strictly per-CPU, you have better CPUs to run on and
    don't need the partially booted one to get your work done.
    
    The exception is to allow smpboot threads to bootstrap the CPU itself
    and get kernel 'services' initialized before we allow userspace on it.
    
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Paul E. McKenney <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Steven Rostedt <[email protected]>
    Cc: Tejun Heo <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Fixes: 955dbdf ("sched: Allow migrating kthreads into online but inactive CPUs")
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed May 31, 2018
    Configuration menu
    Copy the full SHA
    175f0e2 View commit details
    Browse the repository at this point in the history
  4. sched/core: Require cpu_active() in select_task_rq(), for user tasks

    select_task_rq() is used in a few paths to select the CPU upon which a
    thread should be run - for example it is used by try_to_wake_up() & by
    fork or exec balancing. As-is it allows use of any online CPU that is
    present in the task's cpus_allowed mask.
    
    This presents a problem because there is a period whilst CPUs are
    brought online where a CPU is marked online, but is not yet fully
    initialized - ie. the period where CPUHP_AP_ONLINE_IDLE <= state <
    CPUHP_ONLINE. Usually we don't run any user tasks during this window,
    but there are corner cases where this can happen. An example observed
    is:
    
      - Some user task A, running on CPU X, forks to create task B.
    
      - sched_fork() calls __set_task_cpu() with cpu=X, setting task B's
        task_struct::cpu field to X.
    
      - CPU X is offlined.
    
      - Task A, currently somewhere between the __set_task_cpu() in
        copy_process() and the call to wake_up_new_task(), is migrated to
        CPU Y by migrate_tasks() when CPU X is offlined.
    
      - CPU X is onlined, but still in the CPUHP_AP_ONLINE_IDLE state. The
        scheduler is now active on CPU X, but there are no user tasks on
        the runqueue.
    
      - Task A runs on CPU Y & reaches wake_up_new_task(). This calls
        select_task_rq() with cpu=X, taken from task B's task_struct,
        and select_task_rq() allows CPU X to be returned.
    
      - Task A enqueues task B on CPU X's runqueue, via activate_task() &
        enqueue_task().
    
      - CPU X now has a user task on its runqueue before it has reached the
        CPUHP_ONLINE state.
    
    In most cases, the user tasks that schedule on the newly onlined CPU
    have no idea that anything went wrong, but one case observed to be
    problematic is if the task goes on to invoke the sched_setaffinity
    syscall. The newly onlined CPU reaches the CPUHP_AP_ONLINE_IDLE state
    before the CPU that brought it online calls stop_machine_unpark(). This
    means that for a portion of the window of time between
    CPUHP_AP_ONLINE_IDLE & CPUHP_ONLINE the newly onlined CPU's struct
    cpu_stopper has its enabled field set to false. If a user thread is
    executed on the CPU during this window and it invokes sched_setaffinity
    with a CPU mask that does not include the CPU it's running on, then when
    __set_cpus_allowed_ptr() calls stop_one_cpu() intending to invoke
    migration_cpu_stop() and perform the actual migration away from the CPU
    it will simply return -ENOENT rather than calling migration_cpu_stop().
    We then return from the sched_setaffinity syscall back to the user task
    that is now running on a CPU which it just asked not to run on, and
    which is not present in its cpus_allowed mask.
    
    This patch resolves the problem by having select_task_rq() enforce that
    user tasks run on CPUs that are active - the same requirement that
    select_fallback_rq() already enforces. This should ensure that newly
    onlined CPUs reach the CPUHP_AP_ACTIVE state before being able to
    schedule user tasks, and also implies that bringup_wait_for_ap() will
    have called stop_machine_unpark() which resolves the sched_setaffinity
    issue above.
    
    I haven't yet investigated them, but it may be of interest to review
    whether any of the actions performed by hotplug states between
    CPUHP_AP_ONLINE_IDLE & CPUHP_AP_ACTIVE could have similar unintended
    effects on user tasks that might schedule before they are reached, which
    might widen the scope of the problem from just affecting the behaviour
    of sched_setaffinity.
    
    Signed-off-by: Paul Burton <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    paulburton authored and Ingo Molnar committed May 31, 2018
    Configuration menu
    Copy the full SHA
    7af443e View commit details
    Browse the repository at this point in the history
  5. sched/deadline: Fix missing clock update

    A missing clock update is causing the following warning:
    
     rq->clock_update_flags < RQCF_ACT_SKIP
     WARNING: CPU: 10 PID: 0 at kernel/sched/sched.h:963 inactive_task_timer+0x5d6/0x720
     Call Trace:
      <IRQ>
      __hrtimer_run_queues+0x10f/0x530
      hrtimer_interrupt+0xe5/0x240
      smp_apic_timer_interrupt+0x79/0x2b0
      apic_timer_interrupt+0xf/0x20
      </IRQ>
      do_idle+0x203/0x280
      cpu_startup_entry+0x6f/0x80
      start_secondary+0x1b0/0x200
      secondary_startup_64+0xa5/0xb0
     hardirqs last  enabled at (793919): [<ffffffffa27c5f6e>] cpuidle_enter_state+0x9e/0x360
     hardirqs last disabled at (793920): [<ffffffffa2a0096e>] interrupt_entry+0xce/0xe0
     softirqs last  enabled at (793922): [<ffffffffa20bef78>] irq_enter+0x68/0x70
     softirqs last disabled at (793921): [<ffffffffa20bef5d>] irq_enter+0x4d/0x70
    
    This happens because inactive_task_timer() calls sub_running_bw() (if
    TASK_DEAD and non_contending) that might trigger a schedutil update,
    which might access the clock. Clock is however currently updated only
    later in inactive_task_timer() function.
    
    Fix the problem by updating the clock right after task_rq_lock().
    
    Reported-by: kernel test robot <[email protected]>
    Signed-off-by: Juri Lelli <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Claudio Scordino <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Luca Abeni <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    jlelli authored and Ingo Molnar committed May 31, 2018
    Configuration menu
    Copy the full SHA
    ecda2b6 View commit details
    Browse the repository at this point in the history
  6. sched/headers: Fix typo

    I cannot spell 'throttling'.
    
    Signed-off-by: Davidlohr Bueso <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Davidlohr Bueso <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Davidlohr Bueso authored and Ingo Molnar committed May 31, 2018
    Configuration menu
    Copy the full SHA
    595058b View commit details
    Browse the repository at this point in the history
  7. Merge tag 'perf-urgent-for-mingo-4.17-20180531' of git://git.kernel.o…

    …rg/pub/scm/linux/kernel/git/acme/linux into perf/urgent
    
    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
    
    - Fix 'perf test Session topology' segfault on s390 (Thomas Richter)
    
    - Fix NULL return handling in bpf__prepare_load() (YueHaibing)
    
    - Fix indexing on Coresight ETM packet queue decoder (Mathieu Poirier)
    
    - Fix perf.data format description of NRCPUS header (Arnaldo Carvalho de Melo)
    
    - Update perf.data documentation section on cpu topology
    
    - Handle uncore event aliases in small groups properly (Kan Liang)
    
    - Add missing perf_sample.addr into python sample dictionary (Leo Yan)
    
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed May 31, 2018
    Configuration menu
    Copy the full SHA
    6497bbc View commit details
    Browse the repository at this point in the history
  8. platform/x86: asus-wmi: Fix NULL pointer dereference

    Do not perform the rfkill cleanup routine when
    (asus->driver->wlan_ctrl_by_user && ashs_present()) is true, since
    nothing is registered with the rfkill subsystem in that case. Doing so
    leads to the following kernel NULL pointer dereference:
    
      BUG: unable to handle kernel NULL pointer dereference at           (null)
      IP: [<ffffffff816c7348>] __mutex_lock_slowpath+0x98/0x120
      PGD 1a3aa8067
      PUD 1a3b3d067
      PMD 0
    
      Oops: 0002 [#1] PREEMPT SMP
      Modules linked in: bnep ccm binfmt_misc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core hid_a4tech videodev x86_pkg_temp_thermal intel_powerclamp coretemp ath3k btusb btrtl btintel bluetooth kvm_intel snd_hda_codec_hdmi kvm snd_hda_codec_realtek snd_hda_codec_generic irqbypass crc32c_intel arc4 i915 snd_hda_intel snd_hda_codec ath9k ath9k_common ath9k_hw ath i2c_algo_bit snd_hwdep mac80211 ghash_clmulni_intel snd_hda_core snd_pcm snd_timer cfg80211 ehci_pci xhci_pci drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm xhci_hcd ehci_hcd asus_nb_wmi(-) asus_wmi sparse_keymap r8169 rfkill mxm_wmi serio_raw snd mii mei_me lpc_ich i2c_i801 video soundcore mei i2c_smbus wmi i2c_core mfd_core
      CPU: 3 PID: 3275 Comm: modprobe Not tainted 4.9.34-gentoo #34
      Hardware name: ASUSTeK COMPUTER INC. K56CM/K56CM, BIOS K56CM.206 08/21/2012
      task: ffff8801a639ba00 task.stack: ffffc900014cc000
      RIP: 0010:[<ffffffff816c7348>]  [<ffffffff816c7348>] __mutex_lock_slowpath+0x98/0x120
      RSP: 0018:ffffc900014cfce0  EFLAGS: 00010282
      RAX: 0000000000000000 RBX: ffff8801a54315b0 RCX: 00000000c0000100
      RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff8801a54315b4
      RBP: ffffc900014cfd30 R08: 0000000000000000 R09: 0000000000000002
      R10: 0000000000000000 R11: 0000000000000000 R12: ffff8801a54315b4
      R13: ffff8801a639ba00 R14: 00000000ffffffff R15: ffff8801a54315b8
      FS:  00007faa254fb700(0000) GS:ffff8801aef80000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000000000 CR3: 00000001a3b1b000 CR4: 00000000001406e0
      Stack:
       ffff8801a54315b8 0000000000000000 ffffffff814733ae ffffc900014cfd28
       ffffffff8146a28c ffff8801a54315b0 0000000000000000 ffff8801a54315b0
       ffff8801a66f3820 0000000000000000 ffffc900014cfd48 ffffffff816c73e7
      Call Trace:
       [<ffffffff814733ae>] ? acpi_ut_release_mutex+0x5d/0x61
       [<ffffffff8146a28c>] ? acpi_ns_get_node+0x49/0x52
       [<ffffffff816c73e7>] mutex_lock+0x17/0x30
       [<ffffffffa00a3bb4>] asus_rfkill_hotplug+0x24/0x1a0 [asus_wmi]
       [<ffffffffa00a4421>] asus_wmi_rfkill_exit+0x61/0x150 [asus_wmi]
       [<ffffffffa00a49f1>] asus_wmi_remove+0x61/0xb0 [asus_wmi]
       [<ffffffff814a5128>] platform_drv_remove+0x28/0x40
       [<ffffffff814a2901>] __device_release_driver+0xa1/0x160
       [<ffffffff814a29e3>] device_release_driver+0x23/0x30
       [<ffffffff814a1ffd>] bus_remove_device+0xfd/0x170
       [<ffffffff8149e5a9>] device_del+0x139/0x270
       [<ffffffff814a5028>] platform_device_del+0x28/0x90
       [<ffffffff814a50a2>] platform_device_unregister+0x12/0x30
       [<ffffffffa00a4209>] asus_wmi_unregister_driver+0x19/0x30 [asus_wmi]
       [<ffffffffa00da0ea>] asus_nb_wmi_exit+0x10/0xf26 [asus_nb_wmi]
       [<ffffffff8110c692>] SyS_delete_module+0x192/0x270
       [<ffffffff810022b2>] ? exit_to_usermode_loop+0x92/0xa0
       [<ffffffff816ca560>] entry_SYSCALL_64_fastpath+0x13/0x94
      Code: e8 5e 30 00 00 8b 03 83 f8 01 0f 84 93 00 00 00 48 8b 43 10 4c 8d 7b 08 48 89 63 10 41 be ff ff ff ff 4c 89 3c 24 48 89 44 24 08 <48> 89 20 4c 89 6c 24 10 eb 1d 4c 89 e7 49 c7 45 08 02 00 00 00
      RIP  [<ffffffff816c7348>] __mutex_lock_slowpath+0x98/0x120
       RSP <ffffc900014cfce0>
      CR2: 0000000000000000
      ---[ end trace 8d484233fa7cb512 ]---
      note: modprobe[3275] exited with preempt_count 2
    
    https://bugzilla.kernel.org/show_bug.cgi?id=196467
    
    Reported-by: [email protected]
    Signed-off-by: João Paulo Rechi Vita <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>
    jprvita authored and andy-shev committed May 31, 2018
    Configuration menu
    Copy the full SHA
    32ffd6e View commit details
    Browse the repository at this point in the history
  9. Merge tag 'platform-drivers-x86-v4.17-4' of git://git.infradead.org/l…

    …inux-platform-drivers-x86
    
    Pull x86 platform driver fix from Andy Shevchenko:
     "Fix NULL pointer dereference in asus-wmi on rfkill cleanup.
    
      The effective change is just one new condition - two lines of code.
      But it required moving one static helper function, which is why the
      diff looks a bit bigger"
    
    * tag 'platform-drivers-x86-v4.17-4' of git://git.infradead.org/linux-platform-drivers-x86:
      platform/x86: asus-wmi: Fix NULL pointer dereference
    torvalds committed May 31, 2018
    Configuration menu
    Copy the full SHA
    dd52cb8 View commit details
    Browse the repository at this point in the history
  10. drm/amd/display: Make atomic-check validate underscan changes

    When the underscan state was changed, atomic-check was triggering a
    validation but passing the old underscan values.  This change adds a
    somewhat hacky check in dm_update_crtcs_state that will update the
    stream if old and newunderscan values are different.
    This was causing 4k on Fiji to allow underscan when it wasn't permitted.
    
    Signed-off-by: David Francis <[email protected]>
    Reviewed-by: David Francis <[email protected]>
    Acked-by: Harry Wentland <[email protected]>
    Cc: [email protected]
    Signed-off-by: Alex Deucher <[email protected]>
    fdavid-amd authored and alexdeucher committed May 31, 2018
    Configuration menu
    Copy the full SHA
    a9e8d27 View commit details
    Browse the repository at this point in the history
  11. drm/amd/display: Update color props when modeset is required

    This fixes issues where color management properties don't persist
    over DPMS on/off, or when the CRTC is moved across connectors.
    
    Signed-off-by: Leo (Sunpeng) Li <[email protected]>
    Reviewed-by: Harry Wentland <[email protected]>
    Cc: [email protected]
    Signed-off-by: Alex Deucher <[email protected]>
    leeonadoh authored and alexdeucher committed May 31, 2018
    Configuration menu
    Copy the full SHA
    bc13f2f View commit details
    Browse the repository at this point in the history
  12. net/sonic: Use dma_mapping_error()

    With CONFIG_DMA_API_DEBUG=y, calling sonic_open() produces the
    message, "DMA-API: device driver failed to check map error".
    Add the missing dma_mapping_error() call.
    
    Cc: Thomas Bogendoerfer <[email protected]>
    Signed-off-by: Finn Thain <[email protected]>
    Acked-by: Thomas Bogendoerfer <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Finn Thain authored and davem330 committed May 31, 2018
    Configuration menu
    Copy the full SHA
    26de0b7 View commit details
    Browse the repository at this point in the history
  13. cls_flower: Fix incorrect idr release when failing to modify rule

    When we fail to modify a rule, we incorrectly release the idr handle
    of the unmodified old rule.
    
    Fix that by checking if we need to release it.
    
    Fixes: fe2502e ("net_sched: remove cls_flower idr on failure")
    Reported-by: Vlad Buslov <[email protected]>
    Reviewed-by: Roi Dayan <[email protected]>
    Acked-by: Jiri Pirko <[email protected]>
    Signed-off-by: Paul Blakey <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Paul Blakey authored and davem330 committed May 31, 2018
    Configuration menu
    Copy the full SHA
    8258d2d View commit details
    Browse the repository at this point in the history
  14. Merge tag 'wireless-drivers-for-davem-2018-05-30' of git://git.kernel…

    ….org/pub/scm/linux/kernel/git/kvalo/wireless-drivers
    
    Kalle Valo says:
    
    ====================
    wireless-drivers fixes for 4.17
    
    Two last minute fixes, hopefully they make it to 4.17 still.
    
    rt2x00
    
    * revert a fix which caused even more problems
    
    iwlwifi
    
    * fix a crash when there are 16 or more logical CPUs
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed May 31, 2018
    Configuration menu
    Copy the full SHA
    be20f28 View commit details
    Browse the repository at this point in the history
  15. net/ncsi: Fix array size in dumpit handler

    With CONFIG_CC_STACKPROTECTOR enabled the kernel panics as below when
    parsing a NCSI_CMD_PKG_INFO command:
    
    [  150.149711] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: 805cff08
    [  150.149711]
    [  150.159919] CPU: 0 PID: 1301 Comm: ncsi-netlink Not tainted 4.13.16-468cbec6d2c91239332cb91b1f0a73aafcb6f0c6 #1
    [  150.170004] Hardware name: Generic DT based system
    [  150.174852] [<80109930>] (unwind_backtrace) from [<80106bc4>] (show_stack+0x20/0x24)
    [  150.182641] [<80106bc4>] (show_stack) from [<805d36e4>] (dump_stack+0x20/0x28)
    [  150.189888] [<805d36e4>] (dump_stack) from [<801163ac>] (panic+0xdc/0x278)
    [  150.196780] [<801163ac>] (panic) from [<801162cc>] (__stack_chk_fail+0x20/0x24)
    [  150.204111] [<801162cc>] (__stack_chk_fail) from [<805cff08>] (ncsi_pkg_info_all_nl+0x244/0x258)
    [  150.212912] [<805cff08>] (ncsi_pkg_info_all_nl) from [<804f939c>] (genl_lock_dumpit+0x3c/0x54)
    [  150.221535] [<804f939c>] (genl_lock_dumpit) from [<804f873c>] (netlink_dump+0xf8/0x284)
    [  150.229550] [<804f873c>] (netlink_dump) from [<804f8d44>] (__netlink_dump_start+0x124/0x17c)
    [  150.237992] [<804f8d44>] (__netlink_dump_start) from [<804f9880>] (genl_rcv_msg+0x1c8/0x3d4)
    [  150.246440] [<804f9880>] (genl_rcv_msg) from [<804f9174>] (netlink_rcv_skb+0xd8/0x134)
    [  150.254361] [<804f9174>] (netlink_rcv_skb) from [<804f96a4>] (genl_rcv+0x30/0x44)
    [  150.261850] [<804f96a4>] (genl_rcv) from [<804f7790>] (netlink_unicast+0x198/0x234)
    [  150.269511] [<804f7790>] (netlink_unicast) from [<804f7ffc>] (netlink_sendmsg+0x368/0x3b0)
    [  150.277783] [<804f7ffc>] (netlink_sendmsg) from [<804abea4>] (sock_sendmsg+0x24/0x34)
    [  150.285625] [<804abea4>] (sock_sendmsg) from [<804ac1dc>] (___sys_sendmsg+0x244/0x260)
    [  150.293556] [<804ac1dc>] (___sys_sendmsg) from [<804ad98c>] (__sys_sendmsg+0x5c/0x9c)
    [  150.301400] [<804ad98c>] (__sys_sendmsg) from [<804ad9e4>] (SyS_sendmsg+0x18/0x1c)
    [  150.308984] [<804ad9e4>] (SyS_sendmsg) from [<80102640>] (ret_fast_syscall+0x0/0x3c)
    [  150.316743] ---[ end Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: 805cff08
    
    This turns out to be because the attrs array in ncsi_pkg_info_all_nl()
    is initialised to a length of NCSI_ATTR_MAX which is the maximum
    attribute number, not the number of attributes.
    
    Fixes: 955dc68 ("net/ncsi: Add generic netlink family")
    Signed-off-by: Samuel Mendoza-Jonas <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sammj authored and davem330 committed May 31, 2018
    Configuration menu
    Copy the full SHA
    0f51f35 View commit details
    Browse the repository at this point in the history
  16. net: ethernet: davinci_emac: fix error handling in probe()

    The current error handling code has an issue where it does:
    
    	if (priv->txchan)
    		cpdma_chan_destroy(priv->txchan);
    
    The problem is that ->txchan is either valid or an error pointer (which
    would lead to an Oops).  I've changed it to use multiple error labels so
    that the test can be removed.
    
    Also there were some missing calls to netif_napi_del().
    
    Fixes: 3ef0fdb ("net: davinci_emac: switch to new cpdma layer")
    Signed-off-by: Dan Carpenter <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Dan Carpenter authored and davem330 committed May 31, 2018
    Configuration menu
    Copy the full SHA
    8005b09 View commit details
    Browse the repository at this point in the history
  17. Merge tag 'xfs-4.17-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/x…

    …fs-linux
    
    Pull xfs fix from Darrick Wong:
     "Clear out i_mapping error state when we're reinitializing inodes.
    
      This last minute fix prevents writeback error state from persisting
      past the end of the in-core inode lifecycle and causing EIO errors to
      be reported to userspace when no error has occurred.
    
      This fix for the behavioral regression has been soaking in for-next
      for a while, but various fs developers persuaded me to try to get it
      upstream for 4.17 because the patch that broke things was introduced
      in 4.17-rc4"
    
    * tag 'xfs-4.17-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      fs: clear writeback errors in inode_init_always
    torvalds committed May 31, 2018
    Configuration menu
    Copy the full SHA
    0512e01 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2018

  1. ixgbe: fix parsing of TC actions for HW offload

    The previous code was optimistic, accepting the offload of whole action
    chain when there was a single known action (drop/redirect). This results
    in offloading a rule which should not be offloaded, because its behavior
    cannot be reproduced in the hardware.
    
    For example:
    
    $ tc filter add dev eno1 parent ffff: protocol ip \
        u32 ht 800: order 1 match tcp src 42 FFFF \
        action mirred egress mirror dev enp1s16 pipe \
        drop
    
    The controller is unable to mirror the packet to a VF, but still
    offloads the rule by dropping the packet.
    
    Change the approach of the function to a pessimistic one, rejecting the
    chain when an unknown action is found. This is better suited for future
    extensions.
    
    Note that both recognized actions always return TC_ACT_SHOT, therefore
    it is safe to ignore actions behind them.
    
    Signed-off-by: Ondřej Hlavatý <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Ondřej Hlavatý authored and davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    16e6653 View commit details
    Browse the repository at this point in the history
  2. net-sysfs: Fix memory leak in XPS configuration

    This patch reorders the error cases in showing the XPS configuration so
    that we hold off on memory allocation until after we have verified that we
    can support XPS on a given ring.
    
    Fixes: 184c449 ("net: Add support for XPS with QoS via traffic classes")
    Signed-off-by: Alexander Duyck <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Alexander Duyck authored and davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    664088f View commit details
    Browse the repository at this point in the history
  3. kcm: Fix use-after-free caused by clonned sockets

    (resend for properly queueing in patchwork)
    
    kcm_clone() creates kernel socket, which does not take net counter.
    Thus, the net may die before the socket is completely destructed,
    i.e. kcm_exit_net() is executed before kcm_done().
    
    Reported-by: [email protected]
    Signed-off-by: Kirill Tkhai <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Kirill Tkhai authored and davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    eb7f54b View commit details
    Browse the repository at this point in the history
  4. net: dsa: b53: Add BCM5389 support

    This patch adds support for the BCM5389 switch connected through MDIO.
    
    Signed-off-by: Damien Thébault <[email protected]>
    Reviewed-by: Florian Fainelli <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Damien Thébault authored and davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    a95691b View commit details
    Browse the repository at this point in the history
  5. Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/klassert/ipsec
    
    Steffen Klassert says:
    
    ====================
    pull request (net): ipsec 2018-05-31
    
    1) Avoid possible overflow of the offset variable
       in  _decode_session6(), this fixes an infinite
       lookp there. From Eric Dumazet.
    
    2) We may use an error pointer in the error path of
       xfrm_bundle_create(). Fix this by returning this
       pointer directly to the caller.
    
    Please pull or let me know if there are problems.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    ccfde6e View commit details
    Browse the repository at this point in the history
  6. ip_tunnel: restore binding to ifaces with a large mtu

    After commit f6cc9c0, the following conf is broken (note that the
    default loopback mtu is 65536, ie IP_MAX_MTU + 1):
    
    $ ip tunnel add gre1 mode gre local 10.125.0.1 remote 10.125.0.2 dev lo
    add tunnel "gre0" failed: Invalid argument
    $ ip l a type dummy
    $ ip l s dummy1 up
    $ ip l s dummy1 mtu 65535
    $ ip tunnel add gre1 mode gre local 10.125.0.1 remote 10.125.0.2 dev dummy1
    add tunnel "gre0" failed: Invalid argument
    
    dev_set_mtu() doesn't allow to set a mtu which is too large.
    First, let's cap the mtu returned by ip_tunnel_bind_dev(). Second, remove
    the magic value 0xFFF8 and use IP_MAX_MTU instead.
    0xFFF8 seems to be there for ages, I don't know why this value was used.
    
    With a recent kernel, it's also possible to set a mtu > IP_MAX_MTU:
    $ ip l s dummy1 mtu 66000
    After that patch, it's also possible to bind an ip tunnel on that kind of
    interface.
    
    CC: Petr Machata <[email protected]>
    CC: Ido Schimmel <[email protected]>
    Link: https://git.kernel.org/pub/scm/linux/kernel/git/davem/netdev-vger-cvs.git/commit/?id=e5afd356a411a
    Fixes: f6cc9c0 ("ip_tunnel: Emit events for post-register MTU changes")
    Signed-off-by: Nicolas Dichtel <[email protected]>
    Reviewed-by: Ido Schimmel <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    NicolasDichtel authored and davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    82612de View commit details
    Browse the repository at this point in the history
  7. ip6_tunnel: remove magic mtu value 0xFFF8

    I don't know where this value comes from (probably a copy and paste and
    paste and paste ...).
    Let's use standard values which are a bit greater.
    
    Link: https://git.kernel.org/pub/scm/linux/kernel/git/davem/netdev-vger-cvs.git/commit/?id=e5afd356a411a
    Signed-off-by: Nicolas Dichtel <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    NicolasDichtel authored and davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    f7ff1fd View commit details
    Browse the repository at this point in the history
  8. Merge branch 'tunnel-mtus'

    Nicolas Dichtel says:
    
    ====================
    ip[6] tunnels: fix mtu calculations
    
    The first patch restores the possibility to bind an ip4 tunnel to an
    interface whith a large mtu.
    The second patch was spotted after the first fix. I also target it to net
    because it fixes the max mtu value that can be used for ipv6 tunnels.
    
    v2: remove the 0xfff8 in ip_tunnel_newlink()
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    8a11801 View commit details
    Browse the repository at this point in the history
  9. net: usb: cdc_mbim: add flag FLAG_SEND_ZLP

    Testing Telit LM940 with ICMP packets > 14552 bytes revealed that
    the modem needs FLAG_SEND_ZLP to properly work, otherwise the cdc
    mbim data interface won't be anymore responsive.
    
    Signed-off-by: Daniele Palmas <[email protected]>
    Acked-by: Bjørn Mork <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    dnlplm authored and davem330 committed Jun 1, 2018
    Configuration menu
    Copy the full SHA
    9f7c728 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2018

  1. bpf: fix uapi hole for 32 bit compat applications

    In 64 bit, we have a 4 byte hole between ifindex and netns_dev in the
    case of struct bpf_map_info but also struct bpf_prog_info. In net-next
    commit b85fab0 ("bpf: Add gpl_compatible flag to struct bpf_prog_info")
    added a bitfield into it to expose some flags related to programs. Thus,
    add an unnamed __u32 bitfield for both so that alignment keeps the same
    in both 32 and 64 bit cases, and can be naturally extended from there
    as in b85fab0.
    
    Before:
    
      # file test.o
      test.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      # pahole test.o
      struct bpf_map_info {
    	__u32                      type;                 /*     0     4 */
    	__u32                      id;                   /*     4     4 */
    	__u32                      key_size;             /*     8     4 */
    	__u32                      value_size;           /*    12     4 */
    	__u32                      max_entries;          /*    16     4 */
    	__u32                      map_flags;            /*    20     4 */
    	char                       name[16];             /*    24    16 */
    	__u32                      ifindex;              /*    40     4 */
    	__u64                      netns_dev;            /*    44     8 */
    	__u64                      netns_ino;            /*    52     8 */
    
    	/* size: 64, cachelines: 1, members: 10 */
    	/* padding: 4 */
      };
    
    After (same as on 64 bit):
    
      # file test.o
      test.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      # pahole test.o
      struct bpf_map_info {
    	__u32                      type;                 /*     0     4 */
    	__u32                      id;                   /*     4     4 */
    	__u32                      key_size;             /*     8     4 */
    	__u32                      value_size;           /*    12     4 */
    	__u32                      max_entries;          /*    16     4 */
    	__u32                      map_flags;            /*    20     4 */
    	char                       name[16];             /*    24    16 */
    	__u32                      ifindex;              /*    40     4 */
    
    	/* XXX 4 bytes hole, try to pack */
    
    	__u64                      netns_dev;            /*    48     8 */
    	__u64                      netns_ino;            /*    56     8 */
    	/* --- cacheline 1 boundary (64 bytes) --- */
    
    	/* size: 64, cachelines: 1, members: 10 */
    	/* sum members: 60, holes: 1, sum holes: 4 */
      };
    
    Reported-by: Dmitry V. Levin <[email protected]>
    Reported-by: Eugene Syromiatnikov <[email protected]>
    Fixes: 52775b3 ("bpf: offload: report device information about offloaded maps")
    Fixes: 675fc27 ("bpf: offload: report device information for offloaded programs")
    Signed-off-by: Daniel Borkmann <[email protected]>
    Acked-by: Alexei Starovoitov <[email protected]>
    Signed-off-by: Alexei Starovoitov <[email protected]>
    borkmann authored and Alexei Starovoitov committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    36f9814 View commit details
    Browse the repository at this point in the history
  2. Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

    Daniel Borkmann says:
    
    ====================
    pull-request: bpf 2018-06-02
    
    The following pull-request contains BPF updates for your *net* tree.
    
    The main changes are:
    
    1) BPF uapi fix in struct bpf_prog_info and struct bpf_map_info in
       order to fix offsets on 32 bit archs.
    
    This will have a minor merge conflict with net-next which has the
    __u32 gpl_compatible:1 bitfield in struct bpf_prog_info at this
    location. Resolution is to use the gpl_compatible member.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    cd075ce View commit details
    Browse the repository at this point in the history
  3. Revert "vfio/type1: Improve memory pinning process for raw PFN mapping"

    Bisection by Amadeusz Sławiński implicates this commit leading to bad
    page state issues after VM shutdown, likely due to unbalanced page
    references.  The original commit was intended only as a performance
    improvement, therefore revert for offline rework.
    
    Link: https://lkml.org/lkml/2018/6/2/97
    Fixes: 356e88e ("vfio/type1: Improve memory pinning process for raw PFN mapping")
    Cc: Jason Cai (Xiang Feng) <[email protected]>
    Reported-by: Amadeusz Sławiński <[email protected]>
    Signed-off-by: Alex Williamson <[email protected]>
    awilliam committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    89c29de View commit details
    Browse the repository at this point in the history
  4. mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()

    Swapping load on huge=always tmpfs (with khugepaged tuned up to be very
    eager, but I'm not sure that is relevant) soon hung uninterruptibly,
    waiting for page lock in shmem_getpage_gfp()'s find_lock_entry(), most
    often when "cp -a" was trying to write to a smallish file.  Debug showed
    that the page in question was not locked, and page->mapping NULL by now,
    but page->index consistent with having been in a huge page before.
    
    Reproduced in minutes on a 4.15 kernel, even with 4.17's 605ca5e
    ("mm/huge_memory.c: reorder operations in __split_huge_page_tail()") added
    in; but took hours to reproduce on a 4.17 kernel (no idea why).
    
    The culprit proved to be the __ClearPageDirty() on tails beyond i_size in
    __split_huge_page(): the non-atomic __bitoperation may have been safe when
    4.8's baa355f ("thp: file pages support for split_huge_page()")
    introduced it, but liable to erase PageWaiters after 4.10's 6290602
    ("mm: add PageWaiters indicating tasks are waiting for a page bit").
    
    Link: http://lkml.kernel.org/r/[email protected]
    Fixes: 6290602 ("mm: add PageWaiters indicating tasks are waiting for a page bit")
    Signed-off-by: Hugh Dickins <[email protected]>
    Acked-by: Kirill A. Shutemov <[email protected]>
    Cc: Konstantin Khlebnikov <[email protected]>
    Cc: Nicholas Piggin <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Hugh Dickins authored and torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    2d077d4 View commit details
    Browse the repository at this point in the history
  5. mm: fix the NULL mapping case in __isolate_lru_page()

    George Boole would have noticed a slight error in 4.16 commit
    69d763f ("mm: pin address_space before dereferencing it while
    isolating an LRU page").  Fix it, to match both the comment above it,
    and the original behaviour.
    
    Although anonymous pages are not marked PageDirty at first, we have an
    old habit of calling SetPageDirty when a page is removed from swap
    cache: so there's a category of ex-swap pages that are easily
    migratable, but were inadvertently excluded from compaction's async
    migration in 4.16.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Fixes: 69d763f ("mm: pin address_space before dereferencing it while isolating an LRU page")
    Signed-off-by: Hugh Dickins <[email protected]>
    Acked-by: Minchan Kim <[email protected]>
    Acked-by: Mel Gorman <[email protected]>
    Reported-by:  Ivan Kalvachev <[email protected]>
    Cc: "Huang, Ying" <[email protected]>
    Cc: Jan Kara <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Hugh Dickins authored and torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    145e1a7 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'akpm' (patches from Andrew)

    Merge two fixes from Andrew Morton.
    
    * emailed patches from Andrew Morton <[email protected]>:
      mm: fix the NULL mapping case in __isolate_lru_page()
      mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    0938a8f View commit details
    Browse the repository at this point in the history
  7. Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
     "A documentation bugfix and a MAINTAINERS addition"
    
    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      i2c: ocores: update HDL sources URL
      i2c: xlp9xx: Add MAINTAINERS entry
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    a36b796 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/rdma/rdma
    
    Pull rdma fixes from Jason Gunthorpe:
     "Just three small last minute regressions that were found in the last
      week. The Broadcom fix is a bit big for rc7, but since it is fixing
      driver crash regressions that were merged via netdev into rc1, I am
      sending it.
    
       - bnxt netdev changes merged this cycle caused the bnxt RDMA driver
         to crash under certain situations
    
       - Arnd found (several, unfortunately) kconfig problems with the
         patches adding INFINIBAND_ADDR_TRANS. Reverting this last part,
         will fix it more fully outside -rc.
    
       - Subtle change in error code for a uapi function caused breakage in
         userspace. This was bug was subtly introduced cycle"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
      IB/core: Fix error code for invalid GID entry
      IB: Revert "remove redundant INFINIBAND kconfig dependencies"
      RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    7fdf3e8 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'staging-4.17-rc8' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/gregkh/staging
    
    Pull IIO driver fixes from Greg KH:
     "Here are some old IIO driver fixes that were sitting in my tree for a
      few weeks. Sorry about not getting them to you sooner. They fix a
      number of small IIO driver issues that have been reported.
    
      All of these have been in linux-next for a while with no reported
      problems"
    
    * tag 'staging-4.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
      iio: adc: select buffer for at91-sama5d2_adc
      iio: hid-sensor-trigger: Fix sometimes not powering up the sensor after resume
      iio: adc: at91-sama5d2_adc: fix channel configuration for differential channels
      iio:kfifo_buf: check for uint overflow
      iio:buffer: make length types match kfifo types
      iio: adc: stm32-dfsdm: fix sample rate for div2 spi clock
      iio: adc: stm32-dfsdm: fix successive oversampling settings
      iio: ad7793: implement IIO_CHAN_INFO_SAMP_FREQ
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    34a8e64 View commit details
    Browse the repository at this point in the history
  10. Merge tag 'char-misc-4.17-rc8' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/gregkh/char-misc
    
    Pull char/misc driver fixes from Greg KH:
     "Here are four small bugfixes for some char/misc drivers. Well, really
      three fixes and one fix for one of those fixes due to problems found
      by 0-day.
    
      This resolves some reported issues with the hwtracing drivers, and a
      reported regression for the thunderbolt subsystem. All of these have
      been in linux-next for a while now with no reported problems"
    
    * tag 'char-misc-4.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
      hwtracing: stm: fix build error on some arches
      intel_th: Use correct device when freeing buffers
      stm class: Use vmalloc for the master map
      thunderbolt: Handle NULL boot ACL entries properly
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    6ac9f42 View commit details
    Browse the repository at this point in the history
  11. Merge tag 'vfio-v4.17' of git://github.com/awilliam/linux-vfio

    Pull VFIO fix from Alex Williamson:
     "Revert a pfn page mapping optimization identified as introducing a bad
      page state regression (Alex Williamson)"
    
    * tag 'vfio-v4.17' of git://github.com/awilliam/linux-vfio:
      Revert "vfio/type1: Improve memory pinning process for raw PFN mapping"
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    7172a69 View commit details
    Browse the repository at this point in the history
  12. Merge tag 'mips_fixes_4.17_3' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/mips/linux
    
    Pull MIPS fixes from James Hogan:
     "A final few MIPS fixes for 4.17:
    
       - drop Lantiq gphy reboot/remove reset (4.14)
    
       - prctl(PR_SET_FP_MODE): Disallow PRE without FR (4.0)
    
       - ptrace(PTRACE_PEEKUSR): Fix 64-bit FGRs (3.15)"
    
    * tag 'mips_fixes_4.17_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
      MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs
      MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests
      MIPS: lantiq: gphy: Drop reboot/remove reset asserts
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    4277e6b View commit details
    Browse the repository at this point in the history
  13. Merge branch 'drm-fixes-4.17' of git://people.freedesktop.org/~agd5f/…

    …linux into drm-fixes
    
    Two last minute DC fixes for 4.17.  A fix for underscan on fiji and
    a fix for gamma settings getting after dpms.
    
    * 'drm-fixes-4.17' of git://people.freedesktop.org/~agd5f/linux:
      drm/amd/display: Update color props when modeset is required
      drm/amd/display: Make atomic-check validate underscan changes
    airlied committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    012cfac View commit details
    Browse the repository at this point in the history
  14. Merge tag 'drm-fixes-for-v4.17-rc8' of git://people.freedesktop.org/~…

    …airlied/linux
    
    Pull drm fixes from Dave Airlie:
     "A few final fixes:
    
      i915:
       - fix for potential Spectre vector in the new query uAPI
       - fix NULL pointer deref (FDO #106559)
       - DMI fix to hide LVDS for Radiant P845 (FDO #105468)
    
      amdgpu:
       - suspend/resume DC regression fix
       - underscan flicker fix on fiji
       - gamma setting fix after dpms
    
      omap:
       - fix oops regression
    
      core:
       - fix PSR timing
    
      dw-hdmi:
       - fix oops regression"
    
    * tag 'drm-fixes-for-v4.17-rc8' of git://people.freedesktop.org/~airlied/linux:
      drm/amd/display: Update color props when modeset is required
      drm/amd/display: Make atomic-check validate underscan changes
      drm/bridge/synopsys: dw-hdmi: fix dw_hdmi_setup_rx_sense
      drm/amd/display: Fix BUG_ON during CRTC atomic check update
      drm/i915/query: nospec expects no more than an unsigned long
      drm/i915/query: Protect tainted function pointer lookup
      drm/i915/lvds: Move acpi lid notification registration to registration phase
      drm/i915: Disable LVDS on Radiant P845
      drm/omap: fix NULL deref crash with SDI displays
      drm/psr: Fix missed entry in PSR setup time table.
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    ada7339 View commit details
    Browse the repository at this point in the history
  15. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fix from James Bottomley:
     "Eve of merge window fix: The original code was so bogus as to be
      casting the wrong generic device to an rport and proceeding to take
      actions based on the bogus values it found.
    
      Fortunately it seems the location that is dereferenced always exists,
      so the code hasn't oopsed yet, but it certainly annoys the memory
      checkers"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: scsi_transport_srp: Fix shost to rport translation
    torvalds committed Jun 2, 2018
    Configuration menu
    Copy the full SHA
    e0255ae View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2018

  1. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
    
     1) Infinite loop in _decode_session6(), from Eric Dumazet.
    
     2) Pass correct argument to nla_strlcpy() in netfilter, also from Eric
        Dumazet.
    
     3) Out of bounds memory access in ipv6 srh code, from Mathieu Xhonneux.
    
     4) NULL deref in XDP_REDIRECT handling of tun driver, from Toshiaki
        Makita.
    
     5) Incorrect idr release in cls_flower, from Paul Blakey.
    
     6) Probe error handling fix in davinci_emac, from Dan Carpenter.
    
     7) Memory leak in XPS configuration, from Alexander Duyck.
    
     8) Use after free with cloned sockets in kcm, from Kirill Tkhai.
    
     9) MTU handling fixes fo ip_tunnel and ip6_tunnel, from Nicolas
        Dichtel.
    
    10) Fix UAPI hole in bpf data structure for 32-bit compat applications,
        from Daniel Borkmann.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (33 commits)
      bpf: fix uapi hole for 32 bit compat applications
      net: usb: cdc_mbim: add flag FLAG_SEND_ZLP
      ip6_tunnel: remove magic mtu value 0xFFF8
      ip_tunnel: restore binding to ifaces with a large mtu
      net: dsa: b53: Add BCM5389 support
      kcm: Fix use-after-free caused by clonned sockets
      net-sysfs: Fix memory leak in XPS configuration
      ixgbe: fix parsing of TC actions for HW offload
      net: ethernet: davinci_emac: fix error handling in probe()
      net/ncsi: Fix array size in dumpit handler
      cls_flower: Fix incorrect idr release when failing to modify rule
      net/sonic: Use dma_mapping_error()
      xfrm Fix potential error pointer dereference in xfrm_bundle_create.
      vhost_net: flush batched heads before trying to busy polling
      tun: Fix NULL pointer dereference in XDP redirect
      be2net: Fix error detection logic for BE3
      net: qmi_wwan: Add Netgear Aircard 779S
      mlxsw: spectrum: Forbid creation of VLAN 1 over port/LAG
      atm: zatm: fix memcmp casting
      iwlwifi: pcie: compare with number of IRQs requested for, not number of CPUs
      ...
    torvalds committed Jun 3, 2018
    Configuration menu
    Copy the full SHA
    918fe1b View commit details
    Browse the repository at this point in the history
  2. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull perf tooling fixes from Thomas Gleixner:
    
     - fix 'perf test Session topology' segfault on s390 (Thomas Richter)
    
     - fix NULL return handling in bpf__prepare_load() (YueHaibing)
    
     - fix indexing on Coresight ETM packet queue decoder (Mathieu Poirier)
    
     - fix perf.data format description of NRCPUS header (Arnaldo Carvalho
       de Melo)
    
     - update perf.data documentation section on cpu topology
    
     - handle uncore event aliases in small groups properly (Kan Liang)
    
     - add missing perf_sample.addr into python sample dictionary (Leo Yan)
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf tools: Fix perf.data format description of NRCPUS header
      perf script python: Add addr into perf sample dict
      perf data: Update documentation section on cpu topology
      perf cs-etm: Fix indexing for decoder packet queue
      perf bpf: Fix NULL return handling in bpf__prepare_load()
      perf test: "Session topology" dumps core on s390
      perf parse-events: Handle uncore event aliases in small groups properly
    torvalds committed Jun 3, 2018
    Configuration menu
    Copy the full SHA
    26bdace View commit details
    Browse the repository at this point in the history
  3. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull scheduler fixes from Thomas Gleixner:
    
     - two patches addressing the problem that the scheduler allows under
       certain conditions user space tasks to be scheduled on CPUs which are
       not yet fully booted which causes a few subtle and hard to debug
       issue
    
     - add a missing runqueue clock update in the deadline scheduler which
       triggers a warning under certain circumstances
    
     - fix a silly typo in the scheduler header file
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/headers: Fix typo
      sched/deadline: Fix missing clock update
      sched/core: Require cpu_active() in select_task_rq(), for user tasks
      sched/core: Fix rules for running on online && !active CPUs
    torvalds committed Jun 3, 2018
    Configuration menu
    Copy the full SHA
    874cd33 View commit details
    Browse the repository at this point in the history
  4. Revert "fs: fold open_check_o_direct into do_dentry_open"

    This reverts commit cab64df.
    
    Having vfs_open() in some cases drop the reference to
    struct file combined with
    
    	error = vfs_open(path, f, cred);
    	if (error) {
    		put_filp(f);
    		return ERR_PTR(error);
    	}
    	return f;
    
    is flat-out wrong.  It used to be
    
    		error = vfs_open(path, f, cred);
    		if (!error) {
    			/* from now on we need fput() to dispose of f */
    			error = open_check_o_direct(f);
    			if (error) {
    				fput(f);
    				f = ERR_PTR(error);
    			}
    		} else {
    			put_filp(f);
    			f = ERR_PTR(error);
    		}
    
    and sure, having that open_check_o_direct() boilerplate gotten rid of is
    nice, but not that way...
    
    Worse, another call chain (via finish_open()) is FUBAR now wrt
    FILE_OPENED handling - in that case we get error returned, with file
    already hit by fput() *AND* FILE_OPENED not set.  Guess what happens in
    path_openat(), when it hits
    
    	if (!(opened & FILE_OPENED)) {
    		BUG_ON(!error);
    		put_filp(file);
    	}
    
    The root cause of all that crap is that the callers of do_dentry_open()
    have no way to tell which way did it fail; while that could be fixed up
    (by passing something like int *opened to do_dentry_open() and have it
    marked if we'd called ->open()), it's probably much too late in the
    cycle to do so right now.
    
    Signed-off-by: Al Viro <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Al Viro authored and torvalds committed Jun 3, 2018
    Configuration menu
    Copy the full SHA
    af04fad View commit details
    Browse the repository at this point in the history
  5. Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/viro/vfs
    
    Pull vfs fixes from Al Viro.
    
     - fix io_destroy()/aio_complete() race
    
     - the vfs_open() change to get rid of open_check_o_direct() boilerplate
       was nice, but buggy. Al has a patch avoiding a revert, but that's
       definitely not a last-day fodder, so for now revert it is...
    
    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      Revert "fs: fold open_check_o_direct into do_dentry_open"
      fix io_destroy()/aio_complete() race
    torvalds committed Jun 3, 2018
    Configuration menu
    Copy the full SHA
    325e14f View commit details
    Browse the repository at this point in the history
  6. Linux 4.17

    torvalds committed Jun 3, 2018
    Configuration menu
    Copy the full SHA
    29dcea8 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2018

  1. ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format()

    The values of bclk and fsync are inverted WRT the codec. But the existing
    solution already works for Broadwell, see the alsa-lib config:
    
    `alsa-lib/src/conf/topology/broadwell/broadwell.conf`
    
    This commit provides the backwards-compatible solution to fix this misuse.
    
    Signed-off-by: Kirill Marinushkin <[email protected]>
    Reviewed-by: Pierre-Louis Bossart <[email protected]>
    Tested-by: Pan Xiuli <[email protected]>
    Tested-by: Pierre-Louis Bossart <[email protected]>
    Cc: Jaroslav Kysela <[email protected]>
    Cc: Takashi Iwai <[email protected]>
    Cc: Mark Brown <[email protected]>
    Cc: Liam Girdwood <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit a941e2f)
    kmarinushkin authored and plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    02a513a View commit details
    Browse the repository at this point in the history
  2. ASoC: topology: Add missing clock gating parameter when parsing hw_co…

    …nfigs
    
    Clock gating parameter is a part of `dai_fmt`. It is supported by
    `alsa-lib` when creating a topology binary file, but ignored by kernel
    when loading this topology file.
    
    After applying this commit, the clock gating parameter is not ignored any
    more. This solution is backwards compatible. The existing behaviour is
    not broken, because by default the parameter value is 0 and is ignored.
    
    snd_soc_tplg_hw_config.clock_gated = 0 => no effect
    snd_soc_tplg_hw_config.clock_gated = 1 => SND_SOC_DAIFMT_GATED
    snd_soc_tplg_hw_config.clock_gated = 2 => SND_SOC_DAIFMT_CONT
    
    For example, the following config, based on
    alsa-lib/src/conf/topology/broadwell/broadwell.conf, is now supported:
    
    ~~~~
    SectionHWConfig."CodecHWConfig" {
            id "1"
            format "I2S"            # physical audio format.
            pm_gate_clocks "true"   # clock can be gated
    }
    
    SectionLink."Codec" {
    
            # used for binding to the physical link
            id "0"
    
            hw_configs [
                    "CodecHWConfig"
            ]
    
            default_hw_conf_id "1"
    }
    ~~~~
    
    Signed-off-by: Kirill Marinushkin <[email protected]>
    Reviewed-by: Pierre-Louis Bossart <[email protected]>
    Cc: Jaroslav Kysela <[email protected]>
    Cc: Takashi Iwai <[email protected]>
    Cc: Mark Brown <[email protected]>
    Cc: Pan Xiuli <[email protected]>
    Cc: Liam Girdwood <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit 933e1c4)
    kmarinushkin authored and plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    cba6339 View commit details
    Browse the repository at this point in the history
  3. ASoC: topology: Add definitions for mclk_direction values

    Current comment makes not clear the direction of mclk. Previously, similar
    description caused a misunderstanding for bclk_master and fsync_master.
    
    This commit solves the potential confusion the same way it is solved for
    bclk_master and fsync_master.
    
    Signed-off-by: Kirill Marinushkin <[email protected]>
    Acked-by: Pierre-Louis Bossart <[email protected]>
    Cc: Jaroslav Kysela <[email protected]>
    Cc: Takashi Iwai <[email protected]>
    Cc: Mark Brown <[email protected]>
    Cc: Pan Xiuli <[email protected]>
    Cc: Liam Girdwood <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit e590522)
    kmarinushkin authored and plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    fdab575 View commit details
    Browse the repository at this point in the history
  4. ASoC: topology: Add support for compressed PCMs

    Register a compressed PCM if topology defines one.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit 5db6aab)
    lrgirdwo authored and plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    5625100 View commit details
    Browse the repository at this point in the history
  5. ASoC: fix 0-day warnings with snd_soc_new_compress()

    All conditionally-defined routines in include/sound/soc.h expose a
    static inline fallback to avoid 0-day warnings and compilation issues,
    except snd_soc_new_compress().
    
    Fixes: 5db6aab ('ASoC: topology: Add support for compressed PCMs')
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit 0b014d7)
    plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    64859fb View commit details
    Browse the repository at this point in the history
  6. ASoC: Intel: cht-bsw-rt5672: allow for topology-defined codec-dai setup

    Hard-coded setups conflict with topology defined ones. Move this code to
    codec_fixup so that SOF can override codec dai settings, e.g. to only use
    2 channels.
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Acked-by: Vinod Koul <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit bf14adc)
    plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    e022fa0 View commit details
    Browse the repository at this point in the history
  7. ALSA: core api: define offsets for TLV items

    Currently, there are no pre-defined accessors for the elements
    in topology TLV data. In the absence of such offsets, the
    tlv data will have to be decoded using hardwired offset
    numbers 0-N depending on the type of TLV. This patch defines
    accessor offsets for the type, length, min and mute/step items
    in TLV data for DB_SCALE type tlv's. These will be used by drivers to
    decode the TLV data while loading topology thereby improving
    code readability. The type and len offsets are common for all TLV
    types. The min and step/mute offsets are specific to DB_SCALE tlv type.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    Reviewed-by: Takashi Sakamoto <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    (cherry picked from commit 08f9f44)
    ranj063 authored and plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    6bde10d View commit details
    Browse the repository at this point in the history
  8. ASoC: pcm512x: Add ACPI support

    HID is assumed to be made of TI PCI ID (0x104C) + part number, so all
    four 104C5121, 104C5122, 104C5141 104C5142 are valid.
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit b84f48d)
    plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    4c685a7 View commit details
    Browse the repository at this point in the history
  9. ASoC: Intel: Disable SND_SOC_INTEL_BAYTRAIL when SND_SST_ATOM_HIFI2_P…

    …LATFORM is enabled
    
    The sound/soc/intel/common/sst-acpi.c code only tries to load the
    "baytrail-pcm-audio" driver (and supporting board drivers) when
    SND_SST_ATOM_HIFI2_PLATFORM is not enabled, since otherwise these
    are handled by snd-soc-sst-atom-hifi2-platform.ko.
    
    Since these thus will never be used when SND_SST_ATOM_HIFI2_PLATFORM is
    enabled, building these drivers when it is enabled is useless.
    
    Add a Kconfig dependency to reflect this, so that SND_SOC_INTEL_BAYTRAIL
    cannot be enabled when SND_SST_ATOM_HIFI2_PLATFORM is also enabled.
    
    Signed-off-by: Hans de Goede <[email protected]>
    Acked-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit ed55fe2)
    jwrdegoede authored and plbossart committed Jun 4, 2018
    Configuration menu
    Copy the full SHA
    9f2ec80 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2018

  1. ASoC: topology: Give more data to clients via callbacks

    Give topology clients more access to the topology data by passing index,
    pcm, link_config and dai_driver to clients. This allows clients to fully
    instantiate and track topology objects.
    
    The SOF driver is the first user of these new APIs and needs them to build
    component topology driver and FW objects.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit c60b613)
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    28fe6c4 View commit details
    Browse the repository at this point in the history
  2. ASoC: topology: Add callback for DAPM route load/unload

    Add a callback fro clients for notification about DAPM route loading and
    unloading.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit 503e79b)
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4c8ac45 View commit details
    Browse the repository at this point in the history
  3. ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs

    Sometime a component or topology may configure a DAI widget with no
    private data leading to a dev_dbg() dereferencne of this data.
    
    Fix this to check for non NULL private data and let users know if widget
    is missing DAI.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit e01b4f6)
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2695cf5 View commit details
    Browse the repository at this point in the history
  4. ASoC: Intel: broxton: reduce machine name for bxt_da7219_max98357a

    Use truncated names in bxt id table and bxt_da7219_max98357a machine
    as platform device id table expects names to be less then 20chars.
    
    Signed-off-by: Naveen Manohar <[email protected]>
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit 95555f5)
    naveen-manohar authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    02dd6a5 View commit details
    Browse the repository at this point in the history
  5. ASoC: Intel: Skylake: cleanup before moving ACPI tables

    There is no need to deal with DMICs if the DSP is not present and
    there is no ACPI machine ID found.
    
    Simplify before moving these ACPI tables to sound/soc/intel/common
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit 5f15f26)
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    3c71f58 View commit details
    Browse the repository at this point in the history
  6. ASoC: Intel: move SKL+ codec ACPI tables to common directory

    No functionality change, just move to common tables to make it easier
    to deal with SOF and share the same machine drivers - as done
    previously for BYT/CHT/HSW/BDW.
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit cbaa7f0)
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7a3d054 View commit details
    Browse the repository at this point in the history
  7. ASoC: Intel: common: Add Geminilake Dialog+Maxim machine driver entry

    This patch adds da7219_max98357a machine driver entry into
    machine table
    
    Signed-off-by: Naveen Manohar <[email protected]>
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit 65a3388)
    naveen-manohar authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    674ee8a View commit details
    Browse the repository at this point in the history
  8. ASoC: Intel: common: add firmware/topology information for SOF

    No functionality change for Skylake driver, add relevant names needed
    by SOF for BXT/APL, GLK and CNL.
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit e6d298f)
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    19d4dd5 View commit details
    Browse the repository at this point in the history
  9. ASoC: Intel: common: add entries for SOF-based machine drivers

    While we are at it, add entries for machine drivers that are used on
    SOF-based platforms. The drivers will be submitted upstream after the
    core SOF patches, but there's no harm in adding these references now.
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit b453501)
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    82e7ce8 View commit details
    Browse the repository at this point in the history
  10. ASoC: Intel: common: fix copy/paste issue with SOF/broadwell topology…

    … file
    
    There are two commercially-available Broadwell platforms based on I2S
    (Dell XPS13 and 'Samus' Pixel 2015 Chromebook).
    
    Fix a copy/paste issue to allow each platform to enable different
    features if needed when SOF is enabled
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    (cherry picked from commit f0d9034)
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c94ec7c View commit details
    Browse the repository at this point in the history
  11. ASoC: Intel: common: rename 'reef' to 'sof' in ACPI matching table

    Align with firmware tools, no functionality change
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    453d691 View commit details
    Browse the repository at this point in the history
  12. ASoC: core: Allow topology to override machine driver FE DAI link con…

    …fig.
    
    Machine drivers statically define a number of DAI links that currently
    cannot be changed or removed by topology. This means PCMs and platform
    components cannot be changed by topology at runtime AND machine drivers
    are tightly coupled to topology.
    
    This patch allows topology to override the machine driver DAI link config
    in order to reuse machine drivers with different topologies and platform
    components. The patch supports :-
    
    1) create new FE PCMs with a topology defined PCM ID.
    2) destroy existing static FE PCMs
    3) change the platform component driver.
    4) assign any new HW params fixups.
    
    The patch requires no changes to the machine drivers, but does add some
    platform component flags that the platform component driver can assign
    before loading topologies.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f4cd2bc View commit details
    Browse the repository at this point in the history
  13. [SQUASHME?] ASoC: core: Add name prefix for machines with topology re…

    …writes
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    ca84505 View commit details
    Browse the repository at this point in the history
  14. ALSA: core: Allow drivers to set R/W wait time.

    Currently ALSA core blocks userspace for about 10 seconds for PCM R/W IO.
    This needs to be configurable for modern hardware like DSPs where no
    pointer update in milliseconds can indicate terminal DSP errors.
    
    Add a substream variable to set the wait time in ms. This allows userspace
    and drivers to recover more quickly from terminal DSP errors.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    51f05df View commit details
    Browse the repository at this point in the history
  15. ASoC: SOF: Add Sound Open Firmware driver core

    The Sound Open Firmware driver core is a generic architecture
    independent layer that allows SOF to be used on many different different
    architectures and platforms. It abstracts DSP operations and IO methods
    so that the target DSP can be an internal memory mapped or external SPI
    or I2C based device. This abstraction also allows SOF to be run on
    many different VMs on the same physical HW.
    
    SOF also requires some data in ASoC PCM runtime data for looking up
    SOF data during ASoC PCM operations.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d4da475 View commit details
    Browse the repository at this point in the history
  16. ASoC: SOF: Add Sound Open Firmware KControl support

    SOF exposes regular ALSA Kcontrols that are defined by topology. This
    patch converts the Kcontrol IO to DSP IPC.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d2ee6b1 View commit details
    Browse the repository at this point in the history
  17. ASoC: SOF: Add driver debug support.

    Add debugFS files that can be used to expose DSP memories and
    and peripherals to userspace to assist with firmware debugging.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4c649d0 View commit details
    Browse the repository at this point in the history
  18. ASoC: SOF: Add support for IPC IO between DSP and Host

    Define an IPC ABI for all host <--> DSP communication. This ABI should
    be transport agnostic. i.e. it should work on MMIO and SPI/I2C style
    interfaces.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    ce4ffeb View commit details
    Browse the repository at this point in the history
  19. ASoC: SOF: Add PCM operations support

    Add support for exposing PCMs to userspace. PCMs are defined by topology
    and the operations in this patch map to SOF IPC calls.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9c9d49d View commit details
    Browse the repository at this point in the history
  20. ASoC: SOF: Add support for loading topologies

    SOF uses topology to define the DAPM graphs and widgets, DAIs, PCMs and set
    parameters for init and run time usage. This patch loads topology and
    maps it to IPC commands that are build the topology on the DSP.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    95545bc View commit details
    Browse the repository at this point in the history
  21. ASoC: SOF: Add DSP firmware trace event support

    Add a trace event buffer that can be used by userspace to read DSP runtime
    trace events alongside bespoke trace data in realtime for firmware debug.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    496c29a View commit details
    Browse the repository at this point in the history
  22. ASoC: SOF: Add DSP HW abstraction operations

    Add operation pointers that can be called by core to control a wide
    variety of DSP targets. The DSP HW drivers will fill in these
    operations.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    95b1b4e View commit details
    Browse the repository at this point in the history
  23. ASoC: SOF: Add firmware loader support

    The firmware loader exports APIs that can be called by core to load and
    process multiple different file formats.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    41ff0a4 View commit details
    Browse the repository at this point in the history
  24. ASoC: SOF: Add compressed PCM support

    Add support for compressed audio playback/capture in SOF.
    
    TODO: to be completed.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    a8711d6 View commit details
    Browse the repository at this point in the history
  25. ASoC: SOF: Add PM support

    Add support for saving and restoring DSP context in D3 to host DDR.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7c7884f View commit details
    Browse the repository at this point in the history
  26. ASoC: SOF: Add Nocodec machine driver support

    Add a simple "fallback" machine driver that can be used to enable SOF
    on boards with no codec device. This machine driver can also be forced
    for debug/development.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    543caaf View commit details
    Browse the repository at this point in the history
  27. ASoC: SOF: Intel: Add BYT, CHT and BSW DSP HW support.

    Add support for the audio DSP hardware found on Intel Baytrail,
    Cherrytrail and Braswell based devices.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    8c5bb0f View commit details
    Browse the repository at this point in the history
  28. ASoC: SOF: Intel: Add HSW HW DSP support

    Add DSP hardware support for Intel Haswell based devices.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    a289d92 View commit details
    Browse the repository at this point in the history
  29. ASoC: SOF: Intel: Add support for BDW HW DSP support

    Add SOF support for Intel Broadwell based devices.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    80c1ab5 View commit details
    Browse the repository at this point in the history
  30. ASoC: SOF: Intel: Add APL/CNL HW DSP support

    Add SOF hardware DSP support for Intel Apollolake and Cannonlake based
    devices.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d3be805 View commit details
    Browse the repository at this point in the history
  31. ASoC: SOF: Intel: Add HDA controller for Intel DSP

    Support HDA controller operations for DSP and provide space for future
    DSP HDA FW integration.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7f48b6b View commit details
    Browse the repository at this point in the history
  32. ASoC: SOF: Intel: Add Intel specific HDA DSP HW operations

    Add support for various PM and core reset/run state transitions.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    5d9b8b0 View commit details
    Browse the repository at this point in the history
  33. ASoC: SOF: Intel: Add Intel specific HDA IPC mechanisms.

    Add HDA specific IPC mechanism for Intel DSP HW.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e10ad95 View commit details
    Browse the repository at this point in the history
  34. ASoC: SOF: Intel: Add Intel specific HDA firmware loader

    Add support for loading DSP firmware on Intel HDA based platforms.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    8bb0c74 View commit details
    Browse the repository at this point in the history
  35. ASoC: SOF: Intel: Add Intel specific HDA PCM operations

    Add PCM operations for Intel HDA based DSPs.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    36319f4 View commit details
    Browse the repository at this point in the history
  36. ASoC: SOF: Intel: Add Intel specific HDA stream operations

    Add support or HDA DSP stream operations for Intel HDA DSPs.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c194611 View commit details
    Browse the repository at this point in the history
  37. ASoC: SOF: Intel: Add Intel specific HDA trace operations

    Add trace operations for Intel based HDA DSPs
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    0489f5a View commit details
    Browse the repository at this point in the history
  38. ASoC: SOF: Intel: Add platform differentiation for SKL, APL and CNL

    Add platform differentiation operations for different Intel HDA DSP
    platforms.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    db1915c View commit details
    Browse the repository at this point in the history
  39. ASoC: SOF: Add userspace ABI support

    Add userspace ABI for audio userspace application IO outside of regular
    ALSA PCM and kcontrols. This is intended to be used to format
    coefficients and data for custom processing components.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    843579f View commit details
    Browse the repository at this point in the history
  40. ASoC: SOF: Add VirtIO support

    Add support for running SOF on multiple VMs within the same HW.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4078be4 View commit details
    Browse the repository at this point in the history
  41. ASoC: SOF: Add SPI device support

    Add support for SPI based DSP devices.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    361530c View commit details
    Browse the repository at this point in the history
  42. ASoC: SOF: Add ACPI device support

    Add support ACPI based SOF DSP devices.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4021d60 View commit details
    Browse the repository at this point in the history
  43. ASoC: SOF: Add PCI device support

    Add support for PCI based DSP devices.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7bdc920 View commit details
    Browse the repository at this point in the history
  44. ASoC: SOF: Add Build support for SOF core and Intel drivers

    Build SOF core and Intel-specific drivers.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    bea036a View commit details
    Browse the repository at this point in the history
  45. ASoC: Intel: Kconfig: disable SST and legacy drivers when SOF is sele…

    …cted
    
    Make sure distros don't run into issues with multiple incompatible
    drivers selected for the same hardware.
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2c48cab View commit details
    Browse the repository at this point in the history
  46. ASoC: SOF: refine dapm route loading in sof

    Some virtual routes and widgets may been added in topology to reusing
    machine driver in Linux kernel. For virtual routes, both sink and source
    are not buffer. Since only buffer linked to component is supported by
    FW, others are reported as error, add check in route function, do not
    send it to FW when both source and sink are not buffer
    
    Signed-off-by: Rander Wang <[email protected]>
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    RanderWang authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    5119fdb View commit details
    Browse the repository at this point in the history
  47. ASoC: SOF: parse Xtensa exception causes

    Xtensa DSP panic will have a EXCCAUSE contains the exception cause.
    Parse the EXCCAUSE into readable message from
    Xtensa Instruction Set Architecture (ISA) Reference Manual
    
    Signed-off-by: Pan Xiuli <[email protected]>
    xiulipan authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    92e8a50 View commit details
    Browse the repository at this point in the history
  48. ASoC: uapi: sof: Add ipc config params and topology tokens for DMIC D…

    …AI type
    
    This patch adds the ipc config params and the topology tokens
    for SOF DMIC DAI type.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    507d6f9 View commit details
    Browse the repository at this point in the history
  49. ASoC: SOF: Add support for parsing DMIC specific tokens from topology

    Update dmic specific tokens in topology parser and configure ipc
    params for DMIC DAI type.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4942703 View commit details
    Browse the repository at this point in the history
  50. ASoC: SOF: support DMIC DAI type during link fixup

    Handle DMIC configuration errors during link fixup.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    3f3abba View commit details
    Browse the repository at this point in the history
  51. [WORKAROUND] ASoC: SOF: start HDA DMA at hw_params() stage and remove…

    … stream_trigger()
    
    It require HDA DMA to be available before trigger_start(), Here move
    host side DMA start to earlier stage(hw_params) and remove
    stream_trigger() as it is no need anymore.
    
    This fix will help to remove HDA DMA workaround fix inside firmware.
    
    TODO: revisit this patch for SOF 1.2, this removes the ability to use
    the RUN bits for multi-stream synchronization and is likely not an
    acceptable long-term solution
    
    Signed-off-by: Keyon Jie <[email protected]>
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    keyonjie authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f1ebcc2 View commit details
    Browse the repository at this point in the history
  52. ASoC: Intel: make bytcht_da7213 with SOF

    Disable hard-coded routes when SOF is enabled
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    0ba34ad View commit details
    Browse the repository at this point in the history
  53. ASoC: Intel: make cht_bsw_max98090 work with SOF

    Disable hard-coded routes when SOF is enabled
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    8b2b17c View commit details
    Browse the repository at this point in the history
  54. ASoC: Intel: cht-bsw-rt5645: work with SOF

    Disable hard-coded routes when SOF is selected
    TODO: bytcr is not yet supported
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    46a1199 View commit details
    Browse the repository at this point in the history
  55. ASoC: Intel: cht-bsw-rt5672: work with SOF

    Disable hard-coded routes when SOF is enabled
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2759eb0 View commit details
    Browse the repository at this point in the history
  56. ASoC: Intel: make bytcr_rt5640 work with SOF

    Disable hard-coded routes when SOF is enabled
    TODO: bytcr is not yet supported
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    87d8985 View commit details
    Browse the repository at this point in the history
  57. ASoC: Intel: Make sure HSW/BDW based machine drivers build for SOF

    HSW/BDW use hard coded IPC calls to set SSP, not needed in SOF as SSP is
    configured via topology.
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9b9e392 View commit details
    Browse the repository at this point in the history
  58. ASoC: Intel: Kconfig: expose common option between SST and SOF drivers

    Both drivers rely on the same module, expose it for both configurations
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e63c8a9 View commit details
    Browse the repository at this point in the history
  59. ASoC: Intel: select relevant machine drivers for SOF

    SOF can only support specific machine drivers, handle dependencies
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    fff657f View commit details
    Browse the repository at this point in the history
  60. ASoC: Intel: add machine driver for BXT/APL with pcm512x codec

    This patch adds the machine driver for the Up2 board with the Hifiberry
    DAC+ codec.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    a3039a0 View commit details
    Browse the repository at this point in the history
  61. ASoC: Intel: add rt274 machine driver for cnl

    port rt274 machine driver from android kernel source
    
    Signed-off-by: Rander Wang <[email protected]>
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    RanderWang authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    18ba099 View commit details
    Browse the repository at this point in the history
  62. ASoC: Intel: make cnl_rt274 work with SOF

    (0)fix alignment issues for upstream
    (1)refine machine driver to make it work with sof
    (2)disable DMIC for it is not ready now
    
    Signed-off-by: Rander Wang <[email protected]>
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1ac86e1 View commit details
    Browse the repository at this point in the history
  63. ASoC: tdf8532: NXP TDF8532 audio class-D amplifier driver

    This is a basic driver to register the codec, expose the
    codec DAI and control the power mode of the amplifier.
    
    Change-Id: Ie6ab037cd4d6c87e8e139b6d8af6cd4295445bf2
    Signed-off-by: Mohit Sinha <[email protected]>
    Signed-off-by: Steffen Wagner <[email protected]>
    Reviewed-on: https://git-gar-1.devtools.intel.com/gerrit/15296
    Reviewed-by: B, Jayachandran <[email protected]>
    Reviewed-by: Shaik, Kareem M <[email protected]>
    Reviewed-by: Koul, Vinod <[email protected]>
    Tested-by: Sm, Bhadur A <[email protected]>
    Wagner, Steffen authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    270eb22 View commit details
    Browse the repository at this point in the history
  64. ASoC: tdf8532: Fix compilation warnings

    Initialized the reported variables, listed below
    
    warning: 'ret' may be used uninitialized in this
    function
    warning: 'status_repl' may be used uninitialized in this
    function
    
    Change-Id: I6ca5a6e017402a582239d75959c122ffaa9f7298
    Signed-off-by: Gogineni, GiribabuX <[email protected]>
    Reviewed-on: https://git-gar-1.devtools.intel.com/gerrit/17572
    Reviewed-by: Singh, Guneshwor O <[email protected]>
    Reviewed-by: Sinha, Mohit <[email protected]>
    Reviewed-by: Shaik, Kareem M <[email protected]>
    Reviewed-by: Koul, Vinod <[email protected]>
    Tested-by: Sm, Bhadur A <[email protected]>
    Gogineni, GiribabuX authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f7bae90 View commit details
    Browse the repository at this point in the history
  65. ASoC: tdf8532: Add delay while reading a packet from I2C

    While doing the continuous play and stop, the codec
    may not be ready for I2C reading after successive writes.
    This triggers BE failure, because I2C reading value is incorrect.
    Fix this by adding 10ms delay to ensure the smooth I2C read and write.
    
    Change-Id: If918e263bc799fecc2c807229f5b4b165e011fa6
    Signed-off-by: Gogineni, GiribabuX <[email protected]>
    Reviewed-on: https://git-gar-1.devtools.intel.com/gerrit/20404
    Reviewed-by: Shaik, Kareem M <[email protected]>
    Reviewed-by: Sinha, Mohit <[email protected]>
    Reviewed-by: Nc, Shreyas <[email protected]>
    Reviewed-by: Periyasamy, SriramX <[email protected]>
    Reviewed-by: Kale, Sanyog R <[email protected]>
    Tested-by: Sm, Bhadur A <[email protected]>
    Gogineni, GiribabuX authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e26299c View commit details
    Browse the repository at this point in the history
  66. ASoC: tdf8532: Fix the codec status error issue on APL-GPMRB

    Based on the TDF8532 manual:
    If the wait_state result is ok, we should send CLK_DISCONNECT
    command to force codec from STANDBY(2) to IDLE(1).
    If the wait_state result is timeout, the codec state should be
    at Clockfail(7), we still should send CLK_DISCONNECT command
    force the codec from Clockfail(7) to Idle(1).
    
    Signed-off-by: Wu Zhigang <[email protected]>
    Reviewed-by: Keyon Jie <[email protected]>
    Wu Zhigang authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    8dd7f4a View commit details
    Browse the repository at this point in the history
  67. ASoC: Intel: Boards: Add BXTP MRB machine driver for NXP TDF8532

    This is the machine driver for NXP TDF8532, from production
    kernel, rebased it to sof-v4.14 base.
    
    Signed-off-by: Sinha, Mohit <[email protected]>
    Signed-off-by: Markus Schweikhardt <[email protected]>
    Signed-off-by: Pankaj Bharadiya <[email protected]>
    Signed-off-by: Kareem,Shaik <[email protected]>
    Signed-off-by: Keyon Jie <[email protected]>
    keyonjie authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    052f669 View commit details
    Browse the repository at this point in the history
  68. ASoC: Intel: bxt-tdf8532: reuse machine driver for GP-MRB

    Signed-off-by: Keyon Jie <[email protected]>
    keyonjie authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    439aaa9 View commit details
    Browse the repository at this point in the history
  69. ASoC: Intel: bxt-tdf8532: FIX: don't use add_dai_link() for SOF

    We set ignore_machine for SOF soc platform driver, which will trigger
    overriding FEs in soc_check_tplg_fes(), but this overriding may be
    overidden again by add_dai_link() in bxt_tdf8532, e.g. platform_name
    will be modified to be "0000:00:0e.0", which is not exist in SOF.
    
    Here add #ifdef to bypass add_dai_link() for using the machine driver
    with SOF to fix the overridden again issue.
    
    Signed-off-by: Keyon Jie <[email protected]>
    keyonjie authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    b6666c6 View commit details
    Browse the repository at this point in the history
  70. ALSA: HACK: Fix rmmod crash

    Something appears to corrupt the runtime->status on second playback...
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    77467b9 View commit details
    Browse the repository at this point in the history
  71. [NOT FOR UPSTREAM] ASoC: SOF: enable DEBUG by default

    better to use dynamic debug for products but it's really convenient
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    dbf9e8c View commit details
    Browse the repository at this point in the history
  72. ASoC: Intel: replace snd_soc_codec to snd_soc_component in bxt-pcm512x

    Codec may be can not use now, use the component instead.
    
    Signed-off-by: Pan Xiuli <[email protected]>
    xiulipan authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    bc4b9e3 View commit details
    Browse the repository at this point in the history
  73. ASoC: Intel: bytcr_rt5651: work with sof only with SSP2 AIF1

    bytcr_rt5651 can work with ssp0 and ssp2, disable ssp0 support for SOF
    only support SSP2 AIF1 now.
    Also disable hard code routing for SSP2 AIF1.
    
    Signed-off-by: Pan Xiuli <[email protected]>
    xiulipan authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    b7229c1 View commit details
    Browse the repository at this point in the history
  74. ASoC: SOF: topology: free volume table while unloading pga widget

    Free the volume table associated with the pga widget when it is
    unloaded.
    
    Tested on: Minnowboard Turbot w/ RT5651 and Up^2 w/ Hifiberry DAC+ PRO
    Passed sanity tests on both
    
    SOF: Master
    SOFT: master
    Kernel: https://github.com/thesofproject/linux branch: topic/sof-dev
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    b83deba View commit details
    Browse the repository at this point in the history
  75. acpi: blacklist: remove quirk for Dell XPS13 when SOF is enabled

    Audio works well in I2S mode with SOF (Sound Open Firmware), no
    need for this quirk
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    ed6cb43 View commit details
    Browse the repository at this point in the history
  76. ASoC: Intel: common: add ACPI match for CannonLake

    MX98373 is used on some CNL boards
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e97bc1f View commit details
    Browse the repository at this point in the history
  77. ASoC: SOF: fix warning about assigning __le to u16 type

    This patchs addresses the warning about assigning a __le value
    to a u16 type.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    af410da View commit details
    Browse the repository at this point in the history
  78. ASoC: SOF: topology: fix dmic pdm token offsets

    This patch fixes the dmic pdm token offsets to reflect the correct
    offset within the sof_ipc_dai_dmic_pdm_ctrl structure.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c5450f7 View commit details
    Browse the repository at this point in the history
  79. ASoC: SOF: topology: fix logic for parsing dmic pdm tokens

    This patch fixes the logic for parsing the dmic pdm tokens
    by using the private value in sof_dev to track the pdm
    config array element being parsed and passing the appropriate
    offset while getting the token. No need for a separate function
    to parse the pdm tokens anymore.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    04ca261 View commit details
    Browse the repository at this point in the history
  80. ASoC: SOF: refinement for HDA DMA start/stop

    1. Update to follow the start/stop sequence suggested by firmware team.
    
    2. Preserve trigger stop to fix module unload/reload fail regression
    issue introduced by commit:
    [WORKAROUND] ASoC: SOF: start HDA DMA at hw_params() stage and remove
    stream_trigger().
    
    Signed-off-by: Keyon Jie <[email protected]>
    keyonjie authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f42f8cf View commit details
    Browse the repository at this point in the history
  81. ASoC: uapi: sof: remove dmac id and dmac channel members from ipc hos…

    …t and dai comp def
    
    The firmware no longer uses the dmac id and dmac channel from
    topology.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    aaeb5cf View commit details
    Browse the repository at this point in the history
  82. ASoC: uapi: sof: remove DMAC ID and DMAC channel tokens

    No need to pass dmac id and dmac chan from topology as the firmware
    does not use this info anymore.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9b0fa72 View commit details
    Browse the repository at this point in the history
  83. ASoC: SOF: topology: remove dmac id and dmac channel token parsing

    dmac id and dmac channel tokens are no longer used by the firmware.
    So no need to process them.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4bd6b22 View commit details
    Browse the repository at this point in the history
  84. ASoC: SOF: Move xtensa oops/stack dump out of SOF core

    Move it to sof/xtensa/core.c
    
    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    59efe71 View commit details
    Browse the repository at this point in the history
  85. ASoC: SOF: Cleanup priv.h and add comments for upstreaming.

    Signed-off-by: Liam Girdwood <[email protected]>
    lrgirdwo authored and plbossart committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    df15329 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2018

  1. ASoC: Intel: replace snd_soc_codec to snd_soc_component in cnl_rt274

    Codec may be can not use now, use the component instead
    
    Signed-off-by: Pan Xiuli <[email protected]>
    xiulipan authored and plbossart committed Jun 22, 2018
    Configuration menu
    Copy the full SHA
    51f6db7 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2018

  1. ASoC: Intel: common: add ACPI matching tables for ICL

    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    plbossart committed Jun 23, 2018
    Configuration menu
    Copy the full SHA
    9b843df View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2018

  1. ASoC: uapi: sof: rename clk_id to mclk_id to make it explicit and fix…

    … the comment
    
    Some platforms have more than one MCLK's exposed. So fix the comment
    and rename the member to mclk_id to make it explicit to be used for
    passing the corrent mclk id to the firmware.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 26, 2018
    Configuration menu
    Copy the full SHA
    2b2dae0 View commit details
    Browse the repository at this point in the history
  2. ASoC: uapi: sof: add token for SSP MCLK ID

    Add a token for SSP_MCLK_ID which will be used to pass the MCLK ID
    for configuring the SSP.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 26, 2018
    Configuration menu
    Copy the full SHA
    7f45e9b View commit details
    Browse the repository at this point in the history
  3. ASoC: SOF: topology: add SSP_MCLK_ID to ssp_tokens to enable parsing …

    …the mclk id from topology
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 26, 2018
    Configuration menu
    Copy the full SHA
    e409473 View commit details
    Browse the repository at this point in the history
  4. ASoC: SOF: merge sample_bits tokens with the rest of the ssp_tokens

    Sample bits is SSP specific. So move it to be part of SSP
    tokens. dai_ssp_link_tokens are not need anymore. So remove it
    and the corresponding call to parse the tokens.
    
    Signed-off-by: Ranjani Sridharan <[email protected]>
    ranj063 authored and plbossart committed Jun 26, 2018
    Configuration menu
    Copy the full SHA
    cb05347 View commit details
    Browse the repository at this point in the history