1. 26 Aug, 2012 1 commit
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · 6ec9776c
      Linus Torvalds authored
      Pull kvm fixes from Marcelo Tosatti.
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86 emulator: use stack size attribute to mask rsp in stack ops
        KVM: MMU: Fix mmu_shrink() so that it can free mmu pages as intended
        ppc: e500_tlb memset clears nothing
        KVM: PPC: Add cache flush on page map
        KVM: PPC: Book3S HV: Fix incorrect branch in H_CEDE code
        KVM: x86: update KVM_SAVE_MSRS_BEGIN to correct value
      6ec9776c
  2. 25 Aug, 2012 6 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.6-rc4' of git://oss.sgi.com/xfs/xfs · e1d33a5c
      Linus Torvalds authored
      Pull xfs bugfixes from Ben Myers:
       - fix uninitialised variable in xfs_rtbuf_get()
       - unlock the AGI buffer when looping in xfs_dialloc
       - check for possible overflow in xfs_ioc_trim
      
      * tag 'for-linus-v3.6-rc4' of git://oss.sgi.com/xfs/xfs:
        xfs: check for possible overflow in xfs_ioc_trim
        xfs: unlock the AGI buffer when looping in xfs_dialloc
        xfs: fix uninitialised variable in xfs_rtbuf_get()
      e1d33a5c
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 2432cbe4
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Random fixes across the MIPS tree.  The two hotspots are several bugs
        in the module loader and the ath79 SOC support; also noteworthy is the
        restructuring of the code to synchronize CPU timers across CPUs on
        startup; the old code recently ceased to work due to unrelated
        changes.
      
        All except one of these patches have sat for a significant time in
        linux-next for testing."
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: pci-ar724x: avoid data bus error due to a missing PCIe module
        MIPS: Malta: Delete duplicate PCI fixup.
        MIPS: ath79: don't hardcode the unavailability of the DSP ASE
        MIPS: Synchronize MIPS count one CPU at a time
        MIPS: BCM63xx: Fix SPI message control register handling for BCM6338/6348.
        MIPS: Module: Deal with malformed HI16/LO16 relocation sequences.
        MIPS: Fix race condition in module relocation code.
        MIPS: Fix memory leak in error path of HI16/LO16 relocation handling.
        MIPS: MTX-1: Add udelay to mtx1_pci_idsel
        MIPS: ath79: select HAVE_CLK
        MIPS: ath79: Use correct IRQ number for the OHCI controller on AR7240
        MIPS: ath79: Fix number of GPIO lines for AR724[12]
        MIPS: Octeon: Fix broken interrupt controller code.
      2432cbe4
    • Linus Torvalds's avatar
      Merge branch 'for-3.6' of git://linux-nfs.org/~bfields/linux · 8497ae61
      Linus Torvalds authored
      Pull nfsd bugfixes from J. Bruce Fields:
       "Particular thanks to Michael Tokarev, Malahal Naineni, and Jamie
        Heilman for their testing and debugging help."
      
      * 'for-3.6' of git://linux-nfs.org/~bfields/linux:
        svcrpc: fix svc_xprt_enqueue/svc_recv busy-looping
        svcrpc: sends on closed socket should stop immediately
        svcrpc: fix BUG() in svc_tcp_clear_pages
        nfsd4: fix security flavor of NFSv4.0 callback
      8497ae61
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · a7e546f1
      Linus Torvalds authored
      Pull block-related fixes from Jens Axboe:
      
       - Improvements to the buffered and direct write IO plugging from
         Fengguang.
      
       - Abstract out the mapping of a bio in a request, and use that to
         provide a blk_bio_map_sg() helper.  Useful for mapping just a bio
         instead of a full request.
      
       - Regression fix from Hugh, fixing up a patch that went into the
         previous release cycle (and marked stable, too) attempting to prevent
         a loop in __getblk_slow().
      
       - Updates to discard requests, fixing up the sizing and how we align
         them.  Also a change to disallow merging of discard requests, since
         that doesn't really work properly yet.
      
       - A few drbd fixes.
      
       - Documentation updates.
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: replace __getblk_slow misfix by grow_dev_page fix
        drbd: Write all pages of the bitmap after an online resize
        drbd: Finish requests that completed while IO was frozen
        drbd: fix drbd wire compatibility for empty flushes
        Documentation: update tunable options in block/cfq-iosched.txt
        Documentation: update tunable options in block/cfq-iosched.txt
        Documentation: update missing index files in block/00-INDEX
        block: move down direct IO plugging
        block: remove plugging at buffered write time
        block: disable discard request merge temporarily
        bio: Fix potential memory leak in bio_find_or_create_slab()
        block: Don't use static to define "void *p" in show_partition_start()
        block: Add blk_bio_map_sg() helper
        block: Introduce __blk_segment_map_sg() helper
        fs/block-dev.c:fix performance regression in O_DIRECT writes to md block devices
        block: split discard into aligned requests
        block: reorganize rounding of max_discard_sectors
      a7e546f1
    • Linus Torvalds's avatar
      Merge tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · da31ce72
      Linus Torvalds authored
      Pull libata fixes from Jeff Garzik:
       - libata-acpi regression fix
       - additional or corrected drive quirks for ata_blacklist
       - Kconfig text tweaking
       - new PCI IDs
       - pata_atiixp: quirk for MSI motherboard
       - export ahci_dev_classify for an ahci_platform driver
      
      * tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        libata: Add a space to " 2GB ATA Flash Disk" DMA blacklist entry
        [libata] new quirk, lift bridge limits for Buffalo DriveStation Quattro
        [libata] Kconfig: Elaborate that SFF is meant for legacy and PATA stuff
        [libata] acpi: call ata_acpi_gtm during ata port init time
        ata_piix: Add Device IDs for Intel Lynx Point-LP PCH
        ahci: Add Device IDs for Intel Lynx Point-LP PCH
        pata_atiixp: override cable detection on MSI E350DM-E33
        ahci: un-staticize ahci_dev_classify
      da31ce72
    • Prarit Bhargava's avatar
      libata: Add a space to " 2GB ATA Flash Disk" DMA blacklist entry · d17d794c
      Prarit Bhargava authored
      commit d70e551c, Add " 2GB ATA Flash
      Disk"/"ADMA428M" to DMA blacklist, should have added a space before 2GB.
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      d17d794c
  3. 24 Aug, 2012 8 commits
  4. 23 Aug, 2012 5 commits
    • Tomas Racek's avatar
      xfs: check for possible overflow in xfs_ioc_trim · a672e1be
      Tomas Racek authored
      If range.start or range.minlen is bigger than filesystem size, return
      invalid value error. This fixes possible overflow in BTOBB macro when
      passed value was nearly ULLONG_MAX.
      Signed-off-by: default avatarTomas Racek <tracek@redhat.com>
      Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarBen Myers <bpm@sgi.com>
      a672e1be
    • Christoph Hellwig's avatar
      xfs: unlock the AGI buffer when looping in xfs_dialloc · 76129030
      Christoph Hellwig authored
      Also update some commens in the area to make the code easier to read.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarMark Tinguely <tinguely@sgi.com>
      Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarBen Myers <bpm@sgi.com>
      76129030
    • Dave Chinner's avatar
      xfs: fix uninitialised variable in xfs_rtbuf_get() · 0b9e3f6d
      Dave Chinner authored
      Results in this assert failure in generic/090:
      
      XFS: Assertion failed: *nmap >= 1, file: fs/xfs/xfs_bmap.c, line: 4363
      .....
      Call Trace:
       [<ffffffff814680db>] xfs_bmapi_read+0x6b/0x370
       [<ffffffff814b64b2>] xfs_rtbuf_get+0x42/0x130
       [<ffffffff814b6f09>] xfs_rtget_summary+0x89/0x120
       [<ffffffff814b7bfe>] xfs_rtallocate_extent_size+0xce/0x340
       [<ffffffff814b89f0>] xfs_rtallocate_extent+0x240/0x290
       [<ffffffff81462c1a>] xfs_bmap_rtalloc+0x1ba/0x340
       [<ffffffff81463a65>] xfs_bmap_alloc+0x35/0x40
       [<ffffffff8146f111>] xfs_bmapi_allocate+0xf1/0x350
       [<ffffffff8146f9de>] xfs_bmapi_write+0x66e/0xa60
       [<ffffffff8144538a>] xfs_iomap_write_direct+0x22a/0x3f0
       [<ffffffff8143707b>] __xfs_get_blocks+0x38b/0x5d0
       [<ffffffff814372d4>] xfs_get_blocks_direct+0x14/0x20
       [<ffffffff811b0081>] do_blockdev_direct_IO+0xf71/0x1eb0
       [<ffffffff811b1015>] __blockdev_direct_IO+0x55/0x60
       [<ffffffff814355ca>] xfs_vm_direct_IO+0x11a/0x1e0
       [<ffffffff8112d617>] generic_file_direct_write+0xd7/0x1b0
       [<ffffffff8143e16c>] xfs_file_dio_aio_write+0x13c/0x320
       [<ffffffff8143e6f2>] xfs_file_aio_write+0x1c2/0x1d0
       [<ffffffff81174a07>] do_sync_write+0xa7/0xe0
       [<ffffffff81175288>] vfs_write+0xa8/0x160
       [<ffffffff81175702>] sys_pwrite64+0x92/0xb0
       [<ffffffff81b68f69>] system_call_fastpath+0x16/0x1b
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarBen Myers <bpm@sgi.com>
      0b9e3f6d
    • Gabor Juhos's avatar
      MIPS: pci-ar724x: avoid data bus error due to a missing PCIe module · a1dca315
      Gabor Juhos authored
      If the controller has no PCIe module attached, accessing of the device
      configuration space causes a data bus error. Avoid this by checking the
      status of the PCIe link in advance, and indicate an error if the link
      is down.
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Cc: stable@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4293/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      a1dca315
    • Hugh Dickins's avatar
      block: replace __getblk_slow misfix by grow_dev_page fix · 676ce6d5
      Hugh Dickins authored
      Commit 91f68c89 ("block: fix infinite loop in __getblk_slow")
      is not good: a successful call to grow_buffers() cannot guarantee
      that the page won't be reclaimed before the immediate next call to
      __find_get_block(), which is why there was always a loop there.
      
      Yesterday I got "EXT4-fs error (device loop0): __ext4_get_inode_loc:3595:
      inode #19278: block 664: comm cc1: unable to read itable block" on console,
      which pointed to this commit.
      
      I've been trying to bisect for weeks, why kbuild-on-ext4-on-loop-on-tmpfs
      sometimes fails from a missing header file, under memory pressure on
      ppc G5.  I've never seen this on x86, and I've never seen it on 3.5-rc7
      itself, despite that commit being in there: bisection pointed to an
      irrelevant pinctrl merge, but hard to tell when failure takes between
      18 minutes and 38 hours (but so far it's happened quicker on 3.6-rc2).
      
      (I've since found such __ext4_get_inode_loc errors in /var/log/messages
      from previous weeks: why the message never appeared on console until
      yesterday morning is a mystery for another day.)
      
      Revert 91f68c89, restoring __getblk_slow() to how it was (plus
      a checkpatch nitfix).  Simplify the interface between grow_buffers()
      and grow_dev_page(), and avoid the infinite loop beyond end of device
      by instead checking init_page_buffers()'s end_block there (I presume
      that's more efficient than a repeated call to blkdev_max_block()),
      returning -ENXIO to __getblk_slow() in that case.
      
      And remove akpm's ten-year-old "__getblk() cannot fail ... weird"
      comment, but that is worrying: are all users of __getblk() really
      now prepared for a NULL bh beyond end of device, or will some oops??
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Cc: stable@vger.kernel.org # 3.0 3.2 3.4 3.5
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      676ce6d5
  5. 22 Aug, 2012 20 commits
    • Andreas Herrmann's avatar
      x86, microcode, AMD: Fix broken ucode patch size check · 36bf50d7
      Andreas Herrmann authored
      This issue was recently observed on an AMD C-50 CPU where a patch of
      maximum size was applied.
      
      Commit be62adb4 ("x86, microcode, AMD: Simplify ucode verification")
      added current_size in get_matching_microcode(). This is calculated as
      size of the ucode patch + 8 (ie. size of the header). Later this is
      compared against the maximum possible ucode patch size for a CPU family.
      And of course this fails if the patch has already maximum size.
      
      Cc: <stable@vger.kernel.org> [3.3+]
      Signed-off-by: default avatarAndreas Herrmann <andreas.herrmann3@amd.com>
      Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Link: http://lkml.kernel.org/r/1344361461-10076-1-git-send-email-bp@amd64.orgSigned-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      36bf50d7
    • Avi Kivity's avatar
      KVM: x86 emulator: use stack size attribute to mask rsp in stack ops · 5ad105e5
      Avi Kivity authored
      The sub-register used to access the stack (sp, esp, or rsp) is not
      determined by the address size attribute like other memory references,
      but by the stack segment's B bit (if not in x86_64 mode).
      
      Fix by using the existing stack_mask() to figure out the correct mask.
      
      This long-existing bug was exposed by a combination of a27685c3
      (emulate invalid guest state by default), which causes many more
      instructions to be emulated, and a seabios change (possibly a bug) which
      causes the high 16 bits of esp to become polluted across calls to real
      mode software interrupts.
      Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
      Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
      5ad105e5
    • Linus Torvalds's avatar
      Linux 3.6-rc3 · fea7a08a
      Linus Torvalds authored
      fea7a08a
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 4ff63e47
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Intel: edid fixes, power consumption fix, s/r fix, haswell fix
      
        Radeon: BIOS loading fixes for UEFI and Thunderbolt machines, better
        MSAA validation, lockup timeout fixes, modesetting fixes
      
        One udl dpms fix, one vmwgfx fix, a couple of trivial core changes.
      
        There is an export added to ACPI as part of the radeon bios fixes.
      
        I've also included the fbcon flashing cursor vs deinit race fix, that
        seems the simplest place to start"
      
      Trivial conflict in drivers/video/console/fbcon.c due to me having
      already applied the fbcon flashing cursor vs deinit race fix, and Dave
      had added a comment in there too.
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (22 commits)
        fbcon: fix race condition between console lock and cursor timer (v1.1)
        drm: Add missing static storage class specifiers in drm_proc.c file
        drm/udl: dpms off the crtc when disabled.
        drm: Remove two unused fields from struct drm_display_mode
        drm: stop vmgfx driver explosion
        drm/radeon/ss: use num_crtc rather than hardcoded 6
        Revert "drm/radeon: fix bo creation retry path"
        drm/i915: use hsw rps tuning values everywhere on gen6+
        drm/radeon: split ATRM support out from the ATPX handler (v3)
        drm/radeon: convert radeon vfct code to use acpi_get_table_with_size
        ACPI: export symbol acpi_get_table_with_size
        drm/radeon: implement ACPI VFCT vbios fetch (v3)
        drm/radeon/kms: extend the Fujitsu D3003-S2 board connector quirk to cover later silicon stepping
        drm/radeon: fix checking of MSAA renderbuffers on r600-r700
        drm/radeon: allow CMASK and FMASK in the CS checker on r600-r700
        drm/radeon: init lockup timeout on ring init
        drm/radeon: avoid turning off spread spectrum for used pll
        drm/i915: fall back to bit-banging if GMBUS fails in CRT EDID reads
        drm/i915: extract connector update from intel_ddc_get_modes() for reuse
        drm/i915: fix hsw uncached pte
        ...
      4ff63e47
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 09236994
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "The executive summary includes:
      
         - Post-merge review comments for tcm_vhost (MST + nab)
         - Avoid debugging overhead when not debugging for tcm-fc(FCoE) (MDR)
         - Fix NULL pointer dereference bug on alloc_page failulre (Yi Zou)
         - Fix REPORT_LUNs regression bug with pSCSI export (AlexE + nab)
         - Fix regression bug with handling of zero-length data CDBs (nab)
         - Fix vhost_scsi_target structure alignment (MST)
      
        Thanks again to everyone who contributed a bugfix patch, gave review
        feedback on tcm_vhost code, and/or reported a bug during their own
        testing over the last weeks.
      
        There is one other outstanding bug reported by Roland recently related
        to SCSI transfer length overflow handling, for which the current
        proposed bugfix has been left in queue pending further testing with
        other non iscsi-target based fabric drivers.
      
        As the patch is verified with loopback (local SGL memory from SCSI
        LLD) + tcm_qla2xxx (TCM allocated SGL memory mapped to PCI HW) fabric
        ports, it will be included into the next 3.6-rc-fixes PULL request."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Remove unused se_cmd.cmd_spdtl
        tcm_fc: rcu_deref outside rcu lock/unlock section
        tcm_vhost: Fix vhost_scsi_target structure alignment
        target: Fix regression bug with handling of zero-length data CDBs
        target/pscsi: Fix bug with REPORT_LUNs handling for SCSI passthrough
        tcm_vhost: Change vhost_scsi_target->vhost_wwpn to char *
        target: fix NULL pointer dereference bug alloc_page() fails to get memory
        tcm_fc: Avoid debug overhead when not debugging
        tcm_vhost: Post-merge review changes requested by MST
        tcm_vhost: Fix incorrect IS_ERR() usage in vhost_scsi_map_iov_to_sgl
      09236994
    • Linus Torvalds's avatar
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · 2e2d8c93
      Linus Torvalds authored
      Pull i2c-embedded fixes from Wolfram Sang:
       "Some bugfixes for the "embedded" part of the I2C subsystem.  The fixes
        affect mostly drivers which have been largely reworked lately and
        where regressions appeared."
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c: tegra: protect suspend/resume callbacks with CONFIG_PM_SLEEP
        i2c: diolan-u2c: Fix master_xfer return code
        I2C: OMAP: xfer: fix runtime PM get/put balance on error
        i2c: nomadik: Add default configuration into the Nomadik I2C driver
      2e2d8c93
    • Linus Torvalds's avatar
      Merge tag 'for-3.6-rc3' of git://gitorious.org/linux-pwm/linux-pwm · fec3c03f
      Linus Torvalds authored
      Pull pwm fixes from Thierry Reding:
       "These patches fix the Samsung PWM driver and perform some minor
        cleanups like fixing checkpatch and sparse warnings.
      
        Two redundant error messages are removed and the Kconfig help text for
        the PWM subsystem is made more descriptive."
      
      * tag 'for-3.6-rc3' of git://gitorious.org/linux-pwm/linux-pwm:
        pwm: Improve Kconfig help text
        pwm: core: Fix coding style issues
        pwm: vt8500: Fix coding style issue
        pwm: Remove a redundant error message when devm_request_and_ioremap fails
        pwm: samsung: add missing device pointer to struct pwm_chip
        pwm: Add missing static storage class specifiers in core.c file
      fec3c03f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · f753c4ec
      Linus Torvalds authored
      Pull ceph fixes from Sage Weil:
       "Jim's fix closes a narrow race introduced with the msgr changes.  One
        fix resolves problems with debugfs initialization that Yan found when
        multiple client instances are created (e.g., two clusters mounted, or
        rbd + cephfs), another one fixes problems with mounting a nonexistent
        server subdirectory, and the last one fixes a divide by zero error
        from unsanitized ioctl input that Dan Carpenter found."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        ceph: avoid divide by zero in __validate_layout()
        libceph: avoid truncation due to racing banners
        ceph: tolerate (and warn on) extraneous dentry from mds
        libceph: delay debugfs initialization until we learn global_id
      f753c4ec
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.6-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · ad746be9
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       - NFSv3 mounts need to fail if the FSINFO rpc call fails
       - Ensure that the NFS commit cache gets torn down when we unload the
         NFS module.
       - Fix memory scribble issues when interrupting a LAYOUTGET rpc call
       - Fix NFSv4 legacy idmapper regressions
       - Fix issues with the NFSv4 getacl command
       - Fix a regression when using the legacy "mount -t nfs4"
      
      * tag 'nfs-for-3.6-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFSv3: Ensure that do_proc_get_root() reports errors correctly
        NFSv4: Ensure that nfs4_alloc_client cleans up on error.
        NFS: return -ENOKEY when the upcall fails to map the name
        NFS: Clear key construction data if the idmap upcall fails
        NFSv4: Don't use private xdr_stream fields in decode_getacl
        NFSv4: Fix the acl cache size calculation
        NFSv4: Fix pointer arithmetic in decode_getacl
        NFS: Alias the nfs module to nfs4
        NFS: Fix a regression when loading the NFS v4 module
        NFSv4.1: Remove a bogus BUG_ON() in nfs4_layoutreturn_done
        pnfs-obj: Better IO pattern in case of unaligned offset
        NFS41: add pg_layout_private to nfs_pageio_descriptor
        pnfs: nfs4_proc_layoutget returns void
        pnfs: defer release of pages in layoutget
        nfs: tear down caches in nfs_init_writepagecache when allocation fails
      ad746be9
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 467e9e51
      Linus Torvalds authored
      Pull assorted fixes - mostly vfs - from Al Viro:
       "Assorted fixes, with an unexpected detour into vfio refcounting logics
        (fell out when digging in an analog of eventpoll race in there)."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        task_work: add a scheduling point in task_work_run()
        fs: fix fs/namei.c kernel-doc warnings
        eventpoll: use-after-possible-free in epoll_create1()
        vfio: grab vfio_device reference *before* exposing the sucker via fd_install()
        vfio: get rid of vfio_device_put()/vfio_group_get_device* races
        vfio: get rid of open-coding kref_put_mutex
        introduce kref_put_mutex()
        vfio: don't dereference after kfree...
        mqueue: lift mnt_want_write() outside ->i_mutex, clean up a bit
      467e9e51
    • Simon Farnsworth's avatar
      HID: Remove QUANTA from special drivers list · 53c84983
      Simon Farnsworth authored
      This QUANTA device is driven by the generic hid-multitouch.ko driver, and
      therefore shouldn't be in the special drivers list.
      
      This has been an oversight in 4fa3a583 ("HID: hid-multitouch: Switch to
      device groups").
      Signed-off-by: default avatarSimon Farnsworth <simon.farnsworth@onelan.co.uk>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      53c84983
    • Artem Bityutskiy's avatar
      UBIFS: fix error messages spelling · 69f90258
      Artem Bityutskiy authored
      Corruptio -> corruption.
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      69f90258
    • Eric Dumazet's avatar
      task_work: add a scheduling point in task_work_run() · 88ec2789
      Eric Dumazet authored
      It seems commit 4a9d4b02 (switch fput to task_work_add) reintroduced
      the problem addressed in commit 944be0b2 (close_files(): add scheduling
      point)
      
      If a server process with a lot of files (say 2 million tcp sockets)
      is killed, we can spend a lot of time in task_work_run() and trigger
      a soft lockup.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      88ec2789
    • Randy Dunlap's avatar
      fs: fix fs/namei.c kernel-doc warnings · 55852635
      Randy Dunlap authored
      Fix kernel-doc warnings in fs/namei.c:
      
      Warning(fs/namei.c:360): No description found for parameter 'inode'
      Warning(fs/namei.c:672): No description found for parameter 'nd'
      Signed-off-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
      Cc:	Alexander Viro <viro@zeniv.linux.org.uk>
      Cc:	linux-fsdevel@vger.kernel.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      55852635
    • Al Viro's avatar
      eventpoll: use-after-possible-free in epoll_create1() · 98022748
      Al Viro authored
      As soon as we'd installed the file into descriptor table, it can
      get closed by another thread.  Freeing ep in process...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      98022748
    • Al Viro's avatar
      vfio: grab vfio_device reference *before* exposing the sucker via fd_install() · 31605deb
      Al Viro authored
      It's not critical (anymore) since another thread closing the file will block
      on ->device_lock before it gets to dropping the final reference, but it's
      definitely cleaner that way...
      Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      31605deb
    • Al Viro's avatar
      vfio: get rid of vfio_device_put()/vfio_group_get_device* races · 90b1253e
      Al Viro authored
      we really need to make sure that dropping the last reference happens
      under the group->device_lock; otherwise a loop (under device_lock)
      might find vfio_device instance that is being freed right now, has
      already dropped the last reference and waits on device_lock to exclude
      the sucker from the list.
      Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      90b1253e
    • Al Viro's avatar
    • Al Viro's avatar
      introduce kref_put_mutex() · 8ad5db8a
      Al Viro authored
      equivalent of
      	mutex_lock(mutex);
      	if (!kref_put(kref, release))
      		mutex_unlock(mutex);
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      8ad5db8a
    • Al Viro's avatar
      934ad4c2