20 Sep, 2016

1 commit

  • Right now LSM_AUDIT_DATA_PATH type contains "struct path" in union "u"
    of common_audit_data. This information is used to print path of file
    at the same time it is also used to get to dentry and inode. And this
    inode information is used to get to superblock and device and print
    device information.

    This does not work well for layered filesystems like overlay where dentry
    contained in path is overlay dentry and not the real dentry of underlying
    file system. That means inode retrieved from dentry is also overlay
    inode and not the real inode.

    SELinux helpers like file_path_has_perm() are doing checks on inode
    retrieved from file_inode(). This returns the real inode and not the
    overlay inode. That means we are doing check on real inode but for audit
    purposes we are printing details of overlay inode and that can be
    confusing while debugging.

    Hence, introduce a new type LSM_AUDIT_DATA_FILE which carries file
    information and inode retrieved is real inode using file_inode(). That
    way right avc denied information is given to user.

    For example, following is one example avc before the patch.

    type=AVC msg=audit(1473360868.399:214): avc: denied { read open } for
    pid=1765 comm="cat"
    path="/root/.../overlay/container1/merged/readfile"
    dev="overlay" ino=21443
    scontext=unconfined_u:unconfined_r:test_overlay_client_t:s0:c10,c20
    tcontext=unconfined_u:object_r:test_overlay_files_ro_t:s0
    tclass=file permissive=0

    It looks as follows after the patch.

    type=AVC msg=audit(1473360017.388:282): avc: denied { read open } for
    pid=2530 comm="cat"
    path="/root/.../overlay/container1/merged/readfile"
    dev="dm-0" ino=2377915
    scontext=unconfined_u:unconfined_r:test_overlay_client_t:s0:c10,c20
    tcontext=unconfined_u:object_r:test_overlay_files_ro_t:s0
    tclass=file permissive=0

    Notice that now dev information points to "dm-0" device instead of
    "overlay" device. This makes it clear that check failed on underlying
    inode and not on the overlay inode.

    Signed-off-by: Vivek Goyal
    [PM: slight tweaks to the description to make checkpatch.pl happy]
    Signed-off-by: Paul Moore

    Vivek Goyal
     

14 Sep, 2016

1 commit

  • Fix to return error code -EINVAL from the error handling case instead
    of 0 (rc is overwrite to 0 when policyvers >=
    POLICYDB_VERSION_ROLETRANS), as done elsewhere in this function.

    Signed-off-by: Wei Yongjun
    [PM: normalize "selinux" in patch subject, description line wrap]
    Signed-off-by: Paul Moore

    Wei Yongjun
     

31 Aug, 2016

1 commit


30 Aug, 2016

2 commits

  • libsepol pointed out an issue where its possible to have
    an unitialized jmp and invalid dereference, fix this.
    While we're here, zero allocate all the *_val_to_struct
    structures.

    Signed-off-by: William Roberts
    Signed-off-by: Paul Moore

    William Roberts
     
  • When count is 0 and the highbit is not zero, the ebitmap is not
    valid and the internal node is not allocated. This causes issues
    when routines, like mls_context_isvalid() attempt to use the
    ebitmap_for_each_bit() and ebitmap_node_get_bit() as they assume
    a highbit > 0 will have a node allocated.

    Signed-off-by: William Roberts
    Signed-off-by: Paul Moore

    William Roberts
     

19 Aug, 2016

1 commit

  • Remove the SECURITY_SELINUX_POLICYDB_VERSION_MAX Kconfig option

    Per: https://github.com/SELinuxProject/selinux/wiki/Kernel-Todo

    This was only needed on Fedora 3 and 4 and just causes issues now,
    so drop it.

    The MAX and MIN should just be whatever the kernel can support.

    Signed-off-by: William Roberts
    Signed-off-by: Paul Moore

    William Roberts
     

10 Aug, 2016

1 commit

  • Calculate what would be the label of newly created file and set that
    secid in the passed creds.

    Context of the task which is actually creating file is retrieved from
    set of creds passed in. (old->security).

    Signed-off-by: Vivek Goyal
    Acked-by: Stephen Smalley
    Signed-off-by: Paul Moore

    Vivek Goyal
     

09 Aug, 2016

8 commits

  • During a new file creation we need to make sure new file is created with the
    right label. New file is created in upper/ so effectively file should get
    label as if task had created file in upper/.

    We switched to mounter's creds for actual file creation. Also if there is a
    whiteout present, then file will be created in work/ dir first and then
    renamed in upper. In none of the cases file will be labeled as we want it to
    be.

    This patch introduces a new hook dentry_create_files_as(), which determines
    the label/context dentry will get if it had been created by task in upper
    and modify passed set of creds appropriately. Caller makes use of these new
    creds for file creation.

    Signed-off-by: Vivek Goyal
    Acked-by: Stephen Smalley
    [PM: fix whitespace issues found with checkpatch.pl]
    [PM: changes to use stat->mode in ovl_create_or_link()]
    Signed-off-by: Paul Moore

    Vivek Goyal
     
  • Right now selinux_determine_inode_label() works on security pointer of
    current task. Soon I need this to work on a security pointer retrieved
    from a set of creds. So start passing in a pointer and caller can
    decide where to fetch security pointer from.

    Signed-off-by: Vivek Goyal
    Acked-by: Stephen Smalley
    Signed-off-by: Paul Moore

    Vivek Goyal
     
  • When a file is copied up in overlay, we have already created file on
    upper/ with right label and there is no need to copy up selinux
    label/xattr from lower file to upper file. In fact in case of context
    mount, we don't want to copy up label as newly created file got its label
    from context= option.

    Signed-off-by: Vivek Goyal
    Acked-by: Stephen Smalley
    Signed-off-by: Paul Moore

    Vivek Goyal
     
  • Provide a security hook which is called when xattrs of a file are being
    copied up. This hook is called once for each xattr and LSM can return
    0 if the security module wants the xattr to be copied up, 1 if the
    security module wants the xattr to be discarded on the copy, -EOPNOTSUPP
    if the security module does not handle/manage the xattr, or a -errno
    upon an error.

    Signed-off-by: David Howells
    Signed-off-by: Vivek Goyal
    Acked-by: Stephen Smalley
    [PM: whitespace cleanup for checkpatch.pl]
    Signed-off-by: Paul Moore

    Vivek Goyal
     
  • A file is being copied up for overlay file system. Prepare a new set of
    creds and set create_sid appropriately so that new file is created with
    appropriate label.

    Overlay inode has right label for both context and non-context mount
    cases. In case of non-context mount, overlay inode will have the label
    of lower file and in case of context mount, overlay inode will have
    the label from context= mount option.

    Signed-off-by: Vivek Goyal
    Acked-by: Stephen Smalley
    Signed-off-by: Paul Moore

    Vivek Goyal
     
  • Provide a security hook to label new file correctly when a file is copied
    up from lower layer to upper layer of a overlay/union mount.

    This hook can prepare a new set of creds which are suitable for new file
    creation during copy up. Caller will use new creds to create file and then
    revert back to old creds and release new creds.

    Signed-off-by: Vivek Goyal
    Acked-by: Stephen Smalley
    [PM: whitespace cleanup to appease checkpatch.pl]
    Signed-off-by: Paul Moore

    Vivek Goyal
     
  • ioctlcmd is currently printing hex numbers, but their is no leading
    0x. Thus things like ioctlcmd=1234 are misleading, as the base is
    not evident.

    Correct this by adding 0x as a prefix, so ioctlcmd=1234 becomes
    ioctlcmd=0x1234.

    Signed-off-by: William Roberts
    Signed-off-by: Paul Moore

    William Roberts
     
  • The IS_ENABLED() macro checks if a Kconfig symbol has been enabled
    either built-in or as a module, use that macro instead of open coding
    the same.

    Signed-off-by: Javier Martinez Canillas
    Acked-by: Casey Schaufler
    Signed-off-by: Paul Moore

    Javier Martinez Canillas
     

08 Aug, 2016

7 commits

  • Linus Torvalds
     
  • Pull more block fixes from Jens Axboe:
    "As mentioned in the pull the other day, a few more fixes for this
    round, all related to the bio op changes in this series.

    Two fixes, and then a cleanup, renaming bio->bi_rw to bio->bi_opf. I
    wanted to do that change right after or right before -rc1, so that
    risk of conflict was reduced. I just rebased the series on top of
    current master, and no new ->bi_rw usage has snuck in"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    block: rename bio bi_rw to bi_opf
    target: iblock_execute_sync_cache() should use bio_set_op_attrs()
    mm: make __swap_writepage() use bio_set_op_attrs()
    block/mm: make bdev_ops->rw_page() take a bool for read/write

    Linus Torvalds
     
  • Pull drm zpos property support from Dave Airlie:
    "This tree was waiting on some media stuff I hadn't had time to get a
    stable branchpoint off, so I just waited until it was all in your tree
    first.

    It's been around a bit on the list and shouldn't affect anything
    outside adding the generic API and moving some ARM drivers to using
    it"

    * tag 'drm-for-v4.8-zpos' of git://people.freedesktop.org/~airlied/linux:
    drm: rcar: use generic code for managing zpos plane property
    drm/exynos: use generic code for managing zpos plane property
    drm: sti: use generic zpos for plane
    drm: add generic zpos property

    Linus Torvalds
     
  • Since commit 63a4cc24867d, bio->bi_rw contains flags in the lower
    portion and the op code in the higher portions. This means that
    old code that relies on manually setting bi_rw is most likely
    going to be broken. Instead of letting that brokeness linger,
    rename the member, to force old and out-of-tree code to break
    at compile time instead of at runtime.

    No intended functional changes in this commit.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • The original commit missed this function, it needs to mark it a
    write flush.

    Cc: Mike Christie
    Fixes: e742fc32fcb4 ("target: use bio op accessors")
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Cleaner than manipulating bio->bi_rw flags directly.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Commit abf545484d31 changed it from an 'rw' flags type to the
    newer ops based interface, but now we're effectively leaking
    some bdev internals to the rest of the kernel. Since we only
    care about whether it's a read or a write at that level, just
    pass in a bool 'is_write' parameter instead.

    Then we can also move op_is_write() and friends back under
    CONFIG_BLOCK protection.

    Reviewed-by: Mike Christie
    Signed-off-by: Jens Axboe

    Jens Axboe
     

07 Aug, 2016

4 commits

  • Pull documentation fixes from Jonathan Corbet:
    "Three fixes for the docs build, including removing an annoying warning
    on 'make help' if sphinx isn't present"

    * tag 'doc-4.8-fixes' of git://git.lwn.net/linux:
    DocBook: use DOCBOOKS="" to ignore DocBooks instead of IGNORE_DOCBOOKS=1
    Documenation: update cgroup's document path
    Documentation/sphinx: do not warn about missing tools in 'make help'

    Linus Torvalds
     
  • Pull binfmt_misc update from James Bottomley:
    "This update is to allow architecture emulation containers to function
    such that the emulation binary can be housed outside the container
    itself. The container and fs parts both have acks from relevant
    experts.

    To use the new feature you have to add an F option to your binfmt_misc
    configuration"

    From the docs:
    "The usual behaviour of binfmt_misc is to spawn the binary lazily when
    the misc format file is invoked. However, this doesn't work very well
    in the face of mount namespaces and changeroots, so the F mode opens
    the binary as soon as the emulation is installed and uses the opened
    image to spawn the emulator, meaning it is always available once
    installed, regardless of how the environment changes"

    * tag 'binfmt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/binfmt_misc:
    binfmt_misc: add F option description to documentation
    binfmt_misc: add persistent opened binary handler for containers
    fs: add filp_clone_open API

    Linus Torvalds
     
  • In most cases, EPERM is returned on immutable inode, and there're only a
    few places returning EACCES. I noticed this when running LTP on
    overlayfs, setxattr03 failed due to unexpected EACCES on immutable
    inode.

    So converting all EACCES to EPERM on immutable inode.

    Acked-by: Dave Chinner
    Signed-off-by: Eryu Guan
    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Eryu Guan
     
  • Pull more vfs updates from Al Viro:
    "Assorted cleanups and fixes.

    In the "trivial API change" department - ->d_compare() losing 'parent'
    argument"

    * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    cachefiles: Fix race between inactivating and culling a cache object
    9p: use clone_fid()
    9p: fix braino introduced in "9p: new helper - v9fs_parent_fid()"
    vfs: make dentry_needs_remove_privs() internal
    vfs: remove file_needs_remove_privs()
    vfs: fix deadlock in file_remove_privs() on overlayfs
    get rid of 'parent' argument of ->d_compare()
    cifs, msdos, vfat, hfs+: don't bother with parent in ->d_compare()
    affs ->d_compare(): don't bother with ->d_inode
    fold _d_rehash() and __d_rehash() together
    fold dentry_rcuwalk_invalidate() into its only remaining caller

    Linus Torvalds
     

06 Aug, 2016

14 commits

  • …nel/git/dgc/linux-xfs

    Pull more xfs updates from Dave Chinner:
    "This is the second part of the XFS updates for this merge cycle, and
    contains the new reverse block mapping feature for XFS.

    Reverse mapping allows us to track the owner of a specific block on
    disk precisely. It is implemented as a set of btrees (one per
    allocation group) that track the owners of allocated extents.
    Effectively it is a "used space tree" that is updated when we allocate
    or free extents. i.e. it is coherent with the free space btrees we
    already maintain and never overlaps with them.

    This reverse mapping infrastructure is the building block of several
    upcoming features - reflink, copy-on-write data, dedupe, online
    metadata and data scrubbing, highly accurate bad sector/data loss
    reporting to users, and significantly improved reconstruction of
    damaged and corrupted filesystems. There's a lot of new stuff coming
    along in the next couple of cycles,a nd it all builds in the rmap
    infrastructure.

    As such, it's a huge chunk of new code with new on-disk format
    features and internal infrastructure. It warns at mount time as an
    experimental feature and that it may eat data (as we do with all new
    on-disk features until they stabilise). We have not released
    userspace suport for it yet - userspace support currently requires
    download from Darrick's xfsprogs repo and build from source, so the
    access to this feature is really developer/tester only at this point.
    Initial userspace support will be released at the same time kernel
    with this code in it is released.

    The new rmap enabled code regresses 3 xfstests - all are ENOSPC
    related corner cases, one of which Darrick posted a fix for a few
    hours ago. The other two are fixed by infrastructure that is part of
    the upcoming reflink patchset. This new ENOSPC infrastructure
    requires a on-disk format tweak required to keep mount times in
    check - we need to keep an on-disk count of allocated rmapbt blocks so
    we don't have to scan the entire btrees at mount time to count them.

    This is currently being tested and will be part of the fixes sent in
    the next week or two so users will not be exposed to this change"

    * tag 'xfs-rmap-for-linus-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (52 commits)
    xfs: move (and rename) the deferred bmap-free tracepoints
    xfs: collapse single use static functions
    xfs: remove unnecessary parentheses from log redo item recovery functions
    xfs: remove the extents array from the rmap update done log item
    xfs: in btree_lshift, only allocate temporary cursor when needed
    xfs: remove unnecesary lshift/rshift key initialization
    xfs: remove the get*keys and update_keys btree ops pointers
    xfs: enable the rmap btree functionality
    xfs: don't update rmapbt when fixing agfl
    xfs: disable XFS_IOC_SWAPEXT when rmap btree is enabled
    xfs: add rmap btree block detection to log recovery
    xfs: add rmap btree geometry feature flag
    xfs: propagate bmap updates to rmapbt
    xfs: enable the xfs_defer mechanism to process rmaps to update
    xfs: log rmap intent items
    xfs: create rmap update intent log items
    xfs: add rmap btree insert and delete helpers
    xfs: convert unwritten status of reverse mappings
    xfs: remove an extent from the rmap btree
    xfs: add an extent to the rmap btree
    ...

    Linus Torvalds
     
  • Pull qstr constification updates from Al Viro:
    "Fairly self-contained bunch - surprising lot of places passes struct
    qstr * as an argument when const struct qstr * would suffice; it
    complicates analysis for no good reason.

    I'd prefer to feed that separately from the assorted fixes (those are
    in #for-linus and with somewhat trickier topology)"

    * 'work.const-qstr' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    qstr: constify instances in adfs
    qstr: constify instances in lustre
    qstr: constify instances in f2fs
    qstr: constify instances in ext2
    qstr: constify instances in vfat
    qstr: constify instances in procfs
    qstr: constify instances in fuse
    qstr constify instances in fs/dcache.c
    qstr: constify instances in nfs
    qstr: constify instances in ocfs2
    qstr: constify instances in autofs4
    qstr: constify instances in hfs
    qstr: constify instances in hfsplus
    qstr: constify instances in logfs
    qstr: constify dentry_init_security

    Linus Torvalds
     
  • Pull mailcap fixlets from Mauro Carvalho Chehab:
    "A small fixup for my and Shuah's entries in .mailcap.

    Basically, those entries were with a syntax that makes
    get_maintainer.pl to do the wrong thing"

    * tag 'media/v4.8-6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    .mailmap: Correct entries for Mauro Carvalho Chehab and Shuah Khan

    Linus Torvalds
     
  • Pull virtio/vhost updates from Michael Tsirkin:

    - new vsock device support in host and guest

    - platform IOMMU support in host and guest, including compatibility
    quirks for legacy systems.

    - misc fixes and cleanups.

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    VSOCK: Use kvfree()
    vhost: split out vringh Kconfig
    vhost: detect 32 bit integer wrap around
    vhost: new device IOTLB API
    vhost: drop vringh dependency
    vhost: convert pre sorted vhost memory array to interval tree
    vhost: introduce vhost memory accessors
    VSOCK: Add Makefile and Kconfig
    VSOCK: Introduce vhost_vsock.ko
    VSOCK: Introduce virtio_transport.ko
    VSOCK: Introduce virtio_vsock_common.ko
    VSOCK: defer sock removal to transports
    VSOCK: transport-specific vsock_transport functions
    vhost: drop vringh dependency
    vop: pull in vhost Kconfig
    virtio: new feature to detect IOMMU device quirk
    balloon: check the number of available pages in leak balloon
    vhost: lockless enqueuing
    vhost: simplify work flushing

    Linus Torvalds
     
  • Pull more KVM updates from Paolo Bonzini:
    - ARM bugfix and MSI injection support
    - x86 nested virt tweak and OOPS fix
    - Simplify pvclock code (vdso bits acked by Andy Lutomirski).

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    nvmx: mark ept single context invalidation as supported
    nvmx: remove comment about missing nested vpid support
    KVM: lapic: fix access preemption timer stuff even if kernel_irqchip=off
    KVM: documentation: fix KVM_CAP_X2APIC_API information
    x86: vdso: use __pvclock_read_cycles
    pvclock: introduce seqcount-like API
    arm64: KVM: Set cpsr before spsr on fault injection
    KVM: arm: vgic-irqfd: Workaround changing kvm_set_routing_entry prototype
    KVM: arm/arm64: Enable MSI routing
    KVM: arm/arm64: Enable irqchip routing
    KVM: Move kvm_setup_default/empty_irq_routing declaration in arch specific header
    KVM: irqchip: Convey devid to kvm_set_msi
    KVM: Add devid in kvm_kernel_irq_routing_entry
    KVM: api: Pass the devid in the msi routing entry

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for MIPS for 4.8. Also includes is a
    minor SSB cleanup as SSB code traditionally is merged through the MIPS
    tree:

    ATH25:
    - MIPS: Add default configuration for ath25

    Boot:
    - For zboot, copy appended dtb to the end of the kernel
    - store the appended dtb address in a variable

    BPF:
    - Fix off by one error in offset allocation

    Cobalt code:
    - Fix typos

    Core code:
    - debugfs_create_file returns NULL on error, so don't use IS_ERR for
    testing for errors.
    - Fix double locking issue in RM7000 S-cache code. This would only
    affect RM7000 ARC systems on reboot.
    - Fix page table corruption on THP permission changes.
    - Use compat_sys_keyctl for 32 bit userspace on 64 bit kernels.
    David says, there are no compatibility issues raised by this fix.
    - Move some signal code around.
    - Rewrite r4k count/compare clockevent device registration such that
    min_delta_ticks/max_delta_ticks files are guaranteed to be
    initialized.
    - Only register r4k count/compare as clockevent device if we can
    assume the clock to be constant.
    - Fix MSA asm warnings in control reg accessors
    - uasm and tlbex fixes and tweaking.
    - Print segment physical address when EU=1.
    - Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO.
    - CP: Allow booting by VP other than VP 0
    - Cache handling fixes and optimizations for r4k class caches
    - Add hotplug support for R6 processors
    - Cleanup hotplug bits in kconfig
    - traps: return correct si code for accessing nonmapped addresses
    - Remove cpu_has_safe_index_cacheops

    Lantiq:
    - Register IRQ handler for virtual IRQ number
    - Fix EIU interrupt loading code
    - Use the real EXIN count
    - Fix build error.

    Loongson 3:
    - Increase HPET_MIN_PROG_DELTA and decrease HPET_MIN_CYCLES

    Octeon:
    - Delete built-in DTB pruning code for D-Link DSR-1000N.
    - Clean up GPIO definitions in dlink_dsr-1000n.dts.
    - Add more LEDs to the DSR-100n DTS
    - Fix off by one in octeon_irq_gpio_map()
    - Typo fixes
    - Enable SATA by default in cavium_octeon_defconfig
    - Support readq/writeq()
    - Remove forced mappings of USB interrupts.
    - Ensure DMA descriptors are always in the low 4GB
    - Improve USB reset code for OCTEON II.

    Pistachio:
    - Add maintainers entry for pistachio SoC Support
    - Remove plat_setup_iocoherency

    Ralink:
    - Fix pwm UART in spis group pinmux.

    SSB:
    - Change bare unsigned to unsigned int to suit coding style

    Tools:
    - Fix reloc tool compiler warnings.

    Other:
    - Delete use of ARCH_WANT_OPTIONAL_GPIOLIB"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (61 commits)
    MIPS: mm: Fix definition of R6 cache instruction
    MIPS: tools: Fix relocs tool compiler warnings
    MIPS: Cobalt: Fix typo
    MIPS: Octeon: Fix typo
    MIPS: Lantiq: Fix build failure
    MIPS: Use CPHYSADDR to implement mips32 __pa
    MIPS: Octeon: Dlink_dsr-1000n.dts: add more leds.
    MIPS: Octeon: Clean up GPIO definitions in dlink_dsr-1000n.dts.
    MIPS: Octeon: Delete built-in DTB pruning code for D-Link DSR-1000N.
    MIPS: store the appended dtb address in a variable
    MIPS: ZBOOT: copy appended dtb to the end of the kernel
    MIPS: ralink: fix spis group pinmux
    MIPS: Factor o32 specific code into signal_o32.c
    MIPS: non-exec stack & heap when non-exec PT_GNU_STACK is present
    MIPS: Use per-mm page to execute branch delay slot instructions
    MIPS: Modify error handling
    MIPS: c-r4k: Use SMP calls for CM indexed cache ops
    MIPS: c-r4k: Avoid small flush_icache_range SMP calls
    MIPS: c-r4k: Local flush_icache_range cache op override
    MIPS: c-r4k: Split r4k_flush_kernel_vmap_range()
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "Mostly tooling fixes and some late tooling updates, plus two perf
    related printk message fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tests bpf: Use SyS_epoll_wait alias
    perf tests: objdump output can contain multi byte chunks
    perf record: Add --sample-cpu option
    perf hists: Introduce output_resort_cb method
    perf tools: Move config/Makefile into Makefile.config
    perf tests: Add test for bitmap_scnprintf function
    tools lib: Add bitmap_and function
    tools lib: Add bitmap_scnprintf function
    tools lib: Add bitmap_alloc function
    tools lib traceevent: Ignore generated library files
    perf tools: Fix build failure on perl script context
    perf/core: Change log level for duration warning to KERN_INFO
    perf annotate: Plug filename string leak
    perf annotate: Introduce strerror for handling symbol__disassemble() errors
    perf annotate: Rename symbol__annotate() to symbol__disassemble()
    perf/x86: Modify error message in virtualized environment
    perf target: str_error_r() always returns the buffer it receives
    perf annotate: Use pipe + fork instead of popen
    perf evsel: Introduce constructor for cycles event

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Two fixes and a cleanup-fix, to the syscall entry code and to ptrace"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/syscalls/64: Add compat_sys_keyctl for 32-bit userspace
    x86/ptrace: Stop setting TS_COMPAT in ptrace code
    x86/vdso: Error out if the vDSO isn't a valid DSO

    Linus Torvalds
     
  • Pull arch/sh updates from Rich Felker:
    "These changes improve device tree support (including builtin DTB), add
    support for the J-Core J2 processor, an open source synthesizable
    reimplementation of the SH-2 ISA, resolve a longstanding sigcontext
    ABI mismatch issue, and fix various bugs including nommu-specific
    issues and minor regressions introduced in 4.6.

    The J-Core arch support is included here but to be usable it needs
    drivers that are waiting on approval/inclusion from their subsystem
    maintainers"

    * tag 'sh-for-4.8' of git://git.libc.org/linux-sh: (23 commits)
    sh: add device tree source for J2 FPGA on Mimas v2 board
    sh: add defconfig for J-Core J2
    sh: use common clock framework with device tree boards
    sh: system call wire up
    sh: Delete unnecessary checks before the function call "mempool_destroy"
    sh: do not perform IPI-based cache flush except on boards that need it
    sh: add SMP support for J2
    sh: SMP support for SH2 entry.S
    sh: add working futex atomic ops on userspace addresses for smp
    sh: add J2 atomics using the cas.l instruction
    sh: add AT_HWCAP flag for J-Core cas.l instruction
    sh: add support for J-Core J2 processor
    sh: fix build regression with CONFIG_OF && !CONFIG_OF_FLATTREE
    sh: allow clocksource drivers to register sched_clock backends
    sh: make heartbeat driver explicitly non-modular
    sh: make board-secureedge5410 explicitly non-modular
    sh: make mm/asids-debugfs explicitly non-modular
    sh: make time.c explicitly non-modular
    sh: fix futex/robust_list on nommu models
    sh: disable aliased page logic on NOMMU models
    ...

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:

    - fix HugeTLB leak due to CoW and PTE_RDONLY mismatch

    - avoid accessing unmapped FDT fields when checking validity

    - correctly account for vDSO AUX entry in ARCH_DLINFO

    - fix kallsyms with absolute expressions in linker script

    - kill unnecessary symbol-based relocs in vmlinux

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: Fix copy-on-write referencing in HugeTLB
    arm64: mm: avoid fdt_check_header() before the FDT is fully mapped
    arm64: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
    arm64: relocatable: suppress R_AARCH64_ABS64 relocations in vmlinux
    arm64: vmlinux.lds: make __rela_offset and __dynsym_offset ABSOLUTE

    Linus Torvalds
     
  • …erry.reding/linux-pwm

    Pull pwm updates from Thierry Reding:
    "This set of changes improve some aspects of the atomic API as well as
    make use of this new API in the regulator framework to allow properly
    dealing with critical regulators controlled by a PWM.

    Aside from that there's a bunch of updates and cleanups for existing
    drivers, as well as the addition of new drivers for the Broadcom
    iProc, STMPE and ChromeOS EC controllers"

    * tag 'pwm/for-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (44 commits)
    regulator: pwm: Document pwm-dutycycle-unit and pwm-dutycycle-range
    regulator: pwm: Support extra continuous mode cases
    pwm: Add ChromeOS EC PWM driver
    dt-bindings: pwm: Add binding for ChromeOS EC PWM
    mfd: cros_ec: Add EC_PWM function definitions
    mfd: cros_ec: Add cros_ec_cmd_xfer_status() helper
    pwm: atmel: Use of_device_get_match_data()
    pwm: atmel: Fix checkpatch warnings
    pwm: atmel: Fix disabling of PWM channels
    dt-bindings: pwm: Add R-Car H3 device tree bindings
    pwm: rcar: Use ARCH_RENESAS
    pwm: tegra: Add support for Tegra186
    dt-bindings: pwm: tegra: Add compatible string for Tegra186
    pwm: tegra: Avoid overflow when calculating duty cycle
    pwm: tegra: Allow 100 % duty cycle
    pwm: tegra: Add support for reset control
    pwm: tegra: Rename mmio_base to regs
    pwm: tegra: Remove useless padding
    pwm: tegra: Drop NUM_PWM macro
    pwm: lpc32xx: Set PWM_PIN_LEVEL bit to default value
    ...

    Linus Torvalds
     
  • Pull NTB updates from Jon Mason:
    "NTB bug fixes for the ntb_tool and ntb_perf, and improvements to the
    ntb_perf and ntb_pingpong for increased debugability.

    Also, modification to the ntb_transport layer to increase/decrease
    the number of transport entries depending on the ring size"

    * tag 'ntb-4.8' of git://github.com/jonmason/ntb:
    NTB: ntb_hw_intel: use local variable pdev
    NTB: ntb_hw_intel: show BAR size in debugfs info
    ntb_test: Add a selftest script for the NTB subsystem
    ntb_perf: clear link_is_up flag when the link goes down.
    ntb_pingpong: Add a debugfs file to get the ping count
    ntb_tool: Add link status and files to debugfs
    ntb_tool: Postpone memory window initialization for the user
    ntb_perf: Wait for link before running test
    ntb_perf: Return results by reading the run file
    ntb_perf: Improve thread handling to increase robustness
    ntb_perf: Schedule based on time not on performance
    ntb_transport: Check the number of spads the hardware supports
    ntb_tool: Add memory window debug support
    ntb_perf: Allow limiting the size of the memory windows
    NTB: allocate number transport entries depending on size of ring size
    ntb_tool: BUG: Ensure the buffer size is large enough to return all spads
    ntb_tool: Fix infinite loop bug when writing spad/peer_spad file

    Linus Torvalds
     
  • Pull pstore fixes from Kees Cook:
    "Fixes for pstore ramoops driver to catch bad kfree() and to use better
    DT bindings"

    * tag 'pstore-v4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    ramoops: use persistent_ram_free() instead of kfree() for freeing prz
    ramoops: use DT reserved-memory bindings

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This is seven basic fixes (plus one MAINTAINER update) which came in
    close to the merge window"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    ipr: Fix error return code in ipr_probe_ioa()
    fcoe: add missing destroy_workqueue() on error in fcoe_init()
    lpfc: Fix possible NULL pointer dereference
    fcoe: Use default VLAN for FIP VLAN discovery
    ipr: Wait to do async scan until scsi host is initialized
    MAINTAINERS: Update cxlflash maintainers
    cxlflash: Verify problem state area is mapped before notifying shutdown
    lpfc: fix oops in lpfc_sli4_scmd_to_wqidx_distr() from lpfc_send_taskmgmt()

    Linus Torvalds