1. 16 Feb, 2018 28 commits
  2. 03 Feb, 2018 12 commits
    • Greg Kroah-Hartman's avatar
      Linux 4.4.115 · f0feeec9
      Greg Kroah-Hartman authored
      f0feeec9
    • Stefan Agner's avatar
      spi: imx: do not access registers while clocks disabled · f84a8d44
      Stefan Agner authored
      commit d593574a upstream.
      
      Since clocks are disabled except during message transfer clocks
      are also disabled when spi_imx_remove gets called. Accessing
      registers leads to a freeeze at least on a i.MX 6ULL. Enable
      clocks before disabling accessing the MXC_CSPICTRL register.
      
      Fixes: 9e556dcc ("spi: spi-imx: only enable the clocks when we start to transfer a message")
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f84a8d44
    • Fabio Estevam's avatar
      serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS · ec73ade6
      Fabio Estevam authored
      commit 38b1f0fb upstream.
      
      The wakeup mechanism via RTSDEN bit relies on the system using the RTS/CTS
      lines, so only allow such wakeup method when the system actually has
      RTS/CTS support.
      
      Fixes: bc85734b ("serial: imx: allow waking up on RTSD")
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
      Reviewed-by: default avatarMartin Kaiser <martin@kaiser.cx>
      Acked-by: default avatarFugang Duan <fugang.duan@nxp.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ec73ade6
    • Mark Salyzyn's avatar
      selinux: general protection fault in sock_has_perm · d489d1e0
      Mark Salyzyn authored
      In the absence of commit a4298e45 ("net: add SOCK_RCU_FREE socket
      flag") and all the associated infrastructure changes to take advantage
      of a RCU grace period before freeing, there is a heightened
      possibility that a security check is performed while an ill-timed
      setsockopt call races in from user space.  It then is prudent to null
      check sk_security, and if the case, reject the permissions.
      
      Because of the nature of this problem, hard to duplicate, no clear
      path, this patch is a simplified band-aid for stable trees lacking the
      infrastructure for the series of commits leading up to providing a
      suitable RCU grace period.  This adjustment is orthogonal to
      infrastructure improvements that may nullify the needed check, but
      could be added as good code hygiene in all trees.
      
      general protection fault: 0000 [#1] PREEMPT SMP KASAN
      CPU: 1 PID: 14233 Comm: syz-executor2 Not tainted 4.4.112-g5f6325b #28
      task: ffff8801d1095f00 task.stack: ffff8800b5950000
      RIP: 0010:[<ffffffff81b69b7e>]  [<ffffffff81b69b7e>] sock_has_perm+0x1fe/0x3e0 security/selinux/hooks.c:4069
      RSP: 0018:ffff8800b5957ce0  EFLAGS: 00010202
      RAX: dffffc0000000000 RBX: 1ffff10016b2af9f RCX: ffffffff81b69b51
      RDX: 0000000000000002 RSI: 0000000000000000 RDI: 0000000000000010
      RBP: ffff8800b5957de0 R08: 0000000000000001 R09: 0000000000000001
      R10: 0000000000000000 R11: 1ffff10016b2af68 R12: ffff8800b5957db8
      R13: 0000000000000000 R14: ffff8800b7259f40 R15: 00000000000000d7
      FS:  00007f72f5ae2700(0000) GS:ffff8801db300000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000a2fa38 CR3: 00000001d7980000 CR4: 0000000000160670
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Stack:
       ffffffff81b69a1f ffff8800b5957d58 00008000b5957d30 0000000041b58ab3
       ffffffff83fc82f2 ffffffff81b69980 0000000000000246 ffff8801d1096770
       ffff8801d3165668 ffffffff8157844b ffff8801d1095f00
       ffff880000000001
      Call Trace:
      [<ffffffff81b6a19d>] selinux_socket_setsockopt+0x4d/0x80 security/selinux/hooks.c:4338
      [<ffffffff81b4873d>] security_socket_setsockopt+0x7d/0xb0 security/security.c:1257
      [<ffffffff82df1ac8>] SYSC_setsockopt net/socket.c:1757 [inline]
      [<ffffffff82df1ac8>] SyS_setsockopt+0xe8/0x250 net/socket.c:1746
      [<ffffffff83776499>] entry_SYSCALL_64_fastpath+0x16/0x92
      Code: c2 42 9b b6 81 be 01 00 00 00 48 c7 c7 a0 cb 2b 84 e8
      f7 2f 6d ff 49 8d 7d 10 48 b8 00 00 00 00 00 fc ff df 48 89
      fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 83 01 00
      00 41 8b 75 10 31
      RIP  [<ffffffff81b69b7e>] sock_has_perm+0x1fe/0x3e0 security/selinux/hooks.c:4069
      RSP <ffff8800b5957ce0>
      ---[ end trace 7b5aaf788fef6174 ]---
      Signed-off-by: default avatarMark Salyzyn <salyzyn@android.com>
      Acked-by: default avatarPaul Moore <paul@paul-moore.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Stephen Smalley <sds@tycho.nsa.gov>
      Cc: selinux@tycho.nsa.gov
      Cc: linux-security-module@vger.kernel.org
      Cc: Eric Paris <eparis@parisplace.org>
      Cc: Serge E. Hallyn <serge@hallyn.com>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d489d1e0
    • Oliver Neukum's avatar
      usb: uas: unconditionally bring back host after reset · 1bbdf764
      Oliver Neukum authored
      commit cbeef22f upstream.
      
      Quoting Hans:
      
      If we return 1 from our post_reset handler, then our disconnect handler
      will be called immediately afterwards. Since pre_reset blocks all scsi
      requests our disconnect handler will then hang in the scsi_remove_host
      call.
      
      This is esp. bad because our disconnect handler hanging for ever also
      stops the USB subsys from enumerating any new USB devices, causes commands
      like lsusb to hang, etc.
      
      In practice this happens when unplugging some uas devices because the hub
      code may see the device as needing a warm-reset and calls usb_reset_device
      before seeing the disconnect. In this case uas_configure_endpoints fails
      with -ENODEV. We do not want to print an error for this, so this commit
      also silences the shost_printk for -ENODEV.
      
      ENDQUOTE
      
      However, if we do that we better drop any unconditional execution
      and report to the SCSI subsystem that we have undergone a reset
      but we are not operational now.
      Signed-off-by: default avatarOliver Neukum <oneukum@suse.com>
      Reported-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1bbdf764
    • Hemant Kumar's avatar
      usb: f_fs: Prevent gadget unbind if it is already unbound · 68b43caf
      Hemant Kumar authored
      commit ce5bf9a5 upstream.
      
      Upon usb composition switch there is possibility of ep0 file
      release happening after gadget driver bind. In case of composition
      switch from adb to a non-adb composition gadget will never gets
      bound again resulting into failure of usb device enumeration. Fix
      this issue by checking FFS_FL_BOUND flag and avoid extra
      gadget driver unbind if it is already done as part of composition
      switch.
      
      This fixes adb reconnection error reported on Android running
      v4.4 and above kernel versions. Verified on Hikey running vanilla
      v4.15-rc7 + few out of tree Mali patches.
      
      Reviewed-at: https://android-review.googlesource.com/#/c/582632/
      
      Cc: Felipe Balbi <balbi@kernel.org>
      Cc: Greg KH <gregkh@linux-foundation.org>
      Cc: Michal Nazarewicz <mina86@mina86.com>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Dmitry Shmidt <dimitrysh@google.com>
      Cc: Badhri <badhri@google.com>
      Cc: Android Kernel Team <kernel-team@android.com>
      Signed-off-by: default avatarHemant Kumar <hemantk@codeaurora.org>
      [AmitP: Cherry-picked it from android-4.14 and updated the commit log]
      Signed-off-by: default avatarAmit Pundir <amit.pundir@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      68b43caf
    • Johan Hovold's avatar
      USB: serial: simple: add Motorola Tetra driver · bab3a0da
      Johan Hovold authored
      commit 46fe895e upstream.
      
      Add new Motorola Tetra (simple) driver for Motorola Solutions TETRA PEI
      devices.
      
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=0cad ProdID=9011 Rev=24.16
      S:  Manufacturer=Motorola Solutions Inc.
      S:  Product=Motorola Solutions TETRA PEI interface
      C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
      I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      
      Note that these devices do not support the CDC SET_CONTROL_LINE_STATE
      request (for any interface).
      Reported-by: default avatarMax Schulze <max.schulze@posteo.de>
      Tested-by: default avatarMax Schulze <max.schulze@posteo.de>
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      bab3a0da
    • Shuah Khan's avatar
      usbip: list: don't list devices attached to vhci_hcd · 46c651ae
      Shuah Khan authored
      commit ef824501 upstream.
      
      usbip host lists devices attached to vhci_hcd on the same server
      when user does attach over localhost or specifies the server as the
      remote.
      
      usbip attach -r localhost -b busid
      or
      usbip attach -r servername (or server IP)
      
      Fix it to check and not list devices that are attached to vhci_hcd.
      Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      46c651ae
    • Shuah Khan's avatar
      usbip: prevent bind loops on devices attached to vhci_hcd · a7d22569
      Shuah Khan authored
      commit ef54cf0c upstream.
      
      usbip host binds to devices attached to vhci_hcd on the same server
      when user does attach over localhost or specifies the server as the
      remote.
      
      usbip attach -r localhost -b busid
      or
      usbip attach -r servername (or server IP)
      
      Unbind followed by bind works, however device is left in a bad state with
      accesses via the attached busid result in errors and system hangs during
      shutdown.
      
      Fix it to check and bail out if the device is already attached to vhci_hcd.
      Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a7d22569
    • Jia-Ju Bai's avatar
      USB: serial: io_edgeport: fix possible sleep-in-atomic · 95bb041e
      Jia-Ju Bai authored
      commit c7b8f778 upstream.
      
      According to drivers/usb/serial/io_edgeport.c, the driver may sleep
      under a spinlock.
      The function call path is:
      edge_bulk_in_callback (acquire the spinlock)
         process_rcvd_data
           process_rcvd_status
             change_port_settings
               send_iosp_ext_cmd
                 write_cmd_usb
                   usb_kill_urb --> may sleep
      
      To fix it, the redundant usb_kill_urb() is removed from the error path
      after usb_submit_urb() fails.
      
      This possible bug is found by my static analysis tool (DSAC) and checked
      by my code review.
      Signed-off-by: default avatarJia-Ju Bai <baijiaju1990@gmail.com>
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      95bb041e
    • Oliver Neukum's avatar
      CDC-ACM: apply quirk for card reader · aaea9d3f
      Oliver Neukum authored
      commit df1cc78a upstream.
      
      This devices drops random bytes from messages if you talk to it
      too fast.
      Signed-off-by: default avatarOliver Neukum <oneukum@suse.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      aaea9d3f
    • Hans de Goede's avatar
      USB: cdc-acm: Do not log urb submission errors on disconnect · 9d851e15
      Hans de Goede authored
      commit f0386c08 upstream.
      
      When disconnected sometimes the cdc-acm driver logs errors like these:
      
      [20278.039417] cdc_acm 2-2:2.1: urb 9 failed submission with -19
      [20278.042924] cdc_acm 2-2:2.1: urb 10 failed submission with -19
      [20278.046449] cdc_acm 2-2:2.1: urb 11 failed submission with -19
      [20278.049920] cdc_acm 2-2:2.1: urb 12 failed submission with -19
      [20278.053442] cdc_acm 2-2:2.1: urb 13 failed submission with -19
      [20278.056915] cdc_acm 2-2:2.1: urb 14 failed submission with -19
      [20278.060418] cdc_acm 2-2:2.1: urb 15 failed submission with -19
      
      Silence these by not logging errors when the result is -ENODEV.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarOliver Neukum <oneukum@suse.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9d851e15