Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #62

Merged
merged 719 commits into from
Apr 20, 2015
Merged

Sync up with Linus #62

merged 719 commits into from
Apr 20, 2015
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Apr 10, 2015

  1. f2fs: clear append/update flags once fsync is done

    When fsync is done through checkpoint, previous f2fs missed to clear append
    and update flag. This patch fixes to clear them.
    
    This was originally catched by Changman Lee before.
    
    Signed-off-by: Changman Lee <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    cff2852 View commit details
    Browse the repository at this point in the history
  2. f2fs: report -ENOENT for unreached data indices

    If inode has inline_data, it should report -ENOENT when accessing out-of-bound
    region.
    This is used by f2fs_fiemap which treats -ENOENT with no error.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    7662916 View commit details
    Browse the repository at this point in the history
  3. f2fs: relocate Kconfig from misc filesystems

    The f2fs has been shipped on many smartphone devices during a couple of years.
    So, it is worth to relocate Kconfig into main page from misc filesystems for
    developers to choose it more easily.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    d7196c5 View commit details
    Browse the repository at this point in the history
  4. f2fs: fix extent cache memory leak

    extent tree/node slab cache is created during f2fs insmod,
    how, it isn't destroyed during f2fs rmmod, this patch fix
    it by destroy extent tree/node slab cache once rmmod f2fs.
    
    Signed-off-by: Wanpeng Li <[email protected]>
    Reviewed-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Wanpeng Li authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    fdf6c8b View commit details
    Browse the repository at this point in the history
  5. f2fs: reduce searching region of segmap when set free section

    In __set_free we will check whether all segment are free in one section
    when free one segment, in order to set section to free status. But the
    searching region of segmap is from start segno to last segno of main
    area, it's not necessary. So let's just only check all segment bitmap
    of target section.
    
    Signed-off-by: Wanpeng Li <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Wanpeng Li authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    7fd9701 View commit details
    Browse the repository at this point in the history
  6. f2fs: set the correct place of initializing *res_page

    The function 'find_in_inline_dir()' contain 'res_page'
    as an argument. So, we should initiaize 'res_page' before
    this function.
    
    Signed-off-by: Yuan Zhong <[email protected]>
    Reviewed-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Yuan Zhong authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    b1f73b7 View commit details
    Browse the repository at this point in the history
  7. f2fs: remove unnecessary condition judgment

    Remove the unnecessary condition judgment, because
    'max_slots' has been initialized to '0' at the beginging
    of the function, as following:
    if (max_slots)
           *max_slots = 0;
    
    Signed-off-by: Yuan Zhong <[email protected]>
    Reviewed-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Yuan Zhong authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    d9f46bb View commit details
    Browse the repository at this point in the history
  8. f2fs: cleanup statement about max orphan inodes calc

    Through each macro, we can read the meaning easily.
    
    Signed-off-by: Changman Lee <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Changman Lee authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    e015039 View commit details
    Browse the repository at this point in the history
  9. f2fs: fix unlocked nat set cache operation

    nm_i->nat_tree_lock is used to sync both the operations of nat entry
    cache tree and nat set cache tree, however, it isn't held when flush
    nat entries during checkpoint which lead to potential race, this patch
    fix it by holding the lock when gang lookup nat set cache and delete
    item from nat set cache.
    
    Signed-off-by: Wanpeng Li <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Wanpeng Li authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    57ed1e9 View commit details
    Browse the repository at this point in the history
  10. f2fs: fix to calculate max length of contiguous free slots correctly

    When lookuping for creating, we will try to record the level of current dentry
    hash table if current dentry has enough contiguous slots for storing name of new
    file which will be created later, this can save our lookup time when add a link
    into parent dir.
    
    But currently in find_target_dentry, our current length of contiguous free slots
    is not calculated correctly. This make us leaving some holes in dentry block
    occasionally, it wastes our space of dentry block.
    
    Let's refactor the lookup flow for max slots as following to fix this issue:
    a) increase max_len if current slot is free;
    b) update max_slots with max_len if max_len is larger than max_slots;
    c) reset max_len to zero if current slot is not free.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    bda1907 View commit details
    Browse the repository at this point in the history
  11. f2fs: fix reference leaks in f2fs_acl_create

    Our f2fs_acl_create is copied and modified from posix_acl_create to avoid
    deadlock bug when inline_dentry feature is enabled.
    
    Now, we got reference leaks in posix_acl_create, and this has been fixed in
    commit fed0b58 ("posix_acl: fix reference leaks in posix_acl_create")
    by Omar Sandoval.
    https://lkml.org/lkml/2015/2/9/5
    
    Let's fix this issue in f2fs_acl_create too.
    
    Signed-off-by: Chao Yu <[email protected]>
    Reviewed-by: Changman Lee <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    83dfe53 View commit details
    Browse the repository at this point in the history
  12. f2fs: fix to truncate inline data past EOF

    Previously if inode is with inline data, we will try to invalid partial inline
    data in page #0 when we truncate size of inode in truncate_partial_data_page().
    And then we set page #0 to dirty, after this we can synchronize inode page with
    page #0 at ->writepage().
    
    But sometimes we will fail to operate page #0 in truncate_partial_data_page()
    due to below reason:
    a) if offset is zero, we will skip setting page #0 to dirty.
    b) if page #0 is not uptodate, we will fail to update it as it has no mapping
    data.
    
    So with following operations, we will meet recent data which should be
    truncated.
    
    1.write inline data to file
    2.sync first data page to inode page
    3.truncate file size to 0
    4.truncate file size to max_inline_size
    5.echo 1 > /proc/sys/vm/drop_caches
    6.read file --> meet original inline data which is remained in inode page.
    
    This patch renames truncate_inline_data() to truncate_inline_inode() for code
    readability, then use truncate_inline_inode() to truncate inline data in inode
    page in truncate_blocks() and truncate page #0 in truncate_partial_data_page()
    for fixing.
    
    v2:
     o truncate partially #0 page in truncate_partial_data_page to avoid keeping
       old data in #0 page.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    0bfcfcc View commit details
    Browse the repository at this point in the history
  13. f2fs: fix to check current blkaddr in __allocate_data_blocks

    In __allocate_data_blocks, we should check current blkaddr which is located at
    ofs_in_node of dnode page instead of checking first blkaddr all the time.
    Otherwise we can only allocate one blkaddr in each dnode page. Fix it.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    d6d4f1c View commit details
    Browse the repository at this point in the history
  14. f2fs: fix to cover sentry_lock for block allocation

    In the following call stack, f2fs changes the bitmap for dirty segments and # of
    dirty sentries without grabbing sit_i->sentry_lock.
    This can result in mismatch on bitmap and # of dirty sentries, since if there
    are some direct_io operations.
    
    In allocate_data_block,
     - __allocate_new_segments
      - mutex_lock(&curseg->curseg_mutex);
      - s_ops->allocate_segment
       - new_curseg/change_curseg
        - reset_curseg
         - __set_sit_entry_type
          - __mark_sit_entry_dirty
           - set_bit(dirty_sentries_bitmap)
           - dirty_sentries++;
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    21cb1d9 View commit details
    Browse the repository at this point in the history
  15. f2fs: set SBI_NEED_FSCK when encountering exception in recovery

    This patch tries to set SBI_NEED_FSCK flag into sbi only when we fail to recover
    in fill_super, so we could skip fscking image when we fail to fill super for
    other reason.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    2adc350 View commit details
    Browse the repository at this point in the history
  16. f2fs: set buffer_new when new blocks are allocated

    This patch modifies to call set_buffer_new, if new blocks are allocated.
    
    Reviewed-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    3402e87 View commit details
    Browse the repository at this point in the history
  17. f2fs: enhance multi-threads performance

    Previously, f2fs_write_data_pages has a mutex, sbi->writepages, to serialize
    data writes to maximize write bandwidth, while sacrificing multi-threads
    performance.
    Practically, however, multi-threads environment is much more important for
    users. So this patch tries to remove the mutex.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    78373b7 View commit details
    Browse the repository at this point in the history
  18. f2fs: avoid wrong f2fs_bug_on when truncating inline_data

    This patch removes wrong f2fs_bug_on in truncate_inline_inode.
    
    When there is no space, it can happen a corner case where i_isze is over
    MAX_INLINE_SIZE while its inode is still inline_data.
    
    The scenario is
     1. write small data into file #A.
     2. fill the whole partition to 100%.
     3. truncate 4096 on file #A.
     4. write data at 8192 offset.
      --> f2fs_write_begin
        -> -ENOSPC = f2fs_convert_inline_page
        -> f2fs_write_failed
          -> truncate_blocks
            -> truncate_inline_inode
    	  BUG_ON, since i_size is 4096.
    
    Reviewed-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    83e21db View commit details
    Browse the repository at this point in the history
  19. f2fs: avoid punch_hole overhead when releasing volatile data

    This patch is to avoid some punch_hole overhead when releasing volatile data.
    If volatile data was not written yet, we just can make the first page as zero.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    3c6c2be View commit details
    Browse the repository at this point in the history
  20. f2fs: add some tracepoints to debug volatile and atomic writes

    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    8ce67cb View commit details
    Browse the repository at this point in the history
  21. f2fs: enable fast symlink by utilizing inline data

    Fast symlink can utilize inline data flow to avoid using any
    i_addr region, since we need to handle many cases such as
    truncation, roll-forward recovery, and fsck/dump tools.
    
    Signed-off-by: Wanpeng Li <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Wanpeng Li authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    368a0e4 View commit details
    Browse the repository at this point in the history
  22. f2fs: split set_data_blkaddr from f2fs_update_extent_cache

    Split __set_data_blkaddr from f2fs_update_extent_cache for readability.
    
    Additionally rename __set_data_blkaddr to set_data_blkaddr for exporting.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    216a620 View commit details
    Browse the repository at this point in the history
  23. f2fs: introduce __{find,grab}_extent_tree

    This patch introduces __{find,grab}_extent_tree for reusing by following
    patches.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    93dfc52 View commit details
    Browse the repository at this point in the history
  24. f2fs: initialize extent tree with on-disk extent info of inode

    With normal extent info cache, we records largest extent mapping between logical
    block and physical block into extent info, and we persist extent info in on-disk
    inode.
    
    When we enable extent tree cache, if extent info of on-disk inode is exist, and
    the extent is not a small fragmented mapping extent. We'd better to load the
    extent info into extent tree cache when inode is loaded. By this way we can have
    more chance to hit extent tree cache rather than taking more time to read dnode
    page for block address.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    028a41e View commit details
    Browse the repository at this point in the history
  25. f2fs: preserve extent info for extent cache

    This patch tries to preserve last extent info in extent tree cache into on-disk
    inode, so this can help us to reuse the last extent info next time for
    performance.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    0bdee48 View commit details
    Browse the repository at this point in the history
  26. f2fs: enable inline data by default

    Enable inline_data feature by default since it brings us better
    performance and space utilization and now has already stable.
    Add another option noinline_data to disable it during mount.
    
    Suggested-by: Jaegeuk Kim <[email protected]>
    Suggested-by: Chao Yu <[email protected]>
    Signed-off-by: Wanpeng Li <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Wanpeng Li authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    7534279 View commit details
    Browse the repository at this point in the history
  27. f2fs: preallocate fallocated blocks for direct IO

    Normally, due to DIO_SKIP_HOLES flag is set by default, blockdev_direct_IO in
    f2fs_direct_IO tries to skip DIO in holes when writing inside i_size, this
    makes us falling back to buffered IO which shows lower performance.
    
    So in commit 59b802e ("f2fs: allocate data blocks in advance for
    f2fs_direct_IO"), we improve perfromance by allocating data blocks in advance
    if we meet holes no matter in i_size or not, since with it we can avoid falling
    back to buffered IO.
    
    But we forget to consider for unwritten fallocated block in this commit.
    This patch tries to fix it for fallocate case, this helps to improve
    performance.
    
    Test result:
    Storage info: sandisk ultra 64G micro sd card.
    
    touch /mnt/f2fs/file
    truncate -s 67108864 /mnt/f2fs/file
    fallocate -o 0 -l 67108864 /mnt/f2fs/file
    time dd if=/dev/zero of=/mnt/f2fs/file bs=1M count=64 conv=notrunc oflag=direct
    
    Time before applying the patch:
    67108864 bytes (67 MB) copied, 36.16 s, 1.9 MB/s
    real    0m36.162s
    user    0m0.000s
    sys     0m0.180s
    
    Time after applying the patch:
    67108864 bytes (67 MB) copied, 27.7776 s, 2.4 MB/s
    real    0m27.780s
    user    0m0.000s
    sys     0m0.036s
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    df6136e View commit details
    Browse the repository at this point in the history
  28. f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get

    We will encounter oops by executing below command.
    getfattr -n system.advise /mnt/f2fs/file
    Killed
    
    message log:
    BUG: unable to handle kernel NULL pointer dereference at   (null)
    IP: [<f8b54d69>] f2fs_xattr_advise_get+0x29/0x40 [f2fs]
    *pdpt = 00000000319b7001 *pde = 0000000000000000
    Oops: 0002 [#1] SMP
    Modules linked in: f2fs(O) snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq joydev
    snd_seq_device snd_timer bnep snd rfcomm microcode bluetooth soundcore i2c_piix4 mac_hid serio_raw parport_pc ppdev lp parport
    binfmt_misc hid_generic psmouse usbhid hid e1000 [last unloaded: f2fs]
    CPU: 3 PID: 3134 Comm: getfattr Tainted: G           O    4.0.0-rc1 #6
    Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
    task: f3a71b60 ti: f19a6000 task.ti: f19a6000
    EIP: 0060:[<f8b54d69>] EFLAGS: 00010246 CPU: 3
    EIP is at f2fs_xattr_advise_get+0x29/0x40 [f2fs]
    EAX: 00000000 EBX: f19a7e71 ECX: 00000000 EDX: f8b5b467
    ESI: 00000000 EDI: f2008570 EBP: f19a7e14 ESP: f19a7e08
     DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    CR0: 80050033 CR2: 00000000 CR3: 319b8000 CR4: 000007f0
    Stack:
     f8b5a634 c0cbb580 00000000 f19a7e34 c1193850 00000000 00000007 f19a7e71
     f19a7e64 c0cbb580 c1193810 f19a7e50 c1193c00 00000000 00000000 00000000
     c0cbb580 00000000 f19a7f70 c1194097 00000000 00000000 00000000 74737973
    Call Trace:
     [<c1193850>] generic_getxattr+0x40/0x50
     [<c1193810>] ? xattr_resolve_name+0x80/0x80
     [<c1193c00>] vfs_getxattr+0x70/0xa0
     [<c1194097>] getxattr+0x87/0x190
     [<c11801d7>] ? path_lookupat+0x57/0x5f0
     [<c11819d2>] ? putname+0x32/0x50
     [<c116653a>] ? kmem_cache_alloc+0x2a/0x130
     [<c11819d2>] ? putname+0x32/0x50
     [<c11819d2>] ? putname+0x32/0x50
     [<c11819d2>] ? putname+0x32/0x50
     [<c11827f9>] ? user_path_at_empty+0x49/0x70
     [<c118283f>] ? user_path_at+0x1f/0x30
     [<c11941e7>] path_getxattr+0x47/0x80
     [<c11948e7>] SyS_getxattr+0x27/0x30
     [<c163f748>] sysenter_do_call+0x12/0x12
    Code: 66 90 55 89 e5 57 56 53 66 66 66 66 90 8b 78 20 89 d3 ba 67 b4 b5 f8 89 d8 89 ce e8 42 7c 7b c8 85 c0 75 16 0f b6 87 44 01 00
    00 <88> 06 b8 01 00 00 00 5b 5e 5f 5d c3 8d 76 00 b8 ea ff ff ff eb
    EIP: [<f8b54d69>] f2fs_xattr_advise_get+0x29/0x40 [f2fs] SS:ESP 0068:f19a7e08
    CR2: 0000000000000000
    ---[ end trace 860260654f1f416a ]---
    
    The reason is that in getfattr there are two steps which is indicated by strace info:
    1) try to lookup and get size of specified xattr.
    2) get value of the extented attribute.
    
    strace info:
    getxattr("/mnt/f2fs/file", "system.advise", 0x0, 0) = 1
    getxattr("/mnt/f2fs/file", "system.advise", "\x00", 256) = 1
    
    For the first step, getfattr may pass a NULL pointer in @value and zero in @SiZe
    as parameters for ->getxattr, but we access this @value pointer directly without
    checking whether the pointer is valid or not in f2fs_xattr_advise_get, so the
    oops occurs.
    
    This patch fixes this issue by verifying @value pointer before using.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    84e97c2 View commit details
    Browse the repository at this point in the history
  29. f2fs: persist system.advise into on-disk inode

    This patch fixes to dirty inode for persisting i_advise of f2fs inode info into
    on-disk inode if user sets system.advise through setxattr. Otherwise the new
    value will be lost.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    30c62fd View commit details
    Browse the repository at this point in the history
  30. f2fs: limit b_size of mapped bh in f2fs_map_bh

    Map bh over max size which caller defined is not needed, limit it in
    f2fs_map_bh.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    chaseyu authored and Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    1b3e27a View commit details
    Browse the repository at this point in the history
  31. f2fs: fix sparse warnings

    This patch fixes the below warning.
    
    sparse warnings: (new ones prefixed by >>)
    
    >> fs/f2fs/inode.c:56:23: sparse: restricted __le32 degrades to integer
    >> fs/f2fs/inode.c:56:52: sparse: restricted __le32 degrades to integer
    
    Reported-by: kbuild test robot <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    adad81e View commit details
    Browse the repository at this point in the history
  32. f2fs: fix mismatching lock and unlock pages for roll-forward recovery

    Previously, inode page is not correctly locked and unlocked in pair during
    the roll-forward recovery.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    c9ef481 View commit details
    Browse the repository at this point in the history
  33. f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries

    If f2fs was corrupted with missing dot dentries, it needs to recover them after
    fsck.f2fs detection.
    
    The underlying precedure is:
    
    1. The fsck.f2fs remains F2FS_INLINE_DOTS flag in directory inode, if it detects
    missing dot dentries.
    
    2. When f2fs looks up the corrupted directory, it triggers f2fs_add_link with
    proper inode numbers and their dot and dotdot names.
    
    3. Once f2fs recovers the directory without errors, it removes F2FS_INLINE_DOTS
    finally.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    510022a View commit details
    Browse the repository at this point in the history
  34. f2fs: assign parent's i_mode for empty dir

    When assigning i_mode for dotdot, it needs to assign parent's i_mode.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    cb58463 View commit details
    Browse the repository at this point in the history
  35. f2fs: do not increase link count during recovery

    If there are multiple fsynced dnodes having a dent flag, roll-forward routine
    sets FI_INC_LINK for their inode, and recovery_dentry increases its link count
    accordingly.
    That results in normal file having a link count as 2, so we can't unlink those
    files.
    
    This was added to handle several inode blocks having same inode number with
    different directory paths.
    But, current f2fs doesn't replay all of path changes and only recover its dentry
    for the last fsynced inode block.
    So, there is no reason to do this.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    418f6c2 View commit details
    Browse the repository at this point in the history
  36. f2fs: do not recover wrong data index

    During the roll-forward recovery, if we found a new data index written fsync
    lastly, we need to recover new block address.
    But, if that address was corrupted, we should not recover that.
    Otherwise, f2fs gets kernel panic from:
    
     In check_index_in_prev_nodes(),
    
        sentry = get_seg_entry(sbi, segno);
                 --------------------------> out-of-range segno.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 10, 2015
    Configuration menu
    Copy the full SHA
    e03b07d View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2015

  1. ext4 crypto: reserve codepoints used by the ext4 encryption feature

    Signed-off-by: Theodore Ts'o <[email protected]>
    tytso committed Apr 11, 2015
    Configuration menu
    Copy the full SHA
    f542fbe View commit details
    Browse the repository at this point in the history
  2. ext4 crypto: add ext4 encryption Kconfig

    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    tytso committed Apr 11, 2015
    Configuration menu
    Copy the full SHA
    b17655f View commit details
    Browse the repository at this point in the history
  3. ext4 crypto: export ext4_empty_dir()

    Required for future encryption xattr changes.
    
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 11, 2015
    Configuration menu
    Copy the full SHA
    e875a2d View commit details
    Browse the repository at this point in the history
  4. ext4 crypto: add encryption xattr support

    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 11, 2015
    Configuration menu
    Copy the full SHA
    887e2c4 View commit details
    Browse the repository at this point in the history
  5. ext4 crypto: add encryption policy and password salt support

    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    mhalcrow-google authored and tytso committed Apr 11, 2015
    Configuration menu
    Copy the full SHA
    9bd8212 View commit details
    Browse the repository at this point in the history
  6. Documentation/vm/pagemap.txt: correct location of page-types tool

    The page-types tool was relocated to tools/vm in the 3.4 kernel timeframe.
    
    Signed-off-by: Randy Wright <[email protected]>
    Signed-off-by: Jonathan Corbet <[email protected]>
    Randy Wright authored and Jonathan Corbet committed Apr 11, 2015
    Configuration menu
    Copy the full SHA
    3250af1 View commit details
    Browse the repository at this point in the history
  7. Documentation: blackfin: Makefile: Typo building issue

    Miss a ')' for ifneq in Makefile, the related building error:
    
      Documentation/blackfin/Makefile:2: *** invalid syntax in conditional.  Stop.
      make[1]: *** [Documentation/blackfin] Error 2
    
    Signed-off-by: Chen Gang <[email protected]>
    Signed-off-by: Jonathan Corbet <[email protected]>
    Chen Gang authored and Jonathan Corbet committed Apr 11, 2015
    Configuration menu
    Copy the full SHA
    82c91e8 View commit details
    Browse the repository at this point in the history
  8. Documentation/memcg: update memcg/kmem status

    Memcg/kmem reclaim support has been finally merged. Reflect this in the
    documentation.
    
    Acked-by: Michal Hocko <[email protected]>
    Signed-off-by: Vladimir Davydov <[email protected]>
    Signed-off-by: Jonathan Corbet <[email protected]>
    Vladimir Davydov authored and Jonathan Corbet committed Apr 11, 2015
    Configuration menu
    Copy the full SHA
    1971754 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2015

  1. ext4 crypto: add ext4 encryption facilities

    On encrypt, we will re-assign the buffer_heads to point to a bounce
    page rather than the control_page (which is the original page to write
    that contains the plaintext). The block I/O occurs against the bounce
    page.  On write completion, we re-assign the buffer_heads to the
    original plaintext page.
    
    On decrypt, we will attach a read completion callback to the bio
    struct. This read completion will decrypt the read contents in-place
    prior to setting the page up-to-date.
    
    The current encryption mode, AES-256-XTS, lacks cryptographic
    integrity. AES-256-GCM is in-plan, but we will need to devise a
    mechanism for handling the integrity data.
    
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    b30ab0e View commit details
    Browse the repository at this point in the history
  2. ext4 crypto: add encryption key management facilities

    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    88bd6cc View commit details
    Browse the repository at this point in the history
  3. ext4 crypto: enforce context consistency

    Enforce the following inheritance policy:
    
    1) An unencrypted directory may contain encrypted or unencrypted files
    or directories.
    
    2) All files or directories in a directory must be protected using the
    same key as their containing directory.
    
    As a result, assuming the following setup:
    
    mke2fs -t ext4 -Fq -O encrypt /dev/vdc
    mount -t ext4 /dev/vdc /vdc
    mkdir /vdc/a /vdc/b /vdc/c
    echo foo | e4crypt add_key /vdc/a
    echo bar | e4crypt add_key /vdc/b
    for i in a b c ; do cp /etc/motd /vdc/$i/motd-$i ; done
    
    Then we will see the following results:
    
    cd /vdc
    mv a b			# will fail; /vdc/a and /vdc/b have different keys
    mv b/motd-b a		# will fail, see above
    ln a/motd-a b		# will fail, see above
    mv c a	    		# will fail; all inodes in an encrypted directory
       	  		#	must be encrypted
    ln c/motd-c b		# will fail, see above
    mv a/motd-a c		# will succeed
    mv c/motd-a a		# will succeed
    
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    d9cdc90 View commit details
    Browse the repository at this point in the history
  4. ext4 crypto: inherit encryption policies on inode and directory create

    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    dde680c View commit details
    Browse the repository at this point in the history
  5. ext4 crypto: implement the ext4 encryption write path

    Pulls block_write_begin() into fs/ext4/inode.c because it might need
    to do a low-level read of the existing data, in which case we need to
    decrypt it.
    
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    2058f83 View commit details
    Browse the repository at this point in the history
  6. ext4 crypto: implement the ext4 decryption read path

    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    c9c7429 View commit details
    Browse the repository at this point in the history
  7. ext4 crypto: filename encryption facilities

    Signed-off-by: Uday Savagaonkar <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    d5d0e8c View commit details
    Browse the repository at this point in the history
  8. ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filen…

    …ames
    
    For encrypted directories, we need to pass in a separate parameter for
    the decrypted filename, since the directory entry contains the
    encrypted filename.
    
    Signed-off-by: Theodore Ts'o <[email protected]>
    tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    2f61830 View commit details
    Browse the repository at this point in the history
  9. ext4 crypto: insert encrypted filenames into a leaf directory block

    Signed-off-by: Uday Savagaonkar <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    4bdfc87 View commit details
    Browse the repository at this point in the history
  10. ext4 crypto: partial update to namei.c for fname crypto

    Modifies dx_show_leaf and dx_probe to support fname encryption.
    Filename encryption not yet enabled.
    
    Signed-off-by: Uday Savagaonkar <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    b309848 View commit details
    Browse the repository at this point in the history
  11. ext4 crypto: filename encryption modifications

    Modifies htree_dirblock_to_tree, dx_make_map, ext4_match search_dir,
    and ext4_find_dest_de to support fname crypto.  Filename encryption
    feature is not yet enabled at this patch.
    
    Signed-off-by: Uday Savagaonkar <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    1f3862b View commit details
    Browse the repository at this point in the history
  12. ext4 crypto: enable filename encryption

    Signed-off-by: Uday Savagaonkar <[email protected]>
    Signed-off-by: Ildar Muslukhov <[email protected]>
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    mhalcrow-google authored and tytso committed Apr 12, 2015
    Configuration menu
    Copy the full SHA
    4461471 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2015

  1. xtensa: ISS: fix locking in TAP network adapter

    - don't lock lp->lock in the iss_net_timer for the call of iss_net_poll,
      it will lock it itself;
    - invert order of lp->lock and opened_lock acquisition in the
      iss_net_open to make it consistent with iss_net_poll;
    - replace spin_lock with spin_lock_bh when acquiring locks used in
      iss_net_timer from non-atomic context;
    - replace spin_lock_irqsave with spin_lock_bh in the iss_net_start_xmit
      as the driver doesn't use lp->lock in the hard IRQ context;
    - replace __SPIN_LOCK_UNLOCKED(lp.lock) with spin_lock_init, otherwise
      lockdep is unhappy about using non-static key.
    
    Cc: <[email protected]>
    Signed-off-by: Max Filippov <[email protected]>
    jcmvbkbc committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    24e9445 View commit details
    Browse the repository at this point in the history
  2. irqchip: xtensa-pic: xtensa-mx: document DT bindings

    Signed-off-by: Max Filippov <[email protected]>
    jcmvbkbc committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    b67c961 View commit details
    Browse the repository at this point in the history
  3. xtensa: xtfpga: add CY7C67300 USB controller support

    Signed-off-by: Max Filippov <[email protected]>
    jcmvbkbc committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    e0bf6c5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    98b0429 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3e20a26 View commit details
    Browse the repository at this point in the history
  6. tracing, mm: Record pfn instead of pointer to struct page

    The struct page is opaque for userspace tools, so it'd be better to save
    pfn in order to identify page frames.
    
    The textual output of $debugfs/tracing/trace file remains unchanged and
    only raw (binary) data format is changed - but thanks to libtraceevent,
    userspace tools which deal with the raw data (like perf and trace-cmd)
    can parse the format easily.  So impact on the userspace will also be
    minimal.
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Based-on-patch-by: Joonsoo Kim <[email protected]>
    Acked-by: Ingo Molnar <[email protected]>
    Acked-by: Steven Rostedt <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Minchan Kim <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    9fdd8a8 View commit details
    Browse the repository at this point in the history
  7. perf kmem: Analyze page allocator events also

    The perf kmem command records and analyze kernel memory allocation only
    for SLAB objects.  This patch implement a simple page allocator analyzer
    using kmem:mm_page_alloc and kmem:mm_page_free events.
    
    It adds two new options of --slab and --page.  The --slab option is for
    analyzing SLAB allocator and that's what perf kmem currently does.
    
    The new --page option enables page allocator events and analyze kernel
    memory usage in page unit.  Currently, 'stat --alloc' subcommand is
    implemented only.
    
    If none of these --slab nor --page is specified, --slab is implied.
    
    First run 'perf kmem record' to generate a suitable perf.data file:
    
      # perf kmem record --page sleep 5
    
    Then run 'perf kmem stat' to postprocess the perf.data file:
    
      # perf kmem stat --page --alloc --line 10
    
      -------------------------------------------------------------------------------
       PFN              | Total alloc (KB) | Hits     | Order | Mig.type | GFP flags
      -------------------------------------------------------------------------------
                4045014 |               16 |        1 |     2 |  RECLAIM |  00285250
                4143980 |               16 |        1 |     2 |  RECLAIM |  00285250
                3938658 |               16 |        1 |     2 |  RECLAIM |  00285250
                4045400 |               16 |        1 |     2 |  RECLAIM |  00285250
                3568708 |               16 |        1 |     2 |  RECLAIM |  00285250
                3729824 |               16 |        1 |     2 |  RECLAIM |  00285250
                3657210 |               16 |        1 |     2 |  RECLAIM |  00285250
                4120750 |               16 |        1 |     2 |  RECLAIM |  00285250
                3678850 |               16 |        1 |     2 |  RECLAIM |  00285250
                3693874 |               16 |        1 |     2 |  RECLAIM |  00285250
       ...              | ...              | ...      | ...   | ...      | ...
      -------------------------------------------------------------------------------
    
      SUMMARY (page allocator)
      ========================
      Total allocation requests     :           44,260   [          177,256 KB ]
      Total free requests           :              117   [              468 KB ]
    
      Total alloc+freed requests    :               49   [              196 KB ]
      Total alloc-only requests     :           44,211   [          177,060 KB ]
      Total free-only requests      :               68   [              272 KB ]
    
      Total allocation failures     :                0   [                0 KB ]
    
      Order     Unmovable   Reclaimable       Movable      Reserved  CMA/Isolated
      -----  ------------  ------------  ------------  ------------  ------------
          0            32             .        44,210             .             .
          1             .             .             .             .             .
          2             .            18             .             .             .
          3             .             .             .             .             .
          4             .             .             .             .             .
          5             .             .             .             .             .
          6             .             .             .             .             .
          7             .             .             .             .             .
          8             .             .             .             .             .
          9             .             .             .             .             .
         10             .             .             .             .             .
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Tested-by: Arnaldo Carvalho de Melo <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Joonsoo Kim <[email protected]>
    Cc: Minchan Kim <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    0d68bc9 View commit details
    Browse the repository at this point in the history
  8. tools/power turbostat: simplify default output

    Casual turbostat users generally just want to know MHz.
    So by default, just print enough information to make sense of MHz.
    
    All the other configuration data and columns for C-states and temperature etc,
    are printed with the --debug option.
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    1cc21f7 View commit details
    Browse the repository at this point in the history
  9. tools/power turbostat: update PERF_LIMIT_REASONS decoding

    cosmetic only.
    
    order the decoding of MSR_PERF_LIMIT_REASONS bits
    from MSB to LSB -- which you notice when more than 1 bit is set
    and you are, say, comparing the output to the documentation...
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    e33cbe8 View commit details
    Browse the repository at this point in the history
  10. tools/power turbostat: label base frequency

    syntax only.
    
    The cool kids are now using the phrase "base frequency",
    where in the past we used "max non-turbo frequency" or "TSC frequency".
    
    This distinction becomes important when a processor has a TSC
    that runs at a different speed than the "base frequency".
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    8f61f35 View commit details
    Browse the repository at this point in the history
  11. perf probe: Set retprobe flag when probe in address-based alternative…

    … mode
    
    When perf probe searched in a debuginfo file and failed, it tried with
    an alternative, in function get_alternative_probe_event():
    
            memcpy(tmp, &pev->point, sizeof(*tmp));
            memset(&pev->point, 0, sizeof(pev->point));
    
    In this case, it drops the retprobe flag and forgets to set it back in
    find_alternative_probe_point(), so the problem occurs.
    
    Can be reproduced as following:
    
      $ perf probe -v -k vmlinux --add='sys_write%return'
      ...
      Added new event:
      Writing event: p:probe/sys_write _stext+1584952
        probe:sys_write      (on sys_write%return)
    
      $ cat /sys/kernel/debug/tracing/kprobe_events
      p:probe/sys_write _stext+1584952
    
    After this patch:
    
      $ perf probe -v -k vmlinux --add='sys_write%return'
      Added new event:
      Writing event: r:probe/sys_write SyS_write+0
        probe:sys_write      (on sys_write%return)
    
      $ cat /sys/kernel/debug/tracing/kprobe_events
      r:probe/sys_write SyS_write
    
    Signed-off-by: He Kuang <[email protected]>
    Tested-by: Arnaldo Carvalho de Melo <[email protected]>
    Acked-by: Masami Hiramatsu <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Wang Nan <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    He Kuang authored and acmel committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    9d7b45c View commit details
    Browse the repository at this point in the history
  12. x86 msr-index: define MSR_TURBO_RATIO_LIMIT,1,2

    MSR_TURBO_RATIO_LIMIT has grown into a set of three registers.
    Add the documented names for them, in preparation
    for deleting the previous ad-hoc names:
    
    +#define MSR_TURBO_RATIO_LIMIT          0x000001ad
    +#define MSR_TURBO_RATIO_LIMIT1         0x000001ae
    +#define MSR_TURBO_RATIO_LIMIT2         0x000001af
    
    Signed-off-by: Len Brown <[email protected]>
    Cc: [email protected]
    lenb committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    c4d3066 View commit details
    Browse the repository at this point in the history
  13. perf probe: Find compilation directory path for lazy matching

    If we use lazy matching, it failed to open a souce file if perf command
    is invoked outside of compilation directory:
    
    $ perf probe -a '__schedule;clear_*'
    Failed to open kernel/sched/core.c: No such file or directory
      Error: Failed to add events. (-2)
    
    OTOH, other commands like "probe -L" can solve the souce directory by
    themselves. Let's make it possible for lazy matching too!
    
    Signed-off-by: Naohiro Aota <[email protected]>
    Acked-by: Masami Hiramatsu <[email protected]>
    Cc: He Kuang <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Paul Mackerras <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    naota authored and acmel committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    09ed897 View commit details
    Browse the repository at this point in the history
  14. perf probe: Fix segfault when probe with lazy_line to file

    The first argument passed to find_probe_point_lazy() should be CU die,
    which will be passed to die_walk_lines() when lazy_line matches.
    Currently, when we probe with lazy_line pattern to file without function
    name, NULL pointer is passed and causes a segment fault.
    
    Can be reproduced as following:
    
      $ perf probe -k vmlinux --add='fs/super.c;s->s_count=1;'
      [ 1958.984658] perf[1020]: segfault at 10 ip 00007fc6e10d8c71 sp
      00007ffcbfaaf900 error 4 in libdw-0.161.so[7fc6e10ce000+34000]
      Segmentation fault
    
    After this patch:
    
      $ perf probe -k vmlinux --add='fs/super.c;s->s_count=1;'
      Added new event:
      probe:_stext         (on @fs/super.c)
    
      You can now use it in all perf tools, such as:
        perf record -e probe:_stext -aR sleep 1
    
    Signed-off-by: He Kuang <[email protected]>
    Tested-by: Arnaldo Carvalho de Melo <[email protected]>
    Acked-by: Masami Hiramatsu <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Wang Nan <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    He Kuang authored and acmel committed Apr 13, 2015
    Configuration menu
    Copy the full SHA
    f19e80c View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2015

  1. Merge tag 'v4.0' into for_next

    Linux 4.0
    czankel committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    7ead5b7 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'xtensa-for-next-20150413' of git://github.com/jcmvbkbc/lin…

    …ux-xtensa into for_next
    
    Xtensa improvements for 4.1:
    
    - fix locking issues in ISS network driver;
    - document PIC and MX interrupt distributor device tree bindings;
    - add CY7C67300 USB controller support to XTFPGA.
    
    Signed-off-by: Chris Zankel <[email protected]>
    czankel committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    2ba9268 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'perf-core-for-mingo-2' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/acme/linux into perf/urgent
    
    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
    
    New features:
    
      - Analyze page allocator events in 'perf kmem' (Namhyung Kim)
    
    User visible changes:
    
      - Fix retprobe 'perf probe' handling when failing to find needed debuginfo (He Kuang)
    
      - lazy_line probe fixes in 'perf probe' (Naohiro Aota, He Kuang)
    
    Infrastructure changes:
    
      - Record pfn instead of pointer to struct page in tracepoints (Namhyung Kim)
    
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    5b24e8c View commit details
    Browse the repository at this point in the history
  4. ACPICA: Linuxize: Reduce divergences for 20150410 release.

    This patch reduces source code differences between the Linux kernel and the
    ACPICA upstream so that the linuxized ACPICA 20150410 release can be
    applied with reduced human intervention.
    
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    18ae902 View commit details
    Browse the repository at this point in the history
  5. ACPICA: Tables: Change acpi_find_root_pointer() to use acpi_physical_…

    …address.
    
    ACPICA commit 7d9fd64397d7c38899d3dc497525f6e6b044e0e3
    
    OSPMs like Linux expect an acpi_physical_address returning value from
    acpi_find_root_pointer(). This triggers warnings if sizeof (acpi_size) doesn't
    equal to sizeof (acpi_physical_address):
      drivers/acpi/osl.c:275:3: warning: passing argument 1 of 'acpi_find_root_pointer' from incompatible pointer type [enabled by default]
      In file included from include/acpi/acpi.h:64:0,
                       from include/linux/acpi.h:36,
                       from drivers/acpi/osl.c:41:
      include/acpi/acpixf.h:433:1: note: expected 'acpi_size *' but argument is of type 'acpi_physical_address *'
    This patch corrects acpi_find_root_pointer().
    
    Link: acpica/acpica@7d9fd643
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    f254e3c View commit details
    Browse the repository at this point in the history
  6. ACPICA: Unix: Cleanup to use ACPI_TO_INTEGER() to calc page offset.

    ACPICA commit 9e2d8180f4d5e61949b17513bae8aff6412f62dd
    
    The offset calculation needn't convert a pointer to a special integer type.
    So this patch uses ACPI_TO_INTEGER() instead.
    
    This patch only affects acpidump tool.
    
    Link: acpica/acpica@9e2d8180
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    e0423ed View commit details
    Browse the repository at this point in the history
  7. ACPICA: Executer: Cleanup to remove an unnecessary conversion.

    ACPICA commit c327986430b7eb170c17d0f45735fe71bb62a810
    
    The conversion converts an acpi_physical_address to acpi_physical_address,
    this patch thus removes such useless conversion.
    
    Link: acpica/acpica@c3279864
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    ea28492 View commit details
    Browse the repository at this point in the history
  8. ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR…

    …_TO_PHYSADDR().
    
    ACPICA commit 154f6d074dd38d6ebc0467ad454454e6c5c9ecdf
    
    There are code pieces converting pointers using "(acpi_physical_address) x"
    or "ACPI_CAST_PTR (t, x)" formats, this patch cleans up them.
    
    Known issues:
    1. Cleanup of "(ACPI_PHYSICAL_ADDRRESS) x" for a table field
       For the conversions around the table fields, it is better to fix it with
       alignment also fixed. So this patch doesn't modify such code. There
       should be no functional problem by leaving them unchanged.
    
    Link: acpica/acpica@154f6d07
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    6d3fd3c View commit details
    Browse the repository at this point in the history
  9. ACPICA: Utilities: Cleanup to convert physical address printing formats.

    ACPICA commit 7f06739db43a85083a70371c14141008f20b2198
    
    For physical addresses, since the address may exceed 32-bit address range
    after calculation, we should use %8.8X%8.8X (see ACPI_FORMAT_UINT64()) to
    convert the %p formats.
    
    This is a preparation to switch acpi_physical_address to 64-bit on 32-bit
    kernel builds.
    
    Link: acpica/acpica@7f06739d
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    cc2080b View commit details
    Browse the repository at this point in the history
  10. ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx h…

    …elpers.
    
    ACPICA commit b60612373a4ef63b64a57c124576d7ddb6d8efb6
    
    For physical addresses, since the address may exceed 32-bit address range
    after calculation, we should use 0x%8.8X%8.8X instead of ACPI_PRINTF_UINT
    and ACPI_FORMAT_UINT64() instead of
    ACPI_FORMAT_NATIVE_UINT()/ACPI_FORMAT_TO_UINT().
    
    This patch also removes above replaced macros as there are no users.
    
    This is a preparation to switch acpi_physical_address to 64-bit on 32-bit
    kernel builds.
    
    Link: acpica/acpica@b6061237
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    1d0a0b2 View commit details
    Browse the repository at this point in the history
  11. ACPICA: Utilities: split IO address types from data type models.

    ACPICA commit aacf863cfffd46338e268b7415f7435cae93b451
    
    It is reported that on a physically 64-bit addressed machine, 32-bit kernel
    can trigger crashes in accessing the memory regions that are beyond the
    32-bit boundary. The region field's start address should still be 32-bit
    compliant, but after a calculation (adding some offsets), it may exceed the
    32-bit boundary. This case is rare and buggy, but there are real BIOSes
    leaked with such issues (see References below).
    
    This patch fixes this gap by always defining IO addresses as 64-bit, and
    allows OSPMs to optimize it for a real 32-bit machine to reduce the size of
    the internal objects.
    
    Internal acpi_physical_address usages in the structures that can be fixed
    by this change include:
     1. struct acpi_object_region:
        acpi_physical_address		address;
     2. struct acpi_address_range:
        acpi_physical_address		start_address;
        acpi_physical_address		end_address;
     3. struct acpi_mem_space_context;
        acpi_physical_address		address;
     4. struct acpi_table_desc
        acpi_physical_address		address;
    See known issues 1 for other usages.
    
    Note that acpi_io_address which is used for ACPI_PROCESSOR may also suffer
    from same problem, so this patch changes it accordingly.
    
    For iasl, it will enforce acpi_physical_address as 32-bit to generate
    32-bit OSPM compatible tables on 32-bit platforms, we need to define
    ACPI_32BIT_PHYSICAL_ADDRESS for it in acenv.h.
    
    Known issues:
     1. Cleanup of mapped virtual address
       In struct acpi_mem_space_context, acpi_physical_address is used as a virtual
       address:
        acpi_physical_address                   mapped_physical_address;
       It is better to introduce acpi_virtual_address or use acpi_size instead.
       This patch doesn't make such a change. Because this should be done along
       with a change to acpi_os_map_memory()/acpi_os_unmap_memory().
       There should be no functional problem to leave this unchanged except
       that only this structure is enlarged unexpectedly.
    
    Link: acpica/acpica@aacf863c
    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=87971
    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=79501
    Reported-and-tested-by: Paul Menzel <[email protected]>
    Reported-and-tested-by: Sial Nije <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Cc: All applicable <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    2b87601 View commit details
    Browse the repository at this point in the history
  12. ACPICA: Tables: Don't release ACPI_MTX_TABLES in acpi_tb_install_stan…

    …dard_table().
    
    ACPICA commit c70434d4da13e65b6163c79a5aa16b40193631c7
    
    ACPI_MTX_TABLES is acquired and released by the callers of
    acpi_tb_install_standard_table() so releasing it in the function itself is
    causing the following error in Linux kernel if the table is reloaded:
    
    ACPI Error: Mutex [0x2] is not acquired, cannot release (20141107/utmutex-321)
    Call Trace:
      [<ffffffff81b0bd48>] dump_stack+0x4f/0x7b
      [<ffffffff81546bf5>] acpi_ut_release_mutex+0x47/0x67
      [<ffffffff81544357>] acpi_load_table+0x73/0xcb
    
    Link: acpica/acpica@c70434d4
    Signed-off-by: Octavian Purdila <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Cc: 3.16+ <[email protected]> # 3.16+
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Octavian Purdila authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    77ddc2f View commit details
    Browse the repository at this point in the history
  13. ACPICA: Events: Add support to return both enable/status register val…

    …ues for GPE and fixed event.
    
    ACPICA commit e25d791e4b3d5b9f4ead298269610cb05f89749a
    
    There is a facility in Linux, developers can obtain GPE and fixed event
    status via /sys/firmware/interrupts/. This is implemented using
    acpi_get_event_status() and acpi_get_gpe_status(). Recently while debugging some
    GPE race issues, it is found that the facility is lacking in the ability to
    obtain real hardware register values, the confusing information makes
    debugging difficult.
    
    This patch modifies acpi_get_gpe_status() to return EN register values to fix
    this gap. Then flags returned from acpi_get_event_status() and
    acpi_get_gpe_status() are also cleaned up to reflect this change.
    
    The old ACPI_EVENT_FLAG_SET is carefully kept to avoid regressions. It can
    be deleted after we can make sure all its references are removed from OSPM
    code. Lv Zheng.
    
    Link: acpica/acpica@e25d791e
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    09af8e8 View commit details
    Browse the repository at this point in the history
  14. ACPICA: Applications: Remove use of __DATE__ macro.

    ACPICA commit 3d9fb6d1f216a78ad098d3ad23f1304376c2f4ef
    
    The macro __DATE__ and friends is not allowed in the Linux kernel. Also,
    including the build time in output doesn't seem to provide any value.
    
    Link: acpica/acpica@3d9fb6d1
    Signed-off-by: Rasmus Villemoes <[email protected]>
    Acked-by: David E. Box <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Villemoes authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    1797d37 View commit details
    Browse the repository at this point in the history
  15. ACPICA: Utilities: Remove unused acpi_ut_create_pkg_state_and_push().

    ACPICA commit 2a9ebd974aee41391f4b0edcd4f0cc5ee23ec2f8
    
    Remove the function acpi_ut_create_pkg_state_and_push() that is not used anywhere.
    This was partially found by using a static code analysis program called cppcheck.
    
    Link: acpica/acpica@2a9ebd97
    Signed-off-by: Rickard Strandqvist <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Rickard Strandqvist authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    9bd4ce3 View commit details
    Browse the repository at this point in the history
  16. ACPICA: Tables: Move an iasl specific table function to iasl source f…

    …ile.
    
    ACPICA commit 6eb364d790dd103bd4990f808e0095a421c437cb
    
    acpi_tb_store_table() implements a logic that is only correct to iasl. So it
    won't be used by any other utilities except iasl. This function is
    complained by the kernel users as an unused function. The best choice to
    stop releasing it to the Linux kernel should be moving it to adisasm.c.
    
    ACPI table manager can use both struct acpi_table_desc (direct referencing)
    and table index (indirect referencing) as the descriptor to the table, so
    acpi_tb_get_next_root_index() is extended to return both of them to allow
    maximum usability from the callers. NOTE that indirect referencing is a
    design result to meet the boot stage static allocation requirement for the
    table descriptors.
    
    This is a linuxized acpi_tb_store_table() removing result, there should be
    no functional changes introduced to the Linux kernel by this patch except
    the additonal kernel unused argument for acpi_tb_get_next_root_index()
    (renamed to acpi_tb_get_next_root_index()). This argument is used in the
    ACPICA upstream.
    
    Link: acpica/acpica@6eb364d7
    Reported-by: Rickard Strandqvist <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    76cffa7 View commit details
    Browse the repository at this point in the history
  17. ACPICA: Utilities: Correct conditional compilation definitions.

    ACPICA commit 9a5982afbebc56289c4834b5f6dac87e0f04af14
    
    Some conditional compilation definitions are wrong across header and source
    files. This patch corrects them for the utilities component.
    
    Link: acpica/acpica@9a5982af
    Reported-by: Rickard Strandqvist <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    6306bf8 View commit details
    Browse the repository at this point in the history
  18. ACPICA: Resources: Correct conditional compilation definitions.

    ACPICA commit f92a08512b0b35dce4a7fc6a73216674a3c2541b
    
    Some conditional compilation definitions are wrong across header and source
    files. This patch corrects them for the resources component.
    
    NOTE that a further patch in this patchset cleans up all ACPI_EXEC_APP,
    converting them into ACPI_DEBUGGER, including part of this change.
    
    Link: acpica/acpica@f92a0851
    Reported-by: Rickard Strandqvist <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    27c481f View commit details
    Browse the repository at this point in the history
  19. ACPICA: Casting changes around acpi_physical_address/acpi_size.

    ACPICA commit 46dc081e570b1363af1e368980201cbb65c4100f
    
    Update for some recent changes, detected by MSVC and FreeBSD builds.
    
    Link: acpica/acpica@46dc081e
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    938ed10 View commit details
    Browse the repository at this point in the history
  20. ACPICA: Fix a sscanf format string.

    ACPICA commit 84f3569db7accc576ace2dae81d101467254fe9d
    
    Was using %d instead of properly using %u.
    
    This patch only affects acpidump tool.
    
    Link: acpica/acpica@84f3569d
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    81ed793 View commit details
    Browse the repository at this point in the history
  21. ACPICA: Update Resource descriptor dump module.

    ACPICA commit 184f3cc4d162a6b6b2005eacd8be2fe55f19a245
    
    - Change global #ifdef to check for ACPI_DEBUGGER only.
    - Cleanup some long lines and misaligned code.
    
    Link: acpica/acpica@184f3cc4
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    39239fe View commit details
    Browse the repository at this point in the history
  22. ACPICA: Update AML Debugger global variables.

    ACPICA commit f65d0e5b880860a6da0c336b7c48139d1469f5b4
    
    - Remove unused variables
    - Update to use standard naming/capitalization convention.
    
    Linux kernel is not affected by this patch.
    
    Link: acpica/acpica@f65d0e5b
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    0a38113 View commit details
    Browse the repository at this point in the history
  23. ACPICA: iASL/Disassembler: Add option to assume table contains valid …

    …AML.
    
    ACPICA commit f5d2ff3fa05341d9fe27250fcb2e14c7f871432c
    
    For dynamically loaded tables that have unknown ACPI signatures,
    this option (-df) forces the disassembler to treat the table as if
    it contains valid AML code (like a DSDT or SSDT). Otherwise, the
    disassembler will treat the table as an unkown data table and
    simply do a hex dump of the table.
    
    Linux kernel is not affected by this patch.
    
    Link: acpica/acpica@f5d2ff3f
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    8b0b1a9 View commit details
    Browse the repository at this point in the history
  24. ACPICA: iASL: Enhancement for constant folding.

    ACPICA commit 4f9e950d41cd6f6c704d5d6cf518647620d65e99
    
    Add support to fold expressions with a target operand -- these are
    folded and converted to a Store operator:
    
    Add (4, 3, INT1) --> Store (7, INT1)
    
    Also supports ASL+ constructs:
    
    INT1 = 4 + 3 --> Store (7, INT1)
    
    Linux kernel is not affected by this patch.
    
    Link: acpica/acpica@4f9e950d
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    2e7cc46 View commit details
    Browse the repository at this point in the history
  25. ACPICA: Add infrastructure for External() opcode.

    ACPICA commit d115fe2ffdab449d6107d58580c5afd0a81d65fe
    
    This change adds the basic low-level infrastructure for the External
    AML opcode. The interpreter will simply ignore this op, as the op
    is intended for use by the disassembler only.
    
    Note that External() opcode is useful for disassembler, interpreter
    can simply ignore it and still return exceptions for unknown control
    methods so the kernel part only includes the grammar definition of
    External() opcode in order to ignore it but doesn't interpret it.
    
    Link: acpica/acpica@d115fe2f
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    56a3d5e View commit details
    Browse the repository at this point in the history
  26. ACPICA: Add "Windows 2015" string to _OSI support.

    ACPICA commit b293f602a67da478ae0bec129e68bd99787d9908
    
    This change adds this string for Windows 10.
    
    Link: acpica/acpica@b293f602
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    796888e View commit details
    Browse the repository at this point in the history
  27. ACPICA: Permanently set _REV to the value '2'.

    ACPICA commit 7af00219681ab35ebe57d64a9189fd04a5a026d8
    
    Windows uses a value of 2, and has no plans to ever change this. So, _REV is
    essentially useless for its primary purpose.
    
    Worse, some BIOS vendors have used the difference in _REV values between
    Windows and ACPICA to indicate which one is running.
    
    It has been decided by the ACPI community to deprecate this method, and return
    1 for ACPI 1.0 (32-bit integers) and 2 for ACPI 2.0 and greater (both 32-bit
    and 64-bit integers.
    
    ACPICA is changed to reflect this.
    
    Link: acpica/acpica@7af00219
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    b1ef297 View commit details
    Browse the repository at this point in the history
  28. ACPICA: Remove unused internal AML opcode.

    ACPICA commit 3ec867764b079a98d8097d705c9f7b68270c04ec
    
    This patch removes unused AML_INT_STATICSTRING_OP. Lv Zheng.
    
    Link: acpica/acpica@3ec86776
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    5394517 View commit details
    Browse the repository at this point in the history
  29. ACPICA: Add "//" before ascii output of buffers.

    ACPICA commit 657dc227672709895df3192fa5ea59a649b9a76f
    
    Updates the dump buffer utility to comment out the ASCII part
    of buffer dump. Prevents some tools from getting confused.
    
    Link: acpica/acpica@657dc227
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    d5a6f6b View commit details
    Browse the repository at this point in the history
  30. ACPICA: Update for SLIC ACPI table.

    ACPICA commit c73195e13d6ad53dd7f03f86cea03c7dec72ffd3
    
    Update to latest table definition, which contains major changes.
    
    SLIC table is not used in the Linux kernel.
    
    Link: acpica/acpica@c73195e1
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    64645c3 View commit details
    Browse the repository at this point in the history
  31. ACPICA: iASL: Add support for MSDM ACPI table.

    ACPICA commit a2c590ce9bff850e3abf4fd430cede860a3cb1fa
    
    This is the Microsoft Data Management table.
    
    MSDM table is not used in the Linux kernel.
    
    Link: acpica/acpica@a2c590ce
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    5132f2f View commit details
    Browse the repository at this point in the history
  32. ACPICA: Disassembler: Some cleanup of the table dump module.

    ACPICA commit 330e3b7ec96fbd2e0677b786c09d86be36dd5673
    
    Cleanup of LPIT table output (Dean Nelson)
    Split some long lines.
    
    Link: acpica/acpica@330e3b7e
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    a50edd4 View commit details
    Browse the repository at this point in the history
  33. ACPICA: Fix a couple issues with the local printf module.

    ACPICA commit 6853da4c0a99b49d62d6c58d22956cd6ff5759a9
    
    The following commit has fixed local printf issue in width.prec:
    
      Commit: 3589b8b
      Subject: ACPICA: Utilities: Fix local printf issue.
    
    But this commit only resets width/precision/quialifier to fix the reported
    issue and doesn't fix other states issues. So now we still can see breakage
    in format types and integer bases.
    
    This patch resets format type/base states for local printf to fix this
    issue. Lv Zheng.
    
    Linux kernel is not affected by this patch as acpi_ut_vsnprintf() hasn't
    been enabled in the kernel.
    
    Link: acpica/acpica@6853da4c
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Lv Zheng authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    cef9aaa View commit details
    Browse the repository at this point in the history
  34. ACPICA: Update version to 20150410.

    ACPICA commit 06198cfd96ef271f554a50f1830a5975468c39ac
    ACPICA commit 8a3c1df1edb5f9fc5c940500c598c0107d30df71
    
    Version 20150410.
    
    Link: acpica/acpica@06198cfd
    Link: acpica/acpica@8a3c1df1
    Signed-off-by: Bob Moore <[email protected]>
    Signed-off-by: Lv Zheng <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    acpibob authored and rafaeljw committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    2b5083e View commit details
    Browse the repository at this point in the history
  35. i40e: stop VF rings

    Explicitly stop the rings belonging to each VF when disabling SR-IOV.
    Even though the VFs were gone, and the associated VSIs were removed,
    the rings were not stopped, and in some circumstances the hardware would
    continue to access the memory formerly used by the rings, causing
    memory corruption or DMAR errors, both of which would lead to general
    malaise of the kernel.
    
    To relieve this condition, explicitly stop all the rings associated with
    each VF before releasing its resources.
    
    Signed-off-by: Mitch Williams <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    mawilli1 authored and Jeff Kirsher committed Apr 14, 2015
    Configuration menu
    Copy the full SHA
    4443463 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2015

  1. i40evf: fix bad indentation

    Not sure how this slipped through. Cosmetic change only.
    
    Signed-off-by: Mitch Williams <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    mawilli1 authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    2619ef4 View commit details
    Browse the repository at this point in the history
  2. i40e: Add support to program FDir SB rules for VF from PF through eth…

    …tool
    
    With this patch we can now add Flow director Sideband rules for a VF from
    it's PF. Here is an example on how it can be done when VF id = 5 and
    queue = 2:
    
    "ethtool -N ethx flow-type udp4 src-ip x.x.x.x dst-ip y.y.y.y src-port p1 dst-port p2 action 2 user-def 5"
    
    User-def specifies VF id and action specifies queue.
    
    Change-ID: Ib37d6dff3823a4d85caffde638473891c38c2b89
    Signed-off-by: Anjali Singhai Jain <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    anjalisinghai1 authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    e7c8c60 View commit details
    Browse the repository at this point in the history
  3. i40evf: remove aq_pending

    The aq_pending field in the adapter structure is actually redundant with
    the current_op field. Remove the aq_pending field and expunge all traces
    of it from the official record. This simplifies the code significantly,
    especially in the virtual channel completion routine.
    
    Change-ID: Ib2957c8c19882bd0cecc6fcd133912c24b46a1ff
    Signed-off-by: Mitch Williams <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    mawilli1 authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    ed63696 View commit details
    Browse the repository at this point in the history
  4. i40e: notify VFs of link state

    Gratuitously notify VFs of link state when they activate their queues.
    In general, this is the last thing that a VF driver will do as it opens
    its interface, so this is a good time to notify the VF.
    
    Currently, VF devices assume link is up unless told otherwise, which
    means that VFs instantiated on a PF with no link will report the wrong
    state. This change corrects that issue.
    
    Change-ID: Iea53622904ecc681ac3f8938d81c30033ef9a0a6
    Signed-off-by: Mitch Williams <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    mawilli1 authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    055b295 View commit details
    Browse the repository at this point in the history
  5. i40e: move VF notification routines up

    Move the VF notification functions to the top of the file. This
    eliminates an unnecessary declaration.
    
    Change-ID: I036171f14180ee9f0ce4e0a21334d6a217d06c94
    Signed-off-by: Mitch Williams <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    mawilli1 authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    532b045 View commit details
    Browse the repository at this point in the history
  6. i40e: For VF reset (VFR and VFLR) add some more delay

    With a HW issue that was recently discovered, after a VFLR HW might be
    indicating to us a reset completion little too early. So wait another 10
    msec for cache to be cleaned up.
    
    Change-ID: I6a24dcf5dd7ffcd6500246e717411ef58532d1e9
    Signed-off-by: Anjali Singhai Jain <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    anjalisinghai1 authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    57175ac View commit details
    Browse the repository at this point in the history
  7. i40e: print FCoE capability reported by the device function

    This is to allow quick check for FCoE capability is enabled or not
    in device function before any SW overrides.
    
    Change-ID: I5f78ba798d566f143161273156916c6f4074496e
    Signed-off-by: Vasu Dev <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    Vasu Dev authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    f18ae10 View commit details
    Browse the repository at this point in the history
  8. ACPICA: Store GPE register enable masks upfront

    It is reported that ACPI interrupts do not work any more on
    Dell Latitude D600 after commit c50f13c (ACPICA: Save
    current masks of enabled GPEs after enable register writes).
    The problem turns out to be related to the fact that the
    enable_mask and enable_for_run GPE bit masks are not in
    sync (in the absence of any system suspend/resume events)
    for at least one GPE register on that machine.
    
    Address this problem by writing the enable_for_run mask into
    enable_mask as soon as enable_for_run is updated instead of
    doing that only after the subsequent register write has
    succeeded.  For consistency, update acpi_hw_gpe_enable_write()
    to store the bit mask to be written into the GPE register
    in enable_mask unconditionally before the write.
    
    Since the ACPI_GPE_SAVE_MASK flag is not necessary any more after
    that, drop it along with the symbols depending on it.
    
    Reported-and-tested-by: Jim Bos <[email protected]>
    Fixes: c50f13c (ACPICA: Save current masks of enabled GPEs after enable register writes)
    Cc: 3.19+ <[email protected]> # 3.19+
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    rafaeljw committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    0ee0d34 View commit details
    Browse the repository at this point in the history
  9. i40e: enable user dump of internal hardware state

    This is a feature to enable better debugging of user reported issues by
    allowing a bash script to acquire information about the internal hardware
    state. The data output to the kernel log is collected by the script and can
    then be sent to Intel. This is a critical debugging feature for helping us
    interpret and reproduce complex customer setups.
    
    Change-ID: Ie8b3ab09086d6870a709015f51ada05af10b41bb
    Signed-off-by: Jesse Brandeburg <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    jbrandeb authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    3169c32 View commit details
    Browse the repository at this point in the history
  10. i40e/i40evf: Save WR_CSR_PROT field from DEV/FUNC capabilities

    Store the 8 bytes of the WR_CSR_PROT field returned as part of the get
    device/function capabilities AQ command.
    
    Change-ID: Ifcaeea2ff29885fa769e4f384c7db88a25e8afd0
    Signed-off-by: Kevin Scott <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    SymbiosisStarshine authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    73b2340 View commit details
    Browse the repository at this point in the history
  11. i40e: handle possible memory allocation failure

    The init_interrupt_scheme function had a possible failure
    path to allocate memory that was found by smatch.
    
    This adds the correct handling to the function to abort
    probe if the memory allocation fails.
    
    Change-ID: I2bf1d826a244209619da4c452d0d58b3eb5e26a3
    Signed-off-by: Jesse Brandeburg <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    jbrandeb authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    c114728 View commit details
    Browse the repository at this point in the history
  12. i40e: get rid of unused locals

    These changes just remove unused variables and any code that uses them
    as the results of storing into these variables doesn't have any
    side effects that I can see or provide any benefit.
    
    Change-ID: I8a5ec7132ff1443d23aae729cef94beaaaf19e3a
    Signed-off-by: Jesse Brandeburg <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    jbrandeb authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    0f575bf View commit details
    Browse the repository at this point in the history
  13. i40e: Use new 40G speeds

    The kernel has added SPEED_40000 for ethtool.
    Go ahead and use the new #define.
    
    Change-ID: Ic7e16e5c9e91085afe539f11ee1b7668adc4d0ef
    Signed-off-by: Greg Rose <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    Greg Rose authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    edf5cff View commit details
    Browse the repository at this point in the history
  14. i40e: Bump version to 1.3.2

    Bump.
    
    Change-ID: Id14baae72332d0f1a9bc5d351ea1a85cb0295ec3
    Signed-off-by: Catherine Sullivan <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    Catherine Sullivan authored and Jeff Kirsher committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    2aea6dc View commit details
    Browse the repository at this point in the history
  15. i2c: jz4780: Fix build for m68k and sparc64

    Fix:
    
    drivers/i2c/busses/i2c-jz4780.c: In function 'jz4780_i2c_readw':
    drivers/i2c/busses/i2c-jz4780.c:181:2: error:
    		implicit declaration of function 'readw'
    drivers/i2c/busses/i2c-jz4780.c: In function 'jz4780_i2c_writew':
    drivers/i2c/busses/i2c-jz4780.c:187:2: error:
    		implicit declaration of function 'writew'
    
    seen with sparc64:allmodconfig and m68k:allmodconfig.
    
    The driver has to include linux/io.h.
    
    Fixes: ba92222 ("i2c: jz4780: Add i2c bus controller driver
    	for Ingenic JZ4780")
    Signed-off-by: Guenter Roeck <[email protected]>
    Signed-off-by: Wolfram Sang <[email protected]>
    groeck authored and Wolfram Sang committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    c7f9452 View commit details
    Browse the repository at this point in the history
  16. dm: remove request-based logic from make_request_fn wrapper

    The old dm_request() method used for q->make_request_fn had a branch for
    request-based DM support but it isn't needed given that
    dm_init_request_based_queue() sets it to the standard blk_queue_bio()
    anyway.
    
    Cleanup dm_init_md_queue() to be DM device-type agnostic and have
    dm_setup_md_queue() properly finish queue setup based on DM device-type
    (bio-based vs request-based).
    
    A followup block patch can be made to remove the export for
    blk_queue_bio() now that DM no longer calls it directly.
    
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    ff36ab3 View commit details
    Browse the repository at this point in the history
  17. dm: only run the queue on completion if congested or no requests pending

    On really fast storage it can be beneficial to delay running the
    request_queue to allow the elevator more opportunity to merge requests.
    
    Otherwise, it has been observed that requests are being sent to
    q->request_fn much quicker than is ideal on IOPS-bound backends.
    
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    9a0e609 View commit details
    Browse the repository at this point in the history
  18. dm: don't schedule delayed run of the queue if nothing to do

    In request-based DM's dm_request_fn(), if blk_peek_request() returns
    NULL just return.  Avoids unnecessary blk_delay_queue().
    
    Reported-by: Jens Axboe <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    9d1deb8 View commit details
    Browse the repository at this point in the history
  19. dm: reduce the queue delay used in dm_request_fn from 100ms to 10ms

    Commit 7eaceac ("block: remove per-queue plugging") didn't justify
    DM's use of a 100ms delay; such an extended delay is a liability when
    there is reason to re-kick the queue.
    
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    d548b34 View commit details
    Browse the repository at this point in the history
  20. dm: don't start current request if it would've merged with the previous

    Request-based DM's dm_request_fn() is so fast to pull requests off the
    queue that steps need to be taken to promote merging by avoiding request
    processing if it makes sense.
    
    If the current request would've merged with previous request let the
    current request stay on the queue longer.
    
    Suggested-by: Jens Axboe <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    de3ec86 View commit details
    Browse the repository at this point in the history
  21. dm sysfs: introduce ability to add writable attributes

    Add DM_ATTR_RW() macro and establish .store method in dm_sysfs_ops.
    
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    b898320 View commit details
    Browse the repository at this point in the history
  22. dm: impose configurable deadline for dm_request_fn's merge heuristic

    Otherwise, for sequential workloads, the dm_request_fn can allow
    excessive request merging at the expense of increased service time.
    
    Add a per-device sysfs attribute to allow the user to control how long a
    request, that is a reasonable merge candidate, can be queued on the
    request queue.  The resolution of this request dispatch deadline is in
    microseconds (ranging from 1 to 100000 usecs), to set a 20us deadline:
      echo 20 > /sys/block/dm-7/dm/rq_based_seq_io_merge_deadline
    
    The dm_request_fn's merge heuristic and associated extra accounting is
    disabled by default (rq_based_seq_io_merge_deadline is 0).
    
    This sysfs attribute is not applicable to bio-based DM devices so it
    will only ever report 0 for them.
    
    By allowing a request to remain on the queue it will block others
    requests on the queue.  But introducing a short dequeue delay has proven
    very effective at enabling certain sequential IO workloads on really
    fast, yet IOPS constrained, devices to build up slightly larger IOs --
    yielding 90+% throughput improvements.  Having precise control over the
    time taken to wait for larger requests to build affords control beyond
    that of waiting for certain IO sizes to accumulate (which would require
    a deadline anyway).  This knob will only ever make sense with sequential
    IO workloads and the particular value used is storage configuration
    specific.
    
    Given the expected niche use-case for when this knob is useful it has
    been deemed acceptable to expose this relatively crude method for
    crafting optimal IO on specific storage -- especially given the solution
    is simple yet effective.  In the context of DM multipath, it is
    advisable to tune this sysfs attribute to a value that offers the best
    performance for the common case (e.g. if 4 paths are expected active,
    tune for that; if paths fail then performance may be slightly reduced).
    
    Alternatives were explored to have request-based DM autotune this value
    (e.g. if/when paths fail) but they were quickly deemed too fragile and
    complex to warrant further design and development time.  If this problem
    proves more common as faster storage emerges we'll have to look at
    elevating a generic solution into the block core.
    
    Tested-by: Shiva Krishna Merla <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    0ce6579 View commit details
    Browse the repository at this point in the history
  23. dm: add full blk-mq support to request-based DM

    Commit e5863d9 ("dm: allocate requests in target when stacking on
    blk-mq devices") served as the first step toward fully utilizing blk-mq
    in request-based DM -- it enabled stacking an old-style (request_fn)
    request_queue ontop of the underlying blk-mq device(s).  That first step
    didn't improve performance of DM multipath ontop of fast blk-mq devices
    (e.g. NVMe) because the top-level old-style request_queue was severely
    limited by the queue_lock.
    
    The second step offered here enables stacking a blk-mq request_queue
    ontop of the underlying blk-mq device(s).  This unlocks significant
    performance gains on fast blk-mq devices, Keith Busch tested on his NVMe
    testbed and offered this really positive news:
    
     "Just providing a performance update. All my fio tests are getting
      roughly equal performance whether accessed through the raw block
      device or the multipath device mapper (~470k IOPS). I could only push
      ~20% of the raw iops through dm before this conversion, so this latest
      tree is looking really solid from a performance standpoint."
    
    Signed-off-by: Mike Snitzer <[email protected]>
    Tested-by: Keith Busch <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    bfebd1c View commit details
    Browse the repository at this point in the history
  24. dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq

    dm_mq_queue_rq() is in atomic context so care must be taken to not
    sleep -- as such GFP_ATOMIC is used for the md->bs bioset allocations
    and dm-mpath's call to blk_get_request().  In the future the bioset
    allocations will hopefully go away (by removing support for partial
    completions of bios in a cloned request).
    
    Also prepare for supporting DM blk-mq ontop of old-style request_fn
    device(s) if a new dm-mod 'use_blk_mq' parameter is set.  The kthread
    will still be used to queue work if blk-mq is used ontop of old-style
    request_fn device(s).
    
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    0223334 View commit details
    Browse the repository at this point in the history
  25. dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr

    Request-based DM's blk-mq support defaults to off; but a user can easily
    change the default using the dm_mod.use_blk_mq module/boot option.
    
    Also, you can check what mode a given request-based DM device is using
    with: cat /sys/block/dm-X/dm/use_blk_mq
    
    This change enabled further cleanup and reduced work (e.g. the
    md->io_pool and md->rq_pool isn't created if using blk-mq).
    
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    17e149b View commit details
    Browse the repository at this point in the history
  26. init: export name_to_dev_t and mark name argument as const

    DM will switch its device lookup code to using name_to_dev_t() so it
    must be exported.  Also, the @name argument should be marked const.
    
    Signed-off-by: Dan Ehrenberg <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Dan Ehrenberg authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    e6e20a7 View commit details
    Browse the repository at this point in the history
  27. init: stricter checking of major:minor root= values

    In the kernel command-line, previously, root=1:2jakshflaksjdhfa would
    be accepted and interpreted just like root=1:2. This patch adds
    stricter checking so that additional characters after major:minor are
    rejected by root=.
    
    The goal of this change is to help in unifying DM's interpretation of
    its block device argument by using existing kernel code (name_to_dev_t).
    But DM rejects malformed major:minor pairs, it seems reasonable for
    root= to reject them as well.
    
    Signed-off-by: Dan Ehrenberg <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Dan Ehrenberg authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    283e7ad View commit details
    Browse the repository at this point in the history
  28. dm table: fall back to getting device using name_to_dev_t()

    If a device is used as the root filesystem, it can't be built
    off of devices which are within the root filesystem (just like
    command line arguments to root=).  For this reason, Linux has a
    pseudo-filesystem for root= and MD initialization (based on the
    function name_to_dev_t) which handles different ways of specifying
    devices including PARTUUID and major:minor.
    
    Switch to using name_to_dev_t() in dm_get_device().  Rather than
    having DM assume that all things which are not major:minor are paths in
    an already-mounted filesystem, change dm_get_device() to first attempt
    to look up the device in the filesystem, and if not found it will fall
    back to using name_to_dev_t().
    
    In terms of backwards compatibility, there are some cases where
    behavior will be different:
    - If you have a file in the current working directory named 1:2 and
      you initialze DM there, then it will try to use that file rather
      than the disk with that major:minor pair as a backing device.
    - Similarly for other bdev types which name_to_dev_t() knows how to
      interpret, the previous behavior was to repeatedly check for the
      existence of the file (e.g., while waiting for rootfs to come up)
      but the new behavior is to use the name_to_dev_t() interpretation.
      For example, if you have a file named /dev/ubiblock0_0 which is
      a symlink to /dev/sda3, but it is not yet present when DM starts
      to initialize, then the name_to_dev_t() interpretation will take
      precedence.
    
    These incompatibilities would only show up in really strange setups
    with bad practices so we shouldn't have to worry about them.
    
    Signed-off-by: Dan Ehrenberg <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Dan Ehrenberg authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    644bda6 View commit details
    Browse the repository at this point in the history
  29. dm log userspace transfer: match wait_for_completion_timeout return type

    Return type of wait_for_completion_timeout() is unsigned long not int.
    An appropriately named unsigned long is added and the assignment fixed.
    
    Signed-off-by: Nicholas Mc Guire <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Nicholas Mc Guire authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    c32a512 View commit details
    Browse the repository at this point in the history
  30. dm log userspace base: fix compile warning

    This fixes up a compile warning [-Wunused-but-set-variable] - given the
    comment in userspace_set_region_sync() the non-reporting of errors is
    intentional so the return value can be dropped to make gcc happy.
    
    Also, fix typo in comment.
    
    Signed-off-by: Nicholas Mc Guire <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Nicholas Mc Guire authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    18cc980 View commit details
    Browse the repository at this point in the history
  31. dm delay: use msecs_to_jiffies for time conversion

    Converting milliseconds to jiffies by "val * HZ / 1000" is technically
    OK but msecs_to_jiffies(val) is the cleaner solution and handles all
    corner cases correctly.
    
    Signed-off-by: Nicholas Mc Guire <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Nicholas Mc Guire authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    aca607b View commit details
    Browse the repository at this point in the history
  32. dm thin: remove stale 'trim' message documentation

    The 'trim' message wasn't ever implemented.
    
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    0e0e32c View commit details
    Browse the repository at this point in the history
  33. dm verity: add error handling modes for corrupted blocks

    Add device specific modes to dm-verity to specify how corrupted
    blocks should be handled.  The following modes are defined:
    
      - DM_VERITY_MODE_EIO is the default behavior, where reading a
        corrupted block results in -EIO.
    
      - DM_VERITY_MODE_LOGGING only logs corrupted blocks, but does
        not block the read.
    
      - DM_VERITY_MODE_RESTART calls kernel_restart when a corrupted
        block is discovered.
    
    In addition, each mode sends a uevent to notify userspace of
    corruption and to allow further recovery actions.
    
    The driver defaults to previous behavior (DM_VERITY_MODE_EIO)
    and other modes can be enabled with an additional parameter to
    the verity table.
    
    Signed-off-by: Sami Tolvanen <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    samitolvanen authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    65ff5b7 View commit details
    Browse the repository at this point in the history
  34. dm table: use bool function return values of true/false not 1/0

    Use the normal return values for bool functions.
    
    Signed-off-by: Joe Perches <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    JoePerches authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    7f61f5a View commit details
    Browse the repository at this point in the history
  35. dm: add log writes target

    Introduce a new target that is meant for file system developers to test file
    system integrity at particular points in the life of a file system.  We capture
    all write requests and associated data and log them to a separate device
    for later replay.  There is a userspace utility to do this replay.  The
    idea behind this is to give file system developers a tool to verify that
    the file system is always consistent.
    
    Signed-off-by: Josef Bacik <[email protected]>
    Reviewed-by: Zach Brown <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Josef Bacik authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    0e9cebe View commit details
    Browse the repository at this point in the history
  36. dm crypt: update URLs to new cryptsetup project page

    Cryptsetup home page moved to GitLab.
    Also remove link to abandonded Truecrypt page.
    
    Signed-off-by: Milan Broz <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    mbroz authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    e44f23b View commit details
    Browse the repository at this point in the history
  37. dm crypt: leverage immutable biovecs when decrypting on read

    Commit 003b5c5 ("block: Convert drivers to immutable biovecs")
    stopped short of changing dm-crypt to leverage the fact that the biovec
    array of a bio will no longer be modified.
    
    Switch to using bio_clone_fast() when cloning bios for decryption after
    read.
    
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    5977907 View commit details
    Browse the repository at this point in the history
  38. dm crypt: fix deadlock when async crypto algorithm returns -EBUSY

    I suspect this doesn't show up for most anyone because software
    algorithms typically don't have a sense of being too busy.  However,
    when working with the Freescale CAAM driver it will return -EBUSY on
    occasion under heavy -- which resulted in dm-crypt deadlock.
    
    After checking the logic in some other drivers, the scheme for
    crypt_convert() and it's callback, kcryptd_async_done(), were not
    correctly laid out to properly handle -EBUSY or -EINPROGRESS.
    
    Fix this by using the completion for both -EBUSY and -EINPROGRESS.  Now
    crypt_convert()'s use of completion is comparable to
    af_alg_wait_for_completion().  Similarly, kcryptd_async_done() follows
    the pattern used in af_alg_complete().
    
    Before this fix dm-crypt would lockup within 1-2 minutes running with
    the CAAM driver.  Fix was regression tested against software algorithms
    on PPC32 and x86_64, and things seem perfectly happy there as well.
    
    Signed-off-by: Ben Collins <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Cc: [email protected]
    benmcollins authored and snitm committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    0618764 View commit details
    Browse the repository at this point in the history
  39. i2c: core: Export bus recovery functions

    Current -next fails to link an ARM allmodconfig because drivers that use
    the core recovery functions can be built as modules but those functions
    are not exported:
    
    ERROR: "i2c_generic_gpio_recovery" [drivers/i2c/busses/i2c-davinci.ko] undefined!
    ERROR: "i2c_generic_scl_recovery" [drivers/i2c/busses/i2c-davinci.ko] undefined!
    ERROR: "i2c_recover_bus" [drivers/i2c/busses/i2c-davinci.ko] undefined!
    
    Add exports to fix this.
    
    Fixes: 5f9296b (i2c: Add bus recovery infrastructure)
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Wolfram Sang <[email protected]>
    broonie authored and Wolfram Sang committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    c1c21f4 View commit details
    Browse the repository at this point in the history
  40. net: hip04: Make tx coalesce timer actually work

    The code sets the expiry value of the timer to a relative value and
    starts it with hrtimer_start_expires. That's fine, but that only works
    once. The timer is started in relative mode, so the expiry value gets
    overwritten with the absolut expiry time (now + expiry).
    
    So once the timer expired, a new call to hrtimer_start_expires results
    in an immidiately expired timer, because the expiry value is
    already in the past.
    
    Use the proper mechanisms to (re)start the timer in the intended way.
    
    Signed-off-by: Thomas Gleixner <[email protected]>
    Cc: "David S. Miller" <[email protected]>
    Cc: dingtianhong <[email protected]>
    Cc: Arnd Bergmann <[email protected]>
    Cc: Zhangfei Gao <[email protected]>
    Cc: Dan Carpenter <[email protected]>
    Cc: [email protected]
    Acked-by: Ding Tianhong <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    KAGA-KOKO authored and davem330 committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    48b6377 View commit details
    Browse the repository at this point in the history
  41. bnx2x: Fix busy_poll vs netpoll

    Commit 9a2620c ("bnx2x: prevent WARN during driver unload")
    switched the napi/busy_lock locking mechanism from spin_lock() into
    spin_lock_bh(), breaking inter-operability with netconsole, as netpoll
    disables interrupts prior to calling our napi mechanism.
    
    This switches the driver into using atomic assignments instead of the
    spinlock mechanisms previously employed.
    
    Based on initial patch from Yuval Mintz & Ariel Elior
    
    I basically added softirq starvation avoidance, and mixture
    of atomic operations, plain writes and barriers.
    
    Note this slightly reduces the overhead for this driver when no
    busy_poll sockets are in use.
    
    Fixes: 9a2620c ("bnx2x: prevent WARN during driver unload")
    Signed-off-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Eric Dumazet authored and davem330 committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    074975d View commit details
    Browse the repository at this point in the history
  42. Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/jkirsher/next-queue
    
    Jeff Kirsher says:
    
    ====================
    Intel Wired LAN Driver Updates 2015-04-14
    
    This series contains updates to i40e and i40evf.
    
    Mitch provides a fix for i40e, where VFs were gone and the associated
    VSI's had been removed and the rings were not stopped, which in some
    circumstances cased memory corruption or DMAR errors.  So stop all the
    rings associated with each VF before releasing its resources.  Also
    cleaned up a poorly indented piece of code.  Fixes VF link state, where
    VF devices were assuming link is up unless told otherwise, which means
    that VFs instantiated on a PF with no link, would report the wrong state.
    
    Anjali adds support to add Flow director Sideband rules for a VF from it's
    PF.  Fixes a recently discovered hardware issue, where after a VFLR
    hardware might be indicating to us a reset completion little too early, so
    wait another 10 msec for cache to be cleaned up.
    
    Jesse enables the user to dump the internal hardware state for better
    debugging by allowing a bash script to acquire information about the
    internal hardware state.  The data output to the kernel log is collected
    by the script and can then be sent to Intel.  Also fixed a possible
    failure path to allocate memory that was found by smatch.  Cleaned up
    unused local variables.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    6b9107d View commit details
    Browse the repository at this point in the history
  43. f2fs: change 0 to false for bool type

    in the f2fs_fill_super function, variable "retry" is bool type
    i think that it should be set as false.
    
    Signed-off-by: Taehee Yoo <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    TaeheeYoo authored and Jaegeuk Kim committed Apr 15, 2015
    Configuration menu
    Copy the full SHA
    9df47ba View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2015

  1. ext4 crypto: add symlink encryption

    Signed-off-by: Uday Savagaonkar <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    tytso committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    f348c25 View commit details
    Browse the repository at this point in the history
  2. ext4 crypto: enable encryption feature flag

    Also add the test dummy encryption mode flag so we can more easily
    test the encryption patches using xfstests.
    
    Signed-off-by: Michael Halcrow <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    tytso committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    6ddb244 View commit details
    Browse the repository at this point in the history
  3. x86, selftests: Add single_step_syscall test

    This is a very simple test that makes system calls with TF set.
    
    This test currently fails when running the 32-bit build on a
    64-bit kernel on an Intel CPU.  This bug will be fixed by the
    next commit.
    
    Signed-off-by: Andy Lutomirski <[email protected]>
    Cc: Borislav Petkov <[email protected]>
    Cc: Denys Vlasenko <[email protected]>
    Cc: Oleg Nesterov <[email protected]>
    Cc: Shuah Khan <[email protected]>
    Link: http://lkml.kernel.org/r/20e68021155f6ab5c60590dcad81d37c68ea2c4f.1429139075.git.luto@kernel.org
    Signed-off-by: Ingo Molnar <[email protected]>
    amluto authored and Ingo Molnar committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    0a15584 View commit details
    Browse the repository at this point in the history
  4. x86/ptrace: Fix the TIF_FORCED_TF logic in handle_signal()

    When the TIF_SINGLESTEP tracee dequeues a signal,
    handle_signal() clears TIF_FORCED_TF and X86_EFLAGS_TF but
    leaves TIF_SINGLESTEP set.
    
    If the tracer does PTRACE_SINGLESTEP again, enable_single_step()
    sets X86_EFLAGS_TF but not TIF_FORCED_TF.  This means that the
    subsequent PTRACE_CONT doesn't not clear X86_EFLAGS_TF, and the
    tracee gets the wrong SIGTRAP.
    
    Test-case (needs -O2 to avoid prologue insns in signal handler):
    
    	#include <unistd.h>
    	#include <stdio.h>
    	#include <sys/ptrace.h>
    	#include <sys/wait.h>
    	#include <sys/user.h>
    	#include <assert.h>
    	#include <stddef.h>
    
    	void handler(int n)
    	{
    		asm("nop");
    	}
    
    	int child(void)
    	{
    		assert(ptrace(PTRACE_TRACEME, 0,0,0) == 0);
    		signal(SIGALRM, handler);
    		kill(getpid(), SIGALRM);
    		return 0x23;
    	}
    
    	void *getip(int pid)
    	{
    		return (void*)ptrace(PTRACE_PEEKUSER, pid,
    					offsetof(struct user, regs.rip), 0);
    	}
    
    	int main(void)
    	{
    		int pid, status;
    
    		pid = fork();
    		if (!pid)
    			return child();
    
    		assert(wait(&status) == pid);
    		assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGALRM);
    
    		assert(ptrace(PTRACE_SINGLESTEP, pid, 0, SIGALRM) == 0);
    		assert(wait(&status) == pid);
    		assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP);
    		assert((getip(pid) - (void*)handler) == 0);
    
    		assert(ptrace(PTRACE_SINGLESTEP, pid, 0, SIGALRM) == 0);
    		assert(wait(&status) == pid);
    		assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP);
    		assert((getip(pid) - (void*)handler) == 1);
    
    		assert(ptrace(PTRACE_CONT, pid, 0,0) == 0);
    		assert(wait(&status) == pid);
    		assert(WIFEXITED(status) && WEXITSTATUS(status) == 0x23);
    
    		return 0;
    	}
    
    The last assert() fails because PTRACE_CONT wrongly triggers
    another single-step and X86_EFLAGS_TF can't be cleared by
    debugger until the tracee does sys_rt_sigreturn().
    
    Change handle_signal() to do user_disable_single_step() if
    stepping, we do not need to preserve TIF_SINGLESTEP because we
    are going to do ptrace_notify(), and it is simply wrong to leak
    this bit.
    
    While at it, change the comment to explain why we also need to
    clear TF unconditionally after setup_rt_frame().
    
    Note: in the longer term we should probably change
    setup_sigcontext() to use get_flags() and then just remove this
    user_disable_single_step().  And, the state of TIF_FORCED_TF can
    be wrong after restore_sigcontext() which can set/clear TF, this
    needs another fix.
    
    This fix fixes the 'single_step_syscall_32' testcase in
    the x86 testsuite:
    
    Before:
    
    	~/linux/tools/testing/selftests/x86> ./single_step_syscall_32
    	[RUN]   Set TF and check nop
    	[OK]    Survived with TF set and 9 traps
    	[RUN]   Set TF and check int80
    	[OK]    Survived with TF set and 9 traps
    	[RUN]   Set TF and check a fast syscall
    	[WARN]  Hit 10000 SIGTRAPs with si_addr 0xf7789cc0, ip 0xf7789cc0
    	Trace/breakpoint trap (core dumped)
    
    After:
    
    	~/linux/linux/tools/testing/selftests/x86> ./single_step_syscall_32
    	[RUN]   Set TF and check nop
    	[OK]    Survived with TF set and 9 traps
    	[RUN]   Set TF and check int80
    	[OK]    Survived with TF set and 9 traps
    	[RUN]   Set TF and check a fast syscall
    	[OK]    Survived with TF set and 39 traps
    	[RUN]   Fast syscall with TF cleared
    	[OK]    Nothing unexpected happened
    
    Reported-by: Evan Teran <[email protected]>
    Reported-by: Pedro Alves <[email protected]>
    Tested-by: Andres Freund <[email protected]>
    Signed-off-by: Oleg Nesterov <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Cc: Andy Lutomirski <[email protected]>
    Cc: Borislav Petkov <[email protected]>
    Cc: Brian Gerst <[email protected]>
    Cc: Denys Vlasenko <[email protected]>
    Cc: H. Peter Anvin <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    [ Added x86 self-test info. ]
    Signed-off-by: Ingo Molnar <[email protected]>
    oleg-nesterov authored and Ingo Molnar committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    fd0f86b View commit details
    Browse the repository at this point in the history
  5. cxgb4: drop __GFP_NOFAIL allocation

    set_filter_wr is requesting __GFP_NOFAIL allocation although it can return
    ENOMEM without any problems obviously (t4_l2t_set_switching does that
    already).  So the non-failing requirement is too strong without any
    obvious reason.  Drop __GFP_NOFAIL and reorganize the code to have the
    failure paths easier.
    
    The same applies to _c4iw_write_mem_dma_aligned which uses __GFP_NOFAIL
    and then checks the return value and returns -ENOMEM on failure.  This
    doesn't make any sense what so ever.  Either the allocation cannot fail or
    it can.
    
    del_filter_wr seems to be safe as well because the filter entry is not
    marked as pending and the return value is propagated up the stack up to
    c4iw_destroy_listen.
    
    Signed-off-by: Michal Hocko <[email protected]>
    Cc: David Rientjes <[email protected]>
    Cc: Johannes Weiner <[email protected]>
    Cc: Dave Chinner <[email protected]>
    Cc: "Theodore Ts'o" <[email protected]>
    Cc: Mel Gorman <[email protected]>
    Cc: Tetsuo Handa <[email protected]>
    Cc: "David S. Miller" <[email protected]>
    Cc: Hariprasad S <[email protected]>
    Cc: Jan Kara <[email protected]>
    Cc: Tetsuo Handa <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Michal Hocko authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    f72f116 View commit details
    Browse the repository at this point in the history
  6. bpf: fix verifier memory corruption

    Due to missing bounds check the DAG pass of the BPF verifier can corrupt
    the memory which can cause random crashes during program loading:
    
    [8.449451] BUG: unable to handle kernel paging request at ffffffffffffffff
    [8.451293] IP: [<ffffffff811de33d>] kmem_cache_alloc_trace+0x8d/0x2f0
    [8.452329] Oops: 0000 [#1] SMP
    [8.452329] Call Trace:
    [8.452329]  [<ffffffff8116cc82>] bpf_check+0x852/0x2000
    [8.452329]  [<ffffffff8116b7e4>] bpf_prog_load+0x1e4/0x310
    [8.452329]  [<ffffffff811b190f>] ? might_fault+0x5f/0xb0
    [8.452329]  [<ffffffff8116c206>] SyS_bpf+0x806/0xa30
    
    Fixes: f1bca82 ("bpf: add search pruning optimization to verifier")
    Signed-off-by: Alexei Starovoitov <[email protected]>
    Acked-by: Hannes Frederic Sowa <[email protected]>
    Acked-by: Daniel Borkmann <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Alexei Starovoitov authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    c3de631 View commit details
    Browse the repository at this point in the history
  7. fou: avoid missing unlock in failure path

    Fixes: 7a6c8c3 ("fou: implement FOU_CMD_GET")
    Reported-by: Dan Carpenter <[email protected]>
    Cc: Dan Carpenter <[email protected]>
    Signed-off-by: Cong Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    congwang authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    540207a View commit details
    Browse the repository at this point in the history
  8. dsa: mv88e6xxx: Fix error handling in mv88e6xxx_set_port_state

    Return correct error code if _mv88e6xxx_reg_read returns an error.
    
    Fixes: facd95b ("net: dsa: mv88e6xxx: Add Hardware bridging support")
    Signed-off-by: Guenter Roeck <[email protected]>
    Reviewed-by: Andrew Lunn <[email protected]>
    Reported-by: kbuild test robot <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    groeck authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    538cc28 View commit details
    Browse the repository at this point in the history
  9. rocker: fix error return code in rocker_probe()

    Fix to return -EINVAL from the invalid PCI region size error
    handling case instead of 0, as done elsewhere in this function.
    
    Signed-off-by: Wei Yongjun <[email protected]>
    Acked-by: Jiri Pirko <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Wei Yongjun authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    3122a92 View commit details
    Browse the repository at this point in the history
  10. ethernet: remove unused including <linux/version.h>

    Remove including <linux/version.h> that don't need it.
    
    Signed-off-by: Wei Yongjun <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Wei Yongjun authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    b892e98 View commit details
    Browse the repository at this point in the history
  11. netns: remove duplicated include from net_namespace.c

    Remove duplicated include.
    
    Signed-off-by: Wei Yongjun <[email protected]>
    Acked-by: Nicolas Dichtel <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Wei Yongjun authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    5a950ad View commit details
    Browse the repository at this point in the history
  12. dsa: mv88e6xxx: Drop duplicate declaration of 'ret' variable

    A duplicate declaration of 'ret' can result in hiding an error code.
    Drop it.
    
    Fixes: 17ee3e0 ("net: dsa: Provide additional RMON statistics")
    Signed-off-by: Guenter Roeck <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    groeck authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    31976cf View commit details
    Browse the repository at this point in the history
  13. f2fs: flush symlink path to avoid broken symlink after POR

    This patch tries to avoid broken symlink case after POR in best effort.
    This results in performance regression.
    But, if f2fs has inline_data and the target path is under 3KB-sized long,
    the page would be stored in its inode_block, so that there would be no
    performance regression.
    
    Note that, if user wants to keep this file atomically, it needs to trigger
    dir->fsync.
    And, there is still a hole to produce broken symlink.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    d0cae97 View commit details
    Browse the repository at this point in the history
  14. f2fs: avoid abnormal behavior on broken symlink

    When f2fs_symlink was triggered and checkpoint was done before syncing its
    link path, f2fs can get broken symlink like "xxx -> \0\0\0".
    This incurs abnormal path_walk by VFS.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    feb7cbb View commit details
    Browse the repository at this point in the history
  15. f2fs: pass checkpoint reason on roll-forward recovery

    This patch adds CP_RECOVERY to remain recovery information for checkpoint.
    And, it makes sure writing checkpoint in this case.
    
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Jaegeuk Kim committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    1002755 View commit details
    Browse the repository at this point in the history
  16. stmmac: fix oops on rmmod after assigning ip addr

    An oops exists in the flow of stmmac_release().
    phy_ethtool_get_wol() depends on phydev->drv.
    phydev->drv will be null after stmmac_mdio_unreg() completes.
    
    Steps to reproduce on Quark X1000:
    
    1. ifconfig eth0 192.168.0.1
    2. rmmod stmmac_pci
    
    To fix this stmmac_mdio_unreg() should be run after unregister_netdev().
    
    Signed-off-by: Bryan O'Donoghue <[email protected]>
    Reported-by: Dan O'Donovan <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    0xB0D authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    e743471 View commit details
    Browse the repository at this point in the history
  17. stmmac: Add properties for transmit and receive fifo sizes

    The Synopsys stmmac fifo sizes are configurable, and need to be known
    in order to configure certain controller features. This patch adds
    tx-fifo-depth and rx-fifo-depth properties to the stmmac document
    file.
    
    Signed-off-by: Vince Bridgers <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Vince Bridgers authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    13967f0 View commit details
    Browse the repository at this point in the history
  18. stmmac: Add defines and documentation for enabling flow control

    Add defines and documentation for enabling flow control on the stmmac. Flow
    control was not implemented correctly on the stmmac driver and is currently
    non-functional as a result. This is the first in a series of small patches
    to correctly implement this feature.
    
    Signed-off-by: Vince Bridgers <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Vince Bridgers authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    2453beb View commit details
    Browse the repository at this point in the history
  19. stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree

    Read the tx-fifo-depth and rx-fifo-depth from the devicetree. The Synopsys
    stmmac controller fifos are configurable per product instance, and the fifo
    sizes are needed to configure certain features correctly such as flow control.
    
    Signed-off-by: Vince Bridgers <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Vince Bridgers authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    e7877f5 View commit details
    Browse the repository at this point in the history
  20. stmmac: Enable unicast pause frame detect in GMAC Register 6

    Unicast pause frame detect was not being enabled for the Synopsys stmmac. This
    patch sets Unicast pause frame detect in MAC register 6 so that pause frame
    detection by the stmmac conforms to IEEE 802.3, Annex 31B.3.3 Receive
    Operation - Specifically, a MAC shall respond to pause frames containing
    either the reserved multicast address or the unique physical address
    associated with this station.
    
    Signed-off-by: Vince Bridgers <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Vince Bridgers authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    545d655 View commit details
    Browse the repository at this point in the history
  21. stmmac: Configure Flow Control to work correctly based on rxfifo size

    Configure flow control correctly, and based on the receive fifo size read
    as a property from the devicetree since the Synopsys stmmac fifo sizes are
    configurable based on a particular chip's implementation. This patch maintains
    the previous incorrect behavior unless the receive fifo size is found in the
    devicetree.
    
    Signed-off-by: Vince Bridgers <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Vince Bridgers authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    f88203a View commit details
    Browse the repository at this point in the history
  22. Merge branch 'stmmac-flow-control'

    Vince Bridgers says:
    
    ====================
    stmmac: Correct flow control configuration
    
    This series of patches corrects flow control configuration for the Synopsys
    GMAC driver.
    
    Flow control is configured based on a configurable receive fifo size. If
    less than 4Kbytes flow control is left disabled and a warning is presented. If
    a receive fifo size is not specified, flow control is left disabled to
    maintain current behavior. Unicast pause detection was disabled, but is now
    enabled. The pause time was modified to be maximum time per a XON/XOFF
    flow control mode of operation.
    
    This patch was tested on an Altera Cyclone 5 and an Altera Arria 10 devkit,
    and verified that flow control operates as expected when enabled.
    
    Please consider this series for inclusion so that flow control will
    function as expected for the Synopsys GMAC controller.
    ====================
    
    Acked-by: Giuseppe Cavallaro <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    51b5df8 View commit details
    Browse the repository at this point in the history
  23. bpf: fix bpf helpers to use skb->mac_header relative offsets

    For the short-term solution, lets fix bpf helper functions to use
    skb->mac_header relative offsets instead of skb->data in order to
    get the same eBPF programs with cls_bpf and act_bpf work on ingress
    and egress qdisc path. We need to ensure that mac_header is set
    before calling into programs. This is effectively the first option
    from below referenced discussion.
    
    More long term solution for LD_ABS|LD_IND instructions will be more
    intrusive but also more beneficial than this, and implemented later
    as it's too risky at this point in time.
    
    I.e., we plan to look into the option of moving skb_pull() out of
    eth_type_trans() and into netif_receive_skb() as has been suggested
    as second option. Meanwhile, this solution ensures ingress can be
    used with eBPF, too, and that we won't run into ABI troubles later.
    For dealing with negative offsets inside eBPF helper functions,
    we've implemented bpf_skb_clone_unwritable() to test for unwriteable
    headers.
    
    Reference: http://thread.gmane.org/gmane.linux.network/359129/focus=359694
    Fixes: 608cd71 ("tc: bpf: generalize pedit action")
    Fixes: 91bc482 ("tc: bpf: add checksum helpers")
    Signed-off-by: Alexei Starovoitov <[email protected]>
    Signed-off-by: Daniel Borkmann <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Alexei Starovoitov authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    a166151 View commit details
    Browse the repository at this point in the history
  24. bpf: fix two bugs in verification logic when accessing 'ctx' pointer

    1.
    first bug is a silly mistake. It broke tracing examples and prevented
    simple bpf programs from loading.
    
    In the following code:
    if (insn->imm == 0 && BPF_SIZE(insn->code) == BPF_W) {
    } else if (...) {
      // this part should have been executed when
      // insn->code == BPF_W and insn->imm != 0
    }
    
    Obviously it's not doing that. So simple instructions like:
    r2 = *(u64 *)(r1 + 8)
    will be rejected. Note the comments in the code around these branches
    were and still valid and indicate the true intent.
    
    Replace it with:
    if (BPF_SIZE(insn->code) != BPF_W)
      continue;
    
    if (insn->imm == 0) {
    } else if (...) {
      // now this code will be executed when
      // insn->code == BPF_W and insn->imm != 0
    }
    
    2.
    second bug is more subtle.
    If malicious code is using the same dest register as source register,
    the checks designed to prevent the same instruction to be used with different
    pointer types will fail to trigger, since we were assigning src_reg_type
    when it was already overwritten by check_mem_access().
    The fix is trivial. Just move line:
    src_reg_type = regs[insn->src_reg].type;
    before check_mem_access().
    Add new 'access skb fields bad4' test to check this case.
    
    Fixes: 9bac3d6 ("bpf: allow extended BPF programs access skb fields")
    Signed-off-by: Alexei Starovoitov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Alexei Starovoitov authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    725f9dc View commit details
    Browse the repository at this point in the history
  25. Revert "net: Reset secmark when scrubbing packet"

    This patch reverts commit b8fb4e0
    because the secmark must be preserved even when a packet crosses
    namespace boundaries.  The reason is that security labels apply to
    the system as a whole and is not per-namespace.
    
    Signed-off-by: Herbert Xu <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    herbertx authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    4c0ee41 View commit details
    Browse the repository at this point in the history
  26. skbuff: Do not scrub skb mark within the same name space

    On Wed, Apr 15, 2015 at 05:41:26PM +0200, Nicolas Dichtel wrote:
    > Le 15/04/2015 15:57, Herbert Xu a écrit :
    > >On Wed, Apr 15, 2015 at 06:22:29PM +0800, Herbert Xu wrote:
    > [snip]
    > >Subject: skbuff: Do not scrub skb mark within the same name space
    > >
    > >The commit ea23192 ("tunnels:
    > Maybe add a Fixes tag?
    > Fixes: ea23192 ("tunnels: harmonize cleanup done on skb on rx path")
    >
    > >harmonize cleanup done on skb on rx path") broke anyone trying to
    > >use netfilter marking across IPv4 tunnels.  While most of the
    > >fields that are cleared by skb_scrub_packet don't matter, the
    > >netfilter mark must be preserved.
    > >
    > >This patch rearranges skb_scurb_packet to preserve the mark field.
    > nit: s/scurb/scrub
    >
    > Else it's fine for me.
    
    Sure.
    
    PS I used the wrong email for James the first time around.  So
    let me repeat the question here.  Should secmark be preserved
    or cleared across tunnels within the same name space? In fact,
    do our security models even support name spaces?
    
    ---8<---
    The commit ea23192 ("tunnels:
    harmonize cleanup done on skb on rx path") broke anyone trying to
    use netfilter marking across IPv4 tunnels.  While most of the
    fields that are cleared by skb_scrub_packet don't matter, the
    netfilter mark must be preserved.
    
    This patch rearranges skb_scrub_packet to preserve the mark field.
    
    Fixes: ea23192 ("tunnels: harmonize cleanup done on skb on rx path")
    Signed-off-by: Herbert Xu <[email protected]>
    Acked-by: Thomas Graf <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    herbertx authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    213dd74 View commit details
    Browse the repository at this point in the history
  27. net: dsa: mv88e6xxx: Add missing initialization in mv88e6xxx_set_port…

    …_state()
    
    drivers/net/dsa/mv88e6xxx.c: In function ‘mv88e6xxx_set_port_state’:
    drivers/net/dsa/mv88e6xxx.c:905: warning: ‘ret’ may be used uninitialized in this function
    
    If oldstate == state, mv88e6xxx_set_port_state() will return an
    uninitialized value. Pre-initialize ret to zero to fix this.
    
    Signed-off-by: Geert Uytterhoeven <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    geertu authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    c3ffe6d View commit details
    Browse the repository at this point in the history
  28. sparc: Break up monolithic iommu table/lock into finer graularity poo…

    …ls and lock
    
    Investigation of multithreaded iperf experiments on an ethernet
    interface show the iommu->lock as the hottest lock identified by
    lockstat, with something of the order of  21M contentions out of
    27M acquisitions, and an average wait time of 26 us for the lock.
    This is not efficient. A more scalable design is to follow the ppc
    model, where the iommu_table has multiple pools, each stretching
    over a segment of the map, and with a separate lock for each pool.
    This model allows for better parallelization of the iommu map search.
    
    This patch adds the iommu range alloc/free function infrastructure.
    
    Signed-off-by: Sowmini Varadhan <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sowminiv authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    10b88a4 View commit details
    Browse the repository at this point in the history
  29. sparc: Make sparc64 use scalable lib/iommu-common.c functions

    In iperf experiments running linux as the Tx side (TCP client) with
    10 threads results in a severe performance drop when TSO is disabled,
    indicating a weakness in the software that can be avoided by using
    the scalable IOMMU arena DMA allocation.
    
    Baseline numbers before this patch:
       with default settings (TSO enabled) :    9-9.5 Gbps
       Disable TSO using ethtool- drops badly:  2-3 Gbps.
    
    After this patch, iperf client with 10 threads, can give a
    throughput of at least 8.5 Gbps, even when TSO is disabled.
    
    Signed-off-by: Sowmini Varadhan <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sowminiv authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    f1600e5 View commit details
    Browse the repository at this point in the history
  30. sparc: Make LDC use common iommu poll management functions

    Note that this conversion is only being done to consolidate the
    code and ensure that the common code provides the sufficient
    abstraction. It is not expected to result in any noticeable
    performance improvement, as there is typically one ldc_iommu
    per vnet_port, and each one has 8k entries, with a typical
    request for 1-4 pages.  Thus LDC uses npools == 1.
    
    Signed-off-by: Sowmini Varadhan <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sowminiv authored and davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    671d773 View commit details
    Browse the repository at this point in the history
  31. Merge branch 'generic-iommu-allocator'

    Sowmini Varadhan says:
    
    ====================
    Generic IOMMU pooled allocator
    
    Investigation of network performance on Sparc shows a high
    degree of locking contention in the IOMMU allocator, and it
    was noticed that the PowerPC code has a better locking model.
    
    This patch series tries to extract the generic parts of the
    PowerPC code so that it can be shared across multiple PCI
    devices and architectures.
    
    v10: resend patchv9 without RFC tag, and a new mail Message-Id,
    (previous non-RFC attempt did not show up on the patchwork queue?)
    
    Full revision history below:
    v2 changes:
      - incorporate David Miller editorial comments: sparc specific
        fields moved from iommu-common into sparc's iommu_64.h
      - make the npools value an input parameter, for the case when
        the iommu map size is not very large
      - cookie_to_index mapping, and optimizations for span-boundary
        check, for use case such as LDC.
    
    v3: eliminate iommu_sparc, rearrange the ->demap indirection to
        be invoked under the pool lock.
    
    v4: David Miller review changes:
      - s/IOMMU_ERROR_CODE/DMA_ERROR_CODE
      - page_table_map_base and page_table_shift are unsigned long, not u32.
    
    v5: removed ->cookie_to_index and ->demap indirection from the
        iommu_tbl_ops The caller needs to call these functions as needed,
        before invoking the generic arena allocator functions.
        Added the "skip_span_boundary" argument to iommu_tbl_pool_init() for
        those callers like LDC which do no care about span boundary checks.
    
    v6: removed iommu_tbl_ops, and instead pass the ->flush_all as
        an indirection to iommu_tbl_pool_init(); only invoke ->flush_all
        when there is no large_pool, based on the assumption that large-pool
        usage is infrequently encountered
    
    v7: moved pool_hash initialization to lib/iommu-common.c and cleaned up
        code duplication from sun4v/sun4u/ldc.
    
    v8: Addresses BenH comments with one exception: I've left the
        IOMMU_POOL_HASH as is, so that powerpc can tailor it to their
        convenience.  Discard trylock for simple spin_lock to acquire pool
    
    v9: Addresses latest BenH comments: need_flush checks, add support
        for dma mask and align_order.
    
    v10: resend without RFC tag, and new mail Message-Id.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    a83f5d6 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2015

  1. dm crypt: fix missing error code return from crypt_ctr error path

    Fix to return a negative error code from crypt_ctr()'s optional
    parameter processing error path.
    
    Signed-off-by: Wei Yongjun <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Wei Yongjun authored and snitm committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    44c144f View commit details
    Browse the repository at this point in the history
  2. lockdep: Make print_lock() robust against concurrent release

    During sysrq's show-held-locks command it is possible that
    hlock_class() returns NULL for a given lock. The result is then (after
    the warning):
    
    	|BUG: unable to handle kernel NULL pointer dereference at 0000001c
    	|IP: [<c1088145>] get_usage_chars+0x5/0x100
    	|Call Trace:
    	| [<c1088263>] print_lock_name+0x23/0x60
    	| [<c1576b57>] print_lock+0x5d/0x7e
    	| [<c1088314>] lockdep_print_held_locks+0x74/0xe0
    	| [<c1088652>] debug_show_all_locks+0x132/0x1b0
    	| [<c1315c48>] sysrq_handle_showlocks+0x8/0x10
    
    This *might* happen because the thread on the other CPU drops the lock
    after we are looking ->lockdep_depth and ->held_locks points no longer
    to a lock that is held.
    
    The fix here is to simply ignore it and continue.
    
    Reported-by: Andreas Messerschmid <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Andrew Morton <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Paul E. McKenney <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Sebastian Andrzej Siewior <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    d7bc319 View commit details
    Browse the repository at this point in the history
  3. perf/x86: Fix hw_perf_event::flags collision

    Somehow we ended up with overlapping flags when merging the
    RDPMC control flag - this is bad, fix it.
    
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    c857eb5 View commit details
    Browse the repository at this point in the history
  4. smp: Fix smp_call_function_single_async() locking

    The current smp_function_call code suffers a number of problems, most
    notably smp_call_function_single_async() is broken.
    
    The problem is that flush_smp_call_function_queue() does csd_unlock()
    _after_ calling csd->func(). This means that a caller cannot properly
    synchronize the csd usage as it has to.
    
    Change the code to release the csd before calling ->func() for the
    async case, and put a WARN_ON_ONCE(csd->flags & CSD_FLAG_LOCK) in
    smp_call_function_single_async() to warn us of improper serialization,
    because any waiting there can results in deadlocks when called with
    IRQs disabled.
    
    Rename the (currently) unused WAIT flag to SYNCHRONOUS and (re)use it
    such that we know what to do in flush_smp_call_function_queue().
    
    Rework csd_{,un}lock() to use smp_load_acquire() / smp_store_release()
    to avoid some full barriers while more clearly providing lock
    semantics.
    
    Finally move the csd maintenance out of generic_exec_single() into its
    callers for clearer code.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    [ Added changelog. ]
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Frederic Weisbecker <[email protected]>
    Cc: Jens Axboe <[email protected]>
    Cc: Rafael David Tinoco <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Link: http://lkml.kernel.org/r/CA+55aFz492bzLFhdbKN-Hygjcreup7CjMEYk3nTSfRWjppz-OA@mail.gmail.com
    Signed-off-by: Ingo Molnar <[email protected]>
    torvalds authored and Ingo Molnar committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    8053871 View commit details
    Browse the repository at this point in the history
  5. perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events

    Ingo reported that cycles:pp didn't work for him on some machines.
    
    It turns out that in this commit:
    
      af4bdcf perf/x86/intel: Disallow flags for most Core2/Atom/Nehalem/Westmere events
    
    Andi forgot to explicitly allow that event when he
    disabled event flags for PEBS on those uarchs.
    
    Reported-by: Ingo Molnar <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Fixes: af4bdcf ("perf/x86/intel: Disallow flags for most Core2/Atom/Nehalem/Westmere events")
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    517e634 View commit details
    Browse the repository at this point in the history
  6. perf/x86/intel/rapl: Fix energy counter measurements but supporing pe…

    …r domain energy units
    
    RAPL energy hardware unit can vary within a single CPU package, e.g.
    HSW server DRAM has a fixed energy unit of 15.3 uJ (2^-16) whereas
    the unit on other domains can be enumerated from power unit MSR.
    
    There might be other variations in the future, this patch adds
    per cpu model quirk to allow special handling of certain cpus.
    
    hw_unit is also removed from per cpu data since it is not per cpu
    and the sampling rate for energy counter is typically not high.
    
    Without this patch, DRAM domain on HSW servers will be counted
    4x higher than the real energy counter.
    
    Signed-off-by: Jacob Pan <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Reviewed-by: Stephane Eranian <[email protected]>
    Cc: Andi Kleen <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: H. Peter Anvin <[email protected]>
    Cc: Paul Mackerras <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Cc: Vince Weaver <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    jacobpan authored and Ingo Molnar committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    6455239 View commit details
    Browse the repository at this point in the history
  7. perf/x86/intel: Add Broadwell support for the LBR callstack

    Same as Haswell, Broadwell also support the LBR callstack.
    
    Signed-off-by: Kan Liang <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Acked-by: Andi Kleen <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    kliang2 authored and Ingo Molnar committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    78d504b View commit details
    Browse the repository at this point in the history
  8. x86/fpu: Load xsave pointer *after* initialization

    So I was playing with gdb today and did this simple thing:
    
    	gdb /bin/ls
    
    	...
    
    	(gdb) run
    
    Box exploded with this splat:
    
    	BUG: unable to handle kernel NULL pointer dereference at 00000000000001d0
    	IP: [<ffffffff8100fe5a>] xstateregs_get+0x7a/0x120
    	[...]
    
    	Call Trace:
    	 ptrace_regset
    	 ptrace_request
    	 ? wait_task_inactive
    	 ? preempt_count_sub
    	 arch_ptrace
    	 ? ptrace_get_task_struct
    	 SyS_ptrace
    	 system_call_fastpath
    
    ... because we do cache &target->thread.fpu.state->xsave into the
    local variable xsave but that pointer is NULL at that time and
    it gets initialized later, in init_fpu(), see:
    
    	e7f180d ("x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave")
    
    The fix is simple: load xsave *after* init_fpu() has run.
    
    Also do the same in xstateregs_set(), as suggested by Oleg Nesterov.
    
    Signed-off-by: Borislav Petkov <[email protected]>
    Acked-by: Oleg Nesterov <[email protected]>
    Cc: Andy Lutomirski <[email protected]>
    Cc: H. Peter Anvin <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Rik van Riel <[email protected]>
    Cc: Tavis Ormandy <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    suryasaimadhu authored and Ingo Molnar committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    18ecb3b View commit details
    Browse the repository at this point in the history
  9. blk-mq: fix iteration of busy bitmap

    Commit 889fa31 was a bit too eager in reducing the loop count,
    so we ended up missing queues in some configurations. Ensure that
    our division rounds up, so that's not the case.
    
    Reported-by: Guenter Roeck <[email protected]>
    Fixes: 889fa31 ("blk-mq: reduce unnecessary software queue looping")
    Signed-off-by: Jens Axboe <[email protected]>
    axboe committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    569fd0c View commit details
    Browse the repository at this point in the history
  10. tile: use si_int instead of si_ptr for compat_siginfo

    To be compatible with the generic get_compat_sigevent(), the
    copy_siginfo_to_user32() and thus copy_siginfo_from_user32()
    have to use si_int instead of si_ptr.  Using si_ptr means that
    for the case of ILP32 compat code running in big-endian mode,
    we would end up copying the high 32 bits of the pointer value
    into si_int instead of the desired low 32 bits.
    
    Signed-off-by: Chris Metcalf <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Chris Metcalf committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    89067c2 View commit details
    Browse the repository at this point in the history
  11. tile/elf: reorganize notify_exec()

    In the future mm->exe_file will be done without mmap_sem
    serialization, thus isolate and reorganize the tile elf
    code to make the transition easier. Good users will, make
    use of the more standard get_mm_exe_file(), requiring only
    holding the mmap_sem to read the value, and relying on reference
    counting to make sure that the exe file won't dissappear
    underneath us.
    
    The visible effects of this patch are:
    
       o We now take and drop the mmap_sem more often. Instead of
         just in arch_setup_additional_pages(), we also do it in:
    
         1) get_mm_exe_file()
         2) to get the mm->vm_file and notify the simulator.
    
        [Note that 1) will disappear once we change the locking
         rules for exe_file.]
    
       o We avoid getting a free page and doing d_path() while
         holding the mmap_sem. This requires reordering the checks.
    
    Signed-off-by: Davidlohr Bueso <[email protected]>
    Signed-off-by: Chris Metcalf <[email protected]>
    Davidlohr Bueso authored and Chris Metcalf committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    5a3b4e8 View commit details
    Browse the repository at this point in the history
  12. arch: tile: fix null pointer dereference on pt_regs pointer

    Cppcheck reports the following issue:
    [arch/tile/kernel/stack.c:116]: (error) Possible null
      pointer dereference: p
    
    In this case, on reporting on an odd fault, p is set to NULL
    and immediately afterwords p is dereferenced iff
    !kbt->profile is false.  Rather than doing this check just
    return NULL rather than falling through to the potential
    null pointer dereference (since the original intentional
    outcome would be to return NULL anyhow) for this odd fault
    case.
    
    Signed-off-by: Colin Ian King <[email protected]>
    Signed-off-by: Chris Metcalf <[email protected]> [tweaked lightly]
    Colin Ian King authored and Chris Metcalf committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    9088616 View commit details
    Browse the repository at this point in the history
  13. tile: support arch_irq_work_raise

    Tile includes a hypervisor hook to deliver messages to arbitrary
    tiles, so we can use that to raise an interrupt as soon as
    possible on our own core.  Unfortunately the Tilera hypervisor
    disabled that support on principle in previous releases, but
    it will be available in MDE 4.3.4 and later.
    
    Signed-off-by: Chris Metcalf <[email protected]>
    Acked-by: Frederic Weisbecker <[email protected]>
    Chris Metcalf committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    b340c65 View commit details
    Browse the repository at this point in the history
  14. tcp: tcp_get_info() should fetch socket fields once

    tcp_get_info() can be called without holding socket lock,
    so any socket fields can change under us.
    
    Use READ_ONCE() to fetch sk_pacing_rate and sk_max_pacing_rate
    
    Fixes: 977cb0e ("tcp: add pacing_rate information into tcp_info")
    Signed-off-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Eric Dumazet authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    fad9dfe View commit details
    Browse the repository at this point in the history
  15. inet_diag: fix access to tcp cc information

    Two different problems are fixed here :
    
    1) inet_sk_diag_fill() might be called without socket lock held.
       icsk->icsk_ca_ops can change under us and module be unloaded.
       -> Access to freed memory.
       Fix this using rcu_read_lock() to prevent module unload.
    
    2) Some TCP Congestion Control modules provide information
       but again this is not safe against icsk->icsk_ca_ops
       change and nla_put() errors were ignored. Some sockets
       could not get the additional info if skb was almost full.
    
    Fix this by returning a status from get_info() handlers and
    using rcu protection as well.
    
    Signed-off-by: Eric Dumazet <[email protected]>
    Acked-by: Daniel Borkmann <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Eric Dumazet authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    521f1cf View commit details
    Browse the repository at this point in the history
  16. act_mirred: Fix bogus header when redirecting from VLAN

    When you redirect a VLAN device to any device, you end up with
    crap in af_packet on the xmit path because hard_header_len is
    not equal to skb->mac_len.  So the redirected packet contains
    four extra bytes at the start which then gets interpreted as
    part of the MAC address.
    
    This patch fixes this by only pushing skb->mac_len.  We also
    need to fix ifb because it tries to undo the pushing done by
    act_mirred.
    
    Signed-off-by: Herbert Xu <[email protected]>
    Acked-by: Alexei Starovoitov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    herbertx authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    f40ae91 View commit details
    Browse the repository at this point in the history
  17. net: remove unused 'dev' argument from netif_needs_gso()

    In commit 04ffcb2 ("net: Add ndo_gso_check") Tom originally
    added the 'dev' argument to be able to call ndo_gso_check().
    
    Then later, when generalizing this in commit 5f35227
    ("net: Generalize ndo_gso_check to ndo_features_check")
    Jesse removed the call to ndo_gso_check() in netif_needs_gso()
    by calling the new ndo_features_check() in a different place.
    This made the 'dev' argument unused.
    
    Remove the unused argument and go back to the code as before.
    
    Cc: Tom Herbert <[email protected]>
    Cc: Jesse Gross <[email protected]>
    Signed-off-by: Johannes Berg <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    jmberg-intel authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    8b86a61 View commit details
    Browse the repository at this point in the history
  18. tile: support CONTEXT_TRACKING and thus NOHZ_FULL

    Add the TIF_NOHZ flag appropriately.
    
    Add call to user_exit() on entry to do_work_pending() and on entry
    to syscalls via do_syscall_trace_enter(), and also the top of
    do_syscall_trace_exit() just because it's done in x86.
    
    Add call to user_enter() at the bottom of do_work_pending() once we
    have no more work to do before returning to userspace.
    
    Wrap all the trap code in exception_enter() / exception_exit().
    
    Signed-off-by: Chris Metcalf <[email protected]>
    Acked-by: Frederic Weisbecker <[email protected]>
    Chris Metcalf committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    49e4e15 View commit details
    Browse the repository at this point in the history
  19. tile: map data region shadow of kernel as R/W

    This is necessary for things like reading /proc/kcore, doing ftrace,
    etc.  It happens by default when using huge pages to map the kernel
    data, but not when using small pages.
    
    Signed-off-by: Chris Metcalf <[email protected]>
    Chris Metcalf committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    a84f242 View commit details
    Browse the repository at this point in the history
  20. tile: ftrace: fix function_graph tracer issues

    - Add support for ARCH_SUPPORTS_FTRACE_OPS
    - Replace the instruction in ftrace_call with the bundle {move r10, lr;
    jal ftrace_stub}, so that the lr contains the right value after returning
    from ftrace_stub.  An alternative fix might be to leave the instruction
    in ftrace_call alone when it is being updated with ftrace_stub.
    
    Signed-off-by: Tony Lu <[email protected]>
    Signed-off-by: Chris Metcalf <[email protected]>
    Tony Lu authored and Chris Metcalf committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    437d3e1 View commit details
    Browse the repository at this point in the history
  21. tile: nohz: warn if nohz_full uses hypervisor shared cores

    The "hypervisor shared" cores are ones that the Tilera hypervisor
    uses to receive interrupts to manage hypervisor-owned devices.
    It's a bad idea to try to use those cores with nohz_full, since
    they will get interrupted unpredictably -- and invisibly to Linux
    tracing tools, since the interrupts are delivered at a higher
    privilege level to the Tilera hypervisor.
    
    Generate a clear warning at boot up that this doesn't end well
    for the nohz_full cores in question.
    
    Signed-off-by: Chris Metcalf <[email protected]>
    Chris Metcalf committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    128f3cb View commit details
    Browse the repository at this point in the history
  22. Merge tag 'acpica-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/rafael/linux-pm
    
    Pull ACPICA updates from Rafael Wysocki:
     "This updates the kernel's ACPICA code to upstream revision 20150410
      and adds a fix for a GPE handling regression introduced during the
      3.19 cycle on top of that.
    
      Included are two stable-candidate bug fixes (one of them fixing a 3.16
      regression), multiple other fixes and a bunch of cleanups.
    
      Specifics:
    
       - Fix for a GPE handling regression on Dell Latitude D600 that caused
         GPE signaling to stop working on that machine, which appears to be
         due to a hardware glitch, but it used to work and it can be made
         work again in a relativly straightforward way (Rafael J Wysocki).
    
       - Fix for a mutex unlock regression related to the handling of ACPI
         tables introduced during the 3.16 development cycle (Octavian
         Purdila).
    
       - _REV modification to always return 2 which has been done by all
         versions of Windows since NT and the firmware people started to use
         it to distinguish between OSes in their AML and do some silly and
         wrong things on that basis (Bob Moore).
    
       - Fixes and cleanups related to the acpi_physicall_address data type
         including one stable-candidate fix for an issue occasionally
         occuring on 64-bit machines running 32-bit kernels where using
         offsets provided by the firmware may lead to address overflows (Lv
         Zheng).
    
       - External() opcode support infrastructure needed for recompiling
         disassembled ACPI tables in some cases including interpreter
         modification to ignore that opcode (Bob Moore).
    
       - Support for the "Windows 2015" string in _OSI (Bob Moore).
    
       - GPE debug interface change to return values read from hardware
         registers (Lv Zheng).
    
       - Removal of the __DATE__ macro usage in tools (Rasmus Villemoes).
    
       - Assorted minor fixes and cleanups (Lv Zheng, Rickard Strandqvist,
         Bob Moore)"
    
    * tag 'acpica-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
      ACPICA: Store GPE register enable masks upfront
      ACPICA: Update version to 20150410.
      ACPICA: Fix a couple issues with the local printf module.
      ACPICA: Disassembler: Some cleanup of the table dump module.
      ACPICA: iASL: Add support for MSDM ACPI table.
      ACPICA: Update for SLIC ACPI table.
      ACPICA: Add "//" before ascii output of buffers.
      ACPICA: Remove unused internal AML opcode.
      ACPICA: Permanently set _REV to the value '2'.
      ACPICA: Add "Windows 2015" string to _OSI support.
      ACPICA: Add infrastructure for External() opcode.
      ACPICA: iASL: Enhancement for constant folding.
      ACPICA: iASL/Disassembler: Add option to assume table contains valid AML.
      ACPICA: Update AML Debugger global variables.
      ACPICA: Update Resource descriptor dump module.
      ACPICA: Fix a sscanf format string.
      ACPICA: Casting changes around acpi_physical_address/acpi_size.
      ACPICA: Resources: Correct conditional compilation definitions.
      ACPICA: Utilities: Correct conditional compilation definitions.
      ACPICA: Tables: Move an iasl specific table function to iasl source file.
      ...
    torvalds committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    0f5abd4 View commit details
    Browse the repository at this point in the history
  23. Merge branch 'for-linus' of git://git.kernel.dk/linux-block

    Pull block core fix from Jens Axboe:
     "A commit in the previous pull request introduce a regression.  So far
      only observed on qemu-sparc64, but it's a general bug.  Please pull
      this single fix to rectify that, thanks"
    
    [ And it turns out that it's been seen outside of that qemu-sparc64
      case, and is easy to trigger with small number of CPUs and blk-mq
      enabled by default - Linus ]
    
    * 'for-linus' of git://git.kernel.dk/linux-block:
      blk-mq: fix iteration of busy bitmap
    torvalds committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    e076b7c View commit details
    Browse the repository at this point in the history
  24. altera tse: Fix network-delays and -retransmissions after high throug…

    …hput.
    
    Fix bug which occurs when more than <limit> packets are available during
    napi-poll, leading to "delays" and retransmissions on the network.
    
    Check for (count < limit) before checking the get_rx_status in tse_rx-function.
    Function get_rx_status is reading from the response-fifo.
    If there is currently a response in the fifo,
    reading the last byte of the response pops the value from the fifo.
    If the limit is checked as second condition
    and the limit is reached the fifo is popped but the packet is not processed.
    
    Signed-off-by: Andreas Oetken <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    oetken authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    93ea337 View commit details
    Browse the repository at this point in the history
  25. sfc: Fix memcpy() with const destination compiler warning.

    drivers/net/ethernet/sfc/selftest.c: In function ‘efx_iterate_state’:
    drivers/net/ethernet/sfc/selftest.c:388:9: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
    
    This is because the msg[] member of struct efx_loopback_payload
    is marked as 'const'.  Remove that.
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    1d20a16 View commit details
    Browse the repository at this point in the history
  26. IB/ipoib: Fix ndo_get_iflink

    Currently, iflink of the parent interface was always accessed, even
    when interface didn't have a parent and hence we crashed there.
    
    Handle the interface types properly: for a child interface, return
    the ifindex of the parent, for parent interface, return its ifindex.
    
    For child devices, make sure to set the parent pointer prior to
    invoking register_netdevice(), this allows the new ndo to be called
    by the stack immediately after the child device is registered.
    
    Fixes: 5aa7add ('infiniband/ipoib: implement ndo_get_iflink')
    Reported-by: Honggang Li <[email protected]>
    Signed-off-by: Erez Shitrit <[email protected]>
    Signed-off-by: Honggang Li <[email protected]>
    Reviewed-By: Jason Gunthorpe <[email protected]>+
    Acked-by: Nicolas Dichtel <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Erez Shitrit authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    2c15395 View commit details
    Browse the repository at this point in the history
  27. netns: remove BUG_ONs from net_generic()

    This inline has ~500 callsites.
    
    On 04/14/2015 08:37 PM, David Miller wrote:
    > That BUG_ON() was added 7 years ago, and I don't remember it ever
    > triggering or helping us diagnose something, so just remove it and
    > keep the function inlined.
    
    On x86 allyesconfig build:
    
        text     data      bss       dec     hex filename
    82447071 22255384 20627456 125329911 77861f7 vmlinux4
    82441375 22255384 20627456 125324215 7784bb7 vmlinux5prime
    
    Signed-off-by: Denys Vlasenko <[email protected]>
    CC: Eric W. Biederman <[email protected]>
    CC: David S. Miller <[email protected]>
    CC: Jan Engelhardt <[email protected]>
    CC: Jiri Pirko <[email protected]>
    CC: [email protected]
    CC: [email protected]
    Signed-off-by: David S. Miller <[email protected]>
    dvlasenk authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    2591ffd View commit details
    Browse the repository at this point in the history
  28. iommu-common: Fix PARISC compile-time warnings

    Fixes warnings due to
    - no DMA_ERROR_CODE on PARISC,
    - sizeof (unsigned long) == 4 bytes on PARISC.
    
    Signed-off-by: Sowmini Varadhan <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sowminiv authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    cb97201 View commit details
    Browse the repository at this point in the history
  29. ide: remove deprecated use of pci api

    Replace occurences of the pci api by appropriate call to the dma api.
    
    A simplified version of the semantic patch that finds this problem is as
    follows: (http://coccinelle.lip6.fr)
    
    @deprecated@
    idexpression id;
    position p;
    @@
    
    (
      pci_dma_supported@p ( id, ...)
    |
      pci_alloc_consistent@p ( id, ...)
    )
    
    @bad1@
    idexpression id;
    position deprecated.p;
    @@
    ...when != &id->dev
       when != pci_get_drvdata ( id )
       when != pci_enable_device ( id )
    (
      pci_dma_supported@p ( id, ...)
    |
      pci_alloc_consistent@p ( id, ...)
    )
    
    @Depends on !bad1@
    idexpression id;
    expression direction;
    position deprecated.p;
    @@
    
    (
    - pci_dma_supported@p ( id,
    + dma_supported ( &id->dev,
    ...
    + , GFP_ATOMIC
      )
    |
    - pci_alloc_consistent@p ( id,
    + dma_alloc_coherent ( &id->dev,
    ...
    + , GFP_ATOMIC
      )
    )
    
    Signed-off-by: Quentin Lambert <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Quentin Lambert authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    d681f11 View commit details
    Browse the repository at this point in the history
  30. Merge tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux

    Pull Xtensa updates from Chris Zankel:
    
     - fix linker script transformation for .text / .text.fixup
    
     - wire bpf and execveat syscalls
    
     - provide __NR_sync_file_range2 instead of __NR_sync_file_range, as
       that's what xtensa uses.
    
     - make xtfpgs LCD driver functional and configurable.  This fixes
       hardware lockup on KC705/ML605 boot
    
     - add audio subsystem bits to xtfpga DTS and provide sample KC705
       config with audio features enabled
    
     - add CY7C67300 USB controller support to XTFPGA
    
     - fix locking issues in ISS network driver
    
     - document PIC and MX interrupt distributor device tree bindings
    
    * tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux:
      xtensa: xtfpga: add CY7C67300 USB controller support
      irqchip: xtensa-pic: xtensa-mx: document DT bindings
      xtensa: ISS: fix locking in TAP network adapter
      xtensa: Fix fix linker script transformation for .text / .text.fixup
      xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range
      xtensa: wire bpf and execveat syscalls
      xtensa: xtfpga: fix hardware lockup caused by LCD driver
      xtensa: xtfpga: provide defconfig with audio subsystem
      xtensa: xtfpga: add audio card to xtfpga DTS
    torvalds committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    96d928e View commit details
    Browse the repository at this point in the history
  31. Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…

    …ream-linus
    
    Pull MIPS updates from Ralf Baechle:
     "This is the main pull request for MIPS for Linux 4.1.  Most
      noteworthy:
    
       - Add more Octeon-optimized crypto functions
       - Octeon crypto preemption and locking fixes
       - Little endian support for Octeon
       - Use correct CSR to soft reset Octeons
       - Support LEDs on the Octeon-based DSR-1000N
       - Fix PCI interrupt mapping for the Octeon-based DSR-1000N
       - Mark prom_free_prom_memory() as __init for a number of systems
       - Support for Imagination's Pistachio SOC.  This includes arch and
         CLK bits.  I'd like to merge pinctrl bits later
       - Improve parallelism of csum_partial for certain pipelines
       - Organize DTB files in subdirs like other architectures
       - Implement read_sched_clock for all MIPS platforms other than
         Octeon
       - Massive series of 38 fixes and cleanups for the FPU emulator /
         kernel
       - Further FPU remulator work to support new features.  This sits on a
         separate branch which also has been pulled into the 4.1 KVM branch
       - Clean up and fixes for the SEAD3 eval board; remove unused file
       - Various updates for Netlogic platforms
       - A number of small updates for Loongson 3 platforms
       - Increase the memory limit for ATH79 platforms to 256MB
       - A fair number of fixes and updates for BCM47xx platforms
       - Finish the implementation of XPA support
       - MIPS FDC support.  No, not floppy controller but Fast Debug Channel :)
       - Detect the R16000 used in SGI legacy platforms
       - Fix Kconfig dependencies for the SSB bus support"
    
    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (265 commits)
      MIPS: Makefile: Fix MIPS ASE detection code
      MIPS: asm: elf: Set O32 default FPU flags
      MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
      MIPS: Kconfig: Disable SMP/CPS for 64-bit
      MIPS: Hibernate: flush TLB entries earlier
      MIPS: smp-cps: cpu_set FPU mask if FPU present
      MIPS: lose_fpu(): Disable FPU when MSA enabled
      MIPS: ralink: add missing symbol for RALINK_ILL_ACC
      MIPS: ralink: Fix bad config symbol in PCI makefile.
      SSB: fix Kconfig dependencies
      MIPS: Malta: Detect and fix bad memsize values
      Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores."
      MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard.
      MIPS: Fix cpu_has_mips_r2_exec_hazard.
      MIPS: kernel: entry.S: Set correct ISA level for mips_ihb
      MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case
      MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes
      MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter
      MIPS: unaligned: Fix regular load/store instruction emulation for EVA
      MIPS: unaligned: Surround load/store macros in do {} while statements
      ...
    torvalds committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    bfaf245 View commit details
    Browse the repository at this point in the history
  32. net: dsa: use DEVICE_ATTR_RW to declare temp1_max

    Since commit da4759c (sysfs: Use only return value from is_visible for
    the file mode), it is possible to reduce the permissions of a file.
    
    So declare temp1_max with the DEVICE_ATTR_RW macro and remove the write
    permission in dsa_hwmon_attrs_visible if set_temp_limit isn't provided.
    
    Signed-off-by: Vivien Didelot <[email protected]>
    Reviewed-by: Guenter Roeck <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    vivien authored and davem330 committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    e3122b7 View commit details
    Browse the repository at this point in the history
  33. Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile

    Pull arch/tile updates from Chris Metcalf:
     "These are mostly nohz_full changes, plus a smattering of minor fixes
      (notably a couple for ftrace)"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
      tile: nohz: warn if nohz_full uses hypervisor shared cores
      tile: ftrace: fix function_graph tracer issues
      tile: map data region shadow of kernel as R/W
      tile: support CONTEXT_TRACKING and thus NOHZ_FULL
      tile: support arch_irq_work_raise
      arch: tile: fix null pointer dereference on pt_regs pointer
      tile/elf: reorganize notify_exec()
      tile: use si_int instead of si_ptr for compat_siginfo
    torvalds committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    6b6e177 View commit details
    Browse the repository at this point in the history
  34. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

    Pull sparc updates from David Miller:
     "The PowerPC folks have a really nice scalable IOMMU pool allocator
      that we wanted to make use of for sparc.  So here we have a series
      that abstracts out their code into a common layer that anyone can make
      use of.
    
      Sparc is converted, and the PowerPC folks have reviewed and ACK'd this
      series and plan to convert PowerPC over as well"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
      iommu-common: Fix PARISC compile-time warnings
      sparc: Make LDC use common iommu poll management functions
      sparc: Make sparc64 use scalable lib/iommu-common.c functions
      sparc: Break up monolithic iommu table/lock into finer graularity pools and lock
    torvalds committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    e2fdae7 View commit details
    Browse the repository at this point in the history
  35. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
    
     1) Fix verifier memory corruption and other bugs in BPF layer, from
        Alexei Starovoitov.
    
     2) Add a conservative fix for doing BPF properly in the BPF classifier
        of the packet scheduler on ingress.  Also from Alexei.
    
     3) The SKB scrubber should not clear out the packet MARK and security
        label, from Herbert Xu.
    
     4) Fix oops on rmmod in stmmac driver, from Bryan O'Donoghue.
    
     5) Pause handling is not correct in the stmmac driver because it
        doesn't take into consideration the RX and TX fifo sizes.  From
        Vince Bridgers.
    
     6) Failure path missing unlock in FOU driver, from Wang Cong.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
      net: dsa: use DEVICE_ATTR_RW to declare temp1_max
      netns: remove BUG_ONs from net_generic()
      IB/ipoib: Fix ndo_get_iflink
      sfc: Fix memcpy() with const destination compiler warning.
      altera tse: Fix network-delays and -retransmissions after high throughput.
      net: remove unused 'dev' argument from netif_needs_gso()
      act_mirred: Fix bogus header when redirecting from VLAN
      inet_diag: fix access to tcp cc information
      tcp: tcp_get_info() should fetch socket fields once
      net: dsa: mv88e6xxx: Add missing initialization in mv88e6xxx_set_port_state()
      skbuff: Do not scrub skb mark within the same name space
      Revert "net: Reset secmark when scrubbing packet"
      bpf: fix two bugs in verification logic when accessing 'ctx' pointer
      bpf: fix bpf helpers to use skb->mac_header relative offsets
      stmmac: Configure Flow Control to work correctly based on rxfifo size
      stmmac: Enable unicast pause frame detect in GMAC Register 6
      stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree
      stmmac: Add defines and documentation for enabling flow control
      stmmac: Add properties for transmit and receive fifo sizes
      stmmac: fix oops on rmmod after assigning ip addr
      ...
    torvalds committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    388f997 View commit details
    Browse the repository at this point in the history
  36. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide

    Pull IDE update from David Miller:
     "Just one change, getting rid of usage of the deprecated PCI DMA
      interfaces in the IDE drivers"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
      ide: remove deprecated use of pci api
    torvalds committed Apr 17, 2015
    Configuration menu
    Copy the full SHA
    04b7fe6 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2015

  1. perf/x86/intel/pt: Fix and clean up error handling in pt_event_add()

    Dan Carpenter reported that pt_event_add() has buggy
    error handling logic: it returns 0 instead of -EBUSY when
    it fails to start a newly added event.
    
    Furthermore, the control flow in this function is messy,
    with cleanup labels mixed with direct returns.
    
    Fix the bug and clean up the code by converting it to
    a straight fast path for the regular non-failing case,
    plus a clear sequence of cascading goto labels to do
    all cleanup.
    
    NOTE: I materially changed the existing clean up logic in the
    pt_event_start() failure case to use the direct
    perf_aux_output_end() path, not pt_event_del(), because
    perf_aux_output_end() is enough here.
    
    Reported-by: Dan Carpenter <[email protected]>
    Acked-by: Alexander Shishkin <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Julia Lawall <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Paul Mackerras <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    0c99241 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'dm-4.1-changes' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/device-mapper/linux-dm
    
    Pull device mapper updates from Mike Snitzer:
    
     - the most extensive changes this cycle are the DM core improvements to
       add full blk-mq support to request-based DM.
    
        - disabled by default but user can opt-in with CONFIG_DM_MQ_DEFAULT
        - depends on some blk-mq changes from Jens' for-4.1/core branch so
          that explains why this pull is built on linux-block.git
    
     - update DM to use name_to_dev_t() rather than open-coding a less
       capable device parser.
    
        - includes a couple small improvements to name_to_dev_t() that offer
          stricter constraints that DM's code provided.
    
     - improvements to the dm-cache "mq" cache replacement policy.
    
     - a DM crypt crypt_ctr() error path fix and an async crypto deadlock
       fix
    
     - a small efficiency improvement for DM crypt decryption by leveraging
       immutable biovecs
    
     - add error handling modes for corrupted blocks to DM verity
    
     - a new "log-writes" DM target from Josef Bacik that is meant for file
       system developers to test file system integrity at particular points
       in the life of a file system
    
     - a few DM log userspace cleanups and fixes
    
     - a few Documentation fixes (for thin, cache, crypt and switch)
    
    * tag 'dm-4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (34 commits)
      dm crypt: fix missing error code return from crypt_ctr error path
      dm crypt: fix deadlock when async crypto algorithm returns -EBUSY
      dm crypt: leverage immutable biovecs when decrypting on read
      dm crypt: update URLs to new cryptsetup project page
      dm: add log writes target
      dm table: use bool function return values of true/false not 1/0
      dm verity: add error handling modes for corrupted blocks
      dm thin: remove stale 'trim' message documentation
      dm delay: use msecs_to_jiffies for time conversion
      dm log userspace base: fix compile warning
      dm log userspace transfer: match wait_for_completion_timeout return type
      dm table: fall back to getting device using name_to_dev_t()
      init: stricter checking of major:minor root= values
      init: export name_to_dev_t and mark name argument as const
      dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr
      dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq
      dm: add full blk-mq support to request-based DM
      dm: impose configurable deadline for dm_request_fn's merge heuristic
      dm sysfs: introduce ability to add writable attributes
      dm: don't start current request if it would've merged with the previous
      ...
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    afad97e View commit details
    Browse the repository at this point in the history
  3. Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
     "Two buildfixes for I2C based on your tree from the day before
      yesterday.  Sadly, these build errors never reached me while the
      patches were sitting in -next.  Need to fix that"
    
    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      i2c: core: Export bus recovery functions
      i2c: jz4780: Fix build for m68k and sparc64
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    40d7839 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/linusw/linux-gpio
    
    Pull GPIO updates from Linus Walleij:
     "This is the bulk of GPIO changes for the v4.1 development cycle:
    
       - A new GPIO hogging mechanism has been added.  This can be used on
         boards that want to drive some GPIO line high, low, or set it as
         input on boot and then never touch it again.  For some embedded
         systems this is bliss and simplifies things to a great extent.
    
       - Some API cleanup and closure: gpiod_get_array() and
         gpiod_put_array() has been added to get and put GPIOs in bulk as
         was possible with the non-descriptor API.
    
       - Encapsulate cross-calls to the pin control subsystem in
         <linux/gpio/driver.h>.  Now this should be the only header any GPIO
         driver needs to include or something is wrong.  Cleanups
         restricting drivers to this include are welcomed if tested.
    
       - Sort the GPIO Kconfig and split it into submenus, as it was
         becoming and unstructured, illogical and unnavigatable mess.  I
         hope this is easier to follow.  Menus that require a certain
         subsystem like I2C can now be hidden nicely for example, still
         working on others.
    
       - New drivers:
    
           - New driver for the Altera Soft GPIO.
    
           - The F7188x driver now handles the F71869 and F71869A variants.
    
           - The MIPS Loongson driver has been moved to drivers/gpio for
             consolidation and cleanup.
    
       - Cleanups:
    
           - The MAX732x is converted to use the GPIOLIB_IRQCHIP
             infrastructure.
    
           - The PCF857x is converted to use the GPIOLIB_IRQCHIP
             infrastructure.
    
           - Radical cleanup of the OMAP driver.
    
       - Misc:
    
           - Enable the DWAPB GPIO for all architectures.  This is a "hard
             IP" block from Synopsys which has started to turn up in so
             diverse architectures as X86 Quark, ARC and a slew of ARM
             systems.  So even though it's not an expander, it's generic
             enough to be available for all.
    
           - We add a mock GPIO on Crystalcove PMIC after a long discussion
             with Daniel Vetter et al, tracing back to the shootout at the
             kernel summit where DRM drivers and sub-componentization was
             discussed.  In this case a mock GPIO is assumed to be the best
             compromise gaining some reuse of infrastructure without making
             DRM drivers overly complex at the same time.  Let's see"
    
    * tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (62 commits)
      Revert "gpio: sch: use uapi/linux/pci_ids.h directly"
      gpio: dwapb: remove dependencies
      gpio: dwapb: enable for ARC
      gpio: removing kfree remove functionality
      gpio: mvebu: Fix mask/unmask managment per irq chip type
      gpio: split GPIO drivers in submenus
      gpio: move MFD GPIO drivers under their own comment
      gpio: move BCM Kona Kconfig option
      gpio: arrange SPI Kconfig symbols alphabetically
      gpio: arrange PCI GPIO controllers alphabetically
      gpio: arrange I2C Kconfig symbols alphabetically
      gpio: arrange Kconfig symbols alphabetically
      gpio: ich: Implement get_direction function
      gpio: use (!foo) instead of (foo == NULL)
      gpio: arizona: drop owner assignment from platform_drivers
      gpio: max7300: remove 'ret' variable
      gpio: use devm_kzalloc
      gpio: sch: use uapi/linux/pci_ids.h directly
      gpio: x-gene: fix devm_ioremap_resource() check
      gpio: loongson: Add Loongson-3A/3B GPIO driver support
      ...
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    510965d View commit details
    Browse the repository at this point in the history
  5. Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/glikely/linux
    
    Pull devicetree changes from Grant Likely:
     "Here are the devicetree changes queued up for v4.1.  Nothing really
      exciting here.  Rob has another few commits for big-endian attached
      UARTs, but those will be sent in a separate merge request since they
      haven't been as thoroughly tested as this batch.
    
      Here are the highlights:
    
       - lots of unittest cleanup from Frank Rowand
    
       - bugfixes and updates to the of_graph code
    
       - tighten up of_get_mac_address() code
    
       - documentation updates"
    
    * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
      of/unittest: Fix of_platform_depopulate test case
      of/unittest: early return from test skips tests
      of/unittest: breadcrumbs to reduce pain of future maintainers
      of/unittest: reduce checkpatch noise - line after declarations
      of/unittest: typo in error string
      of/unittest: add const where needed
      of_net: factor out repetitive code from of_get_mac_address()
      drivers/of: Add empty ranges quirk for PA-Semi
      of: Allow selection of OF_DYNAMIC and OF_OVERLAY if OF_UNITTEST
      of: Empty node & property flag accessors when !OF
      of: Explicitly include linux/types.h in of_graph.h
      dt-bindings: brcm: rationalize Broadcom documentation naming
      of/unittest: replace 'selftest' with 'unittest'
      Documentation: rename of_selftest.txt to of_unittest.txt
      Documentation: update the of_selftest.txt
      dt: OF_UNITTEST make dependency broken
      MAINTAINERS: Pantelis Antoniou device tree overlay maintainer
      of: Add of_graph_get_port_by_id function
      of: Add for_each_endpoint_of_node helper macro
      of: Decrement refcount of previous endpoint in of_graph_get_next_endpoint
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    7505256 View commit details
    Browse the repository at this point in the history
  6. config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected

    A huge amount of NIC drivers use the DMA API, however if
    compiled under 32-bit an very important part of the DMA API can
    be ommitted leading to the drivers not working at all
    (especially if used with 'swiotlb=force iommu=soft').
    
    As Prashant Sreedharan explains it: "the driver [tg3] uses
    DEFINE_DMA_UNMAP_ADDR(), dma_unmap_addr_set() to keep a copy of
    the dma "mapping" and dma_unmap_addr() to get the "mapping"
    value. On most of the platforms this is a no-op, but ... with
    "iommu=soft and swiotlb=force" this house keeping is required,
    ... otherwise we pass 0 while calling pci_unmap_/pci_dma_sync_
    instead of the DMA address."
    
    As such enable this even when using 32-bit kernels.
    
    Reported-by: Ian Jackson <[email protected]>
    Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
    Acked-by: David S. Miller <[email protected]>
    Acked-by: Prashant Sreedharan <[email protected]>
    Cc: Borislav Petkov <[email protected]>
    Cc: H. Peter Anvin <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Michael Chan <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    konradwilk authored and Ingo Molnar committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    a6dfa12 View commit details
    Browse the repository at this point in the history
  7. Bluetooth: hidp: Fix regression with older userspace and flags valida…

    …tion
    
    While it is not used by newer userspace anymore, the older userspace was
    utilizing HIDP_VIRTUAL_CABLE_UNPLUG and HIDP_BOOT_PROTOCOL_MODE flags
    when adding a new HIDP connection.
    
    The flags validation is important, but we can not break older userspace
    and with that allow providing these flags even if newer userspace does
    not use them anymore.
    
    Reported-and-tested-by: Jörg Otte <[email protected]>
    Signed-off-by: Marcel Holtmann <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    holtmann authored and torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    1f5014d View commit details
    Browse the repository at this point in the history
  8. Merge tag 'docs-for-linus' of git://git.lwn.net/linux-2.6

    Pull documentation updates from Jonathan Corbet:
     "Numerous fixes, the overdue removal of the i2o docs, some new Chinese
      translations, and, hopefully, the README fix that will end the flow of
      identical patches to that file"
    
    * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (34 commits)
      Documentation/memcg: update memcg/kmem status
      Documentation: blackfin: Makefile: Typo building issue
      Documentation/vm/pagemap.txt: correct location of page-types tool
      Documentation/memory-barriers.txt: typo fix
      doc: Add guest_nice column to example output of `cat /proc/stat'
      Documentation/kernel-parameters: Move "eagerfpu" to its right place
      Documentation: gpio: Update ACPI part of the document to mention _DSD
      docs/completion.txt: Various tweaks and corrections
      doc: completion: context, scope and language fixes
      Documentation:Update Documentation/zh_CN/arm64/memory.txt
      Documentation:Update Documentation/zh_CN/arm64/booting.txt
      Documentation: Chinese translation of arm64/legacy_instructions.txt
      DocBook media: fix broken EIA hyperlink
      Documentation: tweak the maintainers entry
      README: Change gzip/bzip2 to xz compression format
      README: Update version number reference
      doc:pci: Fix typo in Documentation/PCI
      Documentation: drm: Use '->' when describing access through pointers.
      Documentation: Remove mentioning of block barriers
      Documentation/email-clients.txt: Fix one grammar mistake, add extra info about TB
      ...
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    d6a24d0 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'for-f2fs-4.1' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jaegeuk/f2fs
    
    Pull f2fs updates from Jaegeuk Kim:
     "New features:
       - in-memory extent_cache
       - fs_shutdown to test power-off-recovery
       - use inline_data to store symlink path
       - show f2fs as a non-misc filesystem
    
      Major fixes:
       - avoid CPU stalls on sync_dirty_dir_inodes
       - fix some power-off-recovery procedure
       - fix handling of broken symlink correctly
       - fix missing dot and dotdot made by sudden power cuts
       - handle wrong data index during roll-forward recovery
       - preallocate data blocks for direct_io
    
      ... and a bunch of minor bug fixes and cleanups"
    
    * tag 'for-f2fs-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (71 commits)
      f2fs: pass checkpoint reason on roll-forward recovery
      f2fs: avoid abnormal behavior on broken symlink
      f2fs: flush symlink path to avoid broken symlink after POR
      f2fs: change 0 to false for bool type
      f2fs: do not recover wrong data index
      f2fs: do not increase link count during recovery
      f2fs: assign parent's i_mode for empty dir
      f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries
      f2fs: fix mismatching lock and unlock pages for roll-forward recovery
      f2fs: fix sparse warnings
      f2fs: limit b_size of mapped bh in f2fs_map_bh
      f2fs: persist system.advise into on-disk inode
      f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get
      f2fs: preallocate fallocated blocks for direct IO
      f2fs: enable inline data by default
      f2fs: preserve extent info for extent cache
      f2fs: initialize extent tree with on-disk extent info of inode
      f2fs: introduce __{find,grab}_extent_tree
      f2fs: split set_data_blkaddr from f2fs_update_extent_cache
      f2fs: enable fast symlink by utilizing inline data
      ...
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    06a60de View commit details
    Browse the repository at this point in the history
  10. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/ebiederm/user-namespace
    
    Pull usernamespace mount fixes from Eric Biederman:
     "Way back in October Andrey Vagin reported that umount(MNT_DETACH)
      could be used to defeat MNT_LOCKED.  As I worked to fix this I
      discovered that combined with mount propagation and an appropriate
      selection of shared subtrees a reference to a directory on an
      unmounted filesystem is not necessary.
    
      That MNT_DETACH is allowed in user namespace in a form that can break
      MNT_LOCKED comes from my early misunderstanding what MNT_DETACH does.
    
      To avoid breaking existing userspace the conflict between MNT_DETACH
      and MNT_LOCKED is fixed by leaving mounts that are locked to their
      parents in the mount hash table until the last reference goes away.
    
      While investigating this issue I also found an issue with
      __detach_mounts.  The code was unnecessarily and incorrectly
      triggering mount propagation.  Resulting in too many mounts going away
      when a directory is deleted, and too many cpu cycles are burned while
      doing that.
    
      Looking some more I realized that __detach_mounts by only keeping
      mounts connected that were MNT_LOCKED it had the potential to still
      leak information so I tweaked the code to keep everything locked
      together that possibly could be.
    
      This code was almost ready last cycle but Al invented fs_pin which
      slightly simplifies this code but required rewrites and retesting, and
      I have not been in top form for a while so it took me a while to get
      all of that done.  Similiarly this pull request is late because I have
      been feeling absolutely miserable all week.
    
      The issue of being able to escape a bind mount has not yet been
      addressed, as the fixes are not yet mature"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
      mnt: Update detach_mounts to leave mounts connected
      mnt: Fix the error check in __detach_mounts
      mnt: Honor MNT_LOCKED when detaching mounts
      fs_pin: Allow for the possibility that m_list or s_list go unused.
      mnt: Factor umount_mnt from umount_tree
      mnt: Factor out unhash_mnt from detach_mnt and umount_tree
      mnt: Fail collect_mounts when applied to unmounted mounts
      mnt: Don't propagate unmounts to locked mounts
      mnt: On an unmount propagate clearing of MNT_LOCKED
      mnt: Delay removal from the mount hash.
      mnt: Add MNT_UMOUNT flag
      mnt: In umount_tree reuse mnt_list instead of mnt_hash
      mnt: Don't propagate umounts in __detach_mounts
      mnt: Improve the umount_tree flags
      mnt: Use hlist_move_list in namespace_unlock
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    8f502d5 View commit details
    Browse the repository at this point in the history
  11. Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/tip/tip
    
    Pull locking fixes from Ingo Molnar:
     "Two fixes: an smp-call fix and a lockdep fix"
    
    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      smp: Fix smp_call_function_single_async() locking
      lockdep: Make print_lock() robust against concurrent release
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    396c9df View commit details
    Browse the repository at this point in the history
  12. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull perf updates from Ingo Molnar:
     "This update has mostly fixes, but also other bits:
    
       - perf tooling fixes
    
       - PMU driver fixes
    
       - Intel Broadwell PMU driver HW-enablement for LBR callstacks
    
       - a late coming 'perf kmem' tool update that enables it to also
         analyze page allocation data.  Note, this comes with MM tracepoint
         changes that we believe to not break anything: because it changes
         the formerly opaque 'struct page *' field that uniquely identifies
         pages to 'pfn' which identifies pages uniquely too, but isn't as
         opaque and can be used for other purposes as well"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf/x86/intel/pt: Fix and clean up error handling in pt_event_add()
      perf/x86/intel: Add Broadwell support for the LBR callstack
      perf/x86/intel/rapl: Fix energy counter measurements but supporing per domain energy units
      perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events
      perf/x86: Fix hw_perf_event::flags collision
      perf probe: Fix segfault when probe with lazy_line to file
      perf probe: Find compilation directory path for lazy matching
      perf probe: Set retprobe flag when probe in address-based alternative mode
      perf kmem: Analyze page allocator events also
      tracing, mm: Record pfn instead of pointer to struct page
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    96b90f2 View commit details
    Browse the repository at this point in the history
  13. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull x86 fixes from Ingo Molnar:
     "This tree includes:
    
       - an FPU related crash fix
    
       - a ptrace fix (with matching testcase in tools/testing/selftests/)
    
       - an x86 Kconfig DMA-config defaults tweak to better avoid
         non-working drivers"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected
      x86/fpu: Load xsave pointer *after* initialization
      x86/ptrace: Fix the TIF_FORCED_TF logic in handle_signal()
      x86, selftests: Add single_step_syscall test
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    90d1c08 View commit details
    Browse the repository at this point in the history
  14. Merge branch 'x86-pmem-for-linus' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull PMEM driver from Ingo Molnar:
     "This is the initial support for the pmem block device driver:
      persistent non-volatile memory space mapped into the system's physical
      memory space as large physical memory regions.
    
      The driver is based on Intel code, written by Ross Zwisler, with fixes
      by Boaz Harrosh, integrated with x86 e820 memory resource management
      and tidied up by Christoph Hellwig.
    
      Note that there were two other separate pmem driver submissions to
      lkml: but apparently all parties (Ross Zwisler, Boaz Harrosh) are
      reasonably happy with this initial version.
    
      This version enables minimal support that enables persistent memory
      devices out in the wild to work as block devices, identified through a
      magic (non-standard) e820 flag and auto-discovered if
      CONFIG_X86_PMEM_LEGACY=y, or added explicitly through manipulating the
      memory maps via the "memmap=..." boot option with the new, special '!'
      modifier character.
    
      Limitations: this is a regular block device, and since the pmem areas
      are not struct page backed, they are invisible to the rest of the
      system (other than the block IO device), so direct IO to/from pmem
      areas, direct mmap() or XIP is not possible yet.  The page cache will
      also shadow and double buffer pmem contents, etc.
    
      Initial support is for x86"
    
    * 'x86-pmem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      drivers/block/pmem: Fix 32-bit build warning in pmem_alloc()
      drivers/block/pmem: Add a driver for persistent memory
      x86/mm: Add support for the non-standard protected e820 type
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    34a984f View commit details
    Browse the repository at this point in the history
  15. tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names

    s/MSR_NHM_TURBO_RATIO_LIMIT/MSR_TURBO_RATIO_LIMIT/
    s/MSR_IVT_TURBO_RATIO_LIMIT/MSR_TURBO_RATIO_LIMIT1/
    
    syntax only -- use the documented strings describing these registers.
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    12bb43c View commit details
    Browse the repository at this point in the history
  16. tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2

    and up to 18 cores of turbo ratio limit
    when using the turbostat --debug option.
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    fcd1721 View commit details
    Browse the repository at this point in the history
  17. tools/power turbostat: modprobe msr, if needed

    Some distros (Ubuntu) ship the msr driver as a module.
    If turbosat is run as root on those systems, and discovers
    that there is no /dev/cpu/cpu0/msr, it will now "modprobe msr"
    for the user.
    
    If not root, the modprobe attempt will fail, and turbostat will exit as before:
    
    turbostat: no /dev/cpu/0/msr, Try "# modprobe msr" : No such file or directory
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    a21d38c View commit details
    Browse the repository at this point in the history
  18. tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add suppor…

    …t for O= option in Makefile
    
    Since commit ee0778a
    ("tools/power: turbostat: make Makefile a bit more capable")
    turbostat's Makefile is using
    
      [...]
      BUILD_OUTPUT    := $(PWD)
      [...]
    
    which obviously causes trouble when building "turbostat" with
    
      make -C /usr/src/linux/tools/power/x86/turbostat ARCH=x86 turbostat
    
    because GNU make does not update nor guarantee that $PWD is set.
    
    This patch changes the Makefile to use $CURDIR instead, which GNU make
    guarantees to set and update (i.e. when using "make -C ...") and also
    adds support for the O= option (see "make help" in your root of your
    kernel source tree for more details).
    
    Link: https://bugs.gentoo.org/show_bug.cgi?id=533918
    Fixes: ee0778a ("tools/power: turbostat: make Makefile a bit more capable")
    Signed-off-by: Thomas D. <[email protected]>
    Cc: Mark Asselstine <[email protected]>
    Signed-off-by: Len Brown <[email protected]>
    Whissi authored and lenb committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    f82263c View commit details
    Browse the repository at this point in the history
  19. tools/power turbostat: Initial Skylake support

    Skylake adds some additional residency counters.
    
    Skylake supports a different mix of RAPL registers
    from any previous product.
    
    In most other ways, Skylake is like Broadwell.
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    0b2bb69 View commit details
    Browse the repository at this point in the history
  20. tools/power turbostat: correct DRAM RAPL units on recent Xeon processors

    While not yet documented in the Software Developer's Manual,
    the data-sheet for modern Xeon states that DRAM RAPL ENERGY units
    are fixed at 15.3 uJ, rather than being discovered via MSR.
    
    Before this patch, DRAM energy on these products is over-stated by turbostat
    because the RAPL units are 4x larger.
    
    ref: "Xeon E5-2600 v3/E5-1600 v3 Datasheet Volume 2"
    http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xeon-e5-v3-datasheet-vol-2.pdf
    
    Signed-off-by: Andrey Semin <[email protected]>
    Signed-off-by: Len Brown <[email protected]>
    Andrey Semin authored and lenb committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    40ee8e3 View commit details
    Browse the repository at this point in the history
  21. tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL

    turbostat --debug
    ...
    CPUID(0x15): eax_crystal: 2 ebx_tsc: 100 ecx_crystal_hz: 0
    TSC: 1200 MHz (24000000 Hz * 100 / 2 / 1000000)
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    8a5bdf4 View commit details
    Browse the repository at this point in the history
  22. tools/power turbostat: correct dumped pkg-cstate-limit value

    HSW expanded MSR_PKG_CST_CONFIG_CONTROL.Package-C-State-Limit,
    from bits[2:0] used by previous implementations, to [3:0].
    The value 1000b is unlimited, and is used by BDW and SKL too.
    
    Signed-off-by: Len Brown <[email protected]>
    lenb committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    e9257f5 View commit details
    Browse the repository at this point in the history
  23. sparc: Revert generic IOMMU allocator.

    I applied the wrong version of this patch series, V4 instead
    of V10, due to a patchwork bundling snafu.
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    c12f048 View commit details
    Browse the repository at this point in the history
  24. Break up monolithic iommu table/lock into finer graularity pools and …

    …lock
    
    Investigation of multithreaded iperf experiments on an ethernet
    interface show the iommu->lock as the hottest lock identified by
    lockstat, with something of the order of  21M contentions out of
    27M acquisitions, and an average wait time of 26 us for the lock.
    This is not efficient. A more scalable design is to follow the ppc
    model, where the iommu_map_table has multiple pools, each stretching
    over a segment of the map, and with a separate lock for each pool.
    This model allows for better parallelization of the iommu map search.
    
    This patch adds the iommu range alloc/free function infrastructure.
    
    Signed-off-by: Sowmini Varadhan <[email protected]>
    Acked-by: Benjamin Herrenschmidt <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sowminiv authored and davem330 committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    ff7d37a View commit details
    Browse the repository at this point in the history
  25. sparc: Make sparc64 use scalable lib/iommu-common.c functions

    In iperf experiments running linux as the Tx side (TCP client) with
    10 threads results in a severe performance drop when TSO is disabled,
    indicating a weakness in the software that can be avoided by using
    the scalable IOMMU arena DMA allocation.
    
    Baseline numbers before this patch:
       with default settings (TSO enabled) :    9-9.5 Gbps
       Disable TSO using ethtool- drops badly:  2-3 Gbps.
    
    After this patch, iperf client with 10 threads, can give a
    throughput of at least 8.5 Gbps, even when TSO is disabled.
    
    Signed-off-by: Sowmini Varadhan <[email protected]>
    Acked-by: Benjamin Herrenschmidt <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sowminiv authored and davem330 committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    bb620c3 View commit details
    Browse the repository at this point in the history
  26. sparc: Make LDC use common iommu poll management functions

    Note that this conversion is only being done to consolidate the
    code and ensure that the common code provides the sufficient
    abstraction. It is not expected to result in any noticeable
    performance improvement, as there is typically one ldc_iommu
    per vnet_port, and each one has 8k entries, with a typical
    request for 1-4 pages.  Thus LDC uses npools == 1.
    
    Signed-off-by: Sowmini Varadhan <[email protected]>
    Acked-by: Benjamin Herrenschmidt <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sowminiv authored and davem330 committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    0ae53ed View commit details
    Browse the repository at this point in the history
  27. iommu-common: Fix PARISC compile-time warnings

    Fixes warnings due to
    - no DMA_ERROR_CODE on PARISC,
    - sizeof (unsigned long) == 4 bytes on PARISC.
    
    Signed-off-by: Sowmini Varadhan <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    sowminiv authored and davem330 committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    2f0c0fd View commit details
    Browse the repository at this point in the history
  28. Merge branch 'iommu-generic-allocator'

    Sowmini Varadhan says:
    
    ====================
    Generic IOMMU pooled allocator
    
    Investigation of network performance on Sparc shows a high
    degree of locking contention in the IOMMU allocator, and it
    was noticed that the PowerPC code has a better locking model.
    
    This patch series tries to extract the generic parts of the
    PowerPC code so that it can be shared across multiple PCI
    devices and architectures.
    
    v10: resend patchv9 without RFC tag, and a new mail Message-Id,
    (previous non-RFC attempt did not show up on the patchwork queue?)
    
    Full revision history below:
    v2 changes:
      - incorporate David Miller editorial comments: sparc specific
        fields moved from iommu-common into sparc's iommu_64.h
      - make the npools value an input parameter, for the case when
        the iommu map size is not very large
      - cookie_to_index mapping, and optimizations for span-boundary
        check, for use case such as LDC.
    
    v3: eliminate iommu_sparc, rearrange the ->demap indirection to
        be invoked under the pool lock.
    
    v4: David Miller review changes:
      - s/IOMMU_ERROR_CODE/DMA_ERROR_CODE
      - page_table_map_base and page_table_shift are unsigned long, not u32.
    
    v5: removed ->cookie_to_index and ->demap indirection from the
        iommu_tbl_ops The caller needs to call these functions as needed,
        before invoking the generic arena allocator functions.
        Added the "skip_span_boundary" argument to iommu_tbl_pool_init() for
        those callers like LDC which do no care about span boundary checks.
    
    v6: removed iommu_tbl_ops, and instead pass the ->flush_all as
        an indirection to iommu_tbl_pool_init(); only invoke ->flush_all
        when there is no large_pool, based on the assumption that large-pool
        usage is infrequently encountered
    
    v7: moved pool_hash initialization to lib/iommu-common.c and cleaned up
        code duplication from sun4v/sun4u/ldc.
    
    v8: Addresses BenH comments with one exception: I've left the
        IOMMU_POOL_HASH as is, so that powerpc can tailor it to their
        convenience.  Discard trylock for simple spin_lock to acquire pool
    
    v9: Addresses latest BenH comments: need_flush checks, add support
        for dma mask and align_order.
    
    v10: resend without RFC tag, and new mail Message-Id.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    ccb3018 View commit details
    Browse the repository at this point in the history
  29. Merge tag 'for-linus-4.1-merge-window' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/ericvh/v9fs
    
    Pull 9pfs updates from Eric Van Hensbergen:
     "Some accumulated cleanup patches for kerneldoc and unused variables as
      well as some lock bug fixes and adding privateport option for RDMA"
    
    * tag 'for-linus-4.1-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
      net/9p: add a privport option for RDMA transport.
      fs/9p: Initialize status in v9fs_file_do_lock.
      net/9p: Initialize opts->privport as it should be.
      net/9p: use memcpy() instead of snprintf() in p9_mount_tag_show()
      9p: use unsigned integers for nwqid/count
      9p: do not crash on unknown lock status code
      9p: fix error handling in v9fs_file_do_lock
      9p: remove unused variable in p9_fd_create()
      9p: kerneldoc warning fixes
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    dba94f2 View commit details
    Browse the repository at this point in the history
  30. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

    Pull sparc fixes from David Miller
     "Unfortunately, I brown paper bagged the generic iommu pool allocator
      by applying the wrong revision of the patch series.
    
      This reverts the bad one, and puts the right one in"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
      iommu-common: Fix PARISC compile-time warnings
      sparc: Make LDC use common iommu poll management functions
      sparc: Make sparc64 use scalable lib/iommu-common.c functions
      Break up monolithic iommu table/lock into finer graularity pools and lock
      sparc: Revert generic IOMMU allocator.
    torvalds committed Apr 18, 2015
    Configuration menu
    Copy the full SHA
    64fb1d0 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2015

  1. smp: Fix error case handling in smp_call_function_*()

    Commit 8053871 ("smp: Fix smp_call_function_single_async()
    locking") fixed the locking for the asynchronous smp-call case, but in
    the process of moving the lock handling around, one of the error cases
    ended up not unlocking the call data at all.
    
    This went unnoticed on x86, because this is a "caller is buggy" case,
    where the caller is trying to call a non-existent CPU.  But apparently
    ARM does that (at least under qemu-arm).  Bindly doing cross-cpu calls
    to random CPU's that aren't even online seems a bit fishy, but the error
    handling was clearly not correct.
    
    Simply add the missing "csd_unlock()" to the error path.
    
    Reported-and-tested-by: Guenter Roeck <[email protected]>
    Analyzed-by: Rabin Vincent <[email protected]>
    Acked-by: Ingo Molnar <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed Apr 19, 2015
    Configuration menu
    Copy the full SHA
    5224b96 View commit details
    Browse the repository at this point in the history
  2. fs: take i_mutex during prepare_binprm for set[ug]id executables

    This prevents a race between chown() and execve(), where chowning a
    setuid-user binary to root would momentarily make the binary setuid
    root.
    
    This patch was mostly written by Linus Torvalds.
    
    Signed-off-by: Jann Horn <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    thejh authored and torvalds committed Apr 19, 2015
    Configuration menu
    Copy the full SHA
    8b01fc8 View commit details
    Browse the repository at this point in the history
  3. hexdump: avoid warning in test function

    The test_data_1_le[] array is a const array of const char *.  To avoid
    dropping any const information, we need to use "const char * const *",
    not just "const char **".
    
    I'm not sure why the different test arrays end up having different
    const'ness, but let's make the pointer we use to traverse them as const
    as possible, since we modify neither the array of pointers _or_ the
    pointers we find in the array.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed Apr 19, 2015
    Configuration menu
    Copy the full SHA
    17974c0 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/tytso/ext4
    
    Pull ext4 updates from Ted Ts'o:
     "A few bug fixes and add support for file-system level encryption in
      ext4"
    
    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (31 commits)
      ext4 crypto: enable encryption feature flag
      ext4 crypto: add symlink encryption
      ext4 crypto: enable filename encryption
      ext4 crypto: filename encryption modifications
      ext4 crypto: partial update to namei.c for fname crypto
      ext4 crypto: insert encrypted filenames into a leaf directory block
      ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames
      ext4 crypto: filename encryption facilities
      ext4 crypto: implement the ext4 decryption read path
      ext4 crypto: implement the ext4 encryption write path
      ext4 crypto: inherit encryption policies on inode and directory create
      ext4 crypto: enforce context consistency
      ext4 crypto: add encryption key management facilities
      ext4 crypto: add ext4 encryption facilities
      ext4 crypto: add encryption policy and password salt support
      ext4 crypto: add encryption xattr support
      ext4 crypto: export ext4_empty_dir()
      ext4 crypto: add ext4 encryption Kconfig
      ext4 crypto: reserve codepoints used by the ext4 encryption feature
      ext4 crypto: add ext4_mpage_readpages()
      ...
    torvalds committed Apr 19, 2015
    Configuration menu
    Copy the full SHA
    6162e4b View commit details
    Browse the repository at this point in the history
  5. Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/lenb/linux
    
    Pull turbostat update from Len Brown:
     "Updates to the turbostat utility.
    
      Just one kernel dependency in this batch -- added a #define to
      msr-index.h"
    
    * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
      tools/power turbostat: correct dumped pkg-cstate-limit value
      tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL
      tools/power turbostat: correct DRAM RAPL units on recent Xeon processors
      tools/power turbostat: Initial Skylake support
      tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile
      tools/power turbostat: modprobe msr, if needed
      tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2
      tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names
      x86 msr-index: define MSR_TURBO_RATIO_LIMIT,1,2
      tools/power turbostat: label base frequency
      tools/power turbostat: update PERF_LIMIT_REASONS decoding
      tools/power turbostat: simplify default output
    torvalds committed Apr 19, 2015
    Configuration menu
    Copy the full SHA
    09d5160 View commit details
    Browse the repository at this point in the history