21 Dec, 2014

4 commits

  • Pull ACCESS_ONCE cleanup preparation from Christian Borntraeger:
    "kernel: Provide READ_ONCE and ASSIGN_ONCE

    As discussed on LKML http://marc.info/?i=54611D86.4040306%40de.ibm.com
    ACCESS_ONCE might fail with specific compilers for non-scalar
    accesses.

    Here is a set of patches to tackle that problem.

    The first patch introduce READ_ONCE and ASSIGN_ONCE. If the data
    structure is larger than the machine word size memcpy is used and a
    warning is emitted. The next patches fix up several in-tree users of
    ACCESS_ONCE on non-scalar types.

    This does not yet contain a patch that forces ACCESS_ONCE to work only
    on scalar types. This is targetted for the next merge window as Linux
    next already contains new offenders regarding ACCESS_ONCE vs.
    non-scalar types"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntraeger/linux:
    s390/kvm: REPLACE barrier fixup with READ_ONCE
    arm/spinlock: Replace ACCESS_ONCE with READ_ONCE
    arm64/spinlock: Replace ACCESS_ONCE READ_ONCE
    mips/gup: Replace ACCESS_ONCE with READ_ONCE
    x86/gup: Replace ACCESS_ONCE with READ_ONCE
    x86/spinlock: Replace ACCESS_ONCE with READ_ONCE
    mm: replace ACCESS_ONCE with READ_ONCE or barriers
    kernel: Provide READ_ONCE and ASSIGN_ONCE

    Linus Torvalds
     
  • Pull clk framework updates from Mike Turquette:
    "This is much later than usual due to several last minute bugs that had
    to be addressed. As usual the majority of changes are new drivers and
    modifications to existing drivers. The core recieved many fixes along
    with the groundwork for several large changes coming in the future
    which will better parition clock providers from clock consumers"

    * tag 'clk-for-linus-3.19' of git://git.linaro.org/people/mike.turquette/linux: (86 commits)
    clk: samsung: Fix Exynos 5420 pinctrl setup and clock disable failure due to domain being gated
    ARM: OMAP3: clock: fix boot breakage in legacy mode
    ARM: OMAP2+: clock: fix DPLL code to use new determine rate APIs
    clk: Really fix deadlock with mmap_sem
    clk: mmp: fix sparse non static symbol warning
    clk: Change clk_ops->determine_rate to return a clk_hw as the best parent
    clk: change clk_debugfs_add_file to take a struct clk_hw
    clk: Don't expose __clk_get_accuracy
    clk: Don't try to use a struct clk* after it could have been freed
    clk: Remove unused function __clk_get_prepare_count
    clk: samsung: Fix double add of syscore ops after driver rebind
    clk: samsung: exynos4: set parent of sclk_hdmiphy to hdmi
    clk: samsung: exynos4415: Fix build with PM_SLEEP disabled
    clk: samsung: remove unnecessary inclusion of header files from clk.h
    clk: samsung: remove unnecessary CONFIG_OF from clk.c
    clk: samsung: Spelling s/bwtween/between/
    clk: rockchip: Add support for the mmc clock phases using the framework
    clk: rockchip: add bindings for the mmc clocks
    clk: rockchip: rk3288 export i2s0_clkout for use in DT
    clk: rockchip: use clock ID for DMC (memory controller) on rk3288
    ...

    Linus Torvalds
     
  • Pull SCSI update from James Bottomley:
    "This is a much shorter set of patches that were on the go but didn't
    make it in to the early pull request for the merge window. It's
    really a set of bug fixes plus some final cleanup work on the new tag
    queue API"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    storvsc: ring buffer failures may result in I/O freeze
    ipr: set scsi_level correctly for disk arrays
    ipr: add support for async scanning to speed up boot
    scsi_debug: fix missing "break;" in SDEBUG_UA_CAPACITY_CHANGED case
    scsi_debug: take sdebug_host_list_lock when changing capacity
    scsi_debug: improve driver description in Kconfig
    scsi_debug: fix compare and write errors
    qla2xxx: fix race in handling rport deletion during recovery causes panic
    scsi: blacklist RSOC for Microsoft iSCSI target devices
    scsi: fix random memory corruption with scsi-mq + T10 PI
    Revert "[SCSI] mpt3sas: Remove phys on topology change"
    Revert "[SCSI] mpt2sas: Remove phys on topology change."
    esas2r: Correct typos of "validate" in a comment
    fc: FCP_PTA_SIMPLE is 0
    ibmvfc: remove unused tag variable
    scsi: remove MSG_*_TAG defines
    scsi: remove scsi_set_tag_type
    scsi: remove scsi_get_tag_type
    scsi: never drop to untagged mode during queue ramp down
    scsi: remove ->change_queue_type method

    Linus Torvalds
     
  • Pull CONFIG_PM_RUNTIME elimination from Rafael Wysocki:
    "This removes the last few uses of CONFIG_PM_RUNTIME introduced
    recently and makes that config option finally go away.

    CONFIG_PM will be available directly from the menu now and also it
    will be selected automatically if CONFIG_SUSPEND or CONFIG_HIBERNATION
    is set"

    * tag 'pm-config-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM: Eliminate CONFIG_PM_RUNTIME
    tty: 8250_omap: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    sound: sst-haswell-pcm: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM

    Linus Torvalds
     

20 Dec, 2014

6 commits

  • Pull vfs pile #3 from Al Viro:
    "Assorted fixes and patches from the last cycle"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    [regression] chunk lost from bd9b51
    vfs: make mounts and mountstats honor root dir like mountinfo does
    vfs: cleanup show_mountinfo
    init: fix read-write root mount
    unfuck binfmt_misc.c (broken by commit e6084d4)
    vm_area_operations: kill ->migrate()
    new helper: iter_is_iovec()
    move_extent_per_page(): get rid of unused w_flags
    lustre: get rid of playing with ->fs
    btrfs: filp_open() returns ERR_PTR() on failure, not NULL...

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "The highlights this merge window include:

    - Allow target fabric drivers to function as built-in. (Roland)
    - Fix tcm_loop multi-TPG endpoint nexus bug. (Hannes)
    - Move per device config_item_type into se_subsystem_api, allowing
    configfs attributes to be defined at module_init time. (Jerome +
    nab)
    - Convert existing IBLOCK/FILEIO/RAMDISK/PSCSI/TCMU drivers to use
    external configfs attributes. (nab)
    - A number of iser-target fixes related to active session + network
    portal shutdown stability during extended stress testing. (Sagi +
    Slava)
    - Dynamic allocation of T10-PI contexts for iser-target, fixing a
    potentially bogus iscsi_np->tpg_np pointer reference in >= v3.14
    code. (Sagi)
    - iser-target performance + scalability improvements. (Sagi)
    - Fixes for SPC-4 Persistent Reservation AllRegistrants spec
    compliance. (Ilias + James + nab)
    - Avoid potential short kern_sendmsg() in iscsi-target for now until
    Al's conversion to use msghdr iteration is merged post -rc1.
    (Viro)

    Also, Sagi has requested a number of iser-target patches (9) that
    address stability issues he's encountered during extended stress
    testing be considered for v3.10.y + v3.14.y code. Given the amount of
    LOC involved, it will certainly require extra backporting effort.

    Apologies in advance to Greg-KH & Co on this. Sagi and I will be
    working post-merge to ensure they each get applied correctly"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (53 commits)
    target: Allow AllRegistrants to re-RESERVE existing reservation
    uapi/linux/target_core_user.h: fix headers_install.sh badness
    iscsi-target: Fail connection on short sendmsg writes
    iscsi-target: nullify session in failed login sequence
    target: Avoid dropping AllRegistrants reservation during unregister
    target: Fix R_HOLDER bit usage for AllRegistrants
    iscsi-target: Drop left-over bogus iscsi_np->tpg_np
    iser-target: Fix wc->wr_id cast warning
    iser-target: Remove code duplication
    iser-target: Adjust log levels and prettify some prints
    iser-target: Use debug_level parameter to control logging level
    iser-target: Fix logout sequence
    iser-target: Don't wait for session commands from completion context
    iser-target: Reduce CQ lock contention by batch polling
    iser-target: Introduce isert_poll_budget
    iser-target: Remove an atomic operation from the IO path
    iser-target: Remove redundant call to isert_conn_terminate
    iser-target: Use single CQ for TX and RX
    iser-target: Centralize completion elements to a context
    iser-target: Cast wr_id with uintptr_t instead of unsinged long
    ...

    Linus Torvalds
     
  • Pull x86 apic updates from Thomas Gleixner:
    "After stopping the full x86/apic branch, I took some time to go
    through the first block of patches again, which are mostly cleanups
    and preparatory work for the irqdomain conversion and ioapic hotplug
    support.

    Unfortunaly one of the real problematic commits was right at the
    beginning, so I rebased this portion of the pending patches without
    the offenders.

    It would be great to get this into 3.19. That makes reworking the
    problematic parts simpler. The usual tip testing did not unearth any
    issues and it is fully bisectible now.

    I'm pretty confident that this wont affect the calmness of the xmas
    season.

    Changes:
    - Split the convoluted io_apic.c code into domain specific parts
    (vector, ioapic, msi, htirq)
    - Introduce proper helper functions to retrieve irq specific data
    instead of open coded dereferencing of pointers
    - Preparatory work for ioapic hotplug and irqdomain conversion
    - Removal of the non functional pci-ioapic driver
    - Removal of unused irq entry stubs
    - Make native_smp_prepare_cpus() preemtible to avoid GFP_ATOMIC
    allocations for everything which is called from there.
    - Small cleanups and fixes"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
    iommu/amd: Use helpers to access irq_cfg data structure associated with IRQ
    iommu/vt-d: Use helpers to access irq_cfg data structure associated with IRQ
    x86: irq_remapping: Use helpers to access irq_cfg data structure associated with IRQ
    x86, irq: Use helpers to access irq_cfg data structure associated with IRQ
    x86, irq: Make MSI and HT_IRQ indepenent of X86_IO_APIC
    x86, irq: Move IRQ initialization routines from io_apic.c into vector.c
    x86, irq: Move IOAPIC related declarations from hw_irq.h into io_apic.h
    x86, irq: Move HT IRQ related code from io_apic.c into htirq.c
    x86, irq: Move PCI MSI related code from io_apic.c into msi.c
    x86, irq: Replace printk(KERN_LVL) with pr_lvl() utilities
    x86, irq: Make UP version of irq_complete_move() an inline stub
    x86, irq: Move local APIC related code from io_apic.c into vector.c
    x86, irq: Introduce helpers to access struct irq_cfg
    x86, irq: Protect __clear_irq_vector() with vector_lock
    x86, irq: Rename local APIC related functions in io_apic.c as apic_xxx()
    x86, irq: Refine hw_irq.h to prepare for irqdomain support
    x86, irq: Convert irq_2_pin list to generic list
    x86, irq: Kill useless parameter 'irq_attr' of IO_APIC_get_PCI_irq_vector()
    x86, irq, acpi: Get rid of special handling of GSI for ACPI SCI
    x86, irq: Introduce helper to check whether an IOAPIC has been registered
    ...

    Linus Torvalds
     
  • Having switched over all of the users of CONFIG_PM_RUNTIME to use
    CONFIG_PM directly, turn the latter into a user-selectable option
    and drop the former entirely from the tree.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Ulf Hansson
    Acked-by: Kevin Hilman

    Rafael J. Wysocki
     
  • Pull irq core fix from Thomas Gleixner:
    "A single fix plugging a long standing race between proc/stat and
    proc/interrupts access and freeing of interrupt descriptors"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq: Prevent proc race against freeing of irq descriptors

    Linus Torvalds
     
  • Pull second batch of powerpc updates from Michael Ellerman:
    "The highlight is the series that reworks the idle management on
    powernv, which allows us to use deeper idle states on those machines.

    There's the fix from Anton for the "BUG at kernel/smpboot.c:134!"
    problem.

    An i2c driver for powernv. This is acked by Wolfram Sang, and he
    asked that we take it through the powerpc tree.

    A fix for audit from rgb at Red Hat, acked by Paul Moore who is one of
    the audit maintainers.

    A patch from Ben to export the symbol map of our OPAL firmware as a
    sysfs file, so that tools can use it.

    Also some CXL fixes, a couple of powerpc perf fixes, a fix for
    smt-enabled, and the patch to add __force to get_user() so we can use
    bitwise types"

    * tag 'powerpc-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
    powerpc/powernv: Ignore smt-enabled on Power8 and later
    powerpc/uaccess: Allow get_user() with bitwise types
    powerpc/powernv: Expose OPAL firmware symbol map
    powernv/powerpc: Add winkle support for offline cpus
    powernv/cpuidle: Redesign idle states management
    powerpc/powernv: Enable Offline CPUs to enter deep idle states
    powerpc/powernv: Switch off MMU before entering nap/sleep/rvwinkle mode
    i2c: Driver to expose PowerNV platform i2c busses
    powerpc: add little endian flag to syscall_get_arch()
    power/perf/hv-24x7: Use kmem_cache_free() instead of kfree
    powerpc/perf/hv-24x7: Use per-cpu page buffer
    cxl: Unmap MMIO regions when detaching a context
    cxl: Add timeout to process element commands
    cxl: Change contexts_lock to a mutex to fix sleep while atomic bug
    powerpc: Secondary CPUs must set cpu_callin_map after setting active and online

    Linus Torvalds
     

19 Dec, 2014

12 commits

  • Pull module updates from Rusty Russell:
    "The exciting thing here is the getting rid of stop_machine on module
    removal. This is possible by using a simple atomic_t for the counter,
    rather than our fancy per-cpu counter: it turns out that no one is
    doing a module increment per net packet, so the slowdown should be in
    the noise"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    param: do not set store func without write perm
    params: cleanup sysfs allocation
    kernel:module Fix coding style errors and warnings.
    module: Remove stop_machine from module unloading
    module: Replace module_ref with atomic_t refcnt
    lib/bug: Use RCU list ops for module_bug_list
    module: Unlink module with RCU synchronizing instead of stop_machine
    module: Wait for RCU synchronizing before releasing a module

    Linus Torvalds
     
  • Pull virtio fixes from Michael S Tsirkin:
    "virtio 1.0 related fixes

    Most importantly, this fixes using virtio_pci as a module.

    Further, the big virtio 1.0 conversion missed a couple of places.
    This fixes them up.

    This isn't 100% sparse-clean yet because on many architectures
    get_user triggers sparse warnings when used with __bitwise tag (when
    same tag is on both pointer and value read).

    I posted a patchset to fix it up by adding __force on all arches that
    don't already have it (many do), when that's merged these warnings
    will go away"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio_pci: restore module attributes
    mic/host: fix up virtio 1.0 APIs
    vringh: update for virtio 1.0 APIs
    vringh: 64 bit features
    tools/virtio: add virtio 1.0 in vringh_test
    tools/virtio: add virtio 1.0 in virtio_test
    tools/virtio: enable -Werror
    tools/virtio: 64 bit features
    tools/virtio: fix vringh test
    tools/virtio: more stubs
    virtio: core support for config generation
    virtio_pci: add VIRTIO_PCI_NO_LEGACY
    virtio_pci: move probe to common file
    virtio_pci_common.h: drop VIRTIO_PCI_NO_LEGACY
    virtio_config: fix virtio_cread_bytes
    virtio: set VIRTIO_CONFIG_S_FEATURES_OK on restore

    Linus Torvalds
     
  • Pull more ACPI and power management updates from Rafael Wysocki:
    "These are regression fixes (leds-gpio, ACPI backlight driver,
    operating performance points library, ACPI device enumeration
    messages, cpupower tool), other bug fixes (ACPI EC driver, ACPI device
    PM), some cleanups in the operating performance points (OPP)
    framework, continuation of CONFIG_PM_RUNTIME elimination, a couple of
    minor intel_pstate driver changes, a new MAINTAINERS entry for it and
    an ACPI fan driver change needed for better support of thermal
    management in user space.

    Specifics:

    - Fix a regression in leds-gpio introduced by a recent commit that
    inadvertently changed the name of one of the properties used by the
    driver (Fabio Estevam).

    - Fix a regression in the ACPI backlight driver introduced by a
    recent fix that missed one special case that had to be taken into
    account (Aaron Lu).

    - Drop the level of some new kernel messages from the ACPI core
    introduced by a recent commit to KERN_DEBUG which they should have
    used from the start and drop some other unuseful KERN_ERR messages
    printed by ACPI (Rafael J Wysocki).

    - Revert an incorrect commit modifying the cpupower tool (Prarit
    Bhargava).

    - Fix two regressions introduced by recent commits in the OPP library
    and clean up some existing minor issues in that code (Viresh
    Kumar).

    - Continue to replace CONFIG_PM_RUNTIME with CONFIG_PM throughout the
    tree (or drop it where that can be done) in order to make it
    possible to eliminate CONFIG_PM_RUNTIME (Rafael J Wysocki, Ulf
    Hansson, Ludovic Desroches).

    There will be one more "CONFIG_PM_RUNTIME removal" batch after this
    one, because some new uses of it have been introduced during the
    current merge window, but that should be sufficient to finally get
    rid of it.

    - Make the ACPI EC driver more robust against race conditions related
    to GPE handler installation failures (Lv Zheng).

    - Prevent the ACPI device PM core code from attempting to disable
    GPEs that it has not enabled which confuses ACPICA and makes it
    report errors unnecessarily (Rafael J Wysocki).

    - Add a "force" command line switch to the intel_pstate driver to
    make it possible to override the blacklisting of some systems in
    that driver if needed (Ethan Zhao).

    - Improve intel_pstate code documentation and add a MAINTAINERS entry
    for it (Kristen Carlson Accardi).

    - Make the ACPI fan driver create cooling device interfaces witn
    names that reflect the IDs of the ACPI device objects they are
    associated with, except for "generic" ACPI fans (PNP ID "PNP0C0B").

    That's necessary for user space thermal management tools to be able
    to connect the fans with the parts of the system they are supposed
    to be cooling properly. From Srinivas Pandruvada"

    * tag 'pm+acpi-3.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
    MAINTAINERS: add entry for intel_pstate
    ACPI / video: update the skip case for acpi_video_device_in_dod()
    power / PM: Eliminate CONFIG_PM_RUNTIME
    NFC / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    SCSI / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    ACPI / EC: Fix unexpected ec_remove_handlers() invocations
    Revert "tools: cpupower: fix return checks for sysfs_get_idlestate_count()"
    tracing / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    x86 / PM: Replace CONFIG_PM_RUNTIME in io_apic.c
    PM: Remove the SET_PM_RUNTIME_PM_OPS() macro
    mmc: atmel-mci: use SET_RUNTIME_PM_OPS() macro
    PM / Kconfig: Replace PM_RUNTIME with PM in dependencies
    ARM / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    sound / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    phy / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    video / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    tty / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    ACPI / PM: Do not disable wakeup GPEs that have not been enabled
    ACPI / utils: Drop error messages from acpi_evaluate_reference()
    ...

    Linus Torvalds
     
  • Pull second set of media updates from Mauro Carvalho Chehab:

    - Move drivers for really old legacy hardware to staging. Those are
    using obsolete media kAPIs and are for hardware that nobody uses for
    years. Simply not worth porting them to the new kAPIs. Of course,
    if anyone pops up to fix, we can move them back from there

    - While not too late, do some API fixups at the new colorspace API,
    added for v3.19

    - Some improvements for rcar_vin driver

    - Some fixups at cx88 and vivid drivers

    - Some Documentation fixups

    * tag 'media/v3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] bq/c-qcam, w9966, pms: move to staging in preparation for removal
    [media] tlg2300: move to staging in preparation for removal
    [media] vino/saa7191: move to staging in preparation for removal
    [media] MAINTAINERS: vivi -> vivid
    [media] cx88: remove leftover start_video_dma() call
    [media] cx88: add missing alloc_ctx support
    [media] v4l2-ioctl: WARN_ON if querycap didn't fill device_caps
    [media] vivid: fix CROP_BOUNDS typo for video output
    [media] DocBook media: update version number and document changes
    [media] vivid.txt: document new controls
    [media] DocBook media: add missing ycbcr_enc and quantization fields
    [media] v4l2-mediabus.h: use two __u16 instead of two __u32
    [media] rcar_vin: Fix interrupt enable in progressive
    [media] rcar_vin: Enable VSYNC field toggle mode
    [media] rcar_vin: Add scaling support
    [media] rcar_vin: Add DT support for r8a7793 and r8a7794 SoCs
    [media] rcar_vin: Add YUYV capture format support

    Linus Torvalds
     
  • Pull infiniband updates from Roland Dreier:
    "Main batch of InfiniBand/RDMA changes for 3.19:

    - On-demand paging support in core midlayer and mlx5 driver. This
    lets userspace create non-pinned memory regions and have the
    adapter HW trigger page faults.
    - iSER and IPoIB updates and fixes.
    - Low-level HW driver updates for cxgb4, mlx4 and ocrdma.
    - Other miscellaneous fixes"

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (56 commits)
    IB/mlx5: Implement on demand paging by adding support for MMU notifiers
    IB/mlx5: Add support for RDMA read/write responder page faults
    IB/mlx5: Handle page faults
    IB/mlx5: Page faults handling infrastructure
    IB/mlx5: Add mlx5_ib_update_mtt to update page tables after creation
    IB/mlx5: Changes in memory region creation to support on-demand paging
    IB/mlx5: Implement the ODP capability query verb
    mlx5_core: Add support for page faults events and low level handling
    mlx5_core: Re-add MLX5_DEV_CAP_FLAG_ON_DMND_PG flag
    IB/srp: Allow newline separator for connection string
    IB/core: Implement support for MMU notifiers regarding on demand paging regions
    IB/core: Add support for on demand paging regions
    IB/core: Add flags for on demand paging support
    IB/core: Add support for extended query device caps
    IB/mlx5: Add function to read WQE from user-space
    IB/core: Add umem function to read data from user-space
    IB/core: Replace ib_umem's offset field with a full address
    IB/mlx5: Enhance UMR support to allow partial page table update
    IB/mlx5: Remove per-MR pas and dma pointers
    RDMA/ocrdma: Always resolve destination mac from GRH for UD QPs
    ...

    Linus Torvalds
     
  • Merge misc patches from Andrew Morton:
    "A few stragglers"

    * emailed patches from Andrew Morton :
    tools/testing/selftests/Makefile: alphasort the TARGETS list
    mm/zsmalloc: adjust order of functions
    ocfs2: fix journal commit deadlock
    ocfs2/dlm: fix race between dispatched_work and dlm_lockres_grab_inflight_worker
    ocfs2: reflink: fix slow unlink for refcounted file
    mm/memory.c:do_shared_fault(): add comment
    .mailmap: Santosh Shilimkar has moved
    .mailmap: update akpm@osdl.org
    lib/show_mem.c: add cma reserved information
    fs/proc/meminfo.c: include cma info in proc/meminfo
    mm: cma: split cma-reserved in dmesg log
    hfsplus: fix longname handling
    mm/mempolicy.c: remove unnecessary is_valid_nodemask()

    Linus Torvalds
     
  • When the system boots up, in the dmesg logs we can see the memory
    statistics along with total reserved as below. Memory: 458840k/458840k
    available, 65448k reserved, 0K highmem

    When CMA is enabled, still the total reserved memory remains the same.
    However, the CMA memory is not considered as reserved. But, when we see
    /proc/meminfo, the CMA memory is part of free memory. This creates
    confusion. This patch corrects the problem by properly subtracting the
    CMA reserved memory from the total reserved memory in dmesg logs.

    Below is the dmesg snapshot from an arm based device with 512MB RAM and
    12MB single CMA region.

    Before this change:
    Memory: 458840k/458840k available, 65448k reserved, 0K highmem

    After this change:
    Memory: 458840k/458840k available, 53160k reserved, 12288k cma-reserved, 0K highmem

    Signed-off-by: Pintu Kumar
    Signed-off-by: Vishnu Pratap Singh
    Acked-by: Michal Nazarewicz
    Cc: Rafael Aquini
    Cc: Jerome Marchand
    Cc: Marek Szyprowski
    Cc: Joonsoo Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pintu Kumar
     
  • Pull networking fixes from David Miller:

    1) Fix NBMA tunnel mac header handling in GRE, from Timo Teräs.

    2) Fix a NAPI race in the fec driver, from Nimrod Andy.

    3) The new IFF_VNET_LE bit is outside the size of the flags member it
    is stored in (which is 16-bits), store the state locally in the
    drivers. From Michael S Tsirkin.

    4) We are kicking the tires with the new wireless maintainership
    situation. Bluetooth fixes via Johan Hedberg, and mac80211 fixes
    from Johannes Berg.

    5) Fix locking and leaks in geneve driver, from Jesse Gross.

    6) Make netlink TX mmap code always copy, so we don't have to be
    potentially exposed to the user changing the underlying contents
    from underneath us.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (63 commits)
    be2net: Fix incorrect setting of tunnel offload flag in netdev features
    bnx2x: fix typos in "configure"
    xen-netback: support frontends without feature-rx-notify again
    MAINTAINERS: changes for wireless
    cxgb4: Fix decoding QSA module for ethtool get settings
    geneve: Fix races between socket add and release.
    geneve: Remove socket and offload handlers at destruction.
    netlink: Don't reorder loads/stores before marking mmap netlink frame as available
    netlink: Always copy on mmap TX.
    Bluetooth: Fix bug with filter in service discovery optimization
    mac80211: free management frame keys when removing station
    net: Disallow providing non zero VLAN ID for NIC drivers FDB add flow
    net/mlx4: Cache line CQE/EQE stride fixes
    net: fec: Fix NAPI race
    xen-netfront: use napi_complete() correctly to prevent Rx stalling
    ip_tunnel: Add missing validation of encap type to ip_tunnel_encap_setup()
    ip_tunnel: Add sanity checks to ip_tunnel_encap_add_ops()
    net: Allow FIXED_PHY to be modular.
    if_tun: drop broken IFF_VNET_LE
    macvtap: drop broken IFF_VNET_LE
    ...

    Linus Torvalds
     
  • Pull KVM update from Paolo Bonzini:
    "3.19 changes for KVM:

    - spring cleaning: removed support for IA64, and for hardware-
    assisted virtualization on the PPC970

    - ARM, PPC, s390 all had only small fixes

    For x86:
    - small performance improvements (though only on weird guests)
    - usual round of hardware-compliancy fixes from Nadav
    - APICv fixes
    - XSAVES support for hosts and guests. XSAVES hosts were broken
    because the (non-KVM) XSAVES patches inadvertently changed the KVM
    userspace ABI whenever XSAVES was enabled; hence, this part is
    going to stable. Guest support is just a matter of exposing the
    feature and CPUID leaves support"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (179 commits)
    KVM: move APIC types to arch/x86/
    KVM: PPC: Book3S: Enable in-kernel XICS emulation by default
    KVM: PPC: Book3S HV: Improve H_CONFER implementation
    KVM: PPC: Book3S HV: Fix endianness of instruction obtained from HEIR register
    KVM: PPC: Book3S HV: Remove code for PPC970 processors
    KVM: PPC: Book3S HV: Tracepoints for KVM HV guest interactions
    KVM: PPC: Book3S HV: Simplify locking around stolen time calculations
    arch: powerpc: kvm: book3s_paired_singles.c: Remove unused function
    arch: powerpc: kvm: book3s_pr.c: Remove unused function
    arch: powerpc: kvm: book3s.c: Remove some unused functions
    arch: powerpc: kvm: book3s_32_mmu.c: Remove unused function
    KVM: PPC: Book3S HV: Check wait conditions before sleeping in kvmppc_vcore_blocked
    KVM: PPC: Book3S HV: ptes are big endian
    KVM: PPC: Book3S HV: Fix inaccuracies in ICP emulation for H_IPI
    KVM: PPC: Book3S HV: Fix KSM memory corruption
    KVM: PPC: Book3S HV: Fix an issue where guest is paused on receiving HMI
    KVM: PPC: Book3S HV: Fix computation of tlbie operand
    KVM: PPC: Book3S HV: Add missing HPTE unlock
    KVM: PPC: BookE: Improve irq inject tracepoint
    arm/arm64: KVM: Require in-kernel vgic for the arch timers
    ...

    Linus Torvalds
     
  • scripts/headers_install.sh will transform __packed to
    __attribute__((packed)), so the #ifndef is not necessary.
    (and, in fact, it's problematic, because we'll end up with the header
    containing:
    #ifndef __attribute__((packed))
    #define __attribu...
    and so forth.)

    Cc: stable@vger.kernel.org # 3.18
    Signed-off-by: Kyle McMartin
    Signed-off-by: Nicholas Bellinger

    Kyle McMartin
     
  • * pm-runtime:
    power / PM: Eliminate CONFIG_PM_RUNTIME
    NFC / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    SCSI / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    tracing / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    x86 / PM: Replace CONFIG_PM_RUNTIME in io_apic.c
    PM: Remove the SET_PM_RUNTIME_PM_OPS() macro
    mmc: atmel-mci: use SET_RUNTIME_PM_OPS() macro
    PM / Kconfig: Replace PM_RUNTIME with PM in dependencies
    ARM / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    sound / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    phy / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    video / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    tty / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM

    Rafael J. Wysocki
     
  • * acpi-scan:
    ACPI / scan: Change the level of _DEP-related messages to KERN_DEBUG

    * acpi-utils:
    ACPI / utils: Drop error messages from acpi_evaluate_reference()

    * acpi-pm:
    ACPI / PM: Do not disable wakeup GPEs that have not been enabled

    Rafael J. Wysocki
     

18 Dec, 2014

18 commits

  • James Bottomley
     
  • ACCESS_ONCE does not work reliably on non-scalar types. For
    example gcc 4.6 and 4.7 might remove the volatile tag for such
    accesses during the SRA (scalar replacement of aggregates) step
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145)

    Let's provide READ_ONCE/ASSIGN_ONCE that will do all accesses via
    scalar types as suggested by Linus Torvalds. Accesses larger than
    the machines word size cannot be guaranteed to be atomic. These
    macros will use memcpy and emit a build warning.

    Signed-off-by: Christian Borntraeger

    Christian Borntraeger
     
  • They are not used anymore by IA64, move them away.

    Signed-off-by: Paolo Bonzini

    Paolo Bonzini
     
  • Pull ceph updates from Sage Weil:
    "The big item here is support for inline data for CephFS and for
    message signatures from Zheng. There are also several bug fixes,
    including interrupted flock request handling, 0-length xattrs, mksnap,
    cached readdir results, and a message version compat field. Finally
    there are several cleanups from Ilya, Dan, and Markus.

    Note that there is another series coming soon that fixes some bugs in
    the RBD 'lingering' requests, but it isn't quite ready yet"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (27 commits)
    ceph: fix setting empty extended attribute
    ceph: fix mksnap crash
    ceph: do_sync is never initialized
    libceph: fixup includes in pagelist.h
    ceph: support inline data feature
    ceph: flush inline version
    ceph: convert inline data to normal data before data write
    ceph: sync read inline data
    ceph: fetch inline data when getting Fcr cap refs
    ceph: use getattr request to fetch inline data
    ceph: add inline data to pagecache
    ceph: parse inline data in MClientReply and MClientCaps
    libceph: specify position of extent operation
    libceph: add CREATE osd operation support
    libceph: add SETXATTR/CMPXATTR osd operations support
    rbd: don't treat CEPH_OSD_OP_DELETE as extent op
    ceph: remove unused stringification macros
    libceph: require cephx message signature by default
    ceph: introduce global empty snap context
    ceph: message versioning fixes
    ...

    Linus Torvalds
     
  • Pull user namespace related fixes from Eric Biederman:
    "As these are bug fixes almost all of thes changes are marked for
    backporting to stable.

    The first change (implicitly adding MNT_NODEV on remount) addresses a
    regression that was created when security issues with unprivileged
    remount were closed. I go on to update the remount test to make it
    easy to detect if this issue reoccurs.

    Then there are a handful of mount and umount related fixes.

    Then half of the changes deal with the a recently discovered design
    bug in the permission checks of gid_map. Unix since the beginning has
    allowed setting group permissions on files to less than the user and
    other permissions (aka ---rwx---rwx). As the unix permission checks
    stop as soon as a group matches, and setgroups allows setting groups
    that can not later be dropped, results in a situtation where it is
    possible to legitimately use a group to assign fewer privileges to a
    process. Which means dropping a group can increase a processes
    privileges.

    The fix I have adopted is that gid_map is now no longer writable
    without privilege unless the new file /proc/self/setgroups has been
    set to permanently disable setgroups.

    The bulk of user namespace using applications even the applications
    using applications using user namespaces without privilege remain
    unaffected by this change. Unfortunately this ix breaks a couple user
    space applications, that were relying on the problematic behavior (one
    of which was tools/selftests/mount/unprivileged-remount-test.c).

    To hopefully prevent needing a regression fix on top of my security
    fix I rounded folks who work with the container implementations mostly
    like to be affected and encouraged them to test the changes.

    > So far nothing broke on my libvirt-lxc test bed. :-)
    > Tested with openSUSE 13.2 and libvirt 1.2.9.
    > Tested-by: Richard Weinberger

    > Tested on Fedora20 with libvirt 1.2.11, works fine.
    > Tested-by: Chen Hanxiao

    > Ok, thanks - yes, unprivileged lxc is working fine with your kernels.
    > Just to be sure I was testing the right thing I also tested using
    > my unprivileged nsexec testcases, and they failed on setgroup/setgid
    > as now expected, and succeeded there without your patches.
    > Tested-by: Serge Hallyn

    > I tested this with Sandstorm. It breaks as is and it works if I add
    > the setgroups thing.
    > Tested-by: Andy Lutomirski # breaks things as designed :("

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
    userns: Unbreak the unprivileged remount tests
    userns; Correct the comment in map_write
    userns: Allow setting gid_maps without privilege when setgroups is disabled
    userns: Add a knob to disable setgroups on a per user namespace basis
    userns: Rename id_map_mutex to userns_state_mutex
    userns: Only allow the creator of the userns unprivileged mappings
    userns: Check euid no fsuid when establishing an unprivileged uid mapping
    userns: Don't allow unprivileged creation of gid mappings
    userns: Don't allow setgroups until a gid mapping has been setablished
    userns: Document what the invariant required for safe unprivileged mappings.
    groups: Consolidate the setgroups permission checks
    mnt: Clear mnt_expire during pivot_root
    mnt: Carefully set CL_UNPRIVILEGED in clone_mnt
    mnt: Move the clear of MNT_LOCKED from copy_tree to it's callers.
    umount: Do not allow unmounting rootfs.
    umount: Disallow unprivileged mount force
    mnt: Update unprivileged remount test
    mnt: Implicitly add MNT_NODEV on remount when it was implicitly added by mount

    Linus Torvalds
     
  • Pull virtio updates from Rusty Russell:
    "A balloon enhancement, and a minor race-on-module-unload theoretical
    bug which doesn't merit cc: stable.

    All the exciting stuff went via MST this cycle"

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio_balloon: free some memory from balloon on OOM
    virtio_balloon: return the amount of freed memory from leak_balloon()
    virtio_blk: fix race at module removal
    virtio: Fix comment typo 'CONFIG_S_FAILED'

    Linus Torvalds
     
  • Pull thermal management update from Zhang Rui:
    "Summary:

    - of-thermal extension to allow drivers to register and use its
    functionality in a better way, without exploiting thermal core.
    From Lukasz Majewski.

    - Fix a bug in intel_soc_dts_thermal driver which calls a sleep
    function in interrupt handler. From Maurice Petallo.

    - add a thermal UAPI header file for exporting the thermal generic
    netlink information to user-space. From Florian Fainelli.

    - First round of refactoring in Exynos driver. Bartlomiej and Lukasz
    are attempting to make it lean and easier to understand.

    - New thermal driver for Rockchip (rk3288), with support for DT
    thermal. From Caesar Wang.

    - New thermal driver for Nvidia, Tegra124 SOCTHERM driver, with
    support for DT thermal. From Mikko Perttunen.

    - New cooling device, based on common clock framework. From Eduardo
    Valentin.

    - a couple of small fixes in thermal core framework. From Srinivas
    Pandruvada, Javi Merino, Luis Henriques.

    - Dropping Armada A375-Z1 SoC thermal support as the chip is not in
    the market, armada folks decided to drop its support.

    - a couple of small fixes and cleanups in int340x thermal driver"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (58 commits)
    thermal: provide an UAPI header file
    Thermal/int340x: Clear the error value of the last acpi_bus_get_device() call
    thermal/powerclamp: add id for braswell cpu
    thermal: Intel SoC DTS: Don't do thermal zone update inside spin_lock
    Thermal: fix platform_no_drv_owner.cocci warnings
    Thermal/int340x: avoid unnecessary pointer casting
    thermal: int3403: Delete a check before thermal_zone_device_unregister()
    thermal/int3400: export uuids
    thermal: of: Extend current of-thermal.c code to allow setting emulated temp
    thermal: of: Extend of-thermal to export table of trip points
    thermal: of: Rename struct __thermal_trip to struct thermal_trip
    thermal: of: Extend of-thermal.c to provide check if trip point is valid
    thermal: of: Extend of-thermal.c to provide number of trip points
    thermal: Fix error path in thermal_init()
    thermal: lock the thermal zone when switching governors
    thermal: core: ignore invalid trip temperature
    thermal: armada: Remove support for A375-Z1 SoC
    thermal: rockchip: add driver for thermal
    dt-bindings: document Rockchip thermal
    thermal: exynos: remove exynos_tmu_data.h include
    ...

    Linus Torvalds
     
  • Pull MTD updates from Brian Norris:
    "Summary:
    - Add device tree support for DoC3

    - SPI NOR:
    Refactoring, for better layering between spi-nor.c and its
    driver users (e.g., m25p80.c)

    New flash device support

    Support 6-byte ID strings

    - NAND:
    New NAND driver for Allwinner SoC's (sunxi)

    GPMI NAND: add support for raw (no ECC) access, for testing
    purposes

    Add ATO manufacturer ID

    A few odd driver fixes

    - MTD tests:
    Allow testers to compensate for OOB bitflips in oobtest

    Fix a torturetest regression

    - nandsim: Support longer ID byte strings

    And more"

    * tag 'for-linus-20141215' of git://git.infradead.org/linux-mtd: (63 commits)
    mtd: tests: abort torturetest on erase errors
    mtd: physmap_of: fix potential NULL dereference
    mtd: spi-nor: allow NULL as chip name and try to auto detect it
    mtd: nand: gpmi: add raw oob access functions
    mtd: nand: gpmi: add proper raw access support
    mtd: nand: gpmi: add gpmi_copy_bits function
    mtd: spi-nor: factor out write_enable() for erase commands
    mtd: spi-nor: add support for s25fl128s
    mtd: spi-nor: remove the jedec_id/ext_id
    mtd: spi-nor: add id/id_len for flash_info{}
    mtd: nand: correct the comment of function nand_block_isreserved()
    jffs2: Drop bogus if in comment
    mtd: atmel_nand: replace memcpy32_toio/memcpy32_fromio with memcpy
    mtd: cafe_nand: drop duplicate .write_page implementation
    mtd: m25p80: Add support for serial flash Spansion S25FL132K
    MTD: m25p80: fix inconsistency in m25p_ids compared to spi_nor_ids
    mtd: spi-nor: improve wait-till-ready timeout loop
    mtd: delete unnecessary checks before two function calls
    mtd: nand: omap: Fix NAND enumeration on 3430 LDP
    mtd: nand: add ATO manufacturer info
    ...

    Linus Torvalds
     
  • pagelist.h needs to include linux/types.h and asm/byteorder.h and not
    rely on other headers pulling yet another set of headers.

    Signed-off-by: Ilya Dryomov

    Ilya Dryomov
     
  • Add a new parameter 'locked_page' to ceph_do_getattr(). If inline data
    in getattr reply will be copied to the page.

    Signed-off-by: Yan, Zheng

    Yan, Zheng
     
  • Request reply and cap message can contain inline data. add inline data
    to the page cache if there is Fc cap.

    Signed-off-by: Yan, Zheng

    Yan, Zheng
     
  • allow specifying position of extent operation in multi-operations
    osd request. This is required for cephfs to convert inline data to
    normal data (compare xattr, then write object).

    Signed-off-by: Yan, Zheng
    Reviewed-by: Ilya Dryomov

    Yan, Zheng
     
  • Signed-off-by: Yan, Zheng
    Reviewed-by: Ilya Dryomov

    Yan, Zheng
     
  • Signed-off-by: Yan, Zheng
    Reviewed-by: Ilya Dryomov

    Yan, Zheng
     
  • 2 bytes of what was reserved space is now used by userspace for the
    compat_version field.

    Signed-off-by: John Spray
    Reviewed-by: Sage Weil

    John Spray
     
  • Signed-off-by: Yan, Zheng

    Yan, Zheng
     
  • Use kvfree() from linux/mm.h instead, which is identical. Also fix the
    ceph_buffer comment: we will allocate with kmalloc() up to 32k - the
    value of PAGE_ALLOC_COSTLY_ORDER, but that really is just an
    implementation detail so don't mention it at all.

    Signed-off-by: Ilya Dryomov

    Ilya Dryomov
     
  • When a lock operation is interrupted, current code sends a unlock request to
    MDS to undo the lock operation. This method does not work as expected because
    the unlock request can drop locks that have already been acquired.

    The fix is use the newly introduced CEPH_LOCK_FCNTL_INTR/CEPH_LOCK_FLOCK_INTR
    requests to interrupt blocked file lock request. These requests do not drop
    locks that have alread been acquired, they only interrupt blocked file lock
    request.

    Signed-off-by: Yan, Zheng

    Yan, Zheng