1. 01 2月, 2014 17 次提交
    • L
      Merge tag 'nfs-for-3.14-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 8a1f006a
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'sound-fix-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 14864a52
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 4e13c5d0
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · deb2a1d2
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha · bcc9f966
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · b399c46e
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'pm+acpi-3.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b890eb4e
      Linus Torvalds 提交于
      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
    • M
      alpha: fix broken network checksum · 0ef38d70
      Mikulas Patocka 提交于
      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: NMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: NMatt Turner <mattst88@gmail.com>
      0ef38d70
    • alpha: Enable system-call auditing support. · a9302e84
      蔡正龙 提交于
      Signed-off-by: NZhenglong.cai <zhenglong.cai@cs2c.com.cn>
      Signed-off-by: NMatt Turner <mattst88@gmail.com>
      a9302e84
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · aafd9d6a
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 595bf999
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ab531878
      Linus Torvalds 提交于
      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
    • S
      ALSA: hda/hdmi - allow PIN_OUT to be dynamically enabled · 75fae117
      Stephen Warren 提交于
      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: NUosis <uosisl@gmail.com>
      Cc: <stable@vger.kernel.org> # v3.13
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      75fae117
    • L
      Merge tag 'stable/for-linus-3.14-rc0-late-tag' of... · 14164b46
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · e2a0f813
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'jfs-3.14' of git://github.com/kleikamp/linux-shaggy · e30b82bb
      Linus Torvalds 提交于
      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
    • S
      ceph: fix missing dput in ceph_set_acl · 77516dc9
      Sage Weil 提交于
      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: NFengguang Wu <fengguang.wu@intel.com>
      Reported-by: NJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: NSage Weil <sage@inktank.com>
      Reviewed-by: NIlya Dryomov <ilya.dryomov@inktank.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      77516dc9
  2. 31 1月, 2014 23 次提交
    • D
      xen/pvh: Fix misplaced kfree from xlated_setup_gnttab_pages · f93576e1
      Dave Jones 提交于
      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: NDave Jones <davej@fedoraproject.org>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      f93576e1
    • B
      drivers: xen: deaggressive selfballoon driver · bc1b0df5
      Bob Liu 提交于
      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: NBob Liu <bob.liu@oracle.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      bc1b0df5
    • Z
      xen/grant-table: Avoid m2p_override during mapping · 08ece5bb
      Zoltan Kiss 提交于
      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: NZoltan Kiss <zoltan.kiss@citrix.com>
      Suggested-by: NDavid Vrabel <david.vrabel@citrix.com>
      Acked-by: NDavid Vrabel <david.vrabel@citrix.com>
      Acked-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      08ece5bb
    • M
      nfs: initialize the ACL support bits to zero. · a1800aca
      Malahal Naineni 提交于
      Avoid returning incorrect acl mask attributes when the server doesn't
      support ACLs.
      Signed-off-by: NMalahal Naineni <malahal@us.ibm.com>
      Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
      a1800aca
    • S
      arm64: mm: Introduce PTE_WRITE · c2c93e5b
      Steve Capper 提交于
      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: NSteve Capper <steve.capper@arm.com>
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      c2c93e5b
    • S
      arm64: mm: Remove PTE_BIT_FUNC macro · 44b6dfc5
      Steve Capper 提交于
      Expand out the pte manipulation functions. This makes our life easier
      when using things like tags and cscope.
      Signed-off-by: NSteve Capper <steve.capper@arm.com>
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      44b6dfc5
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · e7651b81
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'upstream-3.14-rc1' of git://git.infradead.org/linux-ubifs · 060e8e3b
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 271bf66d
      Linus Torvalds 提交于
      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
    • C
      ceph: simplify ceph_{get,init}_acl · 75858236
      Christoph Hellwig 提交于
       - ->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: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NSage Weil <sage@inktank.com>
      75858236
    • L
      Merge branch 'akpm' (patches from Andrew Morton) · aa2e7100
      Linus Torvalds 提交于
      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
    • P
      x86, x32: Correct invalid use of user timespec in the kernel · 2def2ef2
      PaX Team 提交于
      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: NPaX Team <pageexec@freemail.hu>
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      Cc: <stable@vger.kernel.org> # v3.4+
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2def2ef2
    • L
      Merge branch 'x86-asmlinkage-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 12f2bbd6
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 10ffe3db
      Linus Torvalds 提交于
      Pull x86 build bits from Peter Anvin:
       "Various build-related minor bits.
      
        Most of this is work by David Woodhouse to be able to compile the
        early boot code with clang/llvm; we have also managed to push an
        actual -m16 option into gcc 4.9 so this makes us use that option if
        available instead of hacking it.
      
        The balance is a patch from Michael Davidson to the relocs program to
        help manual debugging.
      
        None of these should change the actual compiled binary with currently
        released compilers"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, build: Build 16-bit code with -m16 where possible
        x86, boot: Fix word-size assumptions in has_eflag() inline asm
        x86, boot: Use __attribute__((used)) to ensure videocard structs are emitted
        x86: Remove duplication of 16-bit CFLAGS
        x86, relocs: Add manual debug mode
      10ffe3db
    • L
      Merge tag 'late-dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f8a504c4
      Linus Torvalds 提交于
      Pull ARM SoC late changes from Kevin Hilman:
       "These are changes that arrived a little late but were considered
        self-contained enough to still go in for v3.14.
      
        They are all device tree updtes this time around, and mainly for
        Broadcom SoCs"
      
      * tag 'late-dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: moxart: move fixed rate clock child node to board level dts
        clk: bcm281xx: define kona clock binding
        ARM: dts: add usb udc support to bcm281xx
        ARM: dts: Specify clocks for timer on bcm11351
        Documentation: dt: kona-timer: Add clocks property
        ARM: dts: Specify clocks for SDHCIs on bcm11351
        Documentation: dt: kona-sdhci: Add clocks property
        ARM: dts: Specify clocks for UARTs on bcm11351
        ARM: dts: bcm281xx: Add i2c busses
        ARM: dts: Declare clocks as fixed on bcm11351
        ARM: dts: bcm28155-ap: Enable all the i2c busses
      f8a504c4
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · cdfc8307
      Linus Torvalds 提交于
      Pull MIPS updates from Ralf Baechle:
       "The most notable new addition inside this pull request is the support
        for MIPS's latest and greatest core called "inter/proAptiv".  The
        patch series describes this core as follows.
      
          "The interAptiv is a power-efficient multi-core microprocessor
           for use in system-on-chip (SoC) applications. The interAptiv combines
           a multi-threading pipeline with a coherence manager to deliver improved
           computational throughput and power efficiency. The interAptiv can
           contain one to four MIPS32R3 interAptiv cores, system level
           coherence manager with L2 cache, optional coherent I/O port,
           and optional floating point unit."
      
        The platform specific patches touch all 3 Broadcom families.  It adds
        support for the new Broadcom/Netlogix XLP9xx Soc, building a common
        BCM63XX SMP kernel for all BCM63XX SoCs regardless of core type/count
        and full gpio button/led descriptions for BCM47xx.
      
        The rest of the series are cleanups and bug fixes that are MIPS
        generic and consist largely of changes that Imgtec/MIPS had published
        in their linux-mti-3.10.git stable tree.  Random other cleanups and
        patches preparing code to be merged in 3.15"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (139 commits)
        mips: select ARCH_MIGHT_HAVE_PC_SERIO
        mips: delete non-required instances of include <linux/init.h>
        MIPS: KVM: remove shadow_tlb code
        MIPS: KVM: use common EHINV aware UNIQUE_ENTRYHI
        mips/ide: flush dcache also if icache does not snoop dcache
        MIPS: BCM47XX: fix position of cpu_wait disabling
        MIPS: BCM63XX: select correct MIPS_L1_CACHE_SHIFT value
        MIPS: update MIPS_L1_CACHE_SHIFT based on MIPS_L1_CACHE_SHIFT_<N>
        MIPS: introduce MIPS_L1_CACHE_SHIFT_<N>
        MIPS: ZBOOT: gather string functions into string.c
        arch/mips/pci: don't check resource with devm_ioremap_resource
        arch/mips/lantiq/xway: don't check resource with devm_ioremap_resource
        bcma: gpio: don't cast u32 to unsigned long
        ssb: gpio: add own IRQ domain
        MIPS: BCM47XX: fix sparse warnings in board.c
        MIPS: BCM47XX: add board detection for Linksys WRT54GS V1
        MIPS: BCM47XX: fix detection for some boards
        MIPS: BCM47XX: Enable buttons support on SSB
        MIPS: BCM47XX: Convert WNDR4500 to new syntax
        MIPS: BCM47XX: Use "timer" trigger for status LEDs
        ...
      cdfc8307
    • L
      Merge tag 'for-3.14' of git://openrisc.net/~jonas/linux · 04a24ae4
      Linus Torvalds 提交于
      Pull OpenRISC updates from Jonas Bonn:
       "The interesting change here is a rework of the OpenRISC signal
        handling to make it more like other architectures in the hopes that
        this makes it easier for others to comment on and understand.  This
        rework fixes some real bugs, like the fact that syscall restart did
        not work reliably"
      
      * tag 'for-3.14' of git://openrisc.net/~jonas/linux:
        openrisc: Use get_signal() signal_setup_done()
        openrisc: Rework signal handling
      04a24ae4
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 4bcec913
      Linus Torvalds 提交于
      Pull more powerpc bits from Ben Herrenschmidt:
       "Here are a few more powerpc bits for this merge window.  The bulk is
        made of two pull requests from Scott and Anatolij that I had missed
        previously (they arrived while I was away).  Since both their branches
        are in -next independently, and the content has been around for a
        little while, they can still go in.
      
        The rest is mostly bug and regression fixes, a small series of
        cleanups to our pseries cpuidle code (including moving it to the right
        place), and one new cpuidle bakend for the powernv platform.  I also
        wired up the new sched_attr syscalls"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (37 commits)
        powerpc: Wire up sched_setattr and sched_getattr syscalls
        powerpc/hugetlb: Replace __get_cpu_var with get_cpu_var
        powerpc: Make sure "cache" directory is removed when offlining cpu
        powerpc/mm: Fix mmap errno when MAP_FIXED is set and mapping exceeds the allowed address space
        powerpc/powernv/cpuidle: Back-end cpuidle driver for powernv platform.
        powerpc/pseries/cpuidle: smt-snooze-delay cleanup.
        powerpc/pseries/cpuidle: Remove MAX_IDLE_STATE macro.
        powerpc/pseries/cpuidle: Make cpuidle-pseries backend driver a non-module.
        powerpc/pseries/cpuidle: Use cpuidle_register() for initialisation.
        powerpc/pseries/cpuidle: Move processor_idle.c to drivers/cpuidle.
        powerpc: Fix 32-bit frames for signals delivered when transactional
        powerpc/iommu: Fix initialisation of DART iommu table
        powerpc/numa: Fix decimal permissions
        powerpc/mm: Fix compile error of pgtable-ppc64.h
        powerpc: Fix hw breakpoints on !HAVE_HW_BREAKPOINT configurations
        clk: corenet: Adds the clock binding
        powerpc/booke64: Guard e6500 tlb handler with CONFIG_PPC_FSL_BOOK3E
        powerpc/512x: dts: add MPC5125 clock specs
        powerpc/512x: clk: support MPC5121/5123/5125 SoC variants
        powerpc/512x: clk: enforce even SDHC divider values
        ...
      4bcec913
    • L
      Merge branch 'drop-time' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 03c7287d
      Linus Torvalds 提交于
      Pull __TIME__/__DATE__ removal from Michal Marek:
       "This series by Josh finishes the removal of __DATE__ and __TIME__ from
        the kernel.  The last patch adds -Werror=date-time to KBUILD_CFLAGS to
        stop these from reappearing.
      
        Part of the series went through Greg's trees during this merge window,
        which is why this pull request is not based on v3.13-rc1"
      
      * 'drop-time' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        Makefile: Build with -Werror=date-time if the compiler supports it
        x86: math-emu: Drop already-disabled print of build date
        net: wireless: brcm80211: Drop debug version with build date/time
        mtd: denali: Drop print of build date/time
      03c7287d
    • L
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 597690cd
      Linus Torvalds 提交于
      Pull kbuild changes from Michal Marek:
       - fix make -s detection with make-4.0
       - fix for scripts/setlocalversion when the kernel repository is a
         submodule
       - do not hardcode ';' in macros that expand to assembler code, as some
         architectures' assemblers use a different character for newline
       - Fix passing --gdwarf-2 to the assembler
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        frv: Remove redundant debugging info flag
        mn10300: Remove redundant debugging info flag
        kbuild: Fix debugging info generation for .S files
        arch: use ASM_NL instead of ';' for assembler new line character in the macro
        kbuild: Fix silent builds with make-4
        Fix detectition of kernel git repository in setlocalversion script [take #2]
      597690cd
    • V
      memcg: fix mutex not unlocked on memcg_create_kmem_cache fail path · 7c094fd6
      Vladimir Davydov 提交于
      Commit 842e2873 ("memcg: get rid of kmem_cache_dup()") introduced a
      mutex for memcg_create_kmem_cache() to protect the tmp_name buffer that
      holds the memcg name.  It failed to unlock the mutex if this buffer
      could not be allocated.
      
      This patch fixes the issue by appropriately unlocking the mutex if the
      allocation fails.
      Signed-off-by: NVladimir Davydov <vdavydov@parallels.com>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Glauber Costa <glommer@parallels.com>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7c094fd6
    • R
      Documentation/filesystems/vfs.txt: update file_operations documentation · 46bf16c4
      Richard Yao 提交于
      ->readv, ->writev and ->sendfile have been removed while ->show_fdinfo
      has been added. The documentation should reflect this.
      Signed-off-by: NRichard Yao <ryao@gentoo.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      46bf16c4
    • D
      mm, oom: base root bonus on current usage · 778c14af
      David Rientjes 提交于
      A 3% of system memory bonus is sometimes too excessive in comparison to
      other processes.
      
      With commit a63d83f4 ("oom: badness heuristic rewrite"), the OOM
      killer tries to avoid killing privileged tasks by subtracting 3% of
      overall memory (system or cgroup) from their per-task consumption.  But
      as a result, all root tasks that consume less than 3% of overall memory
      are considered equal, and so it only takes 33+ privileged tasks pushing
      the system out of memory for the OOM killer to do something stupid and
      kill dhclient or other root-owned processes.  For example, on a 32G
      machine it can't tell the difference between the 1M agetty and the 10G
      fork bomb member.
      
      The changelog describes this 3% boost as the equivalent to the global
      overcommit limit being 3% higher for privileged tasks, but this is not
      the same as discounting 3% of overall memory from _every privileged task
      individually_ during OOM selection.
      
      Replace the 3% of system memory bonus with a 3% of current memory usage
      bonus.
      
      By giving root tasks a bonus that is proportional to their actual size,
      they remain comparable even when relatively small.  In the example
      above, the OOM killer will discount the 1M agetty's 256 badness points
      down to 179, and the 10G fork bomb's 262144 points down to 183500 points
      and make the right choice, instead of discounting both to 0 and killing
      agetty because it's first in the task list.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Reported-by: NJohannes Weiner <hannes@cmpxchg.org>
      Acked-by: NJohannes Weiner <hannes@cmpxchg.org>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      778c14af