23 Feb, 2015

21 commits

  • .. after extensive statistical analysis of my G+ polling, I've come to
    the inescapable conclusion that internet polls are bad.

    Big surprise.

    But "Hurr durr I'ma sheep" trounced "I like online polls" by a 62-to-38%
    margin, in a poll that people weren't even supposed to participate in.
    Who can argue with solid numbers like that? 5,796 votes from people who
    can't even follow the most basic directions?

    In contrast, "v4.0" beat out "v3.20" by a slimmer margin of 56-to-44%,
    but with a total of 29,110 votes right now.

    Now, arguably, that vote spread is only about 3,200 votes, which is less
    than the almost six thousand votes that the "please ignore" poll got, so
    it could be considered noise.

    But hey, I asked, so I'll honor the votes.

    Linus Torvalds
     
  • Pull ext4 fixes from Ted Ts'o:
    "Ext4 bug fixes.

    We also reserved code points for encryption and read-only images (for
    which the implementation is mostly just the reserved code point for a
    read-only feature :-)"

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: fix indirect punch hole corruption
    ext4: ignore journal checksum on remount; don't fail
    ext4: remove duplicate remount check for JOURNAL_CHECKSUM change
    ext4: fix mmap data corruption in nodelalloc mode when blocksize < pagesize
    ext4: support read-only images
    ext4: change to use setup_timer() instead of init_timer()
    ext4: reserve codepoints used by the ext4 encryption feature
    jbd2: complain about descriptor block checksum errors

    Linus Torvalds
     
  • Pull more vfs updates from Al Viro:
    "Assorted stuff from this cycle. The big ones here are multilayer
    overlayfs from Miklos and beginning of sorting ->d_inode accesses out
    from David"

    * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (51 commits)
    autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation
    procfs: fix race between symlink removals and traversals
    debugfs: leave freeing a symlink body until inode eviction
    Documentation/filesystems/Locking: ->get_sb() is long gone
    trylock_super(): replacement for grab_super_passive()
    fanotify: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions
    Cachefiles: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions
    VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry)
    SELinux: Use d_is_positive() rather than testing dentry->d_inode
    Smack: Use d_is_positive() rather than testing dentry->d_inode
    TOMOYO: Use d_is_dir() rather than d_inode and S_ISDIR()
    Apparmor: Use d_is_positive/negative() rather than testing dentry->d_inode
    Apparmor: mediated_filesystem() should use dentry->d_sb not inode->i_sb
    VFS: Split DCACHE_FILE_TYPE into regular and special types
    VFS: Add a fallthrough flag for marking virtual dentries
    VFS: Add a whiteout dentry type
    VFS: Introduce inode-getting helpers for layered/unioned fs environments
    Infiniband: Fix potential NULL d_inode dereference
    posix_acl: fix reference leaks in posix_acl_create
    autofs4: Wrong format for printing dentry
    ...

    Linus Torvalds
     
  • Pull ARM fix from Russell King:
    "Just one fix this time around. __iommu_alloc_buffer() can cause a
    BUG() if dma_alloc_coherent() is called with either __GFP_DMA32 or
    __GFP_HIGHMEM set. The patch from Alexandre addresses this"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: 8305/1: DMA: Fix kzalloc flags in __iommu_alloc_buffer()

    Linus Torvalds
     
  • X-Coverup: just ask spender
    Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • use_pde()/unuse_pde() in ->follow_link()/->put_link() resp.

    Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • As it is, we have debugfs_remove() racing with symlink traversals.
    Supply ->evict_inode() and do freeing there - inode will remain
    pinned until we are done with the symlink body.

    And rip the idiocy with checking if dentry is positive right after
    we'd verified debugfs_positive(), which is a stronger check...

    Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • I've noticed significant locking contention in memory reclaimer around
    sb_lock inside grab_super_passive(). Grab_super_passive() is called from
    two places: in icache/dcache shrinkers (function super_cache_scan) and
    from writeback (function __writeback_inodes_wb). Both are required for
    progress in memory allocator.

    Grab_super_passive() acquires sb_lock to increment sb->s_count and check
    sb->s_instances. It seems sb->s_umount locked for read is enough here:
    super-block deactivation always runs under sb->s_umount locked for write.
    Protecting super-block itself isn't a problem: in super_cache_scan() sb
    is protected by shrinker_rwsem: it cannot be freed if its slab shrinkers
    are still active. Inside writeback super-block comes from inode from bdi
    writeback list under wb->list_lock.

    This patch removes locking sb_lock and checks s_instances under s_umount:
    generic_shutdown_super() unlinks it under sb->s_umount locked for write.
    New variant is called trylock_super() and since it only locks semaphore,
    callers must call up_read(&sb->s_umount) instead of drop_super(sb) when
    they're done.

    Signed-off-by: Konstantin Khlebnikov
    Signed-off-by: Al Viro

    Konstantin Khlebnikov
     
  • Fanotify probably doesn't want to watch autodirs so make it use d_can_lookup()
    rather than d_is_dir() when checking a dir watch and give an error on fake
    directories.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Fix up the following scripted S_ISDIR/S_ISREG/S_ISLNK conversions (or lack
    thereof) in cachefiles:

    (1) Cachefiles mostly wants to use d_can_lookup() rather than d_is_dir() as
    it doesn't want to deal with automounts in its cache.

    (2) Coccinelle didn't find S_IS* expressions in ASSERT() statements in
    cachefiles.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Convert the following where appropriate:

    (1) S_ISLNK(dentry->d_inode) to d_is_symlink(dentry).

    (2) S_ISREG(dentry->d_inode) to d_is_reg(dentry).

    (3) S_ISDIR(dentry->d_inode) to d_is_dir(dentry). This is actually more
    complicated than it appears as some calls should be converted to
    d_can_lookup() instead. The difference is whether the directory in
    question is a real dir with a ->lookup op or whether it's a fake dir with
    a ->d_automount op.

    In some circumstances, we can subsume checks for dentry->d_inode not being
    NULL into this, provided we the code isn't in a filesystem that expects
    d_inode to be NULL if the dirent really *is* negative (ie. if we're going to
    use d_inode() rather than d_backing_inode() to get the inode pointer).

    Note that the dentry type field may be set to something other than
    DCACHE_MISS_TYPE when d_inode is NULL in the case of unionmount, where the VFS
    manages the fall-through from a negative dentry to a lower layer. In such a
    case, the dentry type of the negative union dentry is set to the same as the
    type of the lower dentry.

    However, if you know d_inode is not NULL at the call site, then you can use
    the d_is_xxx() functions even in a filesystem.

    There is one further complication: a 0,0 chardev dentry may be labelled
    DCACHE_WHITEOUT_TYPE rather than DCACHE_SPECIAL_TYPE. Strictly, this was
    intended for special directory entry types that don't have attached inodes.

    The following perl+coccinelle script was used:

    use strict;

    my @callers;
    open($fd, 'git grep -l \'S_IS[A-Z].*->d_inode\' |') ||
    die "Can't grep for S_ISDIR and co. callers";
    @callers = ;
    close($fd);
    unless (@callers) {
    print "No matches\n";
    exit(0);
    }

    my @cocci = (
    '@@',
    'expression E;',
    '@@',
    '',
    '- S_ISLNK(E->d_inode->i_mode)',
    '+ d_is_symlink(E)',
    '',
    '@@',
    'expression E;',
    '@@',
    '',
    '- S_ISDIR(E->d_inode->i_mode)',
    '+ d_is_dir(E)',
    '',
    '@@',
    'expression E;',
    '@@',
    '',
    '- S_ISREG(E->d_inode->i_mode)',
    '+ d_is_reg(E)' );

    my $coccifile = "tmp.sp.cocci";
    open($fd, ">$coccifile") || die $coccifile;
    print($fd "$_\n") || die $coccifile foreach (@cocci);
    close($fd);

    foreach my $file (@callers) {
    chomp $file;
    print "Processing ", $file, "\n";
    system("spatch", "--sp-file", $coccifile, $file, "--in-place", "--no-show-diff") == 0 ||
    die "spatch failed";
    }

    [AV: overlayfs parts skipped]

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Use d_is_positive() rather than testing dentry->d_inode in SELinux to get rid
    of direct references to d_inode outside of the VFS.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Use d_is_positive() rather than testing dentry->d_inode in Smack to get rid of
    direct references to d_inode outside of the VFS.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Use d_is_dir() rather than d_inode and S_ISDIR(). Note that this will include
    fake directories such as automount triggers.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Use d_is_positive(dentry) or d_is_negative(dentry) rather than testing
    dentry->d_inode as the dentry may cover another layer that has an inode when
    the top layer doesn't or may hold a 0,0 chardev that's actually a whiteout.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • mediated_filesystem() should use dentry->d_sb not dentry->d_inode->i_sb and
    should avoid file_inode() also since it is really dealing with the path.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Split DCACHE_FILE_TYPE into DCACHE_REGULAR_TYPE (dentries representing regular
    files) and DCACHE_SPECIAL_TYPE (representing blockdev, chardev, FIFO and
    socket files).

    d_is_reg() and d_is_special() are added to detect these subtypes and
    d_is_file() is left as the union of the two.

    This allows a number of places that use S_ISREG(dentry->d_inode->i_mode) to
    use d_is_reg(dentry) instead.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Add a DCACHE_FALLTHRU flag to indicate that, in a layered filesystem, this is
    a virtual dentry that covers another one in a lower layer that should be used
    instead. This may be recorded on medium if directory integration is stored
    there.

    The flag can be set with d_set_fallthru() and tested with d_is_fallthru().

    Original-author: Valerie Aurora
    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Add DCACHE_WHITEOUT_TYPE and provide a d_is_whiteout() accessor function. A
    d_is_miss() accessor is also added for ordinary cache misses and
    d_is_negative() is modified to indicate either an ordinary miss or an enforced
    miss (whiteout).

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • Introduce some function for getting the inode (and also the dentry) in an
    environment where layered/unioned filesystems are in operation.

    The problem is that we have places where we need *both* the union dentry and
    the lower source or workspace inode or dentry available, but we can only have
    a handle on one of them. Therefore we need to derive the handle to the other
    from that.

    The idea is to introduce an extra field in struct dentry that allows the union
    dentry to refer to and pin the lower dentry.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     

22 Feb, 2015

19 commits

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for MIPS:

    - a number of fixes that didn't make the 3.19 release.

    - a number of cleanups.

    - preliminary support for Cavium's Octeon 3 SOCs which feature up to
    48 MIPS64 R3 cores with FPU and hardware virtualization.

    - support for MIPS R6 processors.

    Revision 6 of the MIPS architecture is a major revision of the MIPS
    architecture which does away with many of original sins of the
    architecture such as branch delay slots. This and other changes in
    R6 require major changes throughout the entire MIPS core
    architecture code and make up for the lion share of this pull
    request.

    - finally some preparatory work for eXtendend Physical Address
    support, which allows support of up to 40 bit of physical address
    space on 32 bit processors"

    [ Ahh, MIPS can't leave the PAE brain damage alone. It's like
    every CPU architect has to make that mistake, but pee in the snow
    by changing the TLA. But whether it's called PAE, LPAE or XPA,
    it's horrid crud - Linus ]

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (114 commits)
    MIPS: sead3: Corrected get_c0_perfcount_int
    MIPS: mm: Remove dead macro definitions
    MIPS: OCTEON: irq: add CIB and other fixes
    MIPS: OCTEON: Don't do acknowledge operations for level triggered irqs.
    MIPS: OCTEON: More OCTEONIII support
    MIPS: OCTEON: Remove setting of processor specific CVMCTL icache bits.
    MIPS: OCTEON: Core-15169 Workaround and general CVMSEG cleanup.
    MIPS: OCTEON: Update octeon-model.h code for new SoCs.
    MIPS: OCTEON: Implement DCache errata workaround for all CN6XXX
    MIPS: OCTEON: Add little-endian support to asm/octeon/octeon.h
    MIPS: OCTEON: Implement the core-16057 workaround
    MIPS: OCTEON: Delete unused COP2 saving code
    MIPS: OCTEON: Use correct instruction to read 64-bit COP0 register
    MIPS: OCTEON: Save and restore CP2 SHA3 state
    MIPS: OCTEON: Fix FP context save.
    MIPS: OCTEON: Save/Restore wider multiply registers in OCTEON III CPUs
    MIPS: boot: Provide more uImage options
    MIPS: Remove unneeded #ifdef __KERNEL__ from asm/processor.h
    MIPS: ip22-gio: Remove legacy suspend/resume support
    mips: pci: Add ifdef around pci_proc_domain
    ...

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "A few fixes that came in too late to make it into the first set of
    pull requests but would still be nice to have in -rc1.

    The majority of these are trivial build fixes for bugs that I found
    myself using randconfig testing, and a set of two patches from Uwe to
    mark DT strings as 'const' where appropriate, to resolve inconsistent
    section attributes"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: make of_device_ids const
    ARM: make arrays containing machine compatible strings const
    ARM: mm: Remove Kconfig symbol CACHE_PL310
    ARM: rockchip: force built-in regulator support for PM
    ARM: mvebu: build armada375-smp code conditionally
    ARM: sti: always enable RESET_CONTROLLER
    ARM: rockchip: make rockchip_suspend_init conditional
    ARM: ixp4xx: fix {in,out}s{bwl} data types
    ARM: prima2: do not select SMP_ON_UP
    ARM: at91: fix pm declarations
    ARM: davinci: multi-soc kernels require AUTO_ZRELADDR
    ARM: davinci: davinci_cfg_reg cannot be init
    ARM: BCM: put back ARCH_MULTI_V7 dependency for mobile
    ARM: vexpress: use ARM_CPU_SUSPEND if needed
    ARM: dts: add I2C device nodes for Broadcom Cygnus
    ARM: dts: BCM63xx: fix L2 cache properties

    Linus Torvalds
     
  • Pull misc SCSI patches from James Bottomley:
    "This is a short patch set representing a couple of left overs from the
    merge window (debug removal and MAINTAINER changes).

    Plus one merge window regression (the local workqueue for hpsa) and a
    set of bug fixes for several issues (two for scsi-mq and the rest an
    assortment of long standing stuff, all cc'd to stable)"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    sg: fix EWOULDBLOCK errors with scsi-mq
    sg: fix unkillable I/O wait deadlock with scsi-mq
    sg: fix read() error reporting
    wd719x: add missing .module to wd719x_template
    hpsa: correct compiler warnings introduced by hpsa-add-local-workqueue patch
    fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit.
    fcoe: Transition maintainership to Vasu
    am53c974: remove left-over debugging code

    Linus Torvalds
     
  • …rnel/git/dgc/linux-xfs

    Pull xfs pnfs block layout support from Dave Chinner:
    "This contains the changes to XFS needed to support the PNFS block
    layout server that you pulled in through Bruce's NFS server tree
    merge.

    I originally thought that I'd need to merge changes into the NFS
    server side, but Bruce had already picked them up and so this is
    purely changes to the fs/xfs/ codebase.

    Summary:

    This update contains the implementation of the PNFS server export
    methods that enable use of XFS filesystems as a block layout target"

    * tag 'xfs-pnfs-for-linus-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
    xfs: recall pNFS layouts on conflicting access
    xfs: implement pNFS export operations

    Linus Torvalds
     
  • Pull more NFS client updates from Trond Myklebust:
    "Highlights include:

    - Fix a use-after-free in decode_cb_sequence_args()
    - Fix a compile error when #undef CONFIG_PROC_FS
    - NFSv4.1 backchannel spinlocking issue
    - Cleanups in the NFS unstable write code requested by Linus
    - NFSv4.1 fix issues when the server denies our backchannel request
    - Cleanups in create_session and bind_conn_to_session"

    * tag 'nfs-for-3.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFSv4.1: Clean up bind_conn_to_session
    NFSv4.1: Always set up a forward channel when binding the session
    NFSv4.1: Don't set up a backchannel if the server didn't agree to do so
    NFSv4.1: Clean up create_session
    pnfs: Refactor the *_layout_mark_request_commit to use pnfs_layout_mark_request_commit
    NFSv4: Kill unused nfs_inode->delegation_state field
    NFS: struct nfs_commit_info.lock must always point to inode->i_lock
    nfs: Can call nfs_clear_page_commit() instead
    nfs: Provide and use helper functions for marking a page as unstable
    SUNRPC: Always manipulate rpc_rqst::rq_bc_pa_list under xprt->bc_pa_lock
    SUNRPC: Fix a compile error when #undef CONFIG_PROC_FS
    NFSv4.1: Convert open-coded array allocation calls to kmalloc_array()
    NFSv4.1: Fix a kfree() of uninitialised pointers in decode_cb_sequence_args

    Linus Torvalds
     
  • Pull one more batch of power management and ACPI updates from Rafael Wysocki:
    "These are mostly fixes on top of the previously merged recent PM and
    ACPI material.

    First, one commit that broke the ACPI LPSS (Low-Power Subsystem)
    driver on a Dell box is reverted and there are two stable-candidate
    fixes for that driver. Another fix cleans up two recently added ACPI
    EC messages that look odd and the printk level of a noisy debug
    message in the core ACPI resources handling code is reduced.

    In addition to that we have two stable-candidate fixes for the s3c
    cpufreq driver, two cpuidle powernv driver updates related to Device
    Trees and a PNP subsystem cleanup that will allow us to get rid of
    some old ugliness going forward. Also there is a new blacklist entry
    for the ACPI backlight code.

    Specifics:

    - Revert a recent ACPI LPSS driver commit that prevented the touchpad
    driver from loading on Dell XPS13 (Jarkko Nikula).

    - Make the ACPI LPSS driver disable the I2C controllers and deassert
    SPI host controllers resets at startup on Intel BayTrail and
    Braswell SoCs in case they have been left in wrong states by the
    platform firmware which then may casuse fatal controller driver
    failures during resume from hibernation (Mika Westerberg).

    - Make two recently added ACPI EC messages look better (Scot Doyle).

    - Reduce the printk level of a recently added debug message related
    to ACPI resources that may become noisy in some cases (Rafael J
    Wysocki).

    - Add a new ACPI backlight blacklist entry for Samsung Series 9
    (900X3C/900X3D/900X3E/900X4C/900X4D) laptops where the native
    backlight interface doesn't work while the ACPI based one does
    (Jens Reyer).

    - Make the PNP sybsystem's core code use __request_region() followed
    by __release_region() instead of __check_region() which then will
    allow us to get rid of the latter as it has no more users (Jakub
    Sitnicki).

    - Fix a build breakage and an issue with two __init functions that
    may be called after initialization in the s3c cpufreq driver (Arnd
    Bergmann).

    - Make the powernv cpuidle driver read target_residency values for
    idle states from a Device Tree (as we have the suitable DT bindings
    for that now) and improve the parsing of the powermgmt DT node in
    that driver (Preeti U Murthy)"

    * tag 'pm+acpi-3.20-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpuidle: powernv: Avoid endianness conversions while parsing DT
    cpufreq: s3c: remove last use of resume_clocks callback
    cpufreq: s3c: remove incorrect __init annotations
    ACPI / LPSS: Deassert resets for SPI host controllers on Braswell
    ACPI / LPSS: Always disable I2C host controllers
    ACPI / resources: Change pr_info() to pr_debug() for debug information
    ACPI / video: Disable native backlight on Samsung Series 9 laptops
    cpuidle: powernv: Read target_residency value of idle states from DT if available
    Revert "ACPI / LPSS: Remove non-existing clock control from Intel Lynxpoint I2C"
    ACPI / EC: Remove non-standard log emphasis
    PNP: Switch from __check_region() to __request_region()

    Linus Torvalds
     
  • Pull followup block layer updates from Jens Axboe:
    "Two things in this pull request:

    - A block throttle oops fix (marked for stable) from Thadeu.

    - The NVMe fixes/features queued up for 3.20, but merged later in the
    process. From Keith. We should have gotten this merged earlier,
    we're ironing out the kinks in the process. Will be ready for the
    initial pull next series"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    blk-throttle: check stats_cpu before reading it from sysfs
    NVMe: Fix potential corruption on sync commands
    NVMe: Remove unused variables
    NVMe: Fix scsi mode select llbaa setting
    NVMe: Fix potential corruption during shutdown
    NVMe: Asynchronous controller probe
    NVMe: Register management handle under nvme class
    NVMe: Update SCSI Inquiry VPD 83h translation
    NVMe: Metadata format support

    Linus Torvalds
     
  • …evice-mapper/linux-dm

    Pull more device mapper changes from Mike Snitzer:

    - Significant dm-crypt CPU scalability performance improvements thanks
    to changes that enable effective use of an unbound workqueue across
    all available CPUs. A large battery of tests were performed to
    validate these changes, summary of results is available here:
    https://www.redhat.com/archives/dm-devel/2015-February/msg00106.html

    - A few additional stable fixes (to DM core, dm-snapshot and dm-mirror)
    and a small fix to the dm-space-map-disk.

    * tag 'dm-3.20-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm snapshot: fix a possible invalid memory access on unload
    dm: fix a race condition in dm_get_md
    dm crypt: sort writes
    dm crypt: add 'submit_from_crypt_cpus' option
    dm crypt: offload writes to thread
    dm crypt: remove unused io_pool and _crypt_io_pool
    dm crypt: avoid deadlock in mempools
    dm crypt: don't allocate pages for a partial request
    dm crypt: use unbound workqueue for request processing
    dm io: reject unsupported DISCARD requests with EOPNOTSUPP
    dm mirror: do not degrade the mirror on discard error
    dm space map disk: fix sm_disk_count_is_more_than_one()

    Linus Torvalds
     
  • Pull SCSI target updates from Nicholas Bellinger:
    "The highlights this round include:

    - Update vhost-scsi to support F_ANY_LAYOUT using mm/iov_iter.c
    logic, and signal VERSION_1 support (MST + Viro + nab)

    - Fix iscsi/iser-target to remove problematic active_ts_set usage
    (Gavin Guo)

    - Update iscsi/iser-target to support multi-sequence sendtargets
    (Sagi)

    - Fix original PR_APTPL_BUF_LEN 8k size limitation (Martin Svec)

    - Add missing WRITE_SAME end-of-device sanity check (Bart)

    - Check for LBA + sectors wrap-around in sbc_parse_cdb() (nab)

    - Other various minor SPC/SBC compliance fixes based upon Ronnie
    Sahlberg test suite (nab)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (32 commits)
    target: Set LBPWS10 bit in Logical Block Provisioning EVPD
    target: Fail UNMAP when emulate_tpu=0
    target: Fail WRITE_SAME w/ UNMAP=1 when emulate_tpws=0
    target: Add sanity checks for DPO/FUA bit usage
    target: Perform PROTECT sanity checks for WRITE_SAME
    target: Fail I/O with PROTECT bit when protection is unsupported
    target: Check for LBA + sectors wrap-around in sbc_parse_cdb
    target: Add missing WRITE_SAME end-of-device sanity check
    iscsi-target: Avoid IN_LOGOUT failure case for iser-target
    target: Fix PR_APTPL_BUF_LEN buffer size limitation
    iscsi-target: Drop problematic active_ts_list usage
    iscsi/iser-target: Support multi-sequence sendtargets text response
    iser-target: Remove duplicate function names
    vhost/scsi: potential memory corruption
    vhost/scsi: Global tcm_vhost -> vhost_scsi rename
    vhost/scsi: Drop left-over scsi_tcq.h include
    vhost/scsi: Set VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits
    vhost/scsi: Add ANY_LAYOUT support in vhost_scsi_handle_vq
    vhost/scsi: Add ANY_LAYOUT iov -> sgl mapping prerequisites
    vhost/scsi: Change vhost_scsi_map_to_sgl to accept iov ptr + len
    ...

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

    Updates to ALPS an bfin_roraty drivers and a couple oother fixups"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: psmouse - use IS_ENABLED instead of homegrown code
    Input: bfin_rotary - introduce open and close methods
    Input: bfin_rotary - convert to use managed resources
    Input: bfin_rotary - use generic IO functions
    Input: bfin_rotary - move pin lists into into platform data
    Input: bfin_rotary - move platform header to linux/platform_data
    Input: bfin_rotary - mark suspend and resume code as __maybe_unused
    Input: bfin_rotary - fix potential oops in interrupt handler
    Input: ALPS - move v7 packet info to Documentation and v6 packet info
    Input: ALPS - fix confusing comment in protocol data
    Input: ALPS - do not mix trackstick and external PS/2 mouse data
    Input: ALPS - fix trackstick detection on some Dell Latitudes
    Input: ALPS - consolidate setting protocol parameters
    Input: ALPS - split protocol data from model info
    Input: ALPS - make Rushmore a separate protocol
    Input: ALPS - renumber protocol numbers
    Input: adi - remove an unnecessary check
    Input: pxa27x_keypad - remove an unneeded NULL check
    Input: soc_button_array - use "Windows" key for "Home"

    Linus Torvalds
     
  • Pull InfiniBand/RDMA updates from Roland Dreier:
    - Re-enable on-demand paging changes with stable ABI
    - Fairly large set of ocrdma HW driver fixes
    - Some qib HW driver fixes
    - Other miscellaneous changes

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (43 commits)
    IB/qib: Add blank line after declaration
    IB/qib: Fix checkpatch warnings
    IB/mlx5: Enable the ODP capability query verb
    IB/core: Add on demand paging caps to ib_uverbs_ex_query_device
    IB/core: Add support for extended query device caps
    RDMA/cxgb4: Don't hang threads forever waiting on WR replies
    RDMA/ocrdma: Fix off by one in ocrdma_query_gid()
    RDMA/ocrdma: Use unsigned for bit index
    RDMA/ocrdma: Help gcc generate better code for ocrdma_srq_toggle_bit
    RDMA/ocrdma: Update the ocrdma module version string
    RDMA/ocrdma: set vlan present bit for user AH
    RDMA/ocrdma: remove reference of ocrdma_dev out of ocrdma_qp structure
    RDMA/ocrdma: Add support for interrupt moderation
    RDMA/ocrdma: Honor return value of ocrdma_resolve_dmac
    RDMA/ocrdma: Allow expansion of the SQ CQEs via buddy CQ expansion of the QP
    RDMA/ocrdma: Discontinue support of RDMA-READ-WITH-INVALIDATE
    RDMA/ocrdma: Host crash on destroying device resources
    RDMA/ocrdma: Report correct state in ibv_query_qp
    RDMA/ocrdma: Debugfs enhancments for ocrdma driver
    RDMA/ocrdma: Report correct count of interrupt vectors while registering ocrdma device
    ...

    Linus Torvalds
     
  • Pull i2c updates from Wolfram Sang:
    "Summary:

    - legacy PM code removed from the core, there were no users anymore
    (thanks to Lars-Peter Clausen)

    - new driver for Broadcom iProc

    - bigger driver updates for designware, rk3x, cadence, ocores

    - a bunch of smaller updates and bugfixes"

    * 'i2c/for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (31 commits)
    i2c: ocores: rework clk code to handle NULL cookie
    i2c: designware-baytrail: another fixup for proper Kconfig dependencies
    i2c: fix reference to functionality constants definition
    i2c: iproc: Add Broadcom iProc I2C Driver
    i2c: designware-pci: update Intel copyright line
    i2c: ocores: add common clock support
    i2c: hix5hd2: add COMPILE_TEST
    i2c: clarify comments about the dev_released completion
    i2c: ocores: fix clock-frequency binding usage
    i2c: tegra: Maintain CPU endianness
    i2c: designware-baytrail: use proper Kconfig dependencies
    i2c: designware: Do not calculate SCL timing parameters needlessly
    i2c: do not try to load modules for of-registered devices
    i2c: designware: Add Intel Baytrail PMIC I2C bus support
    i2c: designware: Add i2c bus locking support
    of: i2c: Add i2c-mux-idle-disconnect DT property to PCA954x mux driver
    i2c: designware: use {readl|writel}_relaxed instead of readl/writel
    i2c: designware-pci: no need to provide clk_khz
    i2c: designware-pci: remove Moorestown support
    i2c: imx: whitespace and checkpatch cleanup
    ...

    Linus Torvalds
     
  • Pull clock framework updates from Mike Turquette:
    "The clock framework changes contain the usual driver additions,
    enhancements and fixes mostly for ARM32, ARM64, MIPS and Power-based
    devices.

    Additionally the framework core underwent a bit of surgery with two
    major changes:

    - The boundary between the clock core and clock providers (e.g clock
    drivers) is now more well defined with dedicated provider helper
    functions. struct clk no longer maps 1:1 with the hardware clock
    but is a true per-user cookie which helps us tracker users of
    hardware clocks and debug bad behavior.

    - The addition of rate constraints for clocks. Rate ranges are now
    supported which are analogous to the voltage ranges in the
    regulator framework.

    Unfortunately these changes to the core created some breakeage. We
    think we fixed it all up but for this reason there are lots of last
    minute commits trying to undo the damage"

    * tag 'clk-for-linus-3.20' of git://git.linaro.org/people/mike.turquette/linux: (113 commits)
    clk: Only recalculate the rate if needed
    Revert "clk: mxs: Fix invalid 32-bit access to frac registers"
    clk: qoriq: Add support for the platform PLL
    powerpc/corenet: Enable CLK_QORIQ
    clk: Replace explicit clk assignment with __clk_hw_set_clk
    clk: Add __clk_hw_set_clk helper function
    clk: Don't dereference parent clock if is NULL
    MIPS: Alchemy: Remove bogus args from alchemy_clk_fgcs_detr
    clkdev: Always allocate a struct clk and call __clk_get() w/ CCF
    clk: shmobile: div6: Avoid division by zero in .round_rate()
    clk: mxs: Fix invalid 32-bit access to frac registers
    clk: omap: compile legacy omap3 clocks conditionally
    clkdev: Export clk_register_clkdev
    clk: Add rate constraints to clocks
    clk: remove clk-private.h
    pci: xgene: do not use clk-private.h
    arm: omap2+ remove dead clock code
    clk: Make clk API return per-user struct clk instances
    clk: tegra: Define PLLD_DSI and remove dsia(b)_mux
    clk: tegra: Add support for the Tegra132 CAR IP block
    ...

    Linus Torvalds
     
  • Pull VFIO updates from Alex Williamson:

    - IOMMU updates based on trace analysis
    - VFIO device request interface

    * tag 'vfio-v3.20-rc1' of git://github.com/awilliam/linux-vfio:
    vfio-pci: Add device request interface
    vfio-pci: Generalize setup of simple eventfds
    vfio: Add and use device request op for vfio bus drivers
    vfio: Tie IOMMU group reference to vfio group
    vfio: Add device tracking during unbind
    vfio/type1: Add conditional rescheduling
    vfio/type1: Chunk contiguous reserved/invalid page mappings
    vfio/type1: DMA unmap chunking

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Here are a few small fix patches for 3.20-rc1:

    - Quirks for Denon and Lifecam USB-audio devices and HD-audio on HP
    laptops
    - A long-time regression fix for HDSP eMADI
    - Add missing DRAIN_TRIGGER flag set for ASoC intel-sst
    - Trivial fixes for sequencer core and HD-audio Tegra, a LINE6
    cleanup"

    * tag 'sound-fix-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: usb: Fix support for Denon DA-300USB DAC (ID 154e:1003)
    ASoC: Intel: add SNDRV_PCM_INFO_DRAIN_TRIGGER flag
    ALSA: usb-audio: Don't attempt to get Lifecam HD-5000 sample rate
    ALSA: hda/tegra check correct return value from ioremap_resource
    ALSA: hdspm - Constrain periods to 2 on older cards
    ALSA: hda - enable mute led quirk for one more hp machine.
    ALSA: seq: potential out of bounds in do_control()
    ALSA: line6: Improve line6_read/write_data() interfaces

    Linus Torvalds
     
  • Pull thermal management fix from Zhang Rui:
    "One patch to fix a problem that all Exynos SoCs will break at boot
    time"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    thermal: exynos: fix: Check if data->tmu_read callback is present before read

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    "Two patches to save some memory if CONFIG_NR_CPUS is large, a changed
    default for the use of compare-and-delay, and a couple of bug fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/spinlock: disabled compare-and-delay by default
    s390/mm: align 64-bit PIE binaries to 4GB
    s390/cacheinfo: coding style changes
    s390/cacheinfo: fix shared cpu masks
    s390/smp: reduce size of struct pcpu
    s390/topology: convert cpu_topology array to per cpu variable
    s390/topology: delay initialization of topology cpu masks
    s390/vdso: fix clock_gettime for CLOCK_THREAD_CPUTIME_ID, -2 and -3

    Linus Torvalds
     
  • Pull Intel Quark SoC support from Ingo Molnar:
    "This adds support for Intel Quark X1000 SoC boards, used in the low
    power 32-bit x86 Intel Galileo microcontroller board intended for the
    Arduino space.

    There's been some preparatory core x86 patches for Quark CPU quirks
    merged already, but this rounds it all up and adds Kconfig enablement.
    It's a clean hardware enablement addition tree at this point"

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/intel/quark: Fix simple_return.cocci warnings
    x86/intel/quark: Fix ptr_ret.cocci warnings
    x86/intel/quark: Add Intel Quark platform support
    x86/intel/quark: Add Isolated Memory Regions for Quark X1000

    Linus Torvalds
     
  • Pull ntp fix from Ingo Molnar:
    "An adjtimex interface regression fix for 32-bit systems"

    [ A check that was added in a previous commit is really only a concern
    for 64bit systems, but was applied to both 32 and 64bit systems, which
    results in breaking 32bit systems.

    Thus the fix here is to make the check only apply to 64bit systems ]

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    ntp: Fixup adjtimex freq validation on 32-bit systems

    Linus Torvalds