Skip to content
  1. Mar 15, 2019
  2. Mar 14, 2019
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · dc2535be
      Linus Torvalds authored
      Pull clk subsystem updates from Stephen Boyd:
       "We have a fairly balanced mix of clk driver updates and clk framework
        updates this time around. It's the usual pile of new drivers for new
        hardware out there and the normal small fixes and updates, but then we
        have some core framework changes too.
      
        In the core framework, we introduce support for a clk_get_optional()
        API to get clks that may not always be populated and a way to devm
        manage clkdev lookups registered by provider drivers. We also do some
        refactoring to simplify the interface between clkdev and the common
        clk framework so we can reuse the DT parsing and clk_get() path in
        provider drivers in the future. This work will continue in the next
        few cycles while we convert how providers specify clk parents.
      
        On the driver side, the biggest part of the dirstat is the Amlogic clk
        driver that got support for the G12A SoC. It dominates with almost
        h...
      dc2535be
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-tables', 'acpi-debug', 'acpi-doc' and 'acpi-misc' · b6e88119
      Rafael J. Wysocki authored
      * acpi-tables:
        ACPI: tables: Simplify PPTT leaf node detection
      
      * acpi-debug:
        ACPI: sysfs: Prevent get_status() from returning acpi_status
      
      * acpi-doc:
        ACPI: Documentation: Fix path for acpidbg tool
      
      * acpi-misc:
        ACPI / configfs: Mark local data structures static
        ACPI / configfs: Mark local functions static
      b6e88119
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-opp' and 'pm-tools' · b444e1aa
      Rafael J. Wysocki authored
      * pm-opp:
        PM / OPP: Update performance state when freq == old_freq
        OPP: Fix handling of multiple power domains
      
      * pm-tools:
        tools/power/cpupower: Display boost frequency separately
      b444e1aa
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-domains' · 75f3e239
      Rafael J. Wysocki authored
      * pm-domains:
        PM / domains: Remove one unnecessary blank line
        PM / Domains: Return early for all errors in _genpd_power_off()
        PM / Domains: Improve warn for multiple states but no governor
      75f3e239
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpuidle' and 'pm-cpufreq' · 4650b279
      Rafael J. Wysocki authored
      * pm-cpuidle:
        cpuidle: governor: Add new governors to cpuidle_governors again
        cpuidle: menu: Avoid overflows when computing variance
      
      * pm-cpufreq:
        cpufreq: intel_pstate: Fix up iowait_boost computation
        cpufreq: pxa2xx: remove incorrect __init annotation
        cpufreq: Improve kerneldoc comments for cpufreq_cpu_get/put()
      4650b279
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-core', 'pm-sleep' and 'pm-qos' · e6035258
      Rafael J. Wysocki authored
      * pm-core:
        PM-runtime: Call pm_runtime_active|suspended_time() from sysfs
        PM-runtime: Consolidate code to get active/suspended time
      
      * pm-sleep:
        PM / wakeup: Drop wakeup_source_drop()
        PM / wakeup: Rework wakeup source timer cancellation
      
      * pm-qos:
        PM / QoS: Fix typo in file description
      e6035258
    • Xin Long's avatar
      pptp: dst_release sk_dst_cache in pptp_sock_destruct · 9417d81f
      Xin Long authored
      sk_setup_caps() is called to set sk->sk_dst_cache in pptp_connect,
      so we have to dst_release(sk->sk_dst_cache) in pptp_sock_destruct,
      otherwise, the dst refcnt will leak.
      
      It can be reproduced by this syz log:
      
        r1 = socket$pptp(0x18, 0x1, 0x2)
        bind$pptp(r1, &(0x7f0000000100)={0x18, 0x2, {0x0, @local}}, 0x1e)
        connect$pptp(r1, &(0x7f0000000000)={0x18, 0x2, {0x3, @remote}}, 0x1e)
      
      Consecutive dmesg warnings will occur:
      
        unregister_netdevice: waiting for lo to become free. Usage count = 1
      
      v1->v2:
        - use rcu_dereference_protected() instead of rcu_dereference_check(),
          as suggested by Eric.
      
      Fixes: 00959ade
      
       ("PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol)")
      Reported-by: default avatarXiumei Mu <xmu@redhat.com>
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9417d81f
    • Florian Fainelli's avatar
      MAINTAINERS: GENET & SYSTEMPORT: Add internal Broadcom list · 63b6c974
      Florian Fainelli authored
      
      
      There is a patchwork instance behind bcm-kernel-feedback-list that is
      helpful to track submissions, add this list for the Broadcom GENET and
      SYSTEMPORT drivers.
      
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      63b6c974
    • Eric Dumazet's avatar
      l2tp: fix infoleak in l2tp_ip6_recvmsg() · 163d1c3d
      Eric Dumazet authored
      Back in 2013 Hannes took care of most of such leaks in commit
      bceaa902 ("inet: prevent leakage of uninitialized memory to user in recv syscalls")
      
      But the bug in l2tp_ip6_recvmsg() has not been fixed.
      
      syzbot report :
      
      BUG: KMSAN: kernel-infoleak in _copy_to_user+0x16b/0x1f0 lib/usercopy.c:32
      CPU: 1 PID: 10996 Comm: syz-executor362 Not tainted 5.0.0+ #11
      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+0x173/0x1d0 lib/dump_stack.c:113
       kmsan_report+0x12e/0x2a0 mm/kmsan/kmsan.c:600
       kmsan_internal_check_memory+0x9f4/0xb10 mm/kmsan/kmsan.c:694
       kmsan_copy_to_user+0xab/0xc0 mm/kmsan/kmsan_hooks.c:601
       _copy_to_user+0x16b/0x1f0 lib/usercopy.c:32
       copy_to_user include/linux/uaccess.h:174 [inline]
       move_addr_to_user+0x311/0x570 net/socket.c:227
       ___sys_recvmsg+0xb65/0x1310 net/socket.c:2283
       do_recvmmsg+0x646/0x10c0 net/socket.c:2390
       __sys_recvmmsg net/socket.c:2469 [inline]
       __do_sys_recvmmsg net/socket.c:2492 [inline]
       __se_sys_recvmmsg+0x1d1/0x350 net/socket.c:2485
       __x64_sys_recvmmsg+0x62/0x80 net/socket.c:2485
       do_syscall_64+0xbc/0xf0 arch/x86/entry/common.c:291
       entry_SYSCALL_64_after_hwframe+0x63/0xe7
      RIP: 0033:0x445819
      Code: e8 6c b6 02 00 48 83 c4 18 c3 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b 12 fc ff c3 66 2e 0f 1f 84 00 00 00 00
      RSP: 002b:00007f64453eddb8 EFLAGS: 00000246 ORIG_RAX: 000000000000012b
      RAX: ffffffffffffffda RBX: 00000000006dac28 RCX: 0000000000445819
      RDX: 0000000000000005 RSI: 0000000020002f80 RDI: 0000000000000003
      RBP: 00000000006dac20 R08: 0000000000000000 R09: 0000000000000000
      R10: 0000000000000000 R11: 0000000000000246 R12: 00000000006dac2c
      R13: 00007ffeba8f87af R14: 00007f64453ee9c0 R15: 20c49ba5e353f7cf
      
      Local variable description: ----addr@___sys_recvmsg
      Variable was created at:
       ___sys_recvmsg+0xf6/0x1310 net/socket.c:2244
       do_recvmmsg+0x646/0x10c0 net/socket.c:2390
      
      Bytes 0-31 of 32 are uninitialized
      Memory access of size 32 starts at ffff8880ae62fbb0
      Data copied to user address 0000000020000000
      
      Fixes: a32e0eec
      
       ("l2tp: introduce L2TPv3 IP encapsulation support for IPv6")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      163d1c3d
    • Vakul Garg's avatar
      net/tls: Inform user space about send buffer availability · 4504ab0e
      Vakul Garg authored
      A previous fix ("tls: Fix write space handling") assumed that
      user space application gets informed about the socket send buffer
      availability when tls_push_sg() gets called. Inside tls_push_sg(), in
      case do_tcp_sendpages() returns 0, the function returns without calling
      ctx->sk_write_space. Further, the new function tls_sw_write_space()
      did not invoke ctx->sk_write_space. This leads to situation that user
      space application encounters a lockup always waiting for socket send
      buffer to become available.
      
      Rather than call ctx->sk_write_space from tls_push_sg(), it should be
      called from tls_write_space. So whenever tcp stack invokes
      sk->sk_write_space after freeing socket send buffer, we always declare
      the same to user space by the way of invoking ctx->sk_write_space.
      
      Fixes: 7463d3a2
      
       ("tls: Fix write space handling")
      Signed-off-by: default avatarVakul Garg <vakul.garg@nxp.com>
      Reviewed-by: default avatarBoris Pismenny <borisp@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4504ab0e