1. 15 Jun, 2014 3 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 16d52ef7
      Linus Torvalds authored
      Pull more btrfs updates from Chris Mason:
       "This has a few fixes since our last pull and a new ioctl for doing
        btree searches from userland.  It's very similar to the existing
        ioctl, but lets us return larger items back down to the app"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        btrfs: fix error handling in create_pending_snapshot
        btrfs: fix use of uninit "ret" in end_extent_writepage()
        btrfs: free ulist in qgroup_shared_accounting() error path
        Btrfs: fix qgroups sanity test crash or hang
        btrfs: prevent RCU warning when dereferencing radix tree slot
        Btrfs: fix unfinished readahead thread for raid5/6 degraded mounting
        btrfs: new ioctl TREE_SEARCH_V2
        btrfs: tree_search, search_ioctl: direct copy to userspace
        btrfs: new function read_extent_buffer_to_user
        btrfs: tree_search, copy_to_sk: return needed size on EOVERFLOW
        btrfs: tree_search, copy_to_sk: return EOVERFLOW for too small buffer
        btrfs: tree_search, search_ioctl: accept varying buffer
        btrfs: tree_search: eliminate redundant nr_items check
      16d52ef7
    • Linus Torvalds's avatar
      Merge git://git.kvack.org/~bcrl/aio-next · a311c480
      Linus Torvalds authored
      Pull aio fix and cleanups from Ben LaHaise:
       "This consists of a couple of code cleanups plus a minor bug fix"
      
      * git://git.kvack.org/~bcrl/aio-next:
        aio: cleanup: flatten kill_ioctx()
        aio: report error from io_destroy() when threads race in io_destroy()
        fs/aio.c: Remove ctx parameter in kiocb_cancel
      a311c480
    • Al Viro's avatar
      fix __swap_writepage() compile failure on old gcc versions · 05064084
      Al Viro authored
      Tetsuo Handa wrote:
       "Commit 62a8067a ("bio_vec-backed iov_iter") introduced an unnamed
        union inside a struct which gcc-4.4.7 cannot handle.  Name the unnamed
         union as u in order to fix build failure"
      
      Let's do this instead: there is only one place in the entire tree that
      steps into this breakage.  Anon structs and unions work in older gcc
      versions; as the matter of fact, we have those in the tree - see e.g.
      struct ieee80211_tx_info in include/net/mac80211.h
      
      What doesn't work is handling their initializers:
      
      struct {
      	int a;
      	union {
      		int b;
      		char c;
      	};
      } x[2] = {{.a = 1, .c = 'a'}, {.a = 0, .b = 1}};
      
      is the obvious syntax for initializer, perfectly fine for C11 and
      handled correctly by gcc-4.7 or later.
      
      Earlier versions, though, break on it - declaration is fine and so's
      access to fields (i.e.  x[0].c = 'a'; would produce the right code), but
      members of the anon structs and unions are not inserted into the right
      namespace.  Tellingly, those older versions will not barf on struct {int
      a; struct {int a;};}; - looks like they just have it hacked up somewhere
      around the handling of .  and -> instead of doing the right thing.
      
      The easiest way to deal with that crap is to turn initialization of
      those fields (in the only place where we have such initializer of
      iov_iter) into plain assignment.
      Reported-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      05064084
  2. 14 Jun, 2014 4 commits
  3. 13 Jun, 2014 33 commits
    • Andy Lutomirski's avatar
      x86/vdso: Fix vdso_install · a934fb5b
      Andy Lutomirski authored
      "make vdso_install" installs unstripped versions of the vdso objects
      for the benefit of the debugger.  This was broken by checkin:
      
      6f121e54 x86, vdso: Reimplement vdso.so preparation in build-time C
      
      The filenames are different now, so update the Makefile to cope.
      
      This still installs the 64-bit vdso as vdso64.so.  We believe this
      will be okay, as the only known user is a patched gdb which is known
      to use build-ids, but if it turns out to be a problem we may have to
      add a link.
      
      Inspired by a patch from Sam Ravnborg.
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Reported-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Tested-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Link: http://lkml.kernel.org/r/b10299edd8ba98d17e07dafcd895b8ecf4d99eff.1402586707.git.luto@amacapital.netSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      a934fb5b
    • Eric Sandeen's avatar
      btrfs: fix error handling in create_pending_snapshot · 47a306a7
      Eric Sandeen authored
      fcebe456 cut and pasted some code to a later point
      in create_pending_snapshot(), but didn't switch
      to the appropriate error handling for this stage
      of the function.
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      47a306a7
    • Eric Sandeen's avatar
      btrfs: fix use of uninit "ret" in end_extent_writepage() · 3e2426bd
      Eric Sandeen authored
      If this condition in end_extent_writepage() is false:
      
      	if (tree->ops && tree->ops->writepage_end_io_hook)
      
      we will then test an uninitialized "ret" at:
      
      	ret = ret < 0 ? ret : -EIO;
      
      The test for ret is for the case where ->writepage_end_io_hook
      failed, and we'd choose that ret as the error; but if
      there is no ->writepage_end_io_hook, nothing sets ret.
      
      Initializing ret to 0 should be sufficient; if
      writepage_end_io_hook wasn't set, (!uptodate) means
      non-zero err was passed in, so we choose -EIO in that case.
      Signed-of-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      3e2426bd
    • Eric Sandeen's avatar
      btrfs: free ulist in qgroup_shared_accounting() error path · d7372780
      Eric Sandeen authored
      If tmp = ulist_alloc(GFP_NOFS) fails, we return without
      freeing the previously allocated qgroups = ulist_alloc(GFP_NOFS)
      and cause a memory leak.
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      d7372780
    • Filipe Manana's avatar
      Btrfs: fix qgroups sanity test crash or hang · b050f9f6
      Filipe Manana authored
      Often when running the qgroups sanity test, a crash or a hang happened.
      This is because the extent buffer the test uses for the root node doesn't
      have an header level explicitly set, making it have a random level value.
      This is a problem when it's not zero for the btrfs_search_slot() calls
      the test ends up doing, resulting in crashes or hangs such as the following:
      
      [ 6454.127192] Btrfs loaded, debug=on, assert=on, integrity-checker=on
      (...)
      [ 6454.127760] BTRFS: selftest: Running qgroup tests
      [ 6454.127964] BTRFS: selftest: Running test_test_no_shared_qgroup
      [ 6454.127966] BTRFS: selftest: Qgroup basic add
      [ 6480.152005] BUG: soft lockup - CPU#0 stuck for 23s! [modprobe:5383]
      [ 6480.152005] Modules linked in: btrfs(+) xor raid6_pq binfmt_misc nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc i2c_piix4 i2c_core pcspkr evbug psmouse serio_raw e1000 [last unloaded: btrfs]
      [ 6480.152005] irq event stamp: 188448
      [ 6480.152005] hardirqs last  enabled at (188447): [<ffffffff8168ef5c>] restore_args+0x0/0x30
      [ 6480.152005] hardirqs last disabled at (188448): [<ffffffff81698e6a>] apic_timer_interrupt+0x6a/0x80
      [ 6480.152005] softirqs last  enabled at (188446): [<ffffffff810516cf>] __do_softirq+0x1cf/0x450
      [ 6480.152005] softirqs last disabled at (188441): [<ffffffff81051c25>] irq_exit+0xb5/0xc0
      [ 6480.152005] CPU: 0 PID: 5383 Comm: modprobe Not tainted 3.15.0-rc8-fdm-btrfs-next-33+ #4
      [ 6480.152005] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
      [ 6480.152005] task: ffff8802146125a0 ti: ffff8800d0d00000 task.ti: ffff8800d0d00000
      [ 6480.152005] RIP: 0010:[<ffffffff81349a63>]  [<ffffffff81349a63>] __write_lock_failed+0x13/0x20
      [ 6480.152005] RSP: 0018:ffff8800d0d038e8  EFLAGS: 00000287
      [ 6480.152005] RAX: 0000000000000000 RBX: ffffffff8168ef5c RCX: 000005deb8525852
      [ 6480.152005] RDX: 0000000000000000 RSI: 0000000000001d45 RDI: ffff8802105000b8
      [ 6480.152005] RBP: ffff8800d0d038e8 R08: fffffe12710f63db R09: ffffffffa03196fb
      [ 6480.152005] R10: ffff8802146125a0 R11: ffff880214612e28 R12: ffff8800d0d03858
      [ 6480.152005] R13: 0000000000000000 R14: ffff8800d0d00000 R15: ffff8802146125a0
      [ 6480.152005] FS:  00007f14ff804700(0000) GS:ffff880215e00000(0000) knlGS:0000000000000000
      [ 6480.152005] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [ 6480.152005] CR2: 00007fff4df0dac8 CR3: 00000000d1796000 CR4: 00000000000006f0
      [ 6480.152005] Stack:
      [ 6480.152005]  ffff8800d0d03908 ffffffff810ae967 0000000000000001 ffff8802105000b8
      [ 6480.152005]  ffff8800d0d03938 ffffffff8168e57e ffffffffa0319c16 0000000000000007
      [ 6480.152005]  ffff880210500000 ffff880210500100 ffff8800d0d039b8 ffffffffa0319c16
      [ 6480.152005] Call Trace:
      [ 6480.152005]  [<ffffffff810ae967>] do_raw_write_lock+0x47/0xa0
      [ 6480.152005]  [<ffffffff8168e57e>] _raw_write_lock+0x5e/0x80
      [ 6480.152005]  [<ffffffffa0319c16>] ? btrfs_tree_lock+0x116/0x270 [btrfs]
      [ 6480.152005]  [<ffffffffa0319c16>] btrfs_tree_lock+0x116/0x270 [btrfs]
      [ 6480.152005]  [<ffffffffa02b2acb>] btrfs_lock_root_node+0x3b/0x50 [btrfs]
      [ 6480.152005]  [<ffffffffa02b81a6>] btrfs_search_slot+0x916/0xa20 [btrfs]
      [ 6480.152005]  [<ffffffff811a727f>] ? create_object+0x23f/0x300
      [ 6480.152005]  [<ffffffffa02b9958>] btrfs_insert_empty_items+0x78/0xd0 [btrfs]
      [ 6480.152005]  [<ffffffffa036041a>] insert_normal_tree_ref.constprop.4+0xa2/0x19a [btrfs]
      [ 6480.152005]  [<ffffffffa03605c3>] test_no_shared_qgroup+0xb1/0x1ca [btrfs]
      [ 6480.152005]  [<ffffffff8108cad6>] ? local_clock+0x16/0x30
      [ 6480.152005]  [<ffffffffa035ef8e>] btrfs_test_qgroups+0x1ae/0x1d7 [btrfs]
      [ 6480.152005]  [<ffffffffa03a69d2>] ? ftrace_define_fields_btrfs_space_reservation+0xfd/0xfd [btrfs]
      [ 6480.152005]  [<ffffffffa03a6a86>] init_btrfs_fs+0xb4/0x153 [btrfs]
      [ 6480.152005]  [<ffffffff81000352>] do_one_initcall+0x102/0x150
      [ 6480.152005]  [<ffffffff8103d223>] ? set_memory_nx+0x43/0x50
      [ 6480.152005]  [<ffffffff81682668>] ? set_section_ro_nx+0x6d/0x74
      [ 6480.152005]  [<ffffffff810d91cc>] load_module+0x1cdc/0x2630
      (...)
      
      Therefore initialize the extent buffer as an empty leaf (level 0).
      
      Issue easy to reproduce when btrfs is built as a module via:
      
          $ for ((i = 1; i <= 1000000; i++)); do rmmod btrfs; modprobe btrfs; done
      Signed-off-by: default avatarFilipe David Borba Manana <fdmanana@gmail.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      b050f9f6
    • Sasha Levin's avatar
      btrfs: prevent RCU warning when dereferencing radix tree slot · f1e3c289
      Sasha Levin authored
      Mark the dereference as protected by lock. Not doing so triggers
      an RCU warning since the radix tree assumed that RCU is in use.
      Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      f1e3c289
    • Wang Shilong's avatar
      Btrfs: fix unfinished readahead thread for raid5/6 degraded mounting · 5fbc7c59
      Wang Shilong authored
      Steps to reproduce:
      
       # mkfs.btrfs -f /dev/sd[b-f] -m raid5 -d raid5
       # mkfs.ext4 /dev/sdc --->corrupt one of btrfs device
       # mount /dev/sdb /mnt -o degraded
       # btrfs scrub start -BRd /mnt
      
      This is because readahead would skip missing device, this is not true
      for RAID5/6, because REQ_GET_READ_MIRRORS return 1 for RAID5/6 block
      mapping. If expected data locates in missing device, readahead thread
      would not call __readahead_hook() which makes event @rc->elems=0
      wait forever.
      
      Fix this problem by checking return value of btrfs_map_block(),we
      can only skip missing device safely if there are several mirrors.
      Signed-off-by: default avatarWang Shilong <wangsl.fnst@cn.fujitsu.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      5fbc7c59
    • Gerhard Heift's avatar
      btrfs: new ioctl TREE_SEARCH_V2 · cc68a8a5
      Gerhard Heift authored
      This new ioctl call allows the user to supply a buffer of varying size in which
      a tree search can store its results. This is much more flexible if you want to
      receive items which are larger than the current fixed buffer of 3992 bytes or
      if you want to fetch more items at once. Items larger than this buffer are for
      example some of the type EXTENT_CSUM.
      Signed-off-by: default avatarGerhard Heift <Gerhard@Heift.Name>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      Acked-by: default avatarDavid Sterba <dsterba@suse.cz>
      cc68a8a5
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 6391f34e
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Most of changes are small and easy cleanup or fixes:
      
         - a few HD-audio Realtek codec fixes and quirks
         - Intel HDMI audio fixes for Broadwell and Haswell / ValleyView
         - FireWire sound stack cleanups
         - a couple of sequencer core fixes
         - compress ABI fix for 64bit
         - conversion to modern ktime*() API"
      
      * tag 'sound-fix-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
        ALSA: hda/realtek - Add more entry for enable HP mute led
        ALSA: hda - Add quirk for external mic on Lifebook U904
        ALSA: hda - fix a fixup value for codec alc293 in the pin_quirk table
        ALSA: intel8x0: Use ktime and ktime_get()
        ALSA: core: Use ktime_get_ts()
        ALSA: hda - verify pin:converter connection on unsol event for HSW and VLV
        ALSA: compress: Cancel the optimization of compiler and fix the size of struct for all platform.
        ALSA: hda - Add quirk for ABit AA8XE
        Revert "ALSA: hda - mask buggy stream DMA0 for Broadwell display controller"
        ALSA: hda - using POS_FIX_LPIB on Broadwell HDMI Audio
        ALSA: hda/realtek - Add support of ALC667 codec
        ALSA: hda/realtek - Add more codec rename
        ALSA: hda/realtek - New vendor ID for ALC233
        ALSA: hda - add two new pin tables
        ALSA: hda/realtek - Add support of ALC891 codec
        ALSA: seq: Continue broadcasting events to ports if one of them fails
        ALSA: bebob: Remove unused function prototype
        ALSA: fireworks: Remove meaningless mutex_destroy()
        ALSA: fireworks: Remove a constant over width to which it's applied
        ALSA: fireworks: Improve comments about Fireworks transaction
        ...
      6391f34e
    • Linus Torvalds's avatar
      Merge tag 'dlm-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 4bdeb312
      Linus Torvalds authored
      Pull dlm fix from David Teigland:
       "This contains one small fix related to resending SCTP messages"
      
      * tag 'dlm-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: keep listening connection alive with sctp mode
      4bdeb312
    • Linus Torvalds's avatar
      Merge branch 'serge-next-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-security · aa569fa0
      Linus Torvalds authored
      Pull more security layer updates from Serge Hallyn:
       "A few more commits had previously failed to make it through
        security-next into linux-next but this week made it into linux-next.
        At least commit "ima: introduce ima_kernel_read()" was deemed critical
        by Mimi to make this merge window.
      
        This is a temporary tree just for this request.  Mimi has pointed me
        to some previous threads about keeping maintainer trees at the
        previous release, which I'll certainly do for anything long-term,
        after talking with James"
      
      * 'serge-next-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-security:
        ima: introduce ima_kernel_read()
        evm: prohibit userspace writing 'security.evm' HMAC value
        ima: check inode integrity cache in violation check
        ima: prevent unnecessary policy checking
        evm: provide option to protect additional SMACK xattrs
        evm: replace HMAC version with attribute mask
        ima: prevent new digsig xattr from being replaced
      aa569fa0
    • Kailang Yang's avatar
      ALSA: hda/realtek - Add more entry for enable HP mute led · 8a02b164
      Kailang Yang authored
      More HP machine need mute led support.
      Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8a02b164
    • David Henningsson's avatar
      ALSA: hda - Add quirk for external mic on Lifebook U904 · 2041d564
      David Henningsson authored
      According to the bug reporter (Данило Шеган), the external mic
      starts to work and has proper jack detection if only pin 0x19
      is marked properly as an external headset mic.
      
      AlsaInfo at https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1328587/+attachment/4128991/+files/AlsaInfo.txt
      
      Cc: stable@vger.kernel.org
      BugLink: https://bugs.launchpad.net/bugs/1328587Signed-off-by: default avatarDavid Henningsson <david.henningsson@canonical.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      2041d564
    • Hui Wang's avatar
      ALSA: hda - fix a fixup value for codec alc293 in the pin_quirk table · 64eb4280
      Hui Wang authored
      The fixup value for codec alc293 was set to
      ALC269_FIXUP_DELL1_MIC_NO_PRESENCE by a mistake, if we don't fix it,
      the Dock mic will be overwriten by the headset mic, this will make
      the Dock mic can't work.
      
      Cc: David Henningsson <david.henningsson@canonical.com>
      Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      64eb4280
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 6d87c225
      Linus Torvalds authored
      Pull Ceph updates from Sage Weil:
       "This has a mix of bug fixes and cleanups.
      
        Alex's patch fixes a rare race in RBD.  Ilya's patches fix an ENOENT
        check when a second rbd image is mapped and a couple memory leaks.
        Zheng fixes several issues with fragmented directories and multiple
        MDSs.  Josh fixes a spin/sleep issue, and Josh and Guangliang's
        patches fix setting and unsetting RBD images read-only.
      
        Naturally there are several other cleanups mixed in for good measure"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (23 commits)
        rbd: only set disk to read-only once
        rbd: move calls that may sleep out of spin lock range
        rbd: add ioctl for rbd
        ceph: use truncate_pagecache() instead of truncate_inode_pages()
        ceph: include time stamp in every MDS request
        rbd: fix ida/idr memory leak
        rbd: use reference counts for image requests
        rbd: fix osd_request memory leak in __rbd_dev_header_watch_sync()
        rbd: make sure we have latest osdmap on 'rbd map'
        libceph: add ceph_monc_wait_osdmap()
        libceph: mon_get_version request infrastructure
        libceph: recognize poolop requests in debugfs
        ceph: refactor readpage_nounlock() to make the logic clearer
        mds: check cap ID when handling cap export message
        ceph: remember subtree root dirfrag's auth MDS
        ceph: introduce ceph_fill_fragtree()
        ceph: handle cap import atomically
        ceph: pre-allocate ceph_cap struct for ceph_add_cap()
        ceph: update inode fields according to issued caps
        rbd: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
        ...
      6d87c225
    • Linus Torvalds's avatar
      Merge branch 'topic/omap3isp' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 338c09a9
      Linus Torvalds authored
      Pull OMAP3 updates from Mauro Carvalho Chehab:
       "Some driver improvements on OMAP3.  This series depend on some iommu
        patches already merged"
      
      * 'topic/omap3isp' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (26 commits)
        [media] omap3isp: Rename isp_buffer isp_addr field to dma
        [media] omap3isp: Move to videobuf2
        [media] v4l: vb2: Add a function to discard all DONE buffers
        [media] omap3isp: Cancel all queued buffers when stopping the video stream
        [media] omap3isp: Move buffer irqlist to isp_buffer structure
        [media] omap3isp: Move queue irqlock to isp_video structure
        [media] omap3isp: Move queue mutex to isp_video structure
        [media] omap3isp: queue: Don't build scatterlist for kernel buffer
        [media] omap3isp: Use the ARM DMA IOMMU-aware operations
        [media] omap3isp: queue: Use sg_alloc_table_from_pages()
        [media] omap3isp: queue: Map PFNMAP buffers to device
        [media] omap3isp: queue: Fix the dma_map_sg() return value check
        [media] omap3isp: queue: Allocate kernel buffers with dma_alloc_coherent
        [media] omap3isp: queue: Inline the ispmmu_v(un)map functions
        [media] omap3isp: queue: Merge the prepare and sglist functions
        [media] omap3isp: queue: Use sg_table structure
        [media] omap3isp: queue: Move IOMMU handling code to the queue
        [media] omap3isp: video: Set the buffer bytesused field at completion time
        [media] omap3isp: ccdc: Use the DMA API for FPC
        [media] omap3isp: ccdc: Use the DMA API for LSC
        ...
      338c09a9
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · ed9ea4ed
      Linus Torvalds authored
      Pull SCSI target updates from Nicholas Bellinger:
       "The highlights this round include:
      
         - Add support for T10 PI pass-through between vhost-scsi +
           virtio-scsi (MST + Paolo + MKP + nab)
         - Add support for T10 PI in qla2xxx target mode (Quinn + MKP + hch +
           nab, merged through scsi.git)
         - Add support for percpu-ida pre-allocation in qla2xxx target code
           (Quinn + nab)
         - A number of iser-target fixes related to hardening the network
           portal shutdown path (Sagi + Slava)
         - Fix response length residual handling for a number of control CDBs
           (Roland + Christophe V.)
         - Various iscsi RFC conformance fixes in the CHAP authentication path
           (Tejas and Calsoft folks + nab)
         - Return TASK_SET_FULL status for tcm_fc(FCoE) DataIn + Response
           failures (Vasu + Jun + nab)
         - Fix long-standing ABORT_TASK + session reset hang (nab)
         - Convert iser-initiator + iser-target to include T10 bytes into EDTL
           (Sagi + Or + MKP + Mike Christie)
         - Fix NULL pointer dereference regression related to XCOPY introduced
           in v3.15 + CC'ed to v3.12.y (nab)"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (34 commits)
        target: Fix NULL pointer dereference for XCOPY in target_put_sess_cmd
        vhost-scsi: Include prot_bytes into expected data transfer length
        TARGET/sbc,loopback: Adjust command data length in case pi exists on the wire
        libiscsi, iser: Adjust data_length to include protection information
        scsi_cmnd: Introduce scsi_transfer_length helper
        target: Report correct response length for some commands
        target/sbc: Check that the LBA and number of blocks are correct in VERIFY
        target/sbc: Remove sbc_check_valid_sectors()
        Target/iscsi: Fix sendtargets response pdu for iser transport
        Target/iser: Fix a wrong dereference in case discovery session is over iser
        iscsi-target: Fix ABORT_TASK + connection reset iscsi_queue_req memory leak
        target: Use complete_all for se_cmd->t_transport_stop_comp
        target: Set CMD_T_ACTIVE bit for Task Management Requests
        target: cleanup some boolean tests
        target/spc: Simplify INQUIRY EVPD=0x80
        tcm_fc: Generate TASK_SET_FULL status for response failures
        tcm_fc: Generate TASK_SET_FULL status for DataIN failures
        iscsi-target: Reject mutual authentication with reflected CHAP_C
        iscsi-target: Remove no-op from iscsit_tpg_del_portal_group
        iscsi-target: Fix CHAP_A parameter list handling
        ...
      ed9ea4ed
    • Linus Torvalds's avatar
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · c1fdb2d3
      Linus Torvalds authored
      Pull kbuild misc updates from Michal Marek:
       "This is the non-critical part of kbuild for v3.16-rc1:
         - make deb-pkg can do s390x and arm64
         - new patterns in scripts/tags.sh
         - scripts/tags.sh skips userspace tools' sources (which sometimes
           have copies of kernel structures) and symlinks
         - improvements to the objdiff tool
         - two new coccinelle patches
         - other minor fixes"
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        scripts: objdiff: support directories for the augument of record command
        scripts: objdiff: fix a comment
        scripts: objdiff: change the extension of disassembly from .o to .dis
        scripts: objdiff: improve path flexibility for record command
        scripts: objdiff: remove unnecessary code
        scripts: objdiff: direct error messages to stderr
        scripts: objdiff: get the path to .tmp_objdiff more simply
        deb-pkg: Add automatic support for s390x architecture
        coccicheck: Add unneeded return variable test
        kbuild: Fix a typo in documentation
        kbuild: trivial - use tabs for code indent where possible
        kbuild: trivial - remove trailing empty lines
        coccinelle: Check for missing NULL terminators in of_device_id tables
        scripts/tags.sh: ignore symlink'ed source files
        scripts/tags.sh: add regular expression replacement pattern for memcg
        builddeb: add arm64 in the supported architectures
        builddeb: use $OBJCOPY variable instead of objcopy
        scripts/tags.sh: ignore code of user space tools
        scripts/tags.sh: add pattern for DEFINE_HASHTABLE
        .gitignore: ignore Module.symvers in all directories
      c1fdb2d3
    • Linus Torvalds's avatar
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 1700ff82
      Linus Torvalds authored
      Pull kbuild updates from Michal Marek:
       "Kbuild changes for v3.16-rc1:
      
         - cross-compilation fix so that cc-option is testing the right
           compiler
         - Fix for make defconfig all
         - Using relative paths to the object and source directory where
           possible, plus fixes for the fallout of the change
         - several cleanups in the Makefiles and scripts
      
        The powerpc fix is from today, because it was only discovered
        recently.  The rest has been in linux-next for some time"
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        powerpc: Avoid circular dependency with zImage.%
        kbuild: create include/config directory in scripts/kconfig/Makefile
        kbuild: do not create include/linux directory
        Makefile: Fix unrecognized cross-compiler command line options
        kbuild: do not add "selinux" to subdir- twice
        um: Fix for relative objtree when generating x86 headers
        kbuild: Use relative path when building in a subdir of the source tree
        kbuild: Use relative path when building in the source tree
        kbuild: Use relative path for $(objtree)
        firmware: Use $(quote) in the Makefile
        firmware: Simplify directory creation
        kbuild: trivial - fix comment block indent
        kbuild: trivial - remove trailing spaces
        kbuild: support simultaneous "make %config" and "make all"
        kbuild: move extra gcc checks to scripts/Makefile.extrawarn
      1700ff82
    • Linus Torvalds's avatar
      Merge tag 'trace-3.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 8841c8b3
      Linus Torvalds authored
      Pull tracing cleanups and bugfixes from Steven Rostedt:
       "One bug fix that goes back to 3.10.  Accessing a non existent buffer
        if "possible cpus" is greater than actual CPUs (including offline
        CPUs).
      
        Namhyung Kim did some reviews of the patches I sent this merge window
        and found a memory leak and had a few clean ups"
      
      * tag 'trace-3.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix check of ftrace_trace_arrays list_empty() check
        tracing: Fix leak of per cpu max data in instances
        tracing: Cleanup saved_cmdlines_size changes
        ring-buffer: Check if buffer exists before polling
      8841c8b3
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · b7c8c194
      Linus Torvalds authored
      Pull more powerpc updates from Ben Herrenschmidt:
       "Here are the remaining bits I was mentioning earlier.  Mostly bug
        fixes and new selftests from Michael (yay !).  He also removed the WSP
        platform and A2 core support which were dead before release, so less
        clutter.
      
        One little "feature" I snuck in is the doorbell IPI support for
        non-virtualized P8 which speeds up IPIs significantly between threads
        of a core"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (34 commits)
        powerpc/book3s: Fix some ABIv2 issues in machine check code
        powerpc/book3s: Fix guest MC delivery mechanism to avoid soft lockups in guest.
        powerpc/book3s: Increment the mce counter during machine_check_early call.
        powerpc/book3s: Add stack overflow check in machine check handler.
        powerpc/book3s: Fix machine check handling for unhandled errors
        powerpc/eeh: Dump PE location code
        powerpc/powernv: Enable POWER8 doorbell IPIs
        powerpc/cpuidle: Only clear LPCR decrementer wakeup bit on fast sleep entry
        powerpc/powernv: Fix killed EEH event
        powerpc: fix typo 'CONFIG_PMAC'
        powerpc: fix typo 'CONFIG_PPC_CPU'
        powerpc/powernv: Don't escalate non-existing frozen PE
        powerpc/eeh: Report frozen parent PE prior to child PE
        powerpc/eeh: Clear frozen state for child PE
        powerpc/powernv: Reduce panic timeout from 180s to 10s
        powerpc/xmon: avoid format string leaking to printk
        selftests/powerpc: Add tests of PMU EBBs
        selftests/powerpc: Add support for skipping tests
        selftests/powerpc: Put the test in a separate process group
        selftests/powerpc: Fix instruction loop for ABIv2 (LE)
        ...
      b7c8c194
    • Linus Torvalds's avatar
      Merge tag 'blackfin-for-linus' of... · 88bbfb4a
      Linus Torvalds authored
      Merge tag 'blackfin-for-linus' of http://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux
      
      Pull blackfin updates from Steven Miao.
      
      * tag 'blackfin-for-linus' of http://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
        blackfin: defconfigs: add MTD_SPI_NOR (new dependency for M25P80)
        Revert "blackfin: dma: current count mmr is read only"
        bf533: fix build error: add linux/gpio.h
      88bbfb4a
    • Linus Torvalds's avatar
      Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 71998d1b
      Linus Torvalds authored
      Pull x86 irq fixes from Ingo Molnar:
       "Two changes: a cpu-hotplug/irq race fix, plus a HyperV related fix"
      
      * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Fix fixup_irqs() error handling
        x86, irq, pic: Probe for legacy PIC and set legacy_pic appropriately
      71998d1b
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b2e09f63
      Linus Torvalds authored
      Pull more scheduler updates from Ingo Molnar:
       "Second round of scheduler changes:
         - try-to-wakeup and IPI reduction speedups, from Andy Lutomirski
         - continued power scheduling cleanups and refactorings, from Nicolas
           Pitre
         - misc fixes and enhancements"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/deadline: Delete extraneous extern for to_ratio()
        sched/idle: Optimize try-to-wake-up IPI
        sched/idle: Simplify wake_up_idle_cpu()
        sched/idle: Clear polling before descheduling the idle thread
        sched, trace: Add a tracepoint for IPI-less remote wakeups
        cpuidle: Set polling in poll_idle
        sched: Remove redundant assignment to "rt_rq" in update_curr_rt(...)
        sched: Rename capacity related flags
        sched: Final power vs. capacity cleanups
        sched: Remove remaining dubious usage of "power"
        sched: Let 'struct sched_group_power' care about CPU capacity
        sched/fair: Disambiguate existing/remaining "capacity" usage
        sched/fair: Change "has_capacity" to "has_free_capacity"
        sched/fair: Remove "power" from 'struct numa_stats'
        sched: Fix signedness bug in yield_to()
        sched/fair: Use time_after() in record_wakee()
        sched/balancing: Reduce the rate of needless idle load balancing
        sched/fair: Fix unlocked reads of some cfs_b->quota/period
      b2e09f63
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3737a127
      Linus Torvalds authored
      Pull more perf updates from Ingo Molnar:
       "A second round of perf updates:
      
         - wide reaching kprobes sanitization and robustization, with the hope
           of fixing all 'probe this function crashes the kernel' bugs, by
           Masami Hiramatsu.
      
         - uprobes updates from Oleg Nesterov: tmpfs support, corner case
           fixes and robustization work.
      
         - perf tooling updates and fixes from Jiri Olsa, Namhyung Ki, Arnaldo
           et al:
              * Add support to accumulate hist periods (Namhyung Kim)
              * various fixes, refactorings and enhancements"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (101 commits)
        perf: Differentiate exec() and non-exec() comm events
        perf: Fix perf_event_comm() vs. exec() assumption
        uprobes/x86: Rename arch_uprobe->def to ->defparam, minor comment updates
        perf/documentation: Add description for conditional branch filter
        perf/x86: Add conditional branch filtering support
        perf/tool: Add conditional branch filter 'cond' to perf record
        perf: Add new conditional branch filter 'PERF_SAMPLE_BRANCH_COND'
        uprobes: Teach copy_insn() to support tmpfs
        uprobes: Shift ->readpage check from __copy_insn() to uprobe_register()
        perf/x86: Use common PMU interrupt disabled code
        perf/ARM: Use common PMU interrupt disabled code
        perf: Disable sampled events if no PMU interrupt
        perf: Fix use after free in perf_remove_from_context()
        perf tools: Fix 'make help' message error
        perf record: Fix poll return value propagation
        perf tools: Move elide bool into perf_hpp_fmt struct
        perf tools: Remove elide setup for SORT_MODE__MEMORY mode
        perf tools: Fix "==" into "=" in ui_browser__warning assignment
        perf tools: Allow overriding sysfs and proc finding with env var
        perf tools: Consider header files outside perf directory in tags target
        ...
      3737a127
    • Andy Lutomirski's avatar
      x86/vdso: Hack to keep 64-bit Go programs working · e0bf7b86
      Andy Lutomirski authored
      The Go runtime has a buggy vDSO parser that currently segfaults.
      This writes an empty SHT_DYNSYM entry that causes Go's runtime to
      malfunction by thinking that the vDSO is empty rather than
      malfunctioning by running off the end and segfaulting.
      
      This affects x86-64 only as far as we know, so we do not need this for
      the i386 and x32 vdsos.
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Link: http://lkml.kernel.org/r/d10618176c4bd39b457a5e85c497295c90cab1bc.1402620737.git.luto@amacapital.netSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      e0bf7b86
    • Andy Lutomirski's avatar
      x86/vdso: Add PUT_LE to store little-endian values · b4b31f61
      Andy Lutomirski authored
      Add PUT_LE() by analogy with GET_LE() to write littleendian values in
      addition to reading them.
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Link: http://lkml.kernel.org/r/3d9b27e92745b27b6fda1b9a98f70dc9c1246c7a.1402620737.git.luto@amacapital.netSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      b4b31f61
    • Andy Lutomirski's avatar
      x86/vdso/doc: Make vDSO examples more portable · 4ebbefd6
      Andy Lutomirski authored
      This adds a new vdso_test.c that's written entirely in C.  It also
      makes all of the vDSO examples work on 32-bit x86.
      
      Cc: Stefani Seibold <stefani@seibold.net>
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Link: http://lkml.kernel.org/r/62b701fc44b79f118ac2b2d64d19965fc5c291fb.1402620737.git.luto@amacapital.netSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      4ebbefd6
    • Andy Lutomirski's avatar
      x86/vdso/doc: Rename vdso_test.c to vdso_standalone_test_x86.c · 6e8f2158
      Andy Lutomirski authored
      This thing is hopelessly x86_64-specific: it's an example of how to
      access the vDSO without any runtime support at all.
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Link: http://lkml.kernel.org/r/3efc170e0e166e15f0150c9fdb37d52488b9c0a4.1402620737.git.luto@amacapital.netSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      6e8f2158
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c29deef3
      Linus Torvalds authored
      Pull more locking changes from Ingo Molnar:
       "This is the second round of locking tree updates for v3.16, offering
        large system scalability improvements:
      
       - optimistic spinning for rwsems, from Davidlohr Bueso.
      
       - 'qrwlocks' core code and x86 enablement, from Waiman Long and PeterZ"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, locking/rwlocks: Enable qrwlocks on x86
        locking/rwlocks: Introduce 'qrwlocks' - fair, queued rwlocks
        locking/mutexes: Documentation update/rewrite
        locking/rwsem: Fix checkpatch.pl warnings
        locking/rwsem: Fix warnings for CONFIG_RWSEM_GENERIC_SPINLOCK
        locking/rwsem: Support optimistic spinning
      c29deef3
    • Gerhard Heift's avatar
      btrfs: tree_search, search_ioctl: direct copy to userspace · ba346b35
      Gerhard Heift authored
      By copying each found item seperatly to userspace, we do not need extra
      buffer in the kernel.
      Signed-off-by: default avatarGerhard Heift <Gerhard@Heift.Name>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      Acked-by: default avatarDavid Sterba <dsterba@suse.cz>
      ba346b35
    • Gerhard Heift's avatar
      btrfs: new function read_extent_buffer_to_user · 550ac1d8
      Gerhard Heift authored
      This new function reads the content of an extent directly to user memory.
      Signed-off-by: default avatarGerhard Heift <Gerhard@Heift.Name>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      Acked-by: default avatarDavid Sterba <dsterba@suse.cz>
      550ac1d8
    • Gerhard Heift's avatar
      btrfs: tree_search, copy_to_sk: return needed size on EOVERFLOW · 9b6e817d
      Gerhard Heift authored
      If an item in tree_search is too large to be stored in the given buffer, return
      the needed size (including the header).
      Signed-off-by: default avatarGerhard Heift <Gerhard@Heift.Name>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      Acked-by: default avatarDavid Sterba <dsterba@suse.cz>
      9b6e817d