07 Jul, 2017

2 commits

  • Pull cgroup changes from Tejun Heo:

    - Waiman made the debug controller work and a lot more useful on
    cgroup2

    - There were a couple issues with cgroup subtree delegation. The
    documentation on delegating to a non-root user was missing some part
    and cgroup namespace support wasn't factoring in delegation at all.
    The documentation is updated and the now there is a mount option to
    make cgroup namespace fit for delegation

    * 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup: implement "nsdelegate" mount option
    cgroup: restructure cgroup_procs_write_permission()
    cgroup: "cgroup.subtree_control" should be writeable by delegatee
    cgroup: fix lockdep warning in debug controller
    cgroup: refactor cgroup_masks_read() in the debug controller
    cgroup: make debug an implicit controller on cgroup2
    cgroup: Make debug cgroup support v2 and thread mode
    cgroup: Make Kconfig prompt of debug cgroup more accurate
    cgroup: Move debug cgroup to its own file
    cgroup: Keep accurate count of tasks in each css_set

    Linus Torvalds
     
  • Pull libata updates from Tejun Heo:

    - Christoph added support for TCG OPAL self encrypting disks

    - Minwoo added support for ATA PASS-THROUGH(32)

    - Linus Walleij removed spurious drvdata assignments in some drivers

    - Support for a few new device and other fixes

    * 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (33 commits)
    sd: add support for TCG OPAL self encrypting disks
    libata: fix build warning from unused goto label
    libata: Support for an ATA PASS-THROUGH(32) command.
    ahci: Add Device ID for ASMedia 1061R and 1062R
    sata_via: Enable optional hotplug on VT6420
    ata: ahci_brcm: Avoid writing to read-only registers
    libata: Add the AHCI_HFLAG_NO_WRITE_TO_RO flag
    libata: Add the AHCI_HFLAG_YES_ALPM flag
    ata: ftide010: fix resource printing
    libata: make the function name in comment match the actual function
    ata: sata_rcar: make of_device_ids const.
    ata: pata_octeon_cf: make of_device_ids const.
    libata: Convert bare printks to pr_cont
    libahci: wrong comments in ahci_do_softreset()
    ata: declare ata_port_info structures as const
    ata: Add driver for Faraday Technology FTIDE010
    ata: Add DT bindings for the Gemini SATA bridge
    ata: Add DT bindings for Faraday Technology FTIDE010
    libata: implement SECURITY PROTOCOL IN/OUT
    libata: factor out a ata_identify_page_supported helper
    ...

    Linus Torvalds
     

06 Jul, 2017

20 commits

  • Pull percpu updates from Tejun Heo:
    "These are the percpu changes for the v4.13-rc1 merge window. There are
    a couple visibility related changes - tracepoints and allocator stats
    through debugfs, along with __ro_after_init markings and a cosmetic
    rename in percpu_counter.

    Please note that the simple O(#elements_in_the_chunk) area allocator
    used by percpu allocator is again showing scalability issues,
    primarily with bpf allocating and freeing large number of counters.
    Dennis is working on the replacement allocator and the percpu
    allocator will be seeing increased churns in the coming cycles"

    * 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: fix static checker warnings in pcpu_destroy_chunk
    percpu: fix early calls for spinlock in pcpu_stats
    percpu: resolve err may not be initialized in pcpu_alloc
    percpu_counter: Rename __percpu_counter_add to percpu_counter_add_batch
    percpu: add tracepoint support for percpu memory
    percpu: expose statistics about percpu memory via debugfs
    percpu: migrate percpu data structures to internal header
    percpu: add missing lockdep_assert_held to func pcpu_free_area
    mark most percpu globals as __ro_after_init

    Linus Torvalds
     
  • Pull another parisc update from Helge Deller:
    "Christoph Hellwig provided one patch for the parisc architecture to
    drop the DMA_ERROR_CODE define from the parisc architecture"

    * 'parisc-4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: ->mapping_error

    Linus Torvalds
     
  • Pull arm64 updates from Will Deacon:

    - RAS reporting via GHES/APEI (ACPI)

    - Indirect ftrace trampolines for modules

    - Improvements to kernel fault reporting

    - Page poisoning

    - Sigframe cleanups and preparation for SVE context

    - Core dump fixes

    - Sparse fixes (mainly relating to endianness)

    - xgene SoC PMU v3 driver

    - Misc cleanups and non-critical fixes

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (75 commits)
    arm64: fix endianness annotation for 'struct jit_ctx' and friends
    arm64: cpuinfo: constify attribute_group structures.
    arm64: ptrace: Fix incorrect get_user() use in compat_vfp_set()
    arm64: ptrace: Remove redundant overrun check from compat_vfp_set()
    arm64: ptrace: Avoid setting compat FP[SC]R to garbage if get_user fails
    arm64: fix endianness annotation for __apply_alternatives()/get_alt_insn()
    arm64: fix endianness annotation in get_kaslr_seed()
    arm64: add missing conversion to __wsum in ip_fast_csum()
    arm64: fix endianness annotation in acpi_parking_protocol.c
    arm64: use readq() instead of readl() to read 64bit entry_point
    arm64: fix endianness annotation for reloc_insn_movw() & reloc_insn_imm()
    arm64: fix endianness annotation for aarch64_insn_write()
    arm64: fix endianness annotation in aarch64_insn_read()
    arm64: fix endianness annotation in call_undef_hook()
    arm64: fix endianness annotation for debug-monitors.c
    ras: mark stub functions as 'inline'
    arm64: pass endianness info to sparse
    arm64: ftrace: fix !CONFIG_ARM64_MODULE_PLTS kernels
    arm64: signal: Allow expansion of the signal frame
    acpi: apei: check for pending errors when probing GHES entries
    ...

    Linus Torvalds
     
  • Pull mnt namespace updates from Eric Biederman:
    "A big break-through came during this development cycle as a way was
    found to maintain the existing umount -l semantics while allowing for
    optimizations that improve the performance. That is represented by the
    first change in this series moving the reparenting of mounts into
    their own pass. This has allowed addressing the horrific performance
    of umount -l on a carefully crafted tree of mounts with locks held
    (0.06s vs 60s in my testing). What allowed this was not changing where
    umounts propagate to while propgating umounts.

    The next change fixes the case where the order of the mount whose
    umount are being progated visits a tree where the mounts are stacked
    upon each other in another order. This is weird but not hard to
    implement.

    The final change takes advantage of the unchanging mount propgation
    tree to skip parts of the mount propgation tree that have already been
    visited. Yielding a very nice speed up in the worst case.

    There remains one outstanding question about the semantics of umount -l
    that I am still discussiong with Ram Pai. In practice that area of the
    semantics was changed by 1064f874abc0 ("mnt: Tuck mounts under others
    instead of creating shadow/side mounts.") and no regressions have been
    reported. Still I intend to finish talking that out with him to ensure
    there is not something a more intense use of mount propagation in the
    future will not cause to become significant"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
    mnt: Make propagate_umount less slow for overlapping mount propagation trees
    mnt: In propgate_umount handle visiting mounts in any order
    mnt: In umount propagation reparent in a separate pass

    Linus Torvalds
     
  • Pull GFS2 updates from Bob Peterson:
    "We've got eight GFS2 patches for this merge window:

    - Andreas Gruenbacher has four patches related to cleaning up the
    GFS2 inode evict process. This is about half of his patches
    designed to fix a long-standing GFS2 hang related to the inode
    shrinker: Shrinker calls gfs2 evict, evict calls DLM, DLM requires
    memory and blocks on the shrinker.

    These four patches have been well tested. His second set of patches
    are still being tested, so I plan to hold them until the next merge
    window, after we have more weeks of testing. The first patch
    eliminates the flush_delayed_work, which can block.

    - Andreas's second patch protects setting of gl_object for rgrps with
    a spin_lock to prevent proven races.

    - His third patch introduces a centralized mechanism for queueing
    glock work with better reference counting, to prevent more races.

    -His fourth patch retains a reference to inode glocks when an error
    occurs while creating an inode. This keeps the subsequent evict
    from needing to reacquire the glock, which might call into DLM and
    block in low memory conditions.

    - Arvind Yadav has a patch to add const to attribute_group
    structures.

    - I have a patch to detect directory entry inconsistencies and
    withdraw the file system if any are found. Better that than silent
    corruption.

    - I have a patch to remove a vestigial variable from glock
    structures, saving some slab space.

    - I have another patch to remove a vestigial variable from the GFS2
    in-core superblock structure"

    * tag 'gfs2-4.13.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
    GFS2: constify attribute_group structures.
    gfs2: gfs2_create_inode: Keep glock across iput
    gfs2: Clean up glock work enqueuing
    gfs2: Protect gl->gl_object by spin lock
    gfs2: Get rid of flush_delayed_work in gfs2_evict_inode
    GFS2: Eliminate vestigial sd_log_flush_wrapped
    GFS2: Remove gl_list from glock structure
    GFS2: Withdraw when directory entry inconsistencies are detected

    Linus Torvalds
     
  • Pull btrfs updates from David Sterba:
    "The core updates improve error handling (mostly related to bios), with
    the usual incremental work on the GFP_NOFS (mis)use removal,
    refactoring or cleanups. Except the two top patches, all have been in
    for-next for an extensive amount of time.

    User visible changes:

    - statx support

    - quota override tunable

    - improved compression thresholds

    - obsoleted mount option alloc_start

    Core updates:

    - bio-related updates:
    - faster bio cloning
    - no allocation failures
    - preallocated flush bios

    - more kvzalloc use, memalloc_nofs protections, GFP_NOFS updates

    - prep work for btree_inode removal

    - dir-item validation

    - qgoup fixes and updates

    - cleanups:
    - removed unused struct members, unused code, refactoring
    - argument refactoring (fs_info/root, caller -> callee sink)
    - SEARCH_TREE ioctl docs"

    * 'for-4.13-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (115 commits)
    btrfs: Remove false alert when fiemap range is smaller than on-disk extent
    btrfs: Don't clear SGID when inheriting ACLs
    btrfs: fix integer overflow in calc_reclaim_items_nr
    btrfs: scrub: fix target device intialization while setting up scrub context
    btrfs: qgroup: Fix qgroup reserved space underflow by only freeing reserved ranges
    btrfs: qgroup: Introduce extent changeset for qgroup reserve functions
    btrfs: qgroup: Fix qgroup reserved space underflow caused by buffered write and quotas being enabled
    btrfs: qgroup: Return actually freed bytes for qgroup release or free data
    btrfs: qgroup: Cleanup btrfs_qgroup_prepare_account_extents function
    btrfs: qgroup: Add quick exit for non-fs extents
    Btrfs: rework delayed ref total_bytes_pinned accounting
    Btrfs: return old and new total ref mods when adding delayed refs
    Btrfs: always account pinned bytes when dropping a tree block ref
    Btrfs: update total_bytes_pinned when pinning down extents
    Btrfs: make BUG_ON() in add_pinned_bytes() an ASSERT()
    Btrfs: make add_pinned_bytes() take an s64 num_bytes instead of u64
    btrfs: fix validation of XATTR_ITEM dir items
    btrfs: Verify dir_item in iterate_object_props
    btrfs: Check name_len before in btrfs_del_root_ref
    btrfs: Check name_len before reading btrfs_get_name
    ...

    Linus Torvalds
     
  • Pull memdup_user() conversions from Al Viro:
    "A fairly self-contained series - hunting down open-coded memdup_user()
    and memdup_user_nul() instances"

    * 'work.memdup_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    bpf: don't open-code memdup_user()
    kimage_file_prepare_segments(): don't open-code memdup_user()
    ethtool: don't open-code memdup_user()
    do_ip_setsockopt(): don't open-code memdup_user()
    do_ipv6_setsockopt(): don't open-code memdup_user()
    irda: don't open-code memdup_user()
    xfrm_user_policy(): don't open-code memdup_user()
    ima_write_policy(): don't open-code memdup_user_nul()
    sel_write_validatetrans(): don't open-code memdup_user_nul()

    Linus Torvalds
     
  • Pull timer-related user access updates from Al Viro:
    "Continuation of timers-related stuff (there had been more, but my
    parts of that series are already merged via timers/core). This is more
    of y2038 work by Deepa Dinamani, partially disrupted by the
    unification of native and compat timers-related syscalls"

    * 'timers-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    posix_clocks: Use get_itimerspec64() and put_itimerspec64()
    timerfd: Use get_itimerspec64() and put_itimerspec64()
    nanosleep: Use get_timespec64() and put_timespec64()
    posix-timers: Use get_timespec64() and put_timespec64()
    posix-stubs: Conditionally include COMPAT_SYS_NI defines
    time: introduce {get,put}_itimerspec64
    time: add get_timespec64 and put_timespec64

    Linus Torvalds
     
  • Pull read/write updates from Al Viro:
    "Christoph's fs/read_write.c series - consolidation and cleanups"

    * 'work.read_write' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    nfsd: remove nfsd_vfs_read
    nfsd: use vfs_iter_read/write
    fs: implement vfs_iter_write using do_iter_write
    fs: implement vfs_iter_read using do_iter_read
    fs: move more code into do_iter_read/do_iter_write
    fs: remove __do_readv_writev
    fs: remove do_compat_readv_writev
    fs: remove do_readv_writev

    Linus Torvalds
     
  • Pull wait syscall updates from Al Viro:
    "Consolidating sys_wait* and compat counterparts.

    Gets rid of set_fs()/double-copy mess, simplifies the whole thing
    (lifting the copyouts to the syscalls means less headache in the part
    that does actual work - fewer failure exits, to start with), gets rid
    of the overhead of field-by-field __put_user()"

    * 'work.sys_wait' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    osf_wait4: switch to kernel_wait4()
    waitid(): switch copyout of siginfo to unsafe_put_user()
    wait_task_zombie: consolidate info logics
    kill wait_noreap_copyout()
    lift getrusage() from wait_noreap_copyout()
    waitid(2): leave copyout of siginfo to syscall itself
    kernel_wait4()/kernel_waitid(): delay copying status to userland
    wait4(2)/waitid(2): separate copying rusage to userland
    move compat wait4 and waitid next to native variants

    Linus Torvalds
     
  • Pull misc user access cleanups from Al Viro:
    "The first pile is assorted getting rid of cargo-culted access_ok(),
    cargo-culted set_fs() and field-by-field copyouts.

    The same description applies to a lot of stuff in other branches -
    this is just the stuff that didn't fit into a more specific topical
    branch"

    * 'work.misc-set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    Switch flock copyin/copyout primitives to copy_{from,to}_user()
    fs/fcntl: return -ESRCH in f_setown when pid/pgid can't be found
    fs/fcntl: f_setown, avoid undefined behaviour
    fs/fcntl: f_setown, allow returning error
    lpfc debugfs: get rid of pointless access_ok()
    adb: get rid of pointless access_ok()
    isdn: get rid of pointless access_ok()
    compat statfs: switch to copy_to_user()
    fs/locks: don't mess with the address limit in compat_fcntl64
    nfsd_readlink(): switch to vfs_get_link()
    drbd: ->sendpage() never needed set_fs()
    fs/locks: pass kernel struct flock to fcntl_getlk/setlk
    fs: locks: Fix some troubles at kernel-doc comments

    Linus Torvalds
     
  • Every developer always thinks that _their_ code is so special and
    magical that it should be enabled by default.

    And most of them are completely and utterly wrong. That's definitely
    the case when you write a specialty driver for a very unsual "security
    processor". It does *not* get to mark itself as "default m".

    If you solve world hunger, and make a driver that cures people of
    cancer, by all means enable it by default. But afaik, the Cavium
    CNN55XX does neither.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • DMA_ERROR_CODE already went away in linux-next, but parisc unfortunately
    added a new instance of it without any review as far as I can tell.

    Move the two iommu drivers to report errors through ->mapping_error.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Helge Deller

    Christoph Hellwig
     
  • Pull networking updates from David Miller:
    "Reasonably busy this cycle, but perhaps not as busy as in the 4.12
    merge window:

    1) Several optimizations for UDP processing under high load from
    Paolo Abeni.

    2) Support pacing internally in TCP when using the sch_fq packet
    scheduler for this is not practical. From Eric Dumazet.

    3) Support mutliple filter chains per qdisc, from Jiri Pirko.

    4) Move to 1ms TCP timestamp clock, from Eric Dumazet.

    5) Add batch dequeueing to vhost_net, from Jason Wang.

    6) Flesh out more completely SCTP checksum offload support, from
    Davide Caratti.

    7) More plumbing of extended netlink ACKs, from David Ahern, Pablo
    Neira Ayuso, and Matthias Schiffer.

    8) Add devlink support to nfp driver, from Simon Horman.

    9) Add RTM_F_FIB_MATCH flag to RTM_GETROUTE queries, from Roopa
    Prabhu.

    10) Add stack depth tracking to BPF verifier and use this information
    in the various eBPF JITs. From Alexei Starovoitov.

    11) Support XDP on qed device VFs, from Yuval Mintz.

    12) Introduce BPF PROG ID for better introspection of installed BPF
    programs. From Martin KaFai Lau.

    13) Add bpf_set_hash helper for TC bpf programs, from Daniel Borkmann.

    14) For loads, allow narrower accesses in bpf verifier checking, from
    Yonghong Song.

    15) Support MIPS in the BPF selftests and samples infrastructure, the
    MIPS eBPF JIT will be merged in via the MIPS GIT tree. From David
    Daney.

    16) Support kernel based TLS, from Dave Watson and others.

    17) Remove completely DST garbage collection, from Wei Wang.

    18) Allow installing TCP MD5 rules using prefixes, from Ivan
    Delalande.

    19) Add XDP support to Intel i40e driver, from Björn Töpel

    20) Add support for TC flower offload in nfp driver, from Simon
    Horman, Pieter Jansen van Vuuren, Benjamin LaHaise, Jakub
    Kicinski, and Bert van Leeuwen.

    21) IPSEC offloading support in mlx5, from Ilan Tayari.

    22) Add HW PTP support to macb driver, from Rafal Ozieblo.

    23) Networking refcount_t conversions, From Elena Reshetova.

    24) Add sock_ops support to BPF, from Lawrence Brako. This is useful
    for tuning the TCP sockopt settings of a group of applications,
    currently via CGROUPs"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1899 commits)
    net: phy: dp83867: add workaround for incorrect RX_CTRL pin strap
    dt-bindings: phy: dp83867: provide a workaround for incorrect RX_CTRL pin strap
    cxgb4: Support for get_ts_info ethtool method
    cxgb4: Add PTP Hardware Clock (PHC) support
    cxgb4: time stamping interface for PTP
    nfp: default to chained metadata prepend format
    nfp: remove legacy MAC address lookup
    nfp: improve order of interfaces in breakout mode
    net: macb: remove extraneous return when MACB_EXT_DESC is defined
    bpf: add missing break in for the TCP_BPF_SNDCWND_CLAMP case
    bpf: fix return in load_bpf_file
    mpls: fix rtm policy in mpls_getroute
    net, ax25: convert ax25_cb.refcount from atomic_t to refcount_t
    net, ax25: convert ax25_route.refcount from atomic_t to refcount_t
    net, ax25: convert ax25_uid_assoc.refcount from atomic_t to refcount_t
    net, sctp: convert sctp_ep_common.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_transport.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_chunk.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_datamsg.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_auth_bytes.refcnt from atomic_t to refcount_t
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "Algorithms:
    - add private key generation to ecdh

    Drivers:
    - add generic gcm(aes) to aesni-intel
    - add SafeXcel EIP197 crypto engine driver
    - add ecb(aes), cfb(aes) and ecb(des3_ede) to cavium
    - add support for CNN55XX adapters in cavium
    - add ctr mode to chcr
    - add support for gcm(aes) to omap"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (140 commits)
    crypto: testmgr - Reenable sha1/aes in FIPS mode
    crypto: ccp - Release locks before returning
    crypto: cavium/nitrox - dma_mapping_error() returns bool
    crypto: doc - fix typo in docs
    Documentation/bindings: Document the SafeXel cryptographic engine driver
    crypto: caam - fix gfp allocation flags (part II)
    crypto: caam - fix gfp allocation flags (part I)
    crypto: drbg - Fixes panic in wait_for_completion call
    crypto: caam - make of_device_ids const.
    crypto: vmx - remove unnecessary check
    crypto: n2 - make of_device_ids const
    crypto: inside-secure - use the base_end pointer in ring rollback
    crypto: inside-secure - increase the batch size
    crypto: inside-secure - only dequeue when needed
    crypto: inside-secure - get the backlog before dequeueing the request
    crypto: inside-secure - stop requeueing failed requests
    crypto: inside-secure - use one queue per hw ring
    crypto: inside-secure - update the context and request later
    crypto: inside-secure - align the cipher and hash send functions
    crypto: inside-secure - optimize DSE bufferability control
    ...

    Linus Torvalds
     
  • Pull GCC plugin updates from Kees Cook:
    "The big part is the randstruct plugin infrastructure.

    This is the first of two expected pull requests for randstruct since
    there are dependencies in other trees that would be easier to merge
    once those have landed. Notably, the IPC allocation refactoring in
    -mm, and many trivial merge conflicts across several trees when
    applying the __randomize_layout annotation.

    As a result, it seemed like I should send this now since it is
    relatively self-contained, and once the rest of the trees have landed,
    send the annotation patches. I'm expecting the final phase of
    randstruct (automatic struct selection) will land for v4.14, but if
    its other tree dependencies actually make it for v4.13, I can send
    that merge request too.

    Summary:

    - typo fix in Kconfig (Jean Delvare)

    - randstruct infrastructure"

    * tag 'gcc-plugins-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    ARM: Prepare for randomized task_struct
    randstruct: Whitelist NIU struct page overloading
    randstruct: Whitelist big_key path struct overloading
    randstruct: Whitelist UNIXCB cast
    randstruct: Whitelist struct security_hook_heads cast
    gcc-plugins: Add the randstruct plugin
    Fix English in description of GCC_PLUGIN_STRUCTLEAK
    compiler: Add __designated_init annotation
    gcc-plugins: Detail c-common.h location for GCC 4.6

    Linus Torvalds
     
  • Pull pstore updates from Kees Cook:
    "Various fixes and tweaks for the pstore subsystem.

    Highlights:

    - use memdup_user() instead of open-coded copies (Geliang Tang)

    - fix record memory leak during initialization (Douglas Anderson)

    - avoid confused compressed record warning (Ankit Kumar)

    - prepopulate record timestamp and remove redundant logic from
    backends"

    * tag 'pstore-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    powerpc/nvram: use memdup_user
    pstore: use memdup_user
    pstore: Fix format string to use %u for record id
    pstore: Populate pstore record->time field
    pstore: Create common record initializer
    efi-pstore: Refactor erase routine
    pstore: Avoid potential infinite loop
    pstore: Fix leaked pstore_record in pstore_get_backend_records()
    pstore: Don't warn if data is uncompressed and type is not PSTORE_TYPE_DMESG

    Linus Torvalds
     
  • Pull security layer updates from James Morris:

    - a major update for AppArmor. From JJ:

    * several bug fixes and cleanups

    * the patch to add symlink support to securityfs that was floated
    on the list earlier and the apparmorfs changes that make use of
    securityfs symlinks

    * it introduces the domain labeling base code that Ubuntu has been
    carrying for several years, with several cleanups applied. And it
    converts the current mediation over to using the domain labeling
    base, which brings domain stacking support with it. This finally
    will bring the base upstream code in line with Ubuntu and provide
    a base to upstream the new feature work that Ubuntu carries.

    * This does _not_ contain any of the newer apparmor mediation
    features/controls (mount, signals, network, keys, ...) that
    Ubuntu is currently carrying, all of which will be RFC'd on top
    of this.

    - Notable also is the Infiniband work in SELinux, and the new file:map
    permission. From Paul:

    "While we're down to 21 patches for v4.13 (it was 31 for v4.12),
    the diffstat jumps up tremendously with over 2k of line changes.

    Almost all of these changes are the SELinux/IB work done by
    Daniel Jurgens; some other noteworthy changes include a NFS v4.2
    labeling fix, a new file:map permission, and reporting of policy
    capabilities on policy load"

    There's also now genfscon labeling support for tracefs, which was
    lost in v4.1 with the separation from debugfs.

    - Smack incorporates a safer socket check in file_receive, and adds a
    cap_capable call in privilege check.

    - TPM as usual has a bunch of fixes and enhancements.

    - Multiple calls to security_add_hooks() can now be made for the same
    LSM, to allow LSMs to have hook declarations across multiple files.

    - IMA now supports different "ima_appraise=" modes (eg. log, fix) from
    the boot command line.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (126 commits)
    apparmor: put back designators in struct initialisers
    seccomp: Switch from atomic_t to recount_t
    seccomp: Adjust selftests to avoid double-join
    seccomp: Clean up core dump logic
    IMA: update IMA policy documentation to include pcr= option
    ima: Log the same audit cause whenever a file has no signature
    ima: Simplify policy_func_show.
    integrity: Small code improvements
    ima: fix get_binary_runtime_size()
    ima: use ima_parse_buf() to parse template data
    ima: use ima_parse_buf() to parse measurements headers
    ima: introduce ima_parse_buf()
    ima: Add cgroups2 to the defaults list
    ima: use memdup_user_nul
    ima: fix up #endif comments
    IMA: Correct Kconfig dependencies for hash selection
    ima: define is_ima_appraise_enabled()
    ima: define Kconfig IMA_APPRAISE_BOOTPARAM option
    ima: define a set of appraisal rules requiring file signatures
    ima: extend the "ima_policy" boot command line to support multiple policies
    ...

    Linus Torvalds
     
  • Pull audit updates from Paul Moore:
    "Things are relatively quiet on the audit front for v4.13, just five
    patches for a total diffstat of 102 lines.

    There are two patches from Richard to consistently record the POSIX
    capabilities and add the ambient capability information as well.

    I also chipped in two patches to fix a race condition with the auditd
    tracking code and ensure we don't skip sending any records to the
    audit multicast group.

    Finally a single style fix that I accepted because I must have been in
    a good mood that day.

    Everything passes our test suite, and should be relatively harmless,
    please merge for v4.13"

    * 'stable-4.13' of git://git.infradead.org/users/pcmoore/audit:
    audit: make sure we never skip the multicast broadcast
    audit: fix a race condition with the auditd tracking code
    audit: style fix
    audit: add ambient capabilities to CAPSET and BPRM_FCAPS records
    audit: unswing cap_* fields in PATH records

    Linus Torvalds
     
  • Pull printk updates from Petr Mladek:

    - Store printk() messages into the main log buffer directly even in NMI
    when the lock is available. It is the best effort to print even large
    chunk of text. It is handy, for example, when all ftrace messages are
    printed during the system panic in NMI.

    - Add missing annotations to calm down compiler warnings

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
    printk: add __printf attributes to internal functions
    printk: Use the main logbuf in NMI when logbuf_lock is available

    Linus Torvalds
     

05 Jul, 2017

18 commits

  • attribute_groups are not supposed to change at runtime. All functions
    working with attribute_groups provided by work with const
    attribute_group. So mark the non-const structs as const.

    File size before:
    text data bss dec hex filename
    5259 1344 8 6611 19d3 fs/gfs2/sys.o

    File size After adding 'const':
    text data bss dec hex filename
    5371 1216 8 6595 19c3 fs/gfs2/sys.o

    Signed-off-by: Arvind Yadav
    Signed-off-by: Bob Peterson

    Arvind Yadav
     
  • On failure, keep the inode glock across the final iput of the new inode
    so that gfs2_evict_inode doesn't have to re-acquire the glock. That
    way, gfs2_evict_inode won't need to revalidate the block type.

    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Bob Peterson

    Andreas Gruenbacher
     
  • This patch adds a standardized queueing mechanism for glock work
    with spin_lock protection to prevent races.

    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Bob Peterson

    Andreas Gruenbacher
     
  • Put all remaining accesses to gl->gl_object under the
    gl->gl_lockref.lock spinlock to prevent races.

    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Bob Peterson

    Andreas Gruenbacher
     
  • So far, gfs2_evict_inode clears gl->gl_object and then flushes the glock
    work queue to make sure that inode glops which dereference gl->gl_object
    have finished running before the inode is destroyed. However, flushing
    the work queue may do more work than needed, and in particular, it may
    call into DLM, which we want to avoid here. Use a bit lock
    (GIF_GLOP_PENDING) to synchronize between the inode glops and
    gfs2_evict_inode instead to get rid of the flushing.

    In addition, flush the work queues of existing glocks before reusing
    them for new inodes to get those glocks into a known state: the glock
    state engine currently doesn't handle glock re-appropriation correctly.
    (We may be able to fix the glock state engine instead later.)

    Based on a patch by Steven Whitehouse .

    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Bob Peterson

    Andreas Gruenbacher
     
  • Sekhar Nori says:

    ====================
    net: phy: dp83867: workaround incorrect RX_CTRL pin strap

    This patch series adds workaround for incorrect RX_CTRL pin strap
    setting that can be found on some TI boards.

    This is required to be complaint to PHY datamanual specification.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The data manual for DP83867IR/CR, SNLS484E[1], revised march 2017,
    advises that strapping RX_DV/RX_CTRL pin in mode 1 and 2 is not
    supported (see note below Table 5 (4-Level Strap Pins)).

    There are some boards which have the pin strapped this way and need
    software workaround suggested by the data manual. Bit[7] of
    Configuration Register 4 (address 0x0031) must be cleared to 0. This
    ensures proper operation of the PHY.

    Implement driver support for device-tree property meant to advertise
    the wrong strapping.

    [1] http://www.ti.com/lit/ds/snls484e/snls484e.pdf

    Signed-off-by: Murali Karicheri
    [nsekhar@ti.com: rebase to mainline, code simplification]
    Signed-off-by: Sekhar Nori
    Signed-off-by: David S. Miller

    Murali Karicheri
     
  • The data manual for DP83867IR/CR, SNLS484E[1], revised march 2017,
    advises that strapping RX_DV/RX_CTRL pin in mode 1 and 2 is not
    supported (see note below Table 5 (4-Level Strap Pins)).

    It further advises that if a board has this pin strapped in mode 1 and
    mode 2, then to ensure proper operation of the PHY, a software workaround
    must be implemented.

    Since it is not possible to detect in software if RX_DV/RX_CTRL pin is
    incorrectly strapped, add a device-tree property for the board to
    advertise this and allow corrective action in software.

    [1] http://www.ti.com/lit/ds/snls484e/snls484e.pdf

    Signed-off-by: Murali Karicheri
    [nsekhar@ti.com: rebase to mainline, split documentation into separate patch]
    Signed-off-by: Sekhar Nori
    Signed-off-by: David S. Miller

    Murali Karicheri
     
  • Atul Gupta says:

    ====================
    cxgb4: Add PTP Hardware Clock (PHC) support

    V4:
    Splitting the patch again
    V3:
    Releasing lock in the exit paths
    V2:
    Splitting the patch
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Cc: Richard Cochran
    Signed-off-by: Atul Gupta
    Signed-off-by: Ganesh Goudar
    Signed-off-by: David S. Miller

    Atul Gupta
     
  • Add PTP IEEE-1588 support and make it accessible via PHC subsystem.
    The functionality is enabled for T5/T6 adapters. Driver interfaces with
    Firmware to program and adjust the clock offset.

    Cc: Richard Cochran
    Signed-off-by: Atul Gupta
    Signed-off-by: Ganesh Goudar
    Signed-off-by: David S. Miller

    Atul Gupta
     
  • Supports hardware and software time stamping via the
    Linux SO_TIMESTAMPING socket option.

    Cc: Richard Cochran
    Signed-off-by: Atul Gupta
    Signed-off-by: Ganesh Goudar
    Signed-off-by: David S. Miller

    Atul Gupta
     
  • Jakub Kicinski says:

    ====================
    nfp: port enumeration change and FW ABI adjustment

    This set changes the way ports are numbered internally to avoid MAC address
    changes and invalid link information when breakout is configured. Second
    patch gets rid of old way of looking up MAC addresses in device information
    which caused all this confusion.

    Patch 3 is a small adjustment to the new FW ABI version we introduced in
    this release cycle.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • ABI 4.x introduced the chained metadata format and made it the
    only one possible. There are cases, however, where the old
    format is preferred - mostly to make interoperation with VFs
    using ABI 3.x easier for the datapath. In ABI 5.x we allowed
    for more flexibility by selecting the metadata format based
    on capabilities. The default was left to non-chained.

    In case of fallback traffic, there is no capability telling the
    driver there may be chained metadata. With a very stripped-
    -down FW the default old metadata format would be selected
    making the driver drop all fallback traffic.

    This patch changes the default selection in the driver. It
    should not hurt with old firmwares, because if they don't
    advertise RSS they will not produce metadata anyway. New
    firmwares advertising ABI 5.x, however, can depend on the
    driver defaulting to chained format.

    Fixes: f9380629fafc ("nfp: advertise support for NFD ABI 0.5")
    Suggested-by: Michael Rapson
    Signed-off-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • The legacy MAC address lookup doesn't work well with breakout
    cables. We are probably better off picking random addresses
    than the wrong ones in the theoretical scenario where management
    FW didn't tell us what the port config is.

    Signed-off-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • For historical reasons we enumerate the vNICs in order. This means
    that if user configures breakout on a multiport card, the first
    interface of the second port will have its MAC address changed.

    What's worse, when moved from static information (HWInfo) to using
    management FW (NSP), more features started depending on the port ids.
    Right now in case of breakout first subport of the second port and
    second subport of the first port will have their link info swapped.

    Revise the ordering scheme so that first subport maintains its address.
    Side effect of this change is that we will use base lane ids in
    devlink (i.e. 40G ports will be 4 ids apart), e.g.:

    pci/0000:04:00.0/0: type eth netdev p6p1
    pci/0000:04:00.0/4: type eth netdev p6p2

    Note that behaviour of phys_port_id is not changed since there is
    a separate id number for the subport there.

    Fixes: ec8b1fbe682d ("nfp: support port splitting via devlink")
    Signed-off-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • When macro MACB_EXT_DESC is defined we end up with two identical
    return statements and just one is sufficient. Remove the extra
    return.

    Detected by CoverityScan, CID#1449361 ("Structurally dead code")

    Signed-off-by: Colin Ian King
    Acked-by: Nicolas Ferre
    Signed-off-by: David S. Miller

    Colin Ian King
     
  • There appears to be a missing break in the TCP_BPF_SNDCWND_CLAMP case.
    Currently the non-error path where val is greater than zero falls through
    to the default case that sets the error return to -EINVAL. Add in
    the missing break.

    Detected by CoverityScan, CID#1449376 ("Missing break in switch")

    Fixes: 13bf96411ad2 ("bpf: Adds support for setting sndcwnd clamp")
    Signed-off-by: Colin Ian King
    Acked-by: Daniel Borkmann
    Acked-by: Lawrence Brakmo
    Signed-off-by: David S. Miller

    Colin Ian King