Skip to content
  1. Dec 20, 2014
    • Jesper Nilsson's avatar
      CRIS: Use KALLSYMs if available in call stack dump · 421d0852
      Jesper Nilsson authored
      
      
      Also, print kernel version on oops.
      
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      421d0852
    • Jesper Nilsson's avatar
      CRISv32: Fix declaration mismatch · ca36c1fa
      Jesper Nilsson authored
      
      
      Drop i2c_init from this header, it was declared non-static here,
      but static in the C-file.
      
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      ca36c1fa
    • Jesper Nilsson's avatar
      CRISv32: Rewrite of synchronous serial port driver · 3f10462f
      Jesper Nilsson authored
      
      
      Make driver possible to load as a module and try to handle
      locking better.
      
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      3f10462f
    • Jesper Nilsson's avatar
      CRIS: Update init memory handling · 80d6170a
      Jesper Nilsson authored
      
      
      - Add free_initrd_mem as found by Guenter Roeck <linux@roeck-us.net>
      - Add free_init_pages
      - Export empty_zero_page symbol
      
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      80d6170a
    • Jesper Nilsson's avatar
      CRISv32: Better handling of watchdog bite · d6517c4c
      Jesper Nilsson authored
      
      
      Don't enter watchdog handling if we're already in watchdog handling.
      
      Also some minor formatting tweaks.
      
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      d6517c4c
    • Jesper Nilsson's avatar
      CRIS: Export missing function symbols · dbd3c7e1
      Jesper Nilsson authored
      
      
      strcmp was lost when all other string functions were removed,
      but we still have an optimized version for this on CRISv32,
      so any driver built as a module would not have access to this symbol.
      
      In a similar manner, we had optimized versions of
      csum_partial_copy_from_user and __do_clear_user
      but no exported symbols for them, breaking bunch of other drivers
      when built as a module.
      
      At the same time, move EXPORT_SYMBOL(__copy_user) and
      EXPORT_SYMBOL(__copy_user_zeroing) C-files so it's
      located together with the function definition.
      
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      dbd3c7e1
    • Jesper Nilsson's avatar
      CRIS: Export ioremap_nocache · 82e6df1e
      Jesper Nilsson authored
      
      
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      82e6df1e
    • Sam Ravnborg's avatar
      CRIS: Fix headers_install · 6eb64b8c
      Sam Ravnborg authored
      
      
      Fix headers_install by adjusting the path to arch files.
      And delete unused Kbuild file.
      Drop special handling of cris in the headers.sh script
      as a nice side-effect.
      
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      6eb64b8c
    • Jesper Nilsson's avatar
      CRISv32: Add missing include for mm.h · eeda0084
      Jesper Nilsson authored
      
      
      Fixes the following compile error.
      
      arch/cris/arch-v32/kernel/time.c: In function 'reset_watchdog':
      arch/cris/arch-v32/kernel/time.c:121:2:
              error: implicit declaration of function 'global_page_state'
      
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      eeda0084
    • Jesper Nilsson's avatar
      CRISv32: Drop obsolete file for SPI driver · f89412ac
      Jesper Nilsson authored
      
      
      File was already deleted.
      
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      f89412ac
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e589c9e1
      Linus Torvalds authored
      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
        ...
      e589c9e1
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4bb9374e
      Linus Torvalds authored
      Pull NOHZ update from Thomas Gleixner:
       "Remove the call into the nohz idle code from the fake 'idle' thread in
        the powerclamp driver along with the export of those functions which
        was smuggeled in via the thermal tree.  People have tried to hack
        around it in the nohz core code, but it just violates all rightful
        assumptions of that code about the only valid calling context (i.e.
        the proper idle task).
      
        The powerclamp trainwreck will still work, it just wont get the
        benefit of long idle sleeps"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick/powerclamp: Remove tick_nohz_idle abuse
      4bb9374e
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac88ee3b
      Linus Torvalds authored
      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
      ac88ee3b
    • Linus Torvalds's avatar
      Merge branch 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a5445576
      Linus Torvalds authored
      Pull x86 MPX fixes from Thomas Gleixner:
       "Three updates for the new MPX infrastructure:
         - Use the proper error check in the trap handler
         - Add a proper config option for it
         - Bring documentation up to date"
      
      * 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, mpx: Give MPX a real config option prompt
        x86, mpx: Update documentation
        x86_64/traps: Fix always true condition
      a5445576
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1092b596
      Linus Torvalds authored
      Pull x86 fix from Ingo Molnar:
       "This contains a single TLS ABI validation fix from Andy Lutomirski"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tls: Don't validate lm in set_thread_area() after all
      1092b596
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 88a57667
      Linus Torvalds authored
      Pull perf fixes and cleanups from Ingo Molnar:
       "A kernel fix plus mostly tooling fixes, but also some tooling
        restructuring and cleanups"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)
        perf: Fix building warning on ARM 32
        perf symbols: Fix use after free in filename__read_build_id
        perf evlist: Use roundup_pow_of_two
        tools: Adopt roundup_pow_of_two
        perf tools: Make the mmap length autotuning more robust
        tools: Adopt rounddown_pow_of_two and deps
        tools: Adopt fls_long and deps
        tools: Move bitops.h from tools/perf/util to tools/
        tools: Introduce asm-generic/bitops.h
        tools lib: Move asm-generic/bitops/find.h code to tools/include and tools/lib
        tools: Whitespace prep patches for moving bitops.h
        tools: Move code originally from asm-generic/atomic.h into tools/include/asm-generic/
        tools: Move code originally from linux/log2.h to tools/include/linux/
        tools: Move __ffs implementation to tools/include/asm-generic/bitops/__ffs.h
        perf evlist: Do not use hard coded value for a mmap_pages default
        perf trace: Let the perf_evlist__mmap autosize the number of pages to use
        perf evlist: Improve the strerror_mmap method
        perf evlist: Clarify sterror_mmap variable names
        perf evlist: Fixup brown paper bag on "hint" for --mmap-pages cmdline arg
        perf trace: Provide a better explanation when mmap fails
        ...
      88a57667
    • Linus Torvalds's avatar
      Merge tag 'powerpc-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux · 34b85e35
      Linus Torvalds authored
      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
      34b85e35
    • Dave Jones's avatar
      Update/Remove soon-to-be-dead email address · d5e80b4b
      Dave Jones authored
      
      
      I'm leaving Red Hat at the end of December 2014, so remove all
      references to my soon-to-be-dead address.
      
      (There are some references left in the tree, that need additional
      changes, I'll send those through the AGP maintainers).
      
      Signed-off-by: default avatarDave Jones <davej@codemonkey.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d5e80b4b
  2. Dec 19, 2014
    • Thomas Gleixner's avatar
      tick/powerclamp: Remove tick_nohz_idle abuse · a5fd9733
      Thomas Gleixner authored
      commit 4dbd2771 "tick: export nohz tick idle symbols for module
      use" was merged via the thermal tree without an explicit ack from the
      relevant maintainers.
      
      The exports are abused by the intel powerclamp driver which implements
      a fake idle state from a sched FIFO task. This causes all kinds of
      wreckage in the NOHZ core code which rightfully assumes that
      tick_nohz_idle_enter/exit() are only called from the idle task itself.
      
      Recent changes in the NOHZ core lead to a failure of the powerclamp
      driver and now people try to hack completely broken and backwards
      workarounds into the NOHZ core code. This is completely unacceptable
      and just papers over the real problem. There are way more subtle
      issues lurking around the corner.
      
      The real solution is to fix the powerclamp driver by rewriting it with
      a sane concept, but that's beyond the scope of this.
      
      So the only solution for now is to remove the calls into the core NOHZ
      code from the powerclamp trainwreck along with the exports. 
      
      Fixes: d6d71ee4
      
       "PM: Introduce Intel PowerClamp Driver"
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Preeti U Murthy <preeti@linux.vnet.ibm.com>
      Cc: Viresh Kumar <viresh.kumar@linaro.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      Cc: Frederic Weisbecker <frederic@kernel.org>
      Cc: Pan Jacob jun <jacob.jun.pan@intel.com>
      Cc: LKP <lkp@01.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1412181110110.17382@nanos
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      a5fd9733
    • Wang Nan's avatar
      perf: Fix building warning on ARM 32 · ac931f87
      Wang Nan authored
      Commit 85c116a6
      
       ("perf callchain: Make get_srcline fall back to sym+offset")
      introduces asprintf() call and matches '%ld' to a u64 argument, which is
      incorrect on ARM:
      
         CC       /home/wn/util/srcline.o
       util/srcline.c: In function 'get_srcline':
       util/srcline.c:297:6: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'u64' [-Werror=format]
       cc1: all warnings being treated as errors
       make[1]: *** [/home/wn/util/srcline.o] Error 1
      
      In addition, all users of get_srcline() use u64 addr, and libbfd
      also use 64 bit bfd_vma as address. This patch also fix
      prototype of get_srcline() and addr2line() to use u64 addr
      instead of unsigned long.
      
      Signed-off-by: default avatarWang Nan <wangnan0@huawei.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: <lizefan@huawei.com>
      Cc: <a.p.zijlstra@chello.nl>
      Cc: <paulus@samba.org>
      Cc: <acme@kernel.org>
      Cc: <ak@linux.intel.com>
      Link: http://lkml.kernel.org/r/1418710746-35943-1-git-send-email-wangnan0@huawei.com
      
      
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      ac931f87
    • Linus Torvalds's avatar
      Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · d790be38
      Linus Torvalds authored
      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
      d790be38
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 64ec45bf
      Linus Torvalds authored
      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
      64ec45bf
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c0f486fd
      Linus Torvalds authored
      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()
        ...
      c0f486fd
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v3.19-1' of... · 385336e3
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v3.19-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver update from Darren Hart:
       - thinkpad-acpi: Switch to software mute, cleanups
       - acerhdf: Bang-bang thermal governor, new models, cleanups
       - dell-laptop: New keyboard backlight support and documentation
       - toshiba_acpi: Keyboard backlight updates, hotkey handling
       - dell-wmi: Keypress filtering, WMI event processing
       - eeepc-laptop: Multiple cleanups, improved error handling, documentation
       - hp_wireless: Inform the user if hp_wireless_input_setup()/add() fails
       - misc: Code cleanups, quirks, various new IDs
      
      * tag 'platform-drivers-x86-v3.19-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (33 commits)
        platform/x86/acerhdf: Still depends on THERMAL
        Documentation: Add entry for dell-laptop sysfs interface
        acpi: Remove _OSI(Linux) for ThinkPads
        thinkpad-acpi: Try to use full software mute control
        acerhdf: minor clean up
        acerhdf: added critical trip point
        acerhdf: Use bang-bang thermal governor
        acerhdf: Adding support for new models
        acerhdf: Adding support for "manual mode"
        dell-smo8800: Add more ACPI ids and change description of driver
        platform: x86: dell-laptop: Add support for keyboard backlight
        toshiba_acpi: Add keyboard backlight mode change event
        toshiba_acpi: Change notify funtion to handle more events
        toshiba_acpi: Move hotkey enabling code to its own function
        dell-wmi: Don't report keypresses on keybord illumination change
        dell-wmi: Don't report keypresses for radio state changes
        hp_wireless: Inform the user if hp_wireless_input_setup()/add() fails
        toshiba-acpi: Add missing ID (TOS6207)
        Sony-laptop: Deletion of an unnecessary check before the function call "pci_dev_put"
        platform: x86: Deletion of checks before backlight_device_unregister()
        ...
      385336e3
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · ebcffcda
      Linus Torvalds authored
      Pull small watchdog update from Wim Van Sebroeck:
       - fix the argument of watchdog_active() in imx2_wdt
       - Add power management support to the imx2_wdt watchdog.
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: imx2_wdt: Fix the argument of watchdog_active()
        watchdog: imx2_wdt: Add power management support.
      ebcffcda
    • Linus Torvalds's avatar
      Merge tag 'media/v3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 0ec28c37
      Linus Torvalds authored
      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
      0ec28c37
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 4c929fee
      Linus Torvalds authored
      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
        ...
      4c929fee
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 018cb13e
      Linus Torvalds authored
      Merge misc patches from Andrew Morton:
       "A few stragglers"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        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()
      018cb13e
    • Andrew Morton's avatar
      tools/testing/selftests/Makefile: alphasort the TARGETS list · 96e869d8
      Andrew Morton authored
      
      
      This list is supposed to be sorted, to reduce patch collisions.
      
      Cc: Shuah Khan <shuah.kh@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      96e869d8
    • Ganesh Mahendran's avatar
      mm/zsmalloc: adjust order of functions · 66cdef66
      Ganesh Mahendran authored
      
      
      Currently functions in zsmalloc.c does not arranged in a readable and
      reasonable sequence.  With the more and more functions added, we may
      meet below inconvenience.  For example:
      
      Current functions:
      
          void zs_init()
          {
          }
      
          static void get_maxobj_per_zspage()
          {
          }
      
      Then I want to add a func_1() which is called from zs_init(), and this
      new added function func_1() will used get_maxobj_per_zspage() which is
      defined below zs_init().
      
          void func_1()
          {
              get_maxobj_per_zspage()
          }
      
          void zs_init()
          {
              func_1()
          }
      
          static void get_maxobj_per_zspage()
          {
          }
      
      This will cause compiling issue. So we must add a declaration:
      
          static void get_maxobj_per_zspage();
      
      before func_1() if we do not put get_maxobj_per_zspage() before
      func_1().
      
      In addition, puting module_[init|exit] functions at the bottom of the
      file conforms to our habit.
      
      So, this patch ajusts function sequence as:
      
          /* helper functions */
          ...
          obj_location_to_handle()
          ...
      
          /* Some exported functions */
          ...
      
          zs_map_object()
          zs_unmap_object()
      
          zs_malloc()
          zs_free()
      
          zs_init()
          zs_exit()
      
      Signed-off-by: default avatarGanesh Mahendran <opensource.ganesh@gmail.com>
      Cc: Nitin Gupta <ngupta@vflare.org>
      Acked-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      66cdef66
    • Junxiao Bi's avatar
      ocfs2: fix journal commit deadlock · 136f49b9
      Junxiao Bi authored
      
      
      For buffer write, page lock will be got in write_begin and released in
      write_end, in ocfs2_write_end_nolock(), before it unlock the page in
      ocfs2_free_write_ctxt(), it calls ocfs2_run_deallocs(), this will ask
      for the read lock of journal->j_trans_barrier.  Holding page lock and
      ask for journal->j_trans_barrier breaks the locking order.
      
      This will cause a deadlock with journal commit threads, ocfs2cmt will
      get write lock of journal->j_trans_barrier first, then it wakes up
      kjournald2 to do the commit work, at last it waits until done.  To
      commit journal, kjournald2 needs flushing data first, it needs get the
      cache page lock.
      
      Since some ocfs2 cluster locks are holding by write process, this
      deadlock may hung the whole cluster.
      
      unlock pages before ocfs2_run_deallocs() can fix the locking order, also
      put unlock before ocfs2_commit_trans() to make page lock is unlocked
      before j_trans_barrier to preserve unlocking order.
      
      Signed-off-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
      Reviewed-by: default avatarWengang Wang <wen.gang.wang@oracle.com>
      Cc: <stable@vger.kernel.org>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      136f49b9
    • Joseph Qi's avatar
      ocfs2/dlm: fix race between dispatched_work and dlm_lockres_grab_inflight_worker · 1e589581
      Joseph Qi authored
      Commit ac4fef4d
      
       ("ocfs2/dlm: do not purge lockres that is queued for
      assert master") may have the following possible race case:
      
        dlm_dispatch_assert_master       dlm_wq
        ========================================================================
        queue_work(dlm->quedlm_worker,
            &dlm->dispatched_work);
                                       dispatch work,
                                       dlm_lockres_drop_inflight_worker
                                       *BUG_ON(res->inflight_assert_workers == 0)*
        dlm_lockres_grab_inflight_worker
        inflight_assert_workers++
      
      So ensure inflight_assert_workers to be increased first.
      
      Signed-off-by: default avatarJoseph Qi <joseph.qi@huawei.com>
      Signed-off-by: default avatarXue jiufei <xuejiufei@huawei.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1e589581
    • Junxiao Bi's avatar
      ocfs2: reflink: fix slow unlink for refcounted file · f62f12b3
      Junxiao Bi authored
      
      
      When running ocfs2 test suite multiple nodes reflink stress test, for a
      4 nodes cluster, every unlink() for refcounted file needs about 700s.
      
      The slow unlink is caused by the contention of refcount tree lock since
      all nodes are unlink files using the same refcount tree.  When the
      unlinking file have many extents(over 1600 in our test), most of the
      extents has refcounted flag set.  In ocfs2_commit_truncate(), it will
      execute the following call trace for every extents.  This means it needs
      get and released refcount tree lock about 1600 times.  And when several
      nodes are do this at the same time, the performance will be very low.
      
        ocfs2_remove_btree_range()
        --  ocfs2_lock_refcount_tree()
        ----  ocfs2_refcount_lock()
        ------  __ocfs2_cluster_lock()
      
      ocfs2_refcount_lock() is costly, move it to ocfs2_commit_truncate() to
      do lock/unlock once can improve a lot performance.
      
      Signed-off-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
      Cc: Wengang <wen.gang.wang@oracle.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f62f12b3
    • Andrew Morton's avatar
      mm/memory.c:do_shared_fault(): add comment · d82fa87d
      Andrew Morton authored
      Belatedly document the changes in commit f0c6d4d2
      
       ("mm: introduce
      do_shared_fault() and drop do_fault()").
      
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Bob Liu <lliubbo@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Sasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d82fa87d
    • Santosh Shilimkar's avatar
      .mailmap: Santosh Shilimkar has moved · 48332f28
      Santosh Shilimkar authored
      
      
      Add my new email address along with kernel.org email id
      
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
      Signed-off-by: default avatarSantosh Shilimkar <ssantosh@kernel.org>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48332f28
    • Andrew Morton's avatar
    • Vishnu Pratap Singh's avatar
      lib/show_mem.c: add cma reserved information · 49abd8c2
      Vishnu Pratap Singh authored
      Add cma reserved information which is currently shown as a part of total
      reserved only.  This patch is continuation of our previous cma patches
      related to this.
      
        https://lkml.org/lkml/2014/10/20/64
        https://lkml.org/lkml/2014/10/22/383
      
      
      
      [akpm@linux-foundation.org: remove hopefully-unneeded ifdefs]
      Signed-off-by: default avatarVishnu Pratap Singh <vishnu.ps@samsung.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Xishi Qiu <qiuxishi@huawei.com>
      Cc: Pintu Kumar <pintu.k@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      49abd8c2
    • Pintu Kumar's avatar
      fs/proc/meminfo.c: include cma info in proc/meminfo · 47f8f929
      Pintu Kumar authored
      
      
      This patch include CMA info (CMATotal, CMAFree) in /proc/meminfo.
      Currently, in a CMA enabled system, if somebody wants to know the total
      CMA size declared, there is no way to tell, other than the dmesg or
      /var/log/messages logs.
      
      With this patch we are showing the CMA info as part of meminfo, so that it
      can be determined at any point of time.  This will be populated only when
      CMA is enabled.
      
      Below is the sample output from a ARM based device with RAM:512MB and CMA:16MB.
      
        MemTotal:         471172 kB
        MemFree:          111712 kB
        MemAvailable:     271172 kB
        .
        .
        .
        CmaTotal:          16384 kB
        CmaFree:            6144 kB
      
      This patch also fix below checkpatch errors that were found during these changes.
      
        ERROR: space required after that ',' (ctx:ExV)
        199: FILE: fs/proc/meminfo.c:199:
        +       ,atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10)
                ^
      
        ERROR: space required after that ',' (ctx:ExV)
        202: FILE: fs/proc/meminfo.c:202:
        +       ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) *
                ^
      
        ERROR: space required after that ',' (ctx:ExV)
        206: FILE: fs/proc/meminfo.c:206:
        +       ,K(totalcma_pages)
                ^
      
        total: 3 errors, 0 warnings, 2 checks, 236 lines checked
      
      Signed-off-by: default avatarPintu Kumar <pintu.k@samsung.com>
      Signed-off-by: default avatarVishnu Pratap Singh <vishnu.ps@samsung.com>
      Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
      Cc: Rafael Aquini <aquini@redhat.com>
      Cc: Jerome Marchand <jmarchan@redhat.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      47f8f929
    • Pintu Kumar's avatar
      mm: cma: split cma-reserved in dmesg log · e48322ab
      Pintu Kumar authored
      
      
      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: default avatarPintu Kumar <pintu.k@samsung.com>
      Signed-off-by: default avatarVishnu Pratap Singh <vishnu.ps@samsung.com>
      Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
      Cc: Rafael Aquini <aquini@redhat.com>
      Cc: Jerome Marchand <jmarchan@redhat.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e48322ab
    • Sougata Santra's avatar
      hfsplus: fix longname handling · 89ac9b4d
      Sougata Santra authored
      
      
      Longname is not correctly handled by hfsplus driver.  If an attempt to
      create a longname(>255) file/directory is made, it succeeds by creating a
      file/directory with HFSPLUS_MAX_STRLEN and incorrect catalog key.  Thus
      leaving the volume in an inconsistent state.  This patch fixes this issue.
      
      Although lookup is always called first to create a negative entry, so just
      doing a check in lookup would probably fix this issue.  I choose to
      propagate error to other iops as well.
      
      Please NOTE: I have factored out hfsplus_cat_build_key_with_cnid from
      hfsplus_cat_build_key, to avoid unncessary branching.
      
      Thanks a lot.
      
        TEST:
        ------
        dir="TEST_DIR"
        cdir=`pwd`
        name255="_123456789_123456789_123456789_123456789_123456789_123456789\
        _123456789_123456789_123456789_123456789_123456789_123456789_123456789\
        _123456789_123456789_123456789_123456789_123456789_123456789_123456789\
        _123456789_123456789_123456789_123456789_123456789_1234"
        name256="${name255}5"
      
        mkdir $dir
        cd $dir
        touch $name255
        rm -f $name255
        touch $name256
        ls -la
        cd $cdir
        rm -rf $dir
      
        RESULT:
        -------
        [sougata@ultrabook tmp]$ cdir=`pwd`
        [sougata@ultrabook tmp]$
        name255="_123456789_123456789_123456789_123456789_123456789_123456789\
         > _123456789_123456789_123456789_123456789_123456789_123456789_123456789\
         > _123456789_123456789_123456789_123456789_123456789_123456789_123456789\
         > _123456789_123456789_123456789_123456789_123456789_1234"
        [sougata@ultrabook tmp]$ name256="${name255}5"
        [sougata@ultrabook tmp]$
        [sougata@ultrabook tmp]$ mkdir $dir
        [sougata@ultrabook tmp]$ cd $dir
        [sougata@ultrabook TEST_DIR]$ touch $name255
        [sougata@ultrabook TEST_DIR]$ rm -f $name255
        [sougata@ultrabook TEST_DIR]$ touch $name256
        [sougata@ultrabook TEST_DIR]$ ls -la
        ls: cannot access
        _123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_1234:
        No such file or directory
        total 0
        drwxrwxr-x 1 sougata sougata 3 Feb 20 19:56 .
        drwxrwxrwx 1 root    root    6 Feb 20 19:56 ..
        -????????? ? ?       ?       ?            ?
        _123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_1234
        [sougata@ultrabook TEST_DIR]$ cd $cdir
        [sougata@ultrabook tmp]$ rm -rf $dir
        rm: cannot remove `TEST_DIR': Directory not empty
      
      -ENAMETOOLONG returned from hfsplus_asc2uni was not propaged to iops.
      This allowed hfsplus to create files/directories with HFSPLUS_MAX_STRLEN
      and incorrect keys, leaving the FS in an inconsistent state.  This patch
      fixes this issue.
      
      Signed-off-by: default avatarSougata Santra <sougata@tuxera.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: Vyacheslav Dubeyko <slava@dubeyko.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      89ac9b4d