1. 01 Feb, 2014 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 · 0f44bc36
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "A set of cifs fixes (mostly for symlinks, and SMB2 xattrs) and
        cleanups"
      
      * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Fix check for regular file in couldbe_mf_symlink()
        [CIFS] Fix SMB2 mounts so they don't try to set or get xattrs via cifs
        CIFS: Cleanup cifs open codepath
        CIFS: Remove extra indentation in cifs_sfu_type
        CIFS: Cleanup cifs_mknod
        CIFS: Cleanup CIFSSMBOpen
        cifs: Add support for follow_link on dfs shares under posix extensions
        cifs: move unix extension call to cifs_query_symlink()
        cifs: Re-order M-F Symlink code
        cifs: Add create MFSymlinks to protocol ops struct
        cifs: use protocol specific call for query_mf_symlink()
        cifs: Rename MF symlink function names
        cifs: Rename and cleanup open_query_close_cifs_symlink()
        cifs: Fix memory leak in cifs_hardlink()
      0f44bc36
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · efc518eb
      Linus Torvalds authored
      Pull vfs fixes from Al Viro:
       "Several obvious fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        Fix mountpoint reference leakage in linkat
        hfsplus: use xattr handlers for removexattr
        Typo in compat_sys_lseek() declaration
        fs/super.c: sync ro remount after blocking writers
        vfs: unexport the getname() symbol
      efc518eb
    • Linus Torvalds's avatar
      Merge tag 'staging-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · fea8893d
      Linus Torvalds authored
      Pull rtl8812ae staging wireless driver from Greg KH:
       "Here's a single staging driver for a wireless chipset that has shown
        up in the SteamBox hardware.  It is merged separately from the "main"
        staging pull request to sync up with the wireless api changes that
        came in from the networking tree.
      
        It's self-contained and works for me and others.  Larry will be
        replacing it with a "real" driver for 3.15, but for now this one is
        needed"
      
      * tag 'staging-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8821ae: Enable build by reverting BROKEN marking
        staging: r8821ae: Fix build problems
        Staging: rtl8812ae: disable due to build errors
        Staging: rtl8821ae: add TODO file
        Staging: rtl8821ae: removed unused functions and variables
        Staging: rtl8821ae: rc.c: fix up function prototypes
        Staging: rtl8812ae: Add Realtek 8821 PCI WIFI driver
      fea8893d
    • Rafael J. Wysocki's avatar
      Revert "PCI: Remove from bus_list and release resources in pci_release_dev()" · 04480094
      Rafael J. Wysocki authored
      Revert commit ef83b078 "PCI: Remove from bus_list and release
      resources in pci_release_dev()" that made some nasty race conditions
      become possible.  For example, if a Thunderbolt link is unplugged
      and then replugged immediately, the pci_release_dev() resulting from
      the hot-remove code path may be racing with the hot-add code path
      which after that commit causes various kinds of breakage to happen
      (up to and including a hard crash of the whole system).
      
      Moreover, the problem that commit ef83b078 attempted to address
      cannot happen any more after commit 8a4c5c32 "PCI: Check parent
      kobject in pci_destroy_dev()", because pci_destroy_dev() will now
      return immediately if it has already been executed for the given
      device.
      
      Note, however, that the invocation of msi_remove_pci_irq_vectors()
      removed by commit ef83b078 from pci_free_resources() along with
      the other changes made by it is not added back because of subsequent
      code changes depending on that modification.
      
      Fixes: ef83b078 (PCI: Remove from bus_list and release resources in pci_release_dev())
      Reported-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      04480094
  2. 31 Jan, 2014 36 commits
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.14-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 8a1f006a
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights:
      
         - Fix several races in nfs_revalidate_mapping
         - NFSv4.1 slot leakage in the pNFS files driver
         - Stable fix for a slot leak in nfs40_sequence_done
         - Don't reject NFSv4 servers that support ACLs with only ALLOW aces"
      
      * tag 'nfs-for-3.14-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        nfs: initialize the ACL support bits to zero.
        NFSv4.1: Cleanup
        NFSv4.1: Clean up nfs41_sequence_done
        NFSv4: Fix a slot leak in nfs40_sequence_done
        NFSv4.1 free slot before resending I/O to MDS
        nfs: add memory barriers around NFS_INO_INVALID_DATA and NFS_INO_INVALIDATING
        NFS: Fix races in nfs_revalidate_mapping
        sunrpc: turn warn_gssd() log message into a dprintk()
        NFS: fix the handling of NFS_INO_INVALID_DATA flag in nfs_revalidate_mapping
        nfs: handle servers that support only ALLOW ACE type.
      8a1f006a
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 14864a52
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "The big chunks here are the updates for oxygen driver for Xonar DG
        devices, which were slipped from the previous pull request.  They are
        device-specific and thus not too dangerous.
      
        Other than that, all patches are small bug fixes, mainly for Samsung
        build fixes, a few HD-audio enhancements, and other misc ASoC fixes.
        (And this time ASoC merge is less than Octopus, lucky seven :)"
      
      * tag 'sound-fix-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (42 commits)
        ALSA: hda/hdmi - allow PIN_OUT to be dynamically enabled
        ALSA: hda - add headset mic detect quirks for another Dell laptop
        ALSA: oxygen: Xonar DG(X): cleanup and minor changes
        ALSA: oxygen: Xonar DG(X): modify high-pass filter control
        ALSA: oxygen: Xonar DG(X): modify input select functions
        ALSA: oxygen: Xonar DG(X): modify capture volume functions
        ALSA: oxygen: Xonar DG(X): use headphone volume control
        ALSA: oxygen: Xonar DG(X): modify playback output select
        ALSA: oxygen: Xonar DG(X): capture from I2S channel 1, not 2
        ALSA: oxygen: Xonar DG(X): move the mixer code into another file
        ALSA: oxygen: modify CS4245 register dumping function
        ALSA: oxygen: modify adjust_dg_dac_routing function
        ALSA: oxygen: Xonar DG(X): modify DAC/ADC parameters function
        ALSA: oxygen: Xonar DG(X): modify initialization functions
        ALSA: oxygen: Xonar DG(X): add new CS4245 SPI functions
        ALSA: oxygen: additional definitions for the Xonar DG/DGX card
        ALSA: oxygen: change description of the xonar_dg.c file
        ALSA: oxygen: export oxygen_update_dac_routing symbol
        ALSA: oxygen: add mute mask for the OXYGEN_PLAY_ROUTING register
        ALSA: oxygen: modify the SPI writing function
        ...
      14864a52
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 4e13c5d0
      Linus Torvalds authored
      Pull SCSI target updates from Nicholas Bellinger:
       "The highlights this round include:
      
        - add support for SCSI Referrals (Hannes)
        - add support for T10 DIF into target core (nab + mkp)
        - add support for T10 DIF emulation in FILEIO + RAMDISK backends (Sagi + nab)
        - add support for T10 DIF -> bio_integrity passthrough in IBLOCK backend (nab)
        - prep changes to iser-target for >= v3.15 T10 DIF support (Sagi)
        - add support for qla2xxx N_Port ID Virtualization - NPIV (Saurav + Quinn)
        - allow percpu_ida_alloc() to receive task state bitmask (Kent)
        - fix >= v3.12 iscsi-target session reset hung task regression (nab)
        - fix >= v3.13 percpu_ref se_lun->lun_ref_active race (nab)
        - fix a long-standing network portal creation race (Andy)"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (51 commits)
        target: Fix percpu_ref_put race in transport_lun_remove_cmd
        target/iscsi: Fix network portal creation race
        target: Report bad sector in sense data for DIF errors
        iscsi-target: Convert gfp_t parameter to task state bitmask
        iscsi-target: Fix connection reset hang with percpu_ida_alloc
        percpu_ida: Make percpu_ida_alloc + callers accept task state bitmask
        iscsi-target: Pre-allocate more tags to avoid ack starvation
        qla2xxx: Configure NPIV fc_vport via tcm_qla2xxx_npiv_make_lport
        qla2xxx: Enhancements to enable NPIV support for QLOGIC ISPs with TCM/LIO.
        qla2xxx: Fix scsi_host leak on qlt_lport_register callback failure
        IB/isert: pass scatterlist instead of cmd to fast_reg_mr routine
        IB/isert: Move fastreg descriptor creation to a function
        IB/isert: Avoid frwr notation, user fastreg
        IB/isert: seperate connection protection domains and dma MRs
        tcm_loop: Enable DIF/DIX modes in SCSI host LLD
        target/rd: Add DIF protection into rd_execute_rw
        target/rd: Add support for protection SGL setup + release
        target/rd: Refactor rd_build_device_space + rd_release_device_space
        target/file: Add DIF protection support to fd_execute_rw
        target/file: Add DIF protection init/format support
        ...
      4e13c5d0
    • Oleg Drokin's avatar
      Fix mountpoint reference leakage in linkat · d22e6338
      Oleg Drokin authored
      Recent changes to retry on ESTALE in linkat
      (commit 442e31ca)
      introduced a mountpoint reference leak and a small memory
      leak in case a filesystem link operation returns ESTALE
      which is pretty normal for distributed filesystems like
      lustre, nfs and so on.
      Free old_path in such a case.
      
      [AV: there was another missing path_put() nearby - on the previous
      goto retry]
      Signed-off-by: default avatarOleg Drokin: <green@linuxhacker.ru>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      d22e6338
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · deb2a1d2
      Linus Torvalds authored
      Pyll ARM64 patches from Catalin Marinas:
       - Build fix with DMA_CMA enabled
       - Introduction of PTE_WRITE to distinguish between writable but clean
         and truly read-only pages
       - FIQs enabling/disabling clean-up (they aren't used on arm64)
       - CPU resume fix for the per-cpu offset restoring
       - Code comment typos
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: Introduce PTE_WRITE
        arm64: mm: Remove PTE_BIT_FUNC macro
        arm64: FIQs are unused
        arm64: mm: fix the function name in comment of cpu_do_switch_mm
        arm64: fix build error if DMA_CMA is enabled
        arm64: kernel: fix per-cpu offset restore on resume
        arm64: mm: fix the function name in comment of __flush_dcache_area
        arm64: mm: use ubfm for dcache_line_size
      deb2a1d2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha · bcc9f966
      Linus Torvalds authored
      Pull alpha updates from Matt Turner:
       "A pair of changes for alpha.  One fixes a networking regression, and
        the second adds audit syscall support which will help in supporting
        systemd"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:
        alpha: fix broken network checksum
        alpha: Enable system-call auditing support.
      bcc9f966
    • Christoph Hellwig's avatar
      hfsplus: use xattr handlers for removexattr · b168fff7
      Christoph Hellwig authored
      hfsplus was already using the handlers for get and set operations,
      and with the removal of can_set_xattr we've now allow operations that
      wouldn't otherwise be allowed.
      
      With this we can also centralize the special-casing of the osx.
      attrs that don't have prefixes on disk in the osx xattr handlers.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b168fff7
    • Stephan Springl's avatar
      Typo in compat_sys_lseek() declaration · e5fbf67d
      Stephan Springl authored
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e5fbf67d
    • Andrew Ruder's avatar
      fs/super.c: sync ro remount after blocking writers · 807612db
      Andrew Ruder authored
      Move sync_filesystem() after sb_prepare_remount_readonly().  If writers
      sneak in anywhere from sync_filesystem() to sb_prepare_remount_readonly()
      it can cause inodes to be dirtied and writeback to occur well after
      sys_mount() has completely successfully.
      
      This was spotted by corrupted ubifs filesystems on reboot, but appears
      that it can cause issues with any filesystem using writeback.
      
      Cc: Artem Bityutskiy <dedekind1@gmail.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      CC: Richard Weinberger <richard@nod.at>
      Co-authored-by: default avatarRichard Weinberger <richard@nod.at>
      Signed-off-by: default avatarAndrew Ruder <andrew.ruder@elecsyscorp.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      807612db
    • Jeff Layton's avatar
      vfs: unexport the getname() symbol · 9115eac2
      Jeff Layton authored
      Leaving getname() exported when putname() isn't is a bad idea.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9115eac2
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · b399c46e
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
       - a new jpeg codec driver for Samsung Exynos (jpeg-hw-exynos4)
       - a new dvb frontend for ds2103 chipset (m88ds2103)
       - a new sensor driver for Samsung S5K5BAF UXGA (s5k5baf)
       - new drivers for R-Car VSP1
       - a new radio driver: radio-raremono
       - a new tuner driver for ts2022 chipset (m88ts2022)
       - the analog part of em28xx is now a separate module that only
         load/runs if the device is not a pure digital TV device
       - added a staging driver for bcm2048 radio devices
       - the omap 2 video driver (omap24xx) was moved to staging.  This driver
         is for an old hardware and uses a deprecated Kernel internal API.  If
         nobody cares enough to fix it, it would be removed on a couple Kernel
         releases
       - the sn9c102 driver was moved to staging.  This driver was replaced by
         gspca, and disabled on some distros, as almost all devices are known
         to work properly with gspca.  It should be removed from kernel on a
         couple Kernel releases
       - lots of driver fixes, improvements and cleanups
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (421 commits)
        [media] media: v4l2-dev: fix video device index assignment
        [media] rc-core: reuse device numbers
        [media] em28xx-cards: properly initialize the device bitmap
        [media] Staging: media: Fix line length exceeding 80 characters in as102_drv.c
        [media] Staging: media: Fix line length exceeding 80 characters in as102_fe.c
        [media] Staging: media: Fix quoted string split across line in as102_fe.c
        [media] media: st-rc: Add reset support
        [media] m2m-deinterlace: fix allocated struct type
        [media] radio-usb-si4713: fix sparse non static symbol warnings
        [media] em28xx-audio: remove needless check before usb_free_coherent()
        [media] au0828: Fix sparse non static symbol warning
        Revert "[media] go7007-usb: only use go->dev after allocated"
        [media] em28xx-audio: provide an error code when URB submit fails
        [media] em28xx: fix check for audio only usb interfaces when changing the usb alternate setting
        [media] em28xx: fix usb alternate setting for analog and digital video endpoints > 0
        [media] em28xx: make 'em28xx_ctrl_ops' static
        em28xx-alsa: Fix error patch for init/fini
        [media] em28xx-audio: flush work at .fini
        [media] drxk: remove the option to load firmware asynchronously
        [media] em28xx: adjust period size at runtime
        ...
      b399c46e
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b890eb4e
      Linus Torvalds authored
      Pull ACPI and power management fixes and cleanups from Rafael Wysocki:
      
       - ACPI device hotplug fix preventing ACPI drivers from binding to device
         objects that acpi_bus_trim() has been called for and the devices
         represented by them may not be operational.
      
       - Recent cpufreq changes related to the "boost" (turbo) feature broke
         the acpi-cpufreq error code path causing a NULL pointer dereference
         to occur on some systems.  Fix from Konrad Rzeszutek Wilk.
      
       - The log level of a CPU initialization error message added recently
         needs to be reduced, because the particular BIOS issue indicated by
         it turns out to be widespread and doesn't really matter for the
         majority of systems having it.  From Jiang Liu.
      
       - The regulator API needs to be told to stay away from things on systems
         with ACPI BIOSes or it may conflict with the BIOS' own handling of
         voltage regulators.  Fix from Mark Brown that works around a 3.13
         regression in lm90 on PCs occuring if the regulator API is enabled.
      
       - Prevent the Exynos4 devfreq driver from being built on multiplatform,
         because it depends on things that aren't available during such builds.
         From Sachin Kamat.
      
       - Upstream ACPICA doesn't use the bool type as defined in the kernel,
         so modify the kernel's ACPICA code to follow the upstream in that
         respect (only one variable definition is affected) to reduce
         divergences between the two.  From Lv Zheng.
      
       - Make the ACPI device PM code use ACPI_COMPANION() instead of its own
         routine doing the same thing (and invokng ACPI_COMPANION() in the
         process).
      
       - Modify some routines in the ACPI processor driver to follow the
         common convention and return negative integers on errors.  From
         Hanjun Guo.
      
      * tag 'pm+acpi-3.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / scan: Clear match_driver flag in acpi_bus_trim()
        ACPI / init: Flag use of ACPI and ACPI idioms for power supplies to regulator API
        acpi-cpufreq: De-register CPU notifier and free struct msr on error.
        ACPICA: Remove bool usage from ACPICA.
        PM / devfreq: Disable Exynos4 driver build on multiplatform
        ACPI / PM: Use ACPI_COMPANION() to get ACPI companions of devices
        ACPI / scan: reduce log level of "ACPI: \_PR_.CPU4: failed to get CPU APIC ID"
        ACPI / processor: Return specific error value when mapping lapic id
      b890eb4e
    • Mikulas Patocka's avatar
      alpha: fix broken network checksum · 0ef38d70
      Mikulas Patocka authored
      The patch 3ddc5b46 breaks networking on
      alpha (there is a follow-up fix 5cfe8f1b,
      but networking is still broken even with the second patch).
      
      The patch 3ddc5b46 makes
      csum_partial_copy_from_user check the pointer with access_ok. However,
      csum_partial_copy_from_user is called also from csum_partial_copy_nocheck
      and csum_partial_copy_nocheck is called on kernel pointers and it is
      supposed not to check pointer validity.
      
      This bug results in ssh session hangs if the system is loaded and bulk
      data are printed to ssh terminal.
      
      This patch fixes csum_partial_copy_nocheck to call set_fs(KERNEL_DS), so
      that access_ok in csum_partial_copy_from_user accepts kernel-space
      addresses.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      0ef38d70
    • 蔡正龙's avatar
      a9302e84
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · aafd9d6a
      Linus Torvalds authored
      Pull timer/dynticks updates from Ingo Molnar:
       "This tree contains misc dynticks updates: a fix and three cleanups"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/nohz: Fix overflow error in scheduler_tick_max_deferment()
        nohz_full: fix code style issue of tick_nohz_full_stop_tick
        nohz: Get timekeeping max deferment outside jiffies_lock
        tick: Rename tick_check_idle() to tick_irq_enter()
      aafd9d6a
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 595bf999
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "A crash fix and documentation updates"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Make sched_class::get_rr_interval() optional
        sched/deadline: Add sched_dl documentation
        sched: Fix docbook parameter annotation error in wait.h
      595bf999
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ab531878
      Linus Torvalds authored
      Pull core debug changes from Ingo Molnar:
       "This contains mostly kernel debugging related updates:
      
         - make hung_task detection more configurable to distros
         - add final bits for x86 UV NMI debugging, with related KGDB changes
         - update the mailing-list of MAINTAINERS entries I'm involved with"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        hung_task: Display every hung task warning
        sysctl: Add neg_one as a standard constraint
        x86/uv/nmi, kgdb/kdb: Fix UV NMI handler when KDB not configured
        x86/uv/nmi: Fix Sparse warnings
        kgdb/kdb: Fix no KDB config problem
        MAINTAINERS: Restore "L: linux-kernel@vger.kernel.org" entries
      ab531878
    • Stephen Warren's avatar
      ALSA: hda/hdmi - allow PIN_OUT to be dynamically enabled · 75fae117
      Stephen Warren authored
      Commit 384a48d7 "ALSA: hda: HDMI: Support codecs with fewer cvts
      than pins" dynamically enabled each pin widget's PIN_OUT only when the
      pin was actively in use. This was required on certain NVIDIA CODECs for
      correct operation. Specifically, if multiple pin widgets each had their
      mux input select the same audio converter widget and each pin widget had
      PIN_OUT enabled, then only one of the pin widgets would actually receive
      the audio, and often not the one the user wanted!
      
      However, this apparently broke some Intel systems, and commit
      6169b673 "ALSA: hda - Always turn on pins for HDMI/DP" reverted the
      dynamic setting of PIN_OUT. This in turn broke the afore-mentioned NVIDIA
      CODECs.
      
      This change supports either dynamic or static handling of PIN_OUT,
      selected by a flag set up during CODEC initialization. This flag is
      enabled for all recent NVIDIA GPUs.
      Reported-by: default avatarUosis <uosisl@gmail.com>
      Cc: <stable@vger.kernel.org> # v3.13
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      75fae117
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.14-rc0-late-tag' of... · 14164b46
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.14-rc0-late-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
      
      Pull Xen bugfixes from Konrad Rzeszutek Wilk:
       "Bug-fixes for the new features that were added during this cycle.
      
        There are also two fixes for long-standing issues for which we have a
        solution: grant-table operations extra work that was not needed
        causing performance issues and the self balloon code was too
        aggressive causing OOMs.
      
        Details:
         - Xen ARM couldn't use the new FIFO events
         - Xen ARM couldn't use the SWIOTLB if compiled as 32-bit with 64-bit PCIe devices.
         - Grant table were doing needless M2P operations.
         - Ratchet down the self-balloon code so it won't OOM.
         - Fix misplaced kfree in Xen PVH error code paths"
      
      * tag 'stable/for-linus-3.14-rc0-late-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/pvh: Fix misplaced kfree from xlated_setup_gnttab_pages
        drivers: xen: deaggressive selfballoon driver
        xen/grant-table: Avoid m2p_override during mapping
        xen/gnttab: Use phys_addr_t to describe the grant frame base address
        xen: swiotlb: handle sizeof(dma_addr_t) != sizeof(phys_addr_t)
        arm/xen: Initialize event channels earlier
      14164b46
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · e2a0f813
      Linus Torvalds authored
      Pull more KVM updates from Paolo Bonzini:
       "Second batch of KVM updates.  Some minor x86 fixes, two s390 guest
        features that need some handling in the host, and all the PPC changes.
      
        The PPC changes include support for little-endian guests and
        enablement for new POWER8 features"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (45 commits)
        x86, kvm: correctly access the KVM_CPUID_FEATURES leaf at 0x40000101
        x86, kvm: cache the base of the KVM cpuid leaves
        kvm: x86: move KVM_CAP_HYPERV_TIME outside #ifdef
        KVM: PPC: Book3S PR: Cope with doorbell interrupts
        KVM: PPC: Book3S HV: Add software abort codes for transactional memory
        KVM: PPC: Book3S HV: Add new state for transactional memory
        powerpc/Kconfig: Make TM select VSX and VMX
        KVM: PPC: Book3S HV: Basic little-endian guest support
        KVM: PPC: Book3S HV: Add support for DABRX register on POWER7
        KVM: PPC: Book3S HV: Prepare for host using hypervisor doorbells
        KVM: PPC: Book3S HV: Handle new LPCR bits on POWER8
        KVM: PPC: Book3S HV: Handle guest using doorbells for IPIs
        KVM: PPC: Book3S HV: Consolidate code that checks reason for wake from nap
        KVM: PPC: Book3S HV: Implement architecture compatibility modes for POWER8
        KVM: PPC: Book3S HV: Add handler for HV facility unavailable
        KVM: PPC: Book3S HV: Flush the correct number of TLB sets on POWER8
        KVM: PPC: Book3S HV: Context-switch new POWER8 SPRs
        KVM: PPC: Book3S HV: Align physical and virtual CPU thread numbers
        KVM: PPC: Book3S HV: Don't set DABR on POWER8
        kvm/ppc: IRQ disabling cleanup
        ...
      e2a0f813
    • Linus Torvalds's avatar
      Merge tag 'jfs-3.14' of git://github.com/kleikamp/linux-shaggy · e30b82bb
      Linus Torvalds authored
      Pull jfs fix from David Kleikamp:
       "Minor bug fix for linux-3.14"
      
      * tag 'jfs-3.14' of git://github.com/kleikamp/linux-shaggy:
        jfs: fix xattr value size overflow in __jfs_setxattr
      e30b82bb
    • Sage Weil's avatar
      ceph: fix missing dput in ceph_set_acl · 77516dc9
      Sage Weil authored
      Add matching dput() for d_find_alias().  Move d_find_alias() down a bit
      at Julia's suggestion.
      
      [ Introduced by commit 72466d0b: "ceph: fix posix ACL hooks" ]
      Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Reported-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarSage Weil <sage@inktank.com>
      Reviewed-by: default avatarIlya Dryomov <ilya.dryomov@inktank.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      77516dc9
    • Sachin Prabhu's avatar
      cifs: Fix check for regular file in couldbe_mf_symlink() · a9a315d4
      Sachin Prabhu authored
      MF Symlinks are regular files containing content in a specified format.
      
      The function couldbe_mf_symlink() checks the mode for a set S_IFREG bit
      as a test to confirm that it is a regular file. This bit is also set for
      other filetypes and simply checking for this bit being set may return
      false positives.
      
      We ensure that we are actually checking for a regular file by using the
      S_ISREG macro to test instead.
      Signed-off-by: default avatarSachin Prabhu <sprabhu@redhat.com>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Reported-by: default avatarNeil Brown <neilb@suse.de>
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      a9a315d4
    • Dave Jones's avatar
      xen/pvh: Fix misplaced kfree from xlated_setup_gnttab_pages · f93576e1
      Dave Jones authored
      Passing a freed 'pages' to free_xenballooned_pages will end badly
      on kernels with slub debug enabled.
      
      This looks out of place between the rc assign and the check, but
      we do want to kfree pages regardless of which path we take.
      Signed-off-by: default avatarDave Jones <davej@fedoraproject.org>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      f93576e1
    • Bob Liu's avatar
      drivers: xen: deaggressive selfballoon driver · bc1b0df5
      Bob Liu authored
      Current xen-selfballoon driver is too aggressive which may cause OOM be
      triggered more often. Eg. this bug reported by James:
      https://lkml.org/lkml/2013/11/21/158
      
      There are two mainly reasons:
      1) The original goal_page didn't consider some pages used by kernel space, like
      slab pages and pages used by device drivers.
      
      2) The balloon driver may not give back memory to guest OS fast enough when the
      workload suddenly aquries a lot of physical memory.
      
      In both cases, the guest OS will suffer from memory pressure and OOM may
      be triggered.
      
      The fix is make xen-selfballoon driver not that aggressive by adding extra 10%
      of total ram pages to goal_page.
      It's more valuable to keep the guest system reliable and response faster than
      balloon out these 10% pages to XEN.
      Signed-off-by: default avatarBob Liu <bob.liu@oracle.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      bc1b0df5
    • Zoltan Kiss's avatar
      xen/grant-table: Avoid m2p_override during mapping · 08ece5bb
      Zoltan Kiss authored
      The grant mapping API does m2p_override unnecessarily: only gntdev needs it,
      for blkback and future netback patches it just cause a lock contention, as
      those pages never go to userspace. Therefore this series does the following:
      - the original functions were renamed to __gnttab_[un]map_refs, with a new
        parameter m2p_override
      - based on m2p_override either they follow the original behaviour, or just set
        the private flag and call set_phys_to_machine
      - gnttab_[un]map_refs are now a wrapper to call __gnttab_[un]map_refs with
        m2p_override false
      - a new function gnttab_[un]map_refs_userspace provides the old behaviour
      
      It also removes a stray space from page.h and change ret to 0 if
      XENFEAT_auto_translated_physmap, as that is the only possible return value
      there.
      
      v2:
      - move the storing of the old mfn in page->index to gnttab_map_refs
      - move the function header update to a separate patch
      
      v3:
      - a new approach to retain old behaviour where it needed
      - squash the patches into one
      
      v4:
      - move out the common bits from m2p* functions, and pass pfn/mfn as parameter
      - clear page->private before doing anything with the page, so m2p_find_override
        won't race with this
      
      v5:
      - change return value handling in __gnttab_[un]map_refs
      - remove a stray space in page.h
      - add detail why ret = 0 now at some places
      
      v6:
      - don't pass pfn to m2p* functions, just get it locally
      Signed-off-by: default avatarZoltan Kiss <zoltan.kiss@citrix.com>
      Suggested-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Acked-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Acked-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      08ece5bb
    • Malahal Naineni's avatar
      nfs: initialize the ACL support bits to zero. · a1800aca
      Malahal Naineni authored
      Avoid returning incorrect acl mask attributes when the server doesn't
      support ACLs.
      Signed-off-by: default avatarMalahal Naineni <malahal@us.ibm.com>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      a1800aca
    • Steve Capper's avatar
      arm64: mm: Introduce PTE_WRITE · c2c93e5b
      Steve Capper authored
      We have the following means for encoding writable or dirty ptes:
      
                                      PTE_DIRTY       PTE_RDONLY
      !pte_dirty && !pte_write        0               1
      !pte_dirty && pte_write         0               1
      pte_dirty && !pte_write         1               1
      pte_dirty && pte_write          1               0
      
      So we can't distinguish between writable clean ptes and read only
      ptes. This can cause problems with ptes being incorrectly flagged as
      read only when they are writable but not dirty.
      
      This patch introduces a new software bit PTE_WRITE which allows us to
      correctly identify writable ptes. PTE_RDONLY is now only clear for
      valid ptes where a page is both writable and dirty.
      Signed-off-by: default avatarSteve Capper <steve.capper@arm.com>
      Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      c2c93e5b
    • Steve Capper's avatar
      arm64: mm: Remove PTE_BIT_FUNC macro · 44b6dfc5
      Steve Capper authored
      Expand out the pte manipulation functions. This makes our life easier
      when using things like tags and cscope.
      Signed-off-by: default avatarSteve Capper <steve.capper@arm.com>
      Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      44b6dfc5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · e7651b81
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "This is a pretty big pull, and most of these changes have been
        floating in btrfs-next for a long time.  Filipe's properties work is a
        cool building block for inheriting attributes like compression down on
        a per inode basis.
      
        Jeff Mahoney kicked in code to export filesystem info into sysfs.
      
        Otherwise, lots of performance improvements, cleanups and bug fixes.
      
        Looks like there are still a few other small pending incrementals, but
        I wanted to get the bulk of this in first"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (149 commits)
        Btrfs: fix spin_unlock in check_ref_cleanup
        Btrfs: setup inode location during btrfs_init_inode_locked
        Btrfs: don't use ram_bytes for uncompressed inline items
        Btrfs: fix btrfs_search_slot_for_read backwards iteration
        Btrfs: do not export ulist functions
        Btrfs: rework ulist with list+rb_tree
        Btrfs: fix memory leaks on walking backrefs failure
        Btrfs: fix send file hole detection leading to data corruption
        Btrfs: add a reschedule point in btrfs_find_all_roots()
        Btrfs: make send's file extent item search more efficient
        Btrfs: fix to catch all errors when resolving indirect ref
        Btrfs: fix protection between walking backrefs and root deletion
        btrfs: fix warning while merging two adjacent extents
        Btrfs: fix infinite path build loops in incremental send
        btrfs: undo sysfs when open_ctree() fails
        Btrfs: fix snprintf usage by send's gen_unique_name
        btrfs: fix defrag 32-bit integer overflow
        btrfs: sysfs: list the NO_HOLES feature
        btrfs: sysfs: don't show reserved incompat feature
        btrfs: call permission checks earlier in ioctls and return EPERM
        ...
      e7651b81
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.14-rc1' of git://git.infradead.org/linux-ubifs · 060e8e3b
      Linus Torvalds authored
      Pull ubifs updates from Artem Bityutskiy:
      
       - Improve the NOR erasure quirk - now it tries to do as little writes
         as possible, because the eraseblock may be in an "unstable" state and
         write operation sometimes causes NOR chip lock-ups.
      
       - Both UBI and UBIFS changes are now maintainer in one single tree,
         because the amount of changes dropped significantly.
      
      * tag 'upstream-3.14-rc1' of git://git.infradead.org/linux-ubifs:
        UBI: avoid program operation on NOR flash after erasure interrupted
        MAINTAINERS: keep UBI and UBIFS stuff in the same tree
        UBI: fix error return code
      060e8e3b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 271bf66d
      Linus Torvalds authored
      Pull some further ceph acl cleanups from Sage Weil:
       "I do have a couple patches on top of what's in your tree, though, that
        clean up a couple duplicated lines in your fix and apply Christoph's
        cleanup"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        ceph: simplify ceph_{get,init}_acl
        ceph: remove duplicate declaration of ceph_setattr
      271bf66d
    • Christoph Hellwig's avatar
      ceph: simplify ceph_{get,init}_acl · 75858236
      Christoph Hellwig authored
       - ->get_acl only gets called after we checked for a cached ACL, so no
         need to call get_cached_acl again.
       - no need to check IS_POSIXACL in ->get_acl, without that it should
         never get set as all the callers that set it already have the check.
       - you should be able to use the full posix_acl_create in CEPH
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarSage Weil <sage@inktank.com>
      75858236
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew Morton) · aa2e7100
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "A few hotfixes and various leftovers which were awaiting other merges.
      
        Mainly movement of zram into mm/"
      
      * emailed patches fron Andrew Morton <akpm@linux-foundation.org>: (25 commits)
        memcg: fix mutex not unlocked on memcg_create_kmem_cache fail path
        Documentation/filesystems/vfs.txt: update file_operations documentation
        mm, oom: base root bonus on current usage
        mm: don't lose the SOFT_DIRTY flag on mprotect
        mm/slub.c: fix page->_count corruption (again)
        mm/mempolicy.c: fix mempolicy printing in numa_maps
        zram: remove zram->lock in read path and change it with mutex
        zram: remove workqueue for freeing removed pending slot
        zram: introduce zram->tb_lock
        zram: use atomic operation for stat
        zram: remove unnecessary free
        zram: delay pending free request in read path
        zram: fix race between reset and flushing pending work
        zsmalloc: add maintainers
        zram: add zram maintainers
        zsmalloc: add copyright
        zram: add copyright
        zram: remove old private project comment
        zram: promote zram from staging
        zsmalloc: move it under mm
        ...
      aa2e7100
    • PaX Team's avatar
      x86, x32: Correct invalid use of user timespec in the kernel · 2def2ef2
      PaX Team authored
      The x32 case for the recvmsg() timout handling is broken:
      
        asmlinkage long compat_sys_recvmmsg(int fd, struct compat_mmsghdr __user *mmsg,
                                            unsigned int vlen, unsigned int flags,
                                            struct compat_timespec __user *timeout)
        {
                int datagrams;
                struct timespec ktspec;
      
                if (flags & MSG_CMSG_COMPAT)
                        return -EINVAL;
      
                if (COMPAT_USE_64BIT_TIME)
                        return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
                                              flags | MSG_CMSG_COMPAT,
                                              (struct timespec *) timeout);
                ...
      
      The timeout pointer parameter is provided by userland (hence the __user
      annotation) but for x32 syscalls it's simply cast to a kernel pointer
      and is passed to __sys_recvmmsg which will eventually directly
      dereference it for both reading and writing.  Other callers to
      __sys_recvmmsg properly copy from userland to the kernel first.
      
      The bug was introduced by commit ee4fa23c ("compat: Use
      COMPAT_USE_64BIT_TIME in net/compat.c") and should affect all kernels
      since 3.4 (and perhaps vendor kernels if they backported x32 support
      along with this code).
      
      Note that CONFIG_X86_X32_ABI gets enabled at build time and only if
      CONFIG_X86_X32 is enabled and ld can build x32 executables.
      
      Other uses of COMPAT_USE_64BIT_TIME seem fine.
      
      This addresses CVE-2014-0038.
      Signed-off-by: default avatarPaX Team <pageexec@freemail.hu>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      Cc: <stable@vger.kernel.org> # v3.4+
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2def2ef2
    • Linus Torvalds's avatar
      Merge branch 'x86-asmlinkage-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 12f2bbd6
      Linus Torvalds authored
      Pull x86 asmlinkage (LTO) changes from Peter Anvin:
       "This patchset adds more infrastructure for link time optimization
        (LTO).
      
        This patchset was pulled into my tree late because of a
        miscommunication (part of the patchset was picked up by other
        maintainers).  However, the patchset is strictly build-related and
        seems to be okay in testing"
      
      * 'x86-asmlinkage-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, asmlinkage, xen: Fix type of NMI
        x86, asmlinkage, xen, kvm: Make {xen,kvm}_lock_spinning global and visible
        x86: Use inline assembler instead of global register variable to get sp
        x86, asmlinkage, paravirt: Make paravirt thunks global
        x86, asmlinkage, paravirt: Don't rely on local assembler labels
        x86, asmlinkage, lguest: Fix C functions used by inline assembler
      12f2bbd6