28 Mar, 2016

13 commits

  • I forgot it.

    Fixes: 3e78e1518e12('ALSA: firewire-tascam: add support for FW-1804')
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Currently, model-specific quirks are detected out of information parser,
    however it's natural to detect it in the parser.

    This commit applies the idea.

    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • In former commit, 'struct device_info' is obsoleted, whereas private
    structure still keeps a pointer to it.

    This commit remove the member.

    d6ce6bbd7d83('ALSA: oxfw: rename a structure so that it means backward compatibility to old drivers')

    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • The 'vendor_id' argument is not used in the local function. Let's remove
    it.

    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Since we have the fixed pin-port mapping for Intel IronLake (IbexPeak)
    and Baytrail (ValleyView) platforms in the code side, now it's time to
    add the support in the codec driver side. This patch simply enables
    the i915 ELD notifier for these in addition with the fix of the
    mapping from the port to NID in the callback.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Intel IronLake and ValleyView platforms have different HDMI widget pin
    and digital port mapping from other newer ones. The recent ones
    (HSW+) have NID 0x05 to 0x07 for port B to port D, while these chips
    have NID 0x04 to 0x06.

    For adapting this mapping, pass the codec object instead of the bus
    object to snd_hdac_sync_audio_rate() and snd_hdac_acomp_get_eld() so
    that they can check the codec ID and calculate the mapping properly.

    The changes in the HDMI codec driver side will follow in the later
    patch.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Intel SandyBridge and IvyBridge (CougarPoint and PantherPoint
    platforms) have also the same digital port vs audio widget mapping
    (from port B = NID 0x05 to port D = NID 0x07) as Haswell & co.
    So, we can reuse the existing functions for HSW+ for these platforms
    without changing there, but just by re-adding the on-demand i915
    binding in HDMI codec driver.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • For reducing the splat of is_haswell_plus() or such macros, this patch
    introduces pin_cvt_fixup() ops to hdmi_spec. For HSW+ and VLV+
    codecs, set this ops so that the driver can call the Intel-specific
    workarounds appropriately.

    A gratis bonus that we can remove the mux_id argument from
    hdmi_choose_cvt(), too, since the fixup function always refers the
    mux_idx from the given per_pin object.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Instead of checking at each time with is_haswell_plus() macro,
    override the setup_stream ops itself for HSW+ chips.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The need for reprogramming the AMP mute bit at each audio info frame
    setup isn't always specific to Intel chips. It's safer to set it
    generically for all codecs with the amp bit, as this verb execution
    itself isn't too much load. This eliminates one usage of
    is_haswell_plus() macro, after all.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • We have too many Intel-specific codes in patch_hdmi_generic() despite
    its function name. And this makes it difficult to adjust per chipset,
    e.g. for allowing the audio notifier on an old chipset, one would need
    to add an explicit if() check.

    This patch attempts some code refactoring and cleanups in this regard;
    the Intel-specific codes are moved out of patch_generic_hdmi() into
    the new functions, patch_i915_hsw_hdmi() and patch_i915_byt_hdmi(),
    depending on the chipset. The other old Intel chipsets keep using
    patch_generic_hdmi() without Intel hacks. The existing
    patch_generic_hdmi() is also split to a few components so that they
    can be called from the Intel codec parsers.

    There are still many is_haswell*() and is_valleyview*() macro usages
    in the code. They will be cleaned up later. For the time being, only
    the entry are concerned.

    Along with this change, the i915_bound flag and the on-demand i915
    component binding have been removed as a cleanup, since there is no
    user at this moment. This will be added back later once when Cougar
    Point and else start using the i915 eld notifier.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Takashi Iwai
     
  • When sound card is going to be released, dice private data is
    also released. Then all of data should be released. However,
    stream data is not released. This causes memory leak when
    unplugging dice unit.

    This commit fixes the bug.

    Fixes: 4bdc495c87b3('ALSA: dice: handle several PCM substreams when any isochronous streams are available')
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

27 Mar, 2016

6 commits

  • Linus Torvalds
     
  • Pull Ceph updates from Sage Weil:
    "There is quite a bit here, including some overdue refactoring and
    cleanup on the mon_client and osd_client code from Ilya, scattered
    writeback support for CephFS and a pile of bug fixes from Zheng, and a
    few random cleanups and fixes from others"

    [ I already decided not to pull this because of it having been rebased
    recently, but ended up changing my mind after all. Next time I'll
    really hold people to it. Oh well. - Linus ]

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (34 commits)
    libceph: use KMEM_CACHE macro
    ceph: use kmem_cache_zalloc
    rbd: use KMEM_CACHE macro
    ceph: use lookup request to revalidate dentry
    ceph: kill ceph_get_dentry_parent_inode()
    ceph: fix security xattr deadlock
    ceph: don't request vxattrs from MDS
    ceph: fix mounting same fs multiple times
    ceph: remove unnecessary NULL check
    ceph: avoid updating directory inode's i_size accidentally
    ceph: fix race during filling readdir cache
    libceph: use sizeof_footer() more
    ceph: kill ceph_empty_snapc
    ceph: fix a wrong comparison
    ceph: replace CURRENT_TIME by current_fs_time()
    ceph: scattered page writeback
    libceph: add helper that duplicates last extent operation
    libceph: enable large, variable-sized OSD requests
    libceph: osdc->req_mempool should be backed by a slab pool
    libceph: make r_request msg_size calculation clearer
    ...

    Linus Torvalds
     
  • Pull orangefs filesystem from Mike Marshall.

    This finally merges the long-pending orangefs filesystem, which has been
    much cleaned up with input from Al Viro over the last six months. From
    the documentation file:

    "OrangeFS is an LGPL userspace scale-out parallel storage system. It
    is ideal for large storage problems faced by HPC, BigData, Streaming
    Video, Genomics, Bioinformatics.

    Orangefs, originally called PVFS, was first developed in 1993 by Walt
    Ligon and Eric Blumer as a parallel file system for Parallel Virtual
    Machine (PVM) as part of a NASA grant to study the I/O patterns of
    parallel programs.

    Orangefs features include:

    - Distributes file data among multiple file servers
    - Supports simultaneous access by multiple clients
    - Stores file data and metadata on servers using local file system
    and access methods
    - Userspace implementation is easy to install and maintain
    - Direct MPI support
    - Stateless"

    see Documentation/filesystems/orangefs.txt for more in-depth details.

    * tag 'ofs-pull-tag-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux: (174 commits)
    orangefs: fix orangefs_superblock locking
    orangefs: fix do_readv_writev() handling of error halfway through
    orangefs: have ->kill_sb() evict the VFS side of things first
    orangefs: sanitize ->llseek()
    orangefs-bufmap.h: trim unused junk
    orangefs: saner calling conventions for getting a slot
    orangefs_copy_{to,from}_bufmap(): don't pass bufmap pointer
    orangefs: get rid of readdir_handle_s
    ornagefs: ensure that truncate has an up to date inode size
    orangefs: move code which sets i_link to orangefs_inode_getattr
    orangefs: remove needless wrapper around GFP_KERNEL
    orangefs: remove wrapper around mutex_lock(&inode->i_mutex)
    orangefs: refactor inode type or link_target change detection
    orangefs: use new getattr for revalidate and remove old getattr
    orangefs: use new getattr in inode getattr and permission
    orangefs: use new orangefs_inode_getattr to get size in write and llseek
    orangefs: use new orangefs_inode_getattr to create new inodes
    orangefs: rename orangefs_inode_getattr to orangefs_inode_old_getattr
    orangefs: remove inode->i_lock wrapper
    orangefs: put register_chrdev immediately before register_filesystem
    ...

    Linus Torvalds
     
  • Pull NTB bug fixes from Jon Mason:
    "NTB bug fixes for tasklet from spinning forever, link errors,
    translation window setup, NULL ptr dereference, and ntb-perf errors.

    Also, a modification to the driver API that makes _addr functions
    optional"

    * tag 'ntb-4.6' of git://github.com/jonmason/ntb:
    NTB: Remove _addr functions from ntb_hw_amd
    NTB: Make _addr functions optional in the API
    NTB: Fix incorrect clean up routine in ntb_perf
    NTB: Fix incorrect return check in ntb_perf
    ntb: fix possible NULL dereference
    ntb: add missing setup of translation window
    ntb: stop link work when we do not have memory
    ntb: stop tasklet from spinning forever during shutdown.
    ntb: perf test: fix address space confusion

    Linus Torvalds
     
  • Pull more SCSI updates from James Bottomley:
    "The only new stuff which missed the first pull request is an update to
    the UFS driver.

    The rest is an assortment of bug fixes and minor tweaks which appeared
    recently (some are fixes for recent code and some are stuff spotted
    recently by the checkers or the new gcc-6 compiler [most of Arnd's
    stuff])"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (32 commits)
    scsi_common: do not clobber fixed sense information
    scsi: ufs: select CONFIG_NLS
    scsi: fc: use get/put_unaligned64 for wwn access
    fnic: move printk()s outside of the critical code section.
    qla2xxx: avoid maybe_uninitialized warning
    megaraid_sas: add missing curly braces in ioctl handler
    lpfc: fix misleading indentation
    scsi_transport_sas: add 'scsi_target_id' sysfs attribute
    scsi_dh_alua: uninitialized variable in alua_check_vpd()
    scsi: ufs-qcom: add printouts of testbus debug registers
    scsi: ufs-qcom: enable/disable the device ref clock
    scsi: ufs-qcom: set PA_Local_TX_LCC_Enable before link startup
    scsi: ufs: add device quirk delay before putting UFS rails in LPM
    scsi: ufs: fix leakage during link off state
    scsi: ufs: tune UniPro parameters to optimize hibern8 exit time
    scsi: ufs: handle non spec compliant bkops behaviour by device
    scsi: ufs: add retry for query descriptors
    scsi: ufs: add error recovery after DL NAC error
    scsi: ufs: make error handling bit faster
    scsi: ufs: disable vccq if it's not needed by UFS device
    ...

    Linus Torvalds
     
  • Commit 0b81d07790726 ("fs crypto: move per-file encryption from f2fs
    tree to fs/crypto") moved the f2fs crypto files to fs/crypto/ and
    renamed the symbol prefixes from "f2fs_" to "fscrypt_" (and from "F2FS_"
    to just "FS" for preprocessor symbols).

    Because of the symbol renaming, it's a bit hard to see it as a file
    move: use

    git show -M30 0b81d07790726

    to lower the rename detection to just 30% similarity and make git show
    the files as renamed (the header file won't be shown as a rename even
    then - since all it contains is symbol definitions, it looks almost
    completely different).

    Even with the renames showing as renames, the diffs are not all that
    easy to read, since so much is just the renames. But Eric Biggers
    noticed that it's not just all renames: the initialization of the
    xts_tweak had been broken too, using the inode number rather than the
    page offset.

    That's not right - it makes the xfs_tweak the same for all pages of each
    inode. It _might_ make sense to make the xfs_tweak contain both the
    offset _and_ the inode number, but not just the inode number.

    Reported-by: Eric Biggers
    Cc: Jaegeuk Kim
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

26 Mar, 2016

21 commits

  • Kernel zero day testing warned about address space confusion. A virtual
    iomem address was used where a physical address is expected. The
    offending functions implement an optional part of the api, so they are
    removed. They can be added later, after testing.

    Fixes: a1b3695820aa490e58915d720a1438069813008b

    Signed-off-by: Allen Hubbe
    Acked-by: Xiangliang Yu
    Signed-off-by: Jon Mason

    Allen Hubbe
     
  • * switch orangefs_remount() to taking ORANGEFS_SB(sb) instead of sb
    * remove from the list _before_ orangefs_unmount() - request_mutex
    in the latter will make sure that nothing observed in the loop in
    ORANGEFS_DEV_REMOUNT_ALL handling will get freed until the end
    of loop
    * on removal, keep the forward pointer and zero the back one. That
    way we can drop and regain the spinlock in the loop body (again,
    ORANGEFS_DEV_REMOUNT_ALL one) and still be able to get to the
    rest of the list.

    Signed-off-by: Al Viro
    Signed-off-by: Mike Marshall

    Al Viro
     
  • Error should only be returned if nothing had been read/written.
    Otherwise we need to report a short read/write instead.

    Signed-off-by: Al Viro
    Signed-off-by: Mike Marshall

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Mike Marshall

    Al Viro
     
  • a) open files can't have NULL inodes
    b) it's SEEK_END, not ORANGEFS_SEEK_END; no need to get cute.
    c) make_bad_inode() on lseek()?

    Signed-off-by: Al Viro
    Signed-off-by: Mike Marshall

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Mike Marshall

    Al Viro
     
  • just have it return the slot number or -E... - the caller checks
    the sign anyway

    Signed-off-by: Al Viro
    Signed-off-by: Mike Marshall

    Al Viro
     
  • it's always __orangefs_bufmap

    Signed-off-by: Al Viro
    Signed-off-by: Mike Marshall

    Al Viro
     
  • no point, really - we couldn't keep those across the calls of
    getdents(); it would be too easy to DoS, having all slots exhausted.

    Signed-off-by: Al Viro
    Signed-off-by: Mike Marshall

    Al Viro
     
  • Merge fourth patch-bomb from Andrew Morton:
    "A lot more stuff than expected, sorry. A bunch of ocfs2 reviewing was
    finished off.

    - mhocko's oom-reaper out-of-memory-handler changes

    - ocfs2 fixes and features

    - KASAN feature work

    - various fixes"

    * emailed patches from Andrew Morton : (42 commits)
    thp: fix typo in khugepaged_scan_pmd()
    MAINTAINERS: fill entries for KASAN
    mm/filemap: generic_file_read_iter(): check for zero reads unconditionally
    kasan: test fix: warn if the UAF could not be detected in kmalloc_uaf2
    mm, kasan: stackdepot implementation. Enable stackdepot for SLAB
    arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections
    mm, kasan: add GFP flags to KASAN API
    mm, kasan: SLAB support
    kasan: modify kmalloc_large_oob_right(), add kmalloc_pagealloc_oob_right()
    include/linux/oom.h: remove undefined oom_kills_count()/note_oom_kill()
    mm/page_alloc: prevent merging between isolated and other pageblocks
    drivers/memstick/host/r592.c: avoid gcc-6 warning
    ocfs2: extend enough credits for freeing one truncate record while replaying truncate records
    ocfs2: extend transaction for ocfs2_remove_rightmost_path() and ocfs2_update_edge_lengths() before to avoid inconsistency between inode and et
    ocfs2/dlm: move lock to the tail of grant queue while doing in-place convert
    ocfs2: solve a problem of crossing the boundary in updating backups
    ocfs2: fix occurring deadlock by changing ocfs2_wq from global to local
    ocfs2/dlm: fix BUG in dlm_move_lockres_to_recovery_list
    ocfs2/dlm: fix race between convert and recovery
    ocfs2: fix a deadlock issue in ocfs2_dio_end_io_write()
    ...

    Linus Torvalds
     
  • Pull power management fixlet from Rafael Wysocki:
    "One of commits in my previous pull request changed the permissions of
    drivers/power/avs/rockchip-io-domain.c to executable by mistake"

    * tag 'pm+acpi-4.6-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Fix permissions of drivers/power/avs/rockchip-io-domain.c

    Linus Torvalds
     
  • Pull ia64 update from Tony Luck:
    "Wire up new system calls p{read,write}v2 for ia64"

    * tag 'please-pull-preadv2' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    [IA64] Enable preadv2 and pwritev2 syscalls for ia64

    Linus Torvalds
     
  • Pull more input updates from Dmitry Torokhov:
    "Second round of updates for the input subsystem.

    The BYD PS/2 protocol driver now uses absolute reporting mode and
    should behave more like other touchpads; Synaptics driver needed to
    extend one of its quirks to a newer firmware version, and a few USB
    drivers got tightened up checks for the contents of their descriptors"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: sur40 - fix DMA on stack
    Input: ati_remote2 - fix crashes on detecting device with invalid descriptor
    Input: synaptics - handle spurious release of trackstick buttons, again
    Input: synaptics-rmi4 - remove check of Non-NULL array
    Input: byd - enable absolute mode
    Input: ims-pcu - sanity check against missing interfaces
    Input: melfas_mip4 - add hw_version sysfs attribute

    Linus Torvalds
     
  • !PageLRU should lead to SCAN_PAGE_LRU, not SCAN_SCAN_ABORT result.

    Signed-off-by: Kirill A. Shutemov
    Cc: Ebru Akagunduz
    Cc: Rik van Riel
    Cc: Vlastimil Babka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Signed-off-by: Andrey Ryabinin
    Cc: Alexander Potapenko
    Acked-by: Dmitry Vyukov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Ryabinin
     
  • If
    - generic_file_read_iter() gets called with a zero read length,
    - the read offset is at a page boundary,
    - IOCB_DIRECT is not set
    - and the page in question hasn't made it into the page cache yet,
    then do_generic_file_read() will trigger a readahead with a req_size hint
    of zero.

    Since roundup_pow_of_two(0) is undefined, UBSAN reports

    UBSAN: Undefined behaviour in include/linux/log2.h:63:13
    shift exponent 64 is too large for 64-bit type 'long unsigned int'
    CPU: 3 PID: 1017 Comm: sa1 Tainted: G L 4.5.0-next-20160318+ #14
    [...]
    Call Trace:
    [...]
    [] ondemand_readahead+0x3aa/0x3d0
    [] ? ondemand_readahead+0x3aa/0x3d0
    [] ? find_get_entry+0x2d/0x210
    [] page_cache_sync_readahead+0x63/0xa0
    [] do_generic_file_read+0x80d/0xf90
    [] generic_file_read_iter+0x185/0x420
    [...]
    [] __vfs_read+0x256/0x3d0
    [...]

    when get_init_ra_size() gets called from ondemand_readahead().

    The net effect is that the initial readahead size is arch dependent for
    requested read lengths of zero: for example, since

    1UL << (sizeof(unsigned long) * 8)

    evaluates to 1 on x86 while its result is 0 on ARMv7, the initial readahead
    size becomes 4 on the former and 0 on the latter.

    What's more, whether or not the file access timestamp is updated for zero
    length reads is decided differently for the two cases of IOCB_DIRECT
    being set or cleared: in the first case, generic_file_read_iter()
    explicitly skips updating that timestamp while in the latter case, it is
    always updated through the call to do_generic_file_read().

    According to POSIX, zero length reads "do not modify the last data access
    timestamp" and thus, the IOCB_DIRECT behaviour is POSIXly correct.

    Let generic_file_read_iter() unconditionally check the requested read
    length at its entry and return immediately with success if it is zero.

    Signed-off-by: Nicolai Stange
    Cc: Al Viro
    Reviewed-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolai Stange
     
  • Signed-off-by: Alexander Potapenko
    Acked-by: Andrey Ryabinin
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Joonsoo Kim
    Cc: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Steven Rostedt
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Potapenko
     
  • Implement the stack depot and provide CONFIG_STACKDEPOT. Stack depot
    will allow KASAN store allocation/deallocation stack traces for memory
    chunks. The stack traces are stored in a hash table and referenced by
    handles which reside in the kasan_alloc_meta and kasan_free_meta
    structures in the allocated memory chunks.

    IRQ stack traces are cut below the IRQ entry point to avoid unnecessary
    duplication.

    Right now stackdepot support is only enabled in SLAB allocator. Once
    KASAN features in SLAB are on par with those in SLUB we can switch SLUB
    to stackdepot as well, thus removing the dependency on SLUB stack
    bookkeeping, which wastes a lot of memory.

    This patch is based on the "mm: kasan: stack depots" patch originally
    prepared by Dmitry Chernenkov.

    Joonsoo has said that he plans to reuse the stackdepot code for the
    mm/page_owner.c debugging facility.

    [akpm@linux-foundation.org: s/depot_stack_handle/depot_stack_handle_t]
    [aryabinin@virtuozzo.com: comment style fixes]
    Signed-off-by: Alexander Potapenko
    Signed-off-by: Andrey Ryabinin
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Joonsoo Kim
    Cc: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Steven Rostedt
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Potapenko
     
  • KASAN needs to know whether the allocation happens in an IRQ handler.
    This lets us strip everything below the IRQ entry point to reduce the
    number of unique stack traces needed to be stored.

    Move the definition of __irq_entry to so that the
    users don't need to pull in . Also introduce the
    __softirq_entry macro which is similar to __irq_entry, but puts the
    corresponding functions to the .softirqentry.text section.

    Signed-off-by: Alexander Potapenko
    Acked-by: Steven Rostedt
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Joonsoo Kim
    Cc: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Andrey Ryabinin
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Potapenko
     
  • Add GFP flags to KASAN hooks for future patches to use.

    This patch is based on the "mm: kasan: unified support for SLUB and SLAB
    allocators" patch originally prepared by Dmitry Chernenkov.

    Signed-off-by: Alexander Potapenko
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Joonsoo Kim
    Cc: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Andrey Ryabinin
    Cc: Steven Rostedt
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Potapenko
     
  • Add KASAN hooks to SLAB allocator.

    This patch is based on the "mm: kasan: unified support for SLUB and SLAB
    allocators" patch originally prepared by Dmitry Chernenkov.

    Signed-off-by: Alexander Potapenko
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Joonsoo Kim
    Cc: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Andrey Ryabinin
    Cc: Steven Rostedt
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Potapenko