1. 02 Aug, 2018 1 commit
  2. 28 Jul, 2018 2 commits
  3. 27 Jul, 2018 1 commit
    • Takashi Iwai's avatar
      ALSA: virmidi: Fix too long output trigger loop · 50e9ffb1
      Takashi Iwai authored
      The virmidi output trigger tries to parse the all available bytes and
      process sequencer events as much as possible.  In a normal situation,
      this is supposed to be relatively short, but a program may give a huge
      buffer and it'll take a long time in a single spin lock, which may
      eventually lead to a soft lockup.
      
      This patch simply adds a workaround, a cond_resched() call in the loop
      if applicable.  A better solution would be to move the event processor
      into a work, but let's put a duct-tape quickly at first.
      Reported-and-tested-by: default avatarDae R. Jeong <threeearcat@gmail.com>
      Reported-by: syzbot+619d9f40141d826b097e@syzkaller.appspotmail.com
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      50e9ffb1
  4. 26 Jul, 2018 4 commits
    • Takashi Iwai's avatar
      ALSA: cs5535audio: Fix invalid endian conversion · 69756930
      Takashi Iwai authored
      One place in cs5535audio_build_dma_packets() does an extra conversion
      via cpu_to_le32(); namely jmpprd_addr is passed to setup_prd() ops,
      which writes the value via cs_writel().  That is, the callback does
      the conversion by itself, and we don't need to convert beforehand.
      
      This patch fixes that bogus conversion.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      69756930
    • Takashi Iwai's avatar
      ALSA: vxpocket: Fix invalid endian conversions · 3acd3e3b
      Takashi Iwai authored
      The endian conversions used in vxp_dma_read() and vxp_dma_write() are
      superfluous and even wrong on big-endian machines, as inw() and outw()
      already do conversions.  Kill them.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3acd3e3b
    • Takashi Iwai's avatar
      ALSA: vx222: Fix invalid endian conversions · fff71a4c
      Takashi Iwai authored
      The endian conversions used in vx2_dma_read() and vx2_dma_write() are
      superfluous and even wrong on big-endian machines, as inl() and outl()
      already do conversions.  Kill them.
      
      Spotted by sparse, a warning like:
        sound/pci/vx222/vx222_ops.c:278:30: warning: incorrect type in argument 1 (different base types)
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fff71a4c
    • Takashi Iwai's avatar
      ALSA: seq: Fix poll() error return · a49a71f6
      Takashi Iwai authored
      The sanity checks in ALSA sequencer and OSS sequencer emulation codes
      return falsely -ENXIO from poll callback.  They should be EPOLLERR
      instead.
      
      This was caught thanks to the recent change to the return value.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a49a71f6
  5. 23 Jul, 2018 1 commit
    • Takashi Iwai's avatar
      ALSA: memalloc: Don't exceed over the requested size · dfef01e1
      Takashi Iwai authored
      snd_dma_alloc_pages_fallback() tries to allocate pages again when the
      allocation fails with reduced size.  But the first try actually
      *increases* the size to power-of-two, which may give back a larger
      chunk than the requested size.  This confuses the callers, e.g. sgbuf
      assumes that the size is equal or less, and it may result in a bad
      loop due to the underflow and eventually lead to Oops.
      
      The code of this function seems incorrectly assuming the usage of
      get_order().  We need to decrease at first, then align to
      power-of-two.
      Reported-and-tested-by: default avatarhe, bo <bo.he@intel.com>
      Reported-by: default avatarzhang jun <jun.zhang@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      dfef01e1
  6. 18 Jul, 2018 1 commit
  7. 17 Jul, 2018 1 commit
    • Takashi Iwai's avatar
      ALSA: rawmidi: Change resized buffers atomically · 39675f7a
      Takashi Iwai authored
      The SNDRV_RAWMIDI_IOCTL_PARAMS ioctl may resize the buffers and the
      current code is racy.  For example, the sequencer client may write to
      buffer while it being resized.
      
      As a simple workaround, let's switch to the resized buffer inside the
      stream runtime lock.
      
      Reported-by: syzbot+52f83f0ea8df16932f7f@syzkaller.appspotmail.com
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      39675f7a
  8. 16 Jul, 2018 2 commits
  9. 12 Jul, 2018 2 commits
  10. 06 Jul, 2018 1 commit
  11. 02 Jul, 2018 1 commit
    • Chris Wilson's avatar
      ALSA: hda - Handle pm failure during hotplug · aaa23f86
      Chris Wilson authored
      Obtaining the runtime pm wakeref can fail, especially in a hotplug
      scenario where i915.ko has been unloaded. If we do not catch the
      failure, we end up with an unbalanced pm.
      
      v2 additions by tiwai:
      hdmi_present_sense() checks the return value and handle only a
      negative error case and bails out only if it's really still suspended.
      Also, snd_hda_power_down() is called at the error path so that the
      refcount is balanced.
      
      Along with it, the spec->pcm_lock is taken outside
      hdmi_present_sense() in the caller side, so that it won't cause
      deadlock at reentrace via runtime resume.
      
      v3 fix by tiwai:
      Missing linux/pm_runtime.h is included.
      
      References: 222bde03 ("ALSA: hda - Fix mutex deadlock at HDMI/DP hotplug")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      aaa23f86
  12. 25 Jun, 2018 3 commits
    • Takashi Iwai's avatar
      ALSA: seq: Fix UBSAN warning at SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT ioctl · c9a4c638
      Takashi Iwai authored
      The kernel may spew a WARNING with UBSAN undefined behavior at
      handling ALSA sequencer ioctl SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT:
      
      UBSAN: Undefined behaviour in sound/core/seq/seq_clientmgr.c:2007:14
      signed integer overflow:
      2147483647 + 1 cannot be represented in type 'int'
      Call Trace:
       __dump_stack lib/dump_stack.c:77 [inline]
       dump_stack+0x122/0x1c8 lib/dump_stack.c:113
       ubsan_epilogue+0x12/0x86 lib/ubsan.c:159
       handle_overflow+0x1c2/0x21f lib/ubsan.c:190
        __ubsan_handle_add_overflow+0x2a/0x31 lib/ubsan.c:198
       snd_seq_ioctl_query_next_client+0x1ac/0x1d0 sound/core/seq/seq_clientmgr.c:2007
       snd_seq_ioctl+0x264/0x3d0 sound/core/seq/seq_clientmgr.c:2144
       ....
      
      It happens only when INT_MAX is passed there, as we're incrementing it
      unconditionally.  So the fix is trivial, check the value with
      INT_MAX.  Although the bug itself is fairly harmless, it's better to
      fix it so that fuzzers won't hit this again later.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200211Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c9a4c638
    • Takashi Iwai's avatar
      ALSA: timer: Fix UBSAN warning at SNDRV_TIMER_IOCTL_NEXT_DEVICE ioctl · b41f794f
      Takashi Iwai authored
      The kernel may spew a WARNING about UBSAN undefined behavior at
      handling ALSA timer ioctl SNDRV_TIMER_IOCTL_NEXT_DEVICE:
      
      UBSAN: Undefined behaviour in sound/core/timer.c:1524:19
      signed integer overflow:
      2147483647 + 1 cannot be represented in type 'int'
      Call Trace:
       __dump_stack lib/dump_stack.c:77 [inline]
       dump_stack+0x122/0x1c8 lib/dump_stack.c:113
       ubsan_epilogue+0x12/0x86 lib/ubsan.c:159
       handle_overflow+0x1c2/0x21f lib/ubsan.c:190
       __ubsan_handle_add_overflow+0x2a/0x31 lib/ubsan.c:198
       snd_timer_user_next_device sound/core/timer.c:1524 [inline]
       __snd_timer_user_ioctl+0x204d/0x2520 sound/core/timer.c:1939
       snd_timer_user_ioctl+0x67/0x95 sound/core/timer.c:1994
       ....
      
      It happens only when a value with INT_MAX is passed, as we're
      incrementing it unconditionally.  So the fix is trivial, check the
      value with INT_MAX.  Although the bug itself is fairly harmless, it's
      better to fix it so that fuzzers won't hit this again later.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200213Reported-and-tested-by: default avatarTeam OWL337 <icytxw@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b41f794f
    • Hui Wang's avatar
      ALSA: hda/realtek - Fix the problem of two front mics on more machines · e41fc8c5
      Hui Wang authored
      We have 3 more Lenovo machines, they all have 2 front mics on them,
      so they need the fixup to change the location for one of two mics.
      
      Among these 3 Lenovo machines, one of them has the same pin cfg as the
      machine with subid 0x17aa3138, so use the pin cfg table to apply fixup
      for them. The rest machines don't share the same pin cfg, so far use
      the subid to apply fixup for them.
      
      Fixes: a3dafb22 ("ALSA: hda/realtek - adjust the location of one mic")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e41fc8c5
  13. 22 Jun, 2018 1 commit
  14. 21 Jun, 2018 3 commits
  15. 17 Jun, 2018 7 commits
  16. 16 Jun, 2018 8 commits
    • Linus Torvalds's avatar
      Linux 4.18-rc1 · ce397d21
      Linus Torvalds authored
      ce397d21
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20180616' of git://git.kernel.dk/linux-block · 265c5596
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A collection of fixes that should go into -rc1. This contains:
      
         - bsg_open vs bsg_unregister race fix (Anatoliy)
      
         - NVMe pull request from Christoph, with fixes for regressions in
           this window, FC connect/reconnect path code unification, and a
           trace point addition.
      
         - timeout fix (Christoph)
      
         - remove a few unused functions (Christoph)
      
         - blk-mq tag_set reinit fix (Roman)"
      
      * tag 'for-linus-20180616' of git://git.kernel.dk/linux-block:
        bsg: fix race of bsg_open and bsg_unregister
        block: remov blk_queue_invalidate_tags
        nvme-fabrics: fix and refine state checks in __nvmf_check_ready
        nvme-fabrics: handle the admin-only case properly in nvmf_check_ready
        nvme-fabrics: refactor queue ready check
        blk-mq: remove blk_mq_tagset_iter
        nvme: remove nvme_reinit_tagset
        nvme-fc: fix nulling of queue data on reconnect
        nvme-fc: remove reinit_request routine
        blk-mq: don't time out requests again that are in the timeout handler
        nvme-fc: change controllers first connect to use reconnect path
        nvme: don't rely on the changed namespace list log
        nvmet: free smart-log buffer after use
        nvme-rdma: fix error flow during mapping request data
        nvme: add bio remapping tracepoint
        nvme: fix NULL pointer dereference in nvme_init_subsystem
        blk-mq: reinit q->tag_set_list entry only after grace period
      265c5596
    • Linus Torvalds's avatar
      Merge tag 'docs-broken-links' of git://linuxtv.org/mchehab/experimental · 5e7b9212
      Linus Torvalds authored
      Pull documentation fixes from Mauro Carvalho Chehab:
       "This solves a series of broken links for files under Documentation,
        and improves a script meant to detect such broken links (see
        scripts/documentation-file-ref-check).
      
        The changes on this series are:
      
         - can.rst: fix a footnote reference;
      
         - crypto_engine.rst: Fix two parsing warnings;
      
         - Fix a lot of broken references to Documentation/*;
      
         - improve the scripts/documentation-file-ref-check script, in order
           to help detecting/fixing broken references, preventing
           false-positives.
      
        After this patch series, only 33 broken references to doc files are
        detected by scripts/documentation-file-ref-check"
      
      * tag 'docs-broken-links' of git://linuxtv.org/mchehab/experimental: (26 commits)
        fix a series of Documentation/ broken file name references
        Documentation: rstFlatTable.py: fix a broken reference
        ABI: sysfs-devices-system-cpu: remove a broken reference
        devicetree: fix a series of wrong file references
        devicetree: fix name of pinctrl-bindings.txt
        devicetree: fix some bindings file names
        MAINTAINERS: fix location of DT npcm files
        MAINTAINERS: fix location of some display DT bindings
        kernel-parameters.txt: fix pointers to sound parameters
        bindings: nvmem/zii: Fix location of nvmem.txt
        docs: Fix more broken references
        scripts/documentation-file-ref-check: check tools/*/Documentation
        scripts/documentation-file-ref-check: get rid of false-positives
        scripts/documentation-file-ref-check: hint: dash or underline
        scripts/documentation-file-ref-check: add a fix logic for DT
        scripts/documentation-file-ref-check: accept more wildcards at filenames
        scripts/documentation-file-ref-check: fix help message
        media: max2175: fix location of driver's companion documentation
        media: v4l: fix broken video4linux docs locations
        media: dvb: point to the location of the old README.dvb-usb file
        ...
      5e7b9212
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · dbb2816f
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "fsnotify cleanups unifying handling of different watch types.
      
        This is the shortened fsnotify series from Amir with the last five
        patches pulled out. Amir has modified those patches to not change
        struct inode but obviously it's too late for those to go into this
        merge window"
      
      * tag 'fsnotify_for_v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: add fsnotify_add_inode_mark() wrappers
        fanotify: generalize fanotify_should_send_event()
        fsnotify: generalize send_to_group()
        fsnotify: generalize iteration of marks by object type
        fsnotify: introduce marks iteration helpers
        fsnotify: remove redundant arguments to handle_event()
        fsnotify: use type id to identify connector object type
      dbb2816f
    • Linus Torvalds's avatar
      Merge tag 'fbdev-v4.18' of git://github.com/bzolnier/linux · 644f2639
      Linus Torvalds authored
      Pull fbdev updates from Bartlomiej Zolnierkiewicz:
       "There is nothing really major here, few small fixes, some cleanups and
        dead drivers removal:
      
         - mark omapfb drivers as orphans in MAINTAINERS file (Tomi Valkeinen)
      
         - add missing module license tags to omap/omapfb driver (Arnd
           Bergmann)
      
         - add missing GPIOLIB dependendy to omap2/omapfb driver (Arnd
           Bergmann)
      
         - convert savagefb, aty128fb & radeonfb drivers to use msleep & co.
           (Jia-Ju Bai)
      
         - allow COMPILE_TEST build for viafb driver (media part was reviewed
           by media subsystem Maintainer)
      
         - remove unused MERAM support from sh_mobile_lcdcfb and shmob-drm
           drivers (drm parts were acked by shmob-drm driver Maintainer)
      
         - remove unused auo_k190xfb drivers
      
         - misc cleanups (Souptick Joarder, Wolfram Sang, Markus Elfring, Andy
           Shevchenko, Colin Ian King)"
      
      * tag 'fbdev-v4.18' of git://github.com/bzolnier/linux: (26 commits)
        fb_omap2: add gpiolib dependency
        video/omap: add module license tags
        MAINTAINERS: make omapfb orphan
        video: fbdev: pxafb: match_string() conversion fixup
        video: fbdev: nvidia: fix spelling mistake: "scaleing" -> "scaling"
        video: fbdev: fix spelling mistake: "frambuffer" -> "framebuffer"
        video: fbdev: pxafb: Convert to use match_string() helper
        video: fbdev: via: allow COMPILE_TEST build
        video: fbdev: remove unused sh_mobile_meram driver
        drm: shmobile: remove unused MERAM support
        video: fbdev: sh_mobile_lcdcfb: remove unused MERAM support
        video: fbdev: remove unused auo_k190xfb drivers
        video: omap: Improve a size determination in omapfb_do_probe()
        video: sm501fb: Improve a size determination in sm501fb_probe()
        video: fbdev-MMP: Improve a size determination in path_init()
        video: fbdev-MMP: Delete an error message for a failed memory allocation in two functions
        video: auo_k190x: Delete an error message for a failed memory allocation in auok190x_common_probe()
        video: sh_mobile_lcdcfb: Delete an error message for a failed memory allocation in two functions
        video: sh_mobile_meram: Delete an error message for a failed memory allocation in sh_mobile_meram_probe()
        video: fbdev: sh_mobile_meram: Drop SUPERH platform dependency
        ...
      644f2639
    • Linus Torvalds's avatar
      Merge branch 'afs-proc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 35773c93
      Linus Torvalds authored
      Pull AFS updates from Al Viro:
       "Assorted AFS stuff - ended up in vfs.git since most of that consists
        of David's AFS-related followups to Christoph's procfs series"
      
      * 'afs-proc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        afs: Optimise callback breaking by not repeating volume lookup
        afs: Display manually added cells in dynamic root mount
        afs: Enable IPv6 DNS lookups
        afs: Show all of a server's addresses in /proc/fs/afs/servers
        afs: Handle CONFIG_PROC_FS=n
        proc: Make inline name size calculation automatic
        afs: Implement network namespacing
        afs: Mark afs_net::ws_cell as __rcu and set using rcu functions
        afs: Fix a Sparse warning in xdr_decode_AFSFetchStatus()
        proc: Add a way to make network proc files writable
        afs: Rearrange fs/afs/proc.c to remove remaining predeclarations.
        afs: Rearrange fs/afs/proc.c to move the show routines up
        afs: Rearrange fs/afs/proc.c by moving fops and open functions down
        afs: Move /proc management functions to the end of the file
      35773c93
    • Linus Torvalds's avatar
      Merge branch 'work.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 29d6849d
      Linus Torvalds authored
      Pull compat updates from Al Viro:
       "Some biarch patches - getting rid of assorted (mis)uses of
        compat_alloc_user_space().
      
        Not much in that area this cycle..."
      
      * 'work.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        orangefs: simplify compat ioctl handling
        signalfd: lift sigmask copyin and size checks to callers of do_signalfd4()
        vmsplice(): lift importing iovec into vmsplice(2) and compat counterpart
      29d6849d
    • Linus Torvalds's avatar
      Merge branch 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · a5b729ea
      Linus Torvalds authored
      Pull aio fixes from Al Viro:
       "Assorted AIO followups and fixes"
      
      * 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        eventpoll: switch to ->poll_mask
        aio: only return events requested in poll_mask() for IOCB_CMD_POLL
        eventfd: only return events requested in poll_mask()
        aio: mark __aio_sigset::sigmask const
      a5b729ea
  17. 15 Jun, 2018 1 commit
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9215310c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Various netfilter fixlets from Pablo and the netfilter team.
      
       2) Fix regression in IPVS caused by lack of PMTU exceptions on local
          routes in ipv6, from Julian Anastasov.
      
       3) Check pskb_trim_rcsum for failure in DSA, from Zhouyang Jia.
      
       4) Don't crash on poll in TLS, from Daniel Borkmann.
      
       5) Revert SO_REUSE{ADDR,PORT} change, it regresses various things
          including Avahi mDNS. From Bart Van Assche.
      
       6) Missing of_node_put in qcom/emac driver, from Yue Haibing.
      
       7) We lack checking of the TCP checking in one special case during SYN
          receive, from Frank van der Linden.
      
       8) Fix module init error paths of mac80211 hwsim, from Johannes Berg.
      
       9) Handle 802.1ad properly in stmmac driver, from Elad Nachman.
      
      10) Must grab HW caps before doing quirk checks in stmmac driver, from
          Jose Abreu.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (81 commits)
        net: stmmac: Run HWIF Quirks after getting HW caps
        neighbour: skip NTF_EXT_LEARNED entries during forced gc
        net: cxgb3: add error handling for sysfs_create_group
        tls: fix waitall behavior in tls_sw_recvmsg
        tls: fix use-after-free in tls_push_record
        l2tp: filter out non-PPP sessions in pppol2tp_tunnel_ioctl()
        l2tp: reject creation of non-PPP sessions on L2TPv2 tunnels
        mlxsw: spectrum_switchdev: Fix port_vlan refcounting
        mlxsw: spectrum_router: Align with new route replace logic
        mlxsw: spectrum_router: Allow appending to dev-only routes
        ipv6: Only emit append events for appended routes
        stmmac: added support for 802.1ad vlan stripping
        cfg80211: fix rcu in cfg80211_unregister_wdev
        mac80211: Move up init of TXQs
        mac80211_hwsim: fix module init error paths
        cfg80211: initialize sinfo in cfg80211_get_station
        nl80211: fix some kernel doc tag mistakes
        hv_netvsc: Fix the variable sizes in ipsecv2 and rsc offload
        rds: avoid unenecessary cong_update in loop transport
        l2tp: clean up stale tunnel or session in pppol2tp_connect's error path
        ...
      9215310c