07 Aug, 2015

1 commit


18 Jul, 2015

4 commits

  • Without this we end up using the previous name of the compressor in the
    loop in unpack_rootfs. For example we get errors like "compression
    method gzip not configured" even when we have CONFIG_DECOMPRESS_GZIP
    enabled.

    Signed-off-by: Aneesh Kumar K.V
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Aneesh Kumar K.V
     
  • If dma-debug is disabled due to a memory error, DMA unmaps do not affect
    the dma_active_cacheline radix tree anymore, and debug_dma_assert_idle()
    can print false warnings.

    Disable debug_dma_assert_idle() when dma_debug_disabled() is true.

    Signed-off-by: Haggai Eran
    Fixes: 0abdd7a81b7e ("dma-debug: introduce debug_dma_assert_idle()")
    Cc: Dan Williams
    Cc: Joerg Roedel
    Cc: Vinod Koul
    Cc: Russell King
    Cc: James Bottomley
    Cc: Florian Fainelli
    Cc: Sebastian Ott
    Cc: Jiri Kosina
    Cc: Horia Geanta
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haggai Eran
     
  • A hexdump with a buf not aligned to the groupsize causes
    non-naturally-aligned memory accesses. This was causing a kernel panic
    on the processor BlackFin BF527, when such an unaligned buffer was fed
    by the function ubifs_scanned_corruption in fs/ubifs/scan.c .

    To fix this, change accesses to the contents of the buffer so they go
    through get_unaligned(). This change should be harmless to unaligned-
    access-capable architectures, and any performance hit should be anyway
    dwarfed by the snprintf() processing time.

    Signed-off-by: Horacio Mijail Antón Quiles
    Cc: Andy Shevchenko
    Cc: David Howells
    Cc: Vivek Goyal
    Cc: Joe Perches
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horacio Mijail Anton Quiles
     
  • Using __printf attributes helps to detect several format string issues
    at compile time (even though -Wformat-security is currently disabled in
    Makefile). For example it can detect when formatting a pointer as a
    number, like the issue fixed in commit a3fa71c40f18 ("wl18xx: show
    rx_frames_per_rates as an array as it really is"), or when the arguments
    do not match the format string, c.f. for example commit 5ce1aca81435
    ("reiserfs: fix __RASSERT format string").

    To prevent similar bugs in the future, add a __printf attribute to every
    function prototype which needs one in include/linux/ and lib/. These
    functions were mostly found by using gcc's -Wsuggest-attribute=format
    flag.

    Signed-off-by: Nicolas Iooss
    Cc: Greg Kroah-Hartman
    Cc: Felipe Balbi
    Cc: Joel Becker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Iooss
     

14 Jul, 2015

1 commit

  • Pull networking fixes from David Miller:

    1) Missing list head init in bluetooth hidp session creation, from Tedd
    Ho-Jeong An.

    2) Don't leak SKB in bridge netfilter error paths, from Florian
    Westphal.

    3) ipv6 netdevice private leak in netfilter bridging, fixed by Julien
    Grall.

    4) Fix regression in IP over hamradio bpq encapsulation, from Ralf
    Baechle.

    5) Fix race between rhashtable resize events and table walks, from Phil
    Sutter.

    6) Missing validation of IFLA_VF_INFO netlink attributes, fix from
    Daniel Borkmann.

    7) Missing security layer socket state initialization in tipc code,
    from Stephen Smalley.

    8) Fix shared IRQ handling in boomerang 3c59x interrupt handler, from
    Denys Vlasenko.

    9) Missing minor_idr destroy on module unload on macvtap driver, from
    Johannes Thumshirn.

    10) Various pktgen kernel thread races, from Oleg Nesterov.

    11) Fix races that can cause packets to be processed in the backlog even
    after a device attached to that SKB has been fully unregistered.
    From Julian Anastasov.

    12) bcmgenet driver doesn't account packet drops vs. errors properly,
    fix from Petri Gynther.

    13) Array index validation and off by one fix in DSA layer from Florian
    Fainelli

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (66 commits)
    can: replace timestamp as unique skb attribute
    ARM: dts: dra7x-evm: Prevent glitch on DCAN1 pinmux
    can: c_can: Fix default pinmux glitch at init
    can: rcar_can: unify error messages
    can: rcar_can: print request_irq() error code
    can: rcar_can: fix typo in error message
    can: rcar_can: print signed IRQ #
    can: rcar_can: fix IRQ check
    net: dsa: Fix off-by-one in switch address parsing
    net: dsa: Test array index before use
    net: switchdev: don't abort unsupported operations
    net: bcmgenet: fix accounting of packet drops vs errors
    cdc_ncm: update specs URL
    Doc: z8530book: Fix typo in API-z8530-sync-txdma-open.html
    net: inet_diag: always export IPV6_V6ONLY sockopt for listening sockets
    bridge: mdb: allow the user to delete mdb entry if there's a querier
    net: call rcu_read_lock early in process_backlog
    net: do not process device backlog during unregistration
    bridge: fix potential crash in __netdev_pick_tx()
    net: axienet: Fix devm_ioremap_resource return value check
    ...

    Linus Torvalds
     

09 Jul, 2015

1 commit

  • If rhashtable_walk_next detects a resize operation in progress, it jumps
    to the new table and continues walking that one. But it misses to drop
    the reference to it's current item, leading it to continue traversing
    the new table's bucket in which the current item is sorted into, and
    after reaching that bucket's end continues traversing the new table's
    second bucket instead of the first one, thereby potentially missing
    items.

    This fixes the rhashtable runtime test for me. Bug probably introduced
    by Herbert Xu's patch eddee5ba ("rhashtable: Fix walker behaviour during
    rehash") although not explicitly tested.

    Fixes: eddee5ba ("rhashtable: Fix walker behaviour during rehash")
    Signed-off-by: Phil Sutter
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Phil Sutter
     

06 Jul, 2015

1 commit

  • KASAN_SHADOW_OFFSET is purely arch specific setting,
    so it should be in arch's Kconfig file.

    Signed-off-by: Andrey Ryabinin
    Cc: Alexander Popov
    Cc: Alexander Potapenko
    Cc: Andrey Konovalov
    Cc: Borislav Petkov
    Cc: Dmitry Vyukov
    Cc: Linus Torvalds
    Cc: Paul Bolle
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1435828178-10975-7-git-send-email-a.ryabinin@samsung.com
    Signed-off-by: Ingo Molnar

    Andrey Ryabinin
     

05 Jul, 2015

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "It's been a busy development cycle for target-core in a number of
    different areas.

    The fabric API usage for se_node_acl allocation is now within
    target-core code, dropping the external API callers for all fabric
    drivers tree-wide.

    There is a new conversion to RCU hlists for se_node_acl and
    se_portal_group LUN mappings, that turns fast-past LUN lookup into a
    completely lockless code-path. It also removes the original
    hard-coded limitation of 256 LUNs per fabric endpoint.

    The configfs attributes for backends can now be shared between core
    and driver code, allowing existing drivers to use common code while
    still allowing flexibility for new backend provided attributes.

    The highlights include:

    - Merge sbc_verify_dif_* into common code (sagi)
    - Remove iscsi-target support for obsolete IFMarker/OFMarker
    (Christophe Vu-Brugier)
    - Add bidi support in target/user backend (ilias + vangelis + agover)
    - Move se_node_acl allocation into target-core code (hch)
    - Add crc_t10dif_update common helper (akinobu + mkp)
    - Handle target-core odd SGL mapping for data transfer memory
    (akinobu)
    - Move transport ID handling into target-core (hch)
    - Move task tag into struct se_cmd + support 64-bit tags (bart)
    - Convert se_node_acl->device_list[] to RCU hlist (nab + hch +
    paulmck)
    - Convert se_portal_group->tpg_lun_list[] to RCU hlist (nab + hch +
    paulmck)
    - Simplify target backend driver registration (hch)
    - Consolidate + simplify target backend attribute implementations
    (hch + nab)
    - Subsume se_port + t10_alua_tg_pt_gp_member into se_lun (hch)
    - Drop lun_sep_lock for se_lun->lun_se_dev RCU usage (hch + nab)
    - Drop unnecessary core_tpg_register TFO parameter (nab)
    - Use 64-bit LUNs tree-wide (hannes)
    - Drop left-over TARGET_MAX_LUNS_PER_TRANSPORT limit (hannes)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (76 commits)
    target: Bump core version to v5.0
    target: remove target_core_configfs.h
    target: remove unused TARGET_CORE_CONFIG_ROOT define
    target: consolidate version defines
    target: implement WRITE_SAME with UNMAP bit using ->execute_unmap
    target: simplify UNMAP handling
    target: replace se_cmd->execute_rw with a protocol_data field
    target/user: Fix inconsistent kmap_atomic/kunmap_atomic
    target: Send UA when changing LUN inventory
    target: Send UA upon LUN RESET tmr completion
    target: Send UA on ALUA target port group change
    target: Convert se_lun->lun_deve_lock to normal spinlock
    target: use 'se_dev_entry' when allocating UAs
    target: Remove 'ua_nacl' pointer from se_ua structure
    target_core_alua: Correct UA handling when switching states
    xen-scsiback: Fix compile warning for 64-bit LUN
    target: Remove TARGET_MAX_LUNS_PER_TRANSPORT
    target: use 64-bit LUNs
    target: Drop duplicate + unused se_dev_check_wce
    target: Drop unnecessary core_tpg_register TFO parameter
    ...

    Linus Torvalds
     

04 Jul, 2015

2 commits

  • Pull scheduler fixes from Ingo Molnar:
    "Debug info and other statistics fixes and related enhancements"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/numa: Fix numa balancing stats in /proc/pid/sched
    sched/numa: Show numa_group ID in /proc/sched_debug task listings
    sched/debug: Move print_cfs_rq() declaration to kernel/sched/sched.h
    sched/stat: Expose /proc/pid/schedstat if CONFIG_SCHED_INFO=y
    sched/stat: Simplify the sched_info accounting dependency

    Linus Torvalds
     
  • Both CONFIG_SCHEDSTATS=y and CONFIG_TASK_DELAY_ACCT=y track task
    sched_info, which results in ugly #if clauses.

    Simplify the code by introducing a synthethic CONFIG_SCHED_INFO
    switch, selected by both.

    Signed-off-by: Naveen N. Rao
    Cc: Balbir Singh
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Srikar Dronamraju
    Cc: Thomas Gleixner
    Cc: a.p.zijlstra@chello.nl
    Cc: ricklind@us.ibm.com
    Link: http://lkml.kernel.org/r/8d19eef800811a94b0f91bcbeb27430a884d7433.1435255405.git.naveen.n.rao@linux.vnet.ibm.com
    Signed-off-by: Ingo Molnar

    Naveen N. Rao
     

03 Jul, 2015

2 commits

  • Pull kbuild updates from Michal Marek:
    "Just a few kbuild core commits this time:

    - kallsyms fix for CONFIG_XIP_KERNEL

    - bashisms in scripts/link-vmlinux.sh fixed

    - workaround to make DEBUG_INFO_REDUCED more useful yet still space
    efficient

    - clang is not wrongly detected when cross-compiling"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: include core debug info when DEBUG_INFO_REDUCED
    scripts: link-vmlinux: Don't pass page offset to kallsyms if XIP Kernel
    scripts: fix link-vmlinux.sh bash-ism
    Makefile: Fix detection of clang when cross-compiling

    Linus Torvalds
     
  • …scm/linux/kernel/git/paulg/linux

    Pull module_init replacement part two from Paul Gortmaker:
    "Replace module_init with appropriate alternate initcall in non
    modules.

    This series converts non-modular code that is using the module_init()
    call to hook itself into the system to instead use one of our
    alternate priority initcalls.

    Unlike the previous series that used device_initcall and hence was a
    runtime no-op, these commits change to one of the alternate initcalls,
    because (a) we have them and (b) it seems like the right thing to do.

    For example, it would seem logical to use arch_initcall for arch
    specific setup code and fs_initcall for filesystem setup code.

    This does mean however, that changes in the init ordering will be
    taking place, and so there is a small risk that some kind of implicit
    init ordering issue may lie uncovered. But I think it is still better
    to give these ones sensible priorities than to just assign them all to
    device_initcall in order to exactly preserve the old ordering.

    Thad said, we have already made similar changes in core kernel code in
    commit c96d6660dc65 ("kernel: audit/fix non-modular users of
    module_init in core code") without any regressions reported, so this
    type of change isn't without precedent. It has also got the same
    local testing and linux-next coverage as all the other pull requests
    that I'm sending for this merge window have got.

    Once again, there is an unused module_exit function removal that shows
    up as an outlier upon casual inspection of the diffstat"

    * tag 'module_init-alternate_initcall-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
    x86: perf_event_intel_pt.c: use arch_initcall to hook in enabling
    x86: perf_event_intel_bts.c: use arch_initcall to hook in enabling
    mm/page_owner.c: use late_initcall to hook in enabling
    lib/list_sort: use late_initcall to hook in self tests
    arm: use subsys_initcall in non-modular pl320 IPC code
    powerpc: don't use module_init for non-modular core hugetlb code
    powerpc: use subsys_initcall for Freescale Local Bus
    x86: don't use module_init for non-modular core bootflag code
    netfilter: don't use module_init/exit in core IPV4 code
    fs/notify: don't use module_init for non-modular inotify_user code
    mm: replace module_init usages with subsys_initcall in nommu.c

    Linus Torvalds
     

02 Jul, 2015

2 commits

  • Merge third patchbomb from Andrew Morton:

    - the rest of MM

    - scripts/gdb updates

    - ipc/ updates

    - lib/ updates

    - MAINTAINERS updates

    - various other misc things

    * emailed patches from Andrew Morton : (67 commits)
    genalloc: rename of_get_named_gen_pool() to of_gen_pool_get()
    genalloc: rename dev_get_gen_pool() to gen_pool_get()
    x86: opt into HAVE_COPY_THREAD_TLS, for both 32-bit and 64-bit
    MAINTAINERS: add zpool
    MAINTAINERS: BCACHE: Kent Overstreet has changed email address
    MAINTAINERS: move Jens Osterkamp to CREDITS
    MAINTAINERS: remove unused nbd.h pattern
    MAINTAINERS: update brcm gpio filename pattern
    MAINTAINERS: update brcm dts pattern
    MAINTAINERS: update sound soc intel patterns
    MAINTAINERS: remove website for paride
    MAINTAINERS: update Emulex ocrdma email addresses
    bcache: use kvfree() in various places
    libcxgbi: use kvfree() in cxgbi_free_big_mem()
    target: use kvfree() in session alloc and free
    IB/ehca: use kvfree() in ipz_queue_{cd}tor()
    drm/nouveau/gem: use kvfree() in u_free()
    drm: use kvfree() in drm_free_large()
    cxgb4: use kvfree() in t4_free_mem()
    cxgb3: use kvfree() in cxgb_free_mem()
    ...

    Linus Torvalds
     
  • Pull module updates from Rusty Russell:
    "Main excitement here is Peter Zijlstra's lockless rbtree optimization
    to speed module address lookup. He found some abusers of the module
    lock doing that too.

    A little bit of parameter work here too; including Dan Streetman's
    breaking up the big param mutex so writing a parameter can load
    another module (yeah, really). Unfortunately that broke the usual
    suspects, !CONFIG_MODULES and !CONFIG_SYSFS, so those fixes were
    appended too"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (26 commits)
    modules: only use mod->param_lock if CONFIG_MODULES
    param: fix module param locks when !CONFIG_SYSFS.
    rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE()
    module: add per-module param_lock
    module: make perm const
    params: suppress unused variable error, warn once just in case code changes.
    modules: clarify CONFIG_MODULE_COMPRESS help, suggest 'N'.
    kernel/module.c: avoid ifdefs for sig_enforce declaration
    kernel/workqueue.c: remove ifdefs over wq_power_efficient
    kernel/params.c: export param_ops_bool_enable_only
    kernel/params.c: generalize bool_enable_only
    kernel/module.c: use generic module param operaters for sig_enforce
    kernel/params: constify struct kernel_param_ops uses
    sysfs: tightened sysfs permission checks
    module: Rework module_addr_{min,max}
    module: Use __module_address() for module_address_lookup()
    module: Make the mod_tree stuff conditional on PERF_EVENTS || TRACING
    module: Optimize __module_address() using a latched RB-tree
    rbtree: Implement generic latch_tree
    seqlock: Introduce raw_read_seqcount_latch()
    ...

    Linus Torvalds
     

01 Jul, 2015

6 commits

  • Pull btrfs updates from Chris Mason:
    "Outside of our usual batch of fixes, this integrates the subvolume
    quota updates that Qu Wenruo from Fujitsu has been working on for a
    few releases now. He gets an extra gold star for making btrfs smaller
    this time, and fixing a number of quota corners in the process.

    Dave Sterba tested and integrated Anand Jain's sysfs improvements.
    Outside of exporting a symbol (ack'd by Greg) these are all internal
    to btrfs and it's mostly cleanups and fixes. Anand also attached some
    of our sysfs objects to our internal device management structs instead
    of an object off the super block. It will make device management
    easier overall and it's a better fit for how the sysfs files are used.
    None of the existing sysfs files are moved around.

    Thanks for all the fixes everyone"

    * 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (87 commits)
    btrfs: delayed-ref: double free in btrfs_add_delayed_tree_ref()
    Btrfs: Check if kobject is initialized before put
    lib: export symbol kobject_move()
    Btrfs: sysfs: add support to show replacing target in the sysfs
    Btrfs: free the stale device
    Btrfs: use received_uuid of parent during send
    Btrfs: fix use-after-free in btrfs_replay_log
    btrfs: wait for delayed iputs on no space
    btrfs: qgroup: Make snapshot accounting work with new extent-oriented qgroup.
    btrfs: qgroup: Add the ability to skip given qgroup for old/new_roots.
    btrfs: ulist: Add ulist_del() function.
    btrfs: qgroup: Cleanup the old ref_node-oriented mechanism.
    btrfs: qgroup: Switch self test to extent-oriented qgroup mechanism.
    btrfs: qgroup: Switch to new extent-oriented qgroup mechanism.
    btrfs: qgroup: Switch rescan to new mechanism.
    btrfs: qgroup: Add new qgroup calculation function btrfs_qgroup_account_extents().
    btrfs: backref: Add special time_seq == (u64)-1 case for btrfs_find_all_roots().
    btrfs: qgroup: Add new function to record old_roots.
    btrfs: qgroup: Record possible quota-related extent for qgroup.
    btrfs: qgroup: Add function qgroup_update_counters().
    ...

    Linus Torvalds
     
  • To be consistent with other kernel interface namings, rename
    of_get_named_gen_pool() to of_gen_pool_get(). In the original function
    name "_named" suffix references to a device tree property, which contains
    a phandle to a device and the corresponding device driver is assumed to
    register a gen_pool object.

    Due to a weak relation and to avoid any confusion (e.g. in future
    possible scenario if gen_pool objects are named) the suffix is removed.

    [sfr@canb.auug.org.au: crypto/marvell/cesa - fix up for of_get_named_gen_pool() rename]
    Signed-off-by: Vladimir Zapolskiy
    Cc: Nicolas Ferre
    Cc: Philipp Zabel
    Cc: Shawn Guo
    Cc: Sascha Hauer
    Cc: Alexandre Belloni
    Cc: Russell King
    Cc: Mauro Carvalho Chehab
    Cc: Vinod Koul
    Cc: Takashi Iwai
    Cc: Jaroslav Kysela
    Signed-off-by: Stephen Rothwell
    Cc: Herbert Xu
    Cc: Boris BREZILLON
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Zapolskiy
     
  • To be consistent with other genalloc interface namings, rename
    dev_get_gen_pool() to gen_pool_get(). The original omitted "dev_" prefix
    is removed, since it points to argument type of the function, and so it
    does not bring any useful information.

    [akpm@linux-foundation.org: update arch/arm/mach-socfpga/pm.c]
    Signed-off-by: Vladimir Zapolskiy
    Acked-by: Nicolas Ferre
    Cc: Philipp Zabel
    Cc: Shawn Guo
    Cc: Sascha Hauer
    Cc: Alexandre Belloni
    Cc: Russell King
    Cc: Mauro Carvalho Chehab
    Cc: Vinod Koul
    Cc: Takashi Iwai
    Cc: Jaroslav Kysela
    Cc: Mark Brown
    Cc: Nicolas Ferre
    Cc: Alan Tull
    Cc: Dinh Nguyen
    Cc: Kevin Hilman
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Zapolskiy
     
  • do_device_access() takes a separate parameter to indicate the direction of
    data transfer, which it used to use to select the appropriate function out
    of sg_pcopy_{to,from}_buffer(). However these two functions now have

    So this patch makes it bypass these wrappers and call the underlying
    function sg_copy_buffer() directly; this has the same calling style as
    do_device_access() i.e. a separate direction-of-transfer parameter and no
    pointers-to-const, so skipping the wrappers not only eliminates the
    warning, it also make the code simpler :)

    [akpm@linux-foundation.org: fix very broken build]
    Signed-off-by: Dave Gordon
    Acked-by: Arnd Bergmann
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Gordon
     
  • The 'buf' parameter of sg(p)copy_from_buffer() can and should be
    const-qualified, although because of the shared implementation of
    _to_buffer() and _from_buffer(), we have to cast this away internally.

    This means that callers who have a 'const' buffer containing the data to
    be copied to the sg-list no longer have to cast away the const-ness
    themselves. It also enables improved coverage by code analysis tools.

    Signed-off-by: Dave Gordon
    Cc: Akinobu Mita
    Cc: "Martin K. Petersen"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Gordon
     
  • The kerneldoc for the functions doesn't match the code; the last two
    parameters (buflen, skip) have been transposed, which is confusing,
    especially as they're both integral types and the compiler won't warn
    about swapping them.

    These functions and the kerneldoc were introduced in commit:
    df642cea lib/scatterlist: introduce sg_pcopy_from_buffer() ...
    Author: Akinobu Mita
    Date: Mon Jul 8 16:01:54 2013 -0700

    The only difference between sg_pcopy_{from,to}_buffer() and
    sg_copy_{from,to}_buffer() is an additional argument that
    specifies the number of bytes to skip the SG list before
    copying.

    The functions have the extra argument at the end, but the kerneldoc
    lists it in penultimate position.

    Signed-off-by: Dave Gordon
    Reviewed-by: Akinobu Mita
    Cc: "Martin K. Petersen"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Gordon
     

30 Jun, 2015

1 commit

  • Pull libnvdimm subsystem from Dan Williams:
    "The libnvdimm sub-system introduces, in addition to the
    libnvdimm-core, 4 drivers / enabling modules:

    NFIT:
    Instantiates an "nvdimm bus" with the core and registers memory
    devices (NVDIMMs) enumerated by the ACPI 6.0 NFIT (NVDIMM Firmware
    Interface table).

    After registering NVDIMMs the NFIT driver then registers "region"
    devices. A libnvdimm-region defines an access mode and the
    boundaries of persistent memory media. A region may span multiple
    NVDIMMs that are interleaved by the hardware memory controller. In
    turn, a libnvdimm-region can be carved into a "namespace" device and
    bound to the PMEM or BLK driver which will attach a Linux block
    device (disk) interface to the memory.

    PMEM:
    Initially merged in v4.1 this driver for contiguous spans of
    persistent memory address ranges is re-worked to drive
    PMEM-namespaces emitted by the libnvdimm-core.

    In this update the PMEM driver, on x86, gains the ability to assert
    that writes to persistent memory have been flushed all the way
    through the caches and buffers in the platform to persistent media.
    See memcpy_to_pmem() and wmb_pmem().

    BLK:
    This new driver enables access to persistent memory media through
    "Block Data Windows" as defined by the NFIT. The primary difference
    of this driver to PMEM is that only a small window of persistent
    memory is mapped into system address space at any given point in
    time.

    Per-NVDIMM windows are reprogrammed at run time, per-I/O, to access
    different portions of the media. BLK-mode, by definition, does not
    support DAX.

    BTT:
    This is a library, optionally consumed by either PMEM or BLK, that
    converts a byte-accessible namespace into a disk with atomic sector
    update semantics (prevents sector tearing on crash or power loss).

    The sinister aspect of sector tearing is that most applications do
    not know they have a atomic sector dependency. At least today's
    disk's rarely ever tear sectors and if they do one almost certainly
    gets a CRC error on access. NVDIMMs will always tear and always
    silently. Until an application is audited to be robust in the
    presence of sector-tearing the usage of BTT is recommended.

    Thanks to: Ross Zwisler, Jeff Moyer, Vishal Verma, Christoph Hellwig,
    Ingo Molnar, Neil Brown, Boaz Harrosh, Robert Elliott, Matthew Wilcox,
    Andy Rudoff, Linda Knippers, Toshi Kani, Nicholas Moulin, Rafael
    Wysocki, and Bob Moore"

    * tag 'libnvdimm-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm: (33 commits)
    arch, x86: pmem api for ensuring durability of persistent memory updates
    libnvdimm: Add sysfs numa_node to NVDIMM devices
    libnvdimm: Set numa_node to NVDIMM devices
    acpi: Add acpi_map_pxm_to_online_node()
    libnvdimm, nfit: handle unarmed dimms, mark namespaces read-only
    pmem: flag pmem block devices as non-rotational
    libnvdimm: enable iostat
    pmem: make_request cleanups
    libnvdimm, pmem: fix up max_hw_sectors
    libnvdimm, blk: add support for blk integrity
    libnvdimm, btt: add support for blk integrity
    fs/block_dev.c: skip rw_page if bdev has integrity
    libnvdimm: Non-Volatile Devices
    tools/testing/nvdimm: libnvdimm unit test infrastructure
    libnvdimm, nfit, nd_blk: driver for BLK-mode access persistent memory
    nd_btt: atomic sector updates
    libnvdimm: infrastructure for btt devices
    libnvdimm: write blk label set
    libnvdimm: write pmem label set
    libnvdimm: blk labels and namespace instantiation
    ...

    Linus Torvalds
     

27 Jun, 2015

3 commits

  • Pull driver core updates from Greg KH:
    "Here is the driver core / firmware changes for 4.2-rc1.

    A number of small changes all over the place in the driver core, and
    in the firmware subsystem. Nothing really major, full details in the
    shortlog. Some of it is a bit of churn, given that the platform
    driver probing changes was found to not work well, so they were
    reverted.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'driver-core-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (31 commits)
    Revert "base/platform: Only insert MEM and IO resources"
    Revert "base/platform: Continue on insert_resource() error"
    Revert "of/platform: Use platform_device interface"
    Revert "base/platform: Remove code duplication"
    firmware: add missing kfree for work on async call
    fs: sysfs: don't pass count == 0 to bin file readers
    base:dd - Fix for typo in comment to function driver_deferred_probe_trigger().
    base/platform: Remove code duplication
    of/platform: Use platform_device interface
    base/platform: Continue on insert_resource() error
    base/platform: Only insert MEM and IO resources
    firmware: use const for remaining firmware names
    firmware: fix possible use after free on name on asynchronous request
    firmware: check for file truncation on direct firmware loading
    firmware: fix __getname() missing failure check
    drivers: of/base: move of_init to driver_init
    drivers/base: cacheinfo: fix annoying typo when DT nodes are absent
    sysfs: disambiguate between "error code" and "failure" in comments
    driver-core: fix build for !CONFIG_MODULES
    driver-core: make __device_attach() static
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here's the big char/misc driver pull request for 4.2-rc1.

    Lots of mei, extcon, coresight, uio, mic, and other driver updates in
    here. Full details in the shortlog. All of these have been in
    linux-next for some time with no reported problems"

    * tag 'char-misc-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (176 commits)
    mei: me: wait for power gating exit confirmation
    mei: reset flow control on the last client disconnection
    MAINTAINERS: mei: add mei_cl_bus.h to maintained file list
    misc: sram: sort and clean up included headers
    misc: sram: move reserved block logic out of probe function
    misc: sram: add private struct device and virt_base members
    misc: sram: report correct SRAM pool size
    misc: sram: bump error message level on unclean driver unbinding
    misc: sram: fix device node reference leak on error
    misc: sram: fix enabled clock leak on error path
    misc: mic: Fix reported static checker warning
    misc: mic: Fix randconfig build error by including errno.h
    uio: pruss: Drop depends on ARCH_DAVINCI_DA850 from config
    uio: pruss: Add CONFIG_HAS_IOMEM dependence
    uio: pruss: Include
    extcon: Redefine the unique id of supported external connectors without 'enum extcon' type
    char:xilinx_hwicap:buffer_icap - change 1/0 to true/false for bool type variable in function buffer_icap_set_configuration().
    Drivers: hv: vmbus: Allocate ring buffer memory in NUMA aware fashion
    parport: check exclusive access before register
    w1: use correct lock on error in w1_seq_show()
    ...

    Linus Torvalds
     
  • Merge second patchbomb from Andrew Morton:

    - most of the rest of MM

    - lots of misc things

    - procfs updates

    - printk feature work

    - updates to get_maintainer, MAINTAINERS, checkpatch

    - lib/ updates

    * emailed patches from Andrew Morton : (96 commits)
    exit,stats: /* obey this comment */
    coredump: add __printf attribute to cn_*printf functions
    coredump: use from_kuid/kgid when formatting corename
    fs/reiserfs: remove unneeded cast
    NILFS2: support NFSv2 export
    fs/befs/btree.c: remove unneeded initializations
    fs/minix: remove unneeded cast
    init/do_mounts.c: add create_dev() failure log
    kasan: remove duplicate definition of the macro KASAN_FREE_PAGE
    fs/efs: femove unneeded cast
    checkpatch: emit "NOTE: " message only once after multiple files
    checkpatch: emit an error when there's a diff in a changelog
    checkpatch: validate MODULE_LICENSE content
    checkpatch: add multi-line handling for PREFER_ETHER_ADDR_COPY
    checkpatch: suggest using eth_zero_addr() and eth_broadcast_addr()
    checkpatch: fix processing of MEMSET issues
    checkpatch: suggest using ether_addr_equal*()
    checkpatch: avoid NOT_UNIFIED_DIFF errors on cover-letter.patch files
    checkpatch: remove local from codespell path
    checkpatch: add --showfile to allow input via pipe to show filenames
    ...

    Linus Torvalds
     

26 Jun, 2015

9 commits

  • Based on an original patch by Ross Zwisler [1].

    Writes to persistent memory have the potential to be posted to cpu
    cache, cpu write buffers, and platform write buffers (memory controller)
    before being committed to persistent media. Provide apis,
    memcpy_to_pmem(), wmb_pmem(), and memremap_pmem(), to write data to
    pmem and assert that it is durable in PMEM (a persistent linear address
    range). A '__pmem' attribute is added so sparse can track proper usage
    of pointers to pmem.

    This continues the status quo of pmem being x86 only for 4.2, but
    reworks to ioremap, and wider implementation of memremap() will enable
    other archs in 4.3.

    [1]: https://lists.01.org/pipermail/linux-nvdimm/2015-May/000932.html

    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Signed-off-by: Ross Zwisler
    [djbw: various reworks]
    Signed-off-by: Dan Williams

    Ross Zwisler
     
  • There's probably not many slashes in the name, but starting over when
    we see one feels wrong.

    Signed-off-by: Rasmus Villemoes
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rasmus Villemoes
     
  • Strings are sometimes sanitized by replacing a certain character (often
    '/') by another (often '!'). In a few places, this is done the same way
    Schlemiel the Painter would do it. Others are slightly smarter but still
    do multiple strchr() calls. Introduce strreplace() to do this using a
    single function call and a single pass over the string.

    One would expect the return value to be one of three things: void, s, or
    the number of replacements made. I chose the fourth, returning a pointer
    to the end of the string. This is more likely to be useful (for example
    allowing the caller to avoid a strlen call).

    Signed-off-by: Rasmus Villemoes
    Cc: "Theodore Ts'o"
    Cc: Greg Kroah-Hartman
    Cc: Neil Brown
    Cc: Steven Rostedt
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rasmus Villemoes
     
  • Currently we use per-cpu array to hold pointers to preallocated nodes.
    Let's replace it with linked list. On x86_64 it saves 256 bytes in
    per-cpu ELF section which may translate into freeing up 2MB of memory for
    NR_CPUS==8192.

    [akpm@linux-foundation.org: fix comment, coding style]
    Signed-off-by: Kirill A. Shutemov
    Acked-by: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • bitmap_print_to_pagebuf uses scnprintf to copy the cpumask/list to page
    buffer. It handles the newline and trailing null character explicitly.

    It's unnecessary and also partially duplicated as scnprintf already adds
    trailing null character. The newline can be passed through format
    string to scnprintf. This patch does that simplification.

    However theoretically there's one behavior difference: when the buffer
    is too small, the original code would still output '\n' at the end while
    the new code(with this patch) would just continue to print the formatted
    string. Since this function is dealing with only page buffers, it's
    highly unlikely to hit that corner case.

    This patch will help in auditing the users of bitmap_print_to_pagebuf to
    verify that the buffer passed is large enough and get rid of it
    completely by replacing them with direct scnprintf()

    [akpm@linux-foundation.org: tweak comment]
    Signed-off-by: Sudeep Holla
    Suggested-by: Pawel Moll
    Cc: Tejun Heo
    Cc: "Peter Zijlstra (Intel)"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sudeep Holla
     
  • In case the call side is not providing a swap function, we either use a
    32 bit or a generic swap function. When swapping around pointers on 64
    bit architectures falling back to use the generic swap function seems
    like an unnecessary waste.

    There at least 9 users ('sort' is of difficult to grep for) of sort()
    and all of them use the sort function without a customized swap
    function. Furthermore, they are all using pointers to swap around:

    arch/x86/kernel/e820.c:sanitize_e820_map()
    arch/x86/mm/extable.c:sort_extable()
    drivers/acpi/fan.c:acpi_fan_get_fps()
    fs/btrfs/super.c:btrfs_descending_sort_devices()
    fs/xfs/libxfs/xfs_dir2_block.c:xfs_dir2_sf_to_block()
    kernel/range.c:clean_sort_range()
    mm/memcontrol.c:__mem_cgroup_usage_register_event()
    sound/pci/hda/hda_auto_parser.c:snd_hda_parse_pin_defcfg()
    sound/pci/hda/hda_auto_parser.c:sort_pins_by_sequence()

    Obviously, we could improve the swap for other sizes as well
    but this is overkill at this point.

    A simple test shows sorting a 400 element array (try to stay in one
    page) with either with u32_swap() or u64_swap() show that the theory
    actually works. This test was done on a x86_64 (Intel Xeon E5-4610)
    machine.

    - swap_32:

    NumSamples = 100; Min = 48.00; Max = 49.00
    Mean = 48.320000; Variance = 0.217600; SD = 0.466476; Median 48.000000
    each * represents a count of 1
    48.0000 - 48.1000 [ 68]: ********************************************************************
    48.1000 - 48.2000 [ 0]:
    48.2000 - 48.3000 [ 0]:
    48.3000 - 48.4000 [ 0]:
    48.4000 - 48.5000 [ 0]:
    48.5000 - 48.6000 [ 0]:
    48.6000 - 48.7000 [ 0]:
    48.7000 - 48.8000 [ 0]:
    48.8000 - 48.9000 [ 0]:
    48.9000 - 49.0000 [ 32]: ********************************

    - swap_64:

    NumSamples = 100; Min = 44.00; Max = 63.00
    Mean = 48.250000; Variance = 18.687500; SD = 4.322904; Median 47.000000
    each * represents a count of 1
    44.0000 - 45.9000 [ 15]: ***************
    45.9000 - 47.8000 [ 37]: *************************************
    47.8000 - 49.7000 [ 39]: ***************************************
    49.7000 - 51.6000 [ 0]:
    51.6000 - 53.5000 [ 0]:
    53.5000 - 55.4000 [ 0]:
    55.4000 - 57.3000 [ 0]:
    57.3000 - 59.2000 [ 1]: *
    59.2000 - 61.1000 [ 3]: ***
    61.1000 - 63.0000 [ 5]: *****

    - swap_72:

    NumSamples = 100; Min = 53.00; Max = 71.00
    Mean = 55.070000; Variance = 21.565100; SD = 4.643824; Median 53.000000
    each * represents a count of 1
    53.0000 - 54.8000 [ 73]: *************************************************************************
    54.8000 - 56.6000 [ 9]: *********
    56.6000 - 58.4000 [ 9]: *********
    58.4000 - 60.2000 [ 0]:
    60.2000 - 62.0000 [ 0]:
    62.0000 - 63.8000 [ 0]:
    63.8000 - 65.6000 [ 0]:
    65.6000 - 67.4000 [ 1]: *
    67.4000 - 69.2000 [ 4]: ****
    69.2000 - 71.0000 [ 4]: ****

    - test program:

    static int cmp_32(const void *a, const void *b)
    {
    u32 l = *(u32 *)a;
    u32 r = *(u32 *)b;

    if (l < r)
    return -1;
    if (l > r)
    return 1;
    return 0;
    }

    static int cmp_64(const void *a, const void *b)
    {
    u64 l = *(u64 *)a;
    u64 r = *(u64 *)b;

    if (l < r)
    return -1;
    if (l > r)
    return 1;
    return 0;
    }

    static int cmp_72(const void *a, const void *b)
    {
    u32 l = get_unaligned((u32 *) a);
    u32 r = get_unaligned((u32 *) b);

    if (l < r)
    return -1;
    if (l > r)
    return 1;
    return 0;
    }

    static void init_array32(void *array)
    {
    u32 *a = array;
    int i;

    a[0] = 3821;
    for (i = 1; i < ARRAY_ELEMENTS; i++)
    a[i] = next_pseudo_random32(a[i-1]);
    }

    static void init_array64(void *array)
    {
    u64 *a = array;
    int i;

    a[0] = 3821;
    for (i = 1; i < ARRAY_ELEMENTS; i++)
    a[i] = next_pseudo_random32(a[i-1]);
    }

    static void init_array72(void *array)
    {
    char *p;
    u32 v;
    int i;

    v = 3821;
    for (i = 0; i < ARRAY_ELEMENTS; i++) {
    p = (char *)array + (i * 9);
    put_unaligned(v, (u32*) p);
    v = next_pseudo_random32(v);
    }
    }

    static void sort_test(void (*init)(void *array),
    int (*cmp) (const void *, const void *),
    void *array, size_t size)
    {
    ktime_t start, stop;
    int i;

    for (i = 0; i < 10000; i++) {
    init(array);

    local_irq_disable();
    start = ktime_get();

    sort(array, ARRAY_ELEMENTS, size, cmp, NULL);

    stop = ktime_get();
    local_irq_enable();

    if (i > 10000 - 101)
    pr_info("%lld\n", ktime_to_us(ktime_sub(stop, start)));
    }
    }

    static void *create_array(size_t size)
    {
    void *array;

    array = kmalloc(ARRAY_ELEMENTS * size, GFP_KERNEL);
    if (!array)
    return NULL;

    return array;
    }

    static int perform_test(size_t size)
    {
    void *array;

    array = create_array(size);
    if (!array)
    return -ENOMEM;

    pr_info("test element size %d bytes\n", (int)size);
    switch (size) {
    case 4:
    sort_test(init_array32, cmp_32, array, size);
    break;
    case 8:
    sort_test(init_array64, cmp_64, array, size);
    break;
    case 9:
    sort_test(init_array72, cmp_72, array, size);
    break;
    }
    kfree(array);

    return 0;
    }

    static int __init sort_tests_init(void)
    {
    int err;

    err = perform_test(sizeof(u32));
    if (err)
    return err;

    err = perform_test(sizeof(u64));
    if (err)
    return err;

    err = perform_test(sizeof(u64)+1);
    if (err)
    return err;

    return 0;
    }

    static void __exit sort_tests_exit(void)
    {
    }

    module_init(sort_tests_init);
    module_exit(sort_tests_exit);

    MODULE_LICENSE("GPL v2");
    MODULE_AUTHOR("Daniel Wagner");
    MODULE_DESCRIPTION("sort perfomance tests");

    Signed-off-by: Daniel Wagner
    Cc: Rasmus Villemoes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Wagner
     
  • The test data arrays, containing pointers to test strings, are never
    modified, so they can be const, too. Hence mark them "const" and
    "__initconst".

    This moves 28 pointers from ".init.data" to ".init.rodata".

    Signed-off-by: Geert Uytterhoeven
    Cc: Andy Shevchenko
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • bitmap_parselist("", &mask, nmaskbits) will erroneously set bit zero in
    the mask. The same bug is visible in cpumask_parselist() since it is
    layered on top of the bitmask code, e.g. if you boot with "isolcpus=",
    you will actually end up with cpu zero isolated.

    The bug was introduced in commit 4b060420a596 ("bitmap, irq: add
    smp_affinity_list interface to /proc/irq") when bitmap_parselist() was
    generalized to support userspace as well as kernelspace.

    Fixes: 4b060420a596 ("bitmap, irq: add smp_affinity_list interface to /proc/irq")
    Signed-off-by: Chris Metcalf
    Cc: Rasmus Villemoes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Metcalf
     
  • Pull asm/scatterlist.h removal from Jens Axboe:
    "We don't have any specific arch scatterlist anymore, since parisc
    finally switched over. Kill the include"

    * 'for-4.2/sg' of git://git.kernel.dk/linux-block:
    remove scatterlist.h generation from arch Kbuild files
    remove

    Linus Torvalds
     

25 Jun, 2015

1 commit

  • Pull networking updates from David Miller:

    1) Add TX fast path in mac80211, from Johannes Berg.

    2) Add TSO/GRO support to ibmveth, from Thomas Falcon

    3) Move away from cached routes in ipv6, just like ipv4, from Martin
    KaFai Lau.

    4) Lots of new rhashtable tests, from Thomas Graf.

    5) Run ingress qdisc lockless, from Alexei Starovoitov.

    6) Allow servers to fetch TCP packet headers for SYN packets of new
    connections, for fingerprinting. From Eric Dumazet.

    7) Add mode parameter to pktgen, for testing receive. From Alexei
    Starovoitov.

    8) Cache access optimizations via simplifications of build_skb(), from
    Alexander Duyck.

    9) Move page frag allocator under mm/, also from Alexander.

    10) Add xmit_more support to hv_netvsc, from KY Srinivasan.

    11) Add a counter guard in case we try to perform endless reclassify
    loops in the packet scheduler.

    12) Extern flow dissector to be programmable and use it in new "Flower"
    classifier. From Jiri Pirko.

    13) AF_PACKET fanout rollover fixes, performance improvements, and new
    statistics. From Willem de Bruijn.

    14) Add netdev driver for GENEVE tunnels, from John W Linville.

    15) Add ingress netfilter hooks and filtering, from Pablo Neira Ayuso.

    16) Fix handling of epoll edge triggers in TCP, from Eric Dumazet.

    17) Add an ECN retry fallback for the initial TCP handshake, from Daniel
    Borkmann.

    18) Add tail call support to BPF, from Alexei Starovoitov.

    19) Add several pktgen helper scripts, from Jesper Dangaard Brouer.

    20) Add zerocopy support to AF_UNIX, from Hannes Frederic Sowa.

    21) Favor even port numbers for allocation to connect() requests, and
    odd port numbers for bind(0), in an effort to help avoid
    ip_local_port_range exhaustion. From Eric Dumazet.

    22) Add Cavium ThunderX driver, from Sunil Goutham.

    23) Allow bpf programs to access skb_iif and dev->ifindex SKB metadata,
    from Alexei Starovoitov.

    24) Add support for T6 chips in cxgb4vf driver, from Hariprasad Shenai.

    25) Double TCP Small Queues default to 256K to accomodate situations
    like the XEN driver and wireless aggregation. From Wei Liu.

    26) Add more entropy inputs to flow dissector, from Tom Herbert.

    27) Add CDG congestion control algorithm to TCP, from Kenneth Klette
    Jonassen.

    28) Convert ipset over to RCU locking, from Jozsef Kadlecsik.

    29) Track and act upon link status of ipv4 route nexthops, from Andy
    Gospodarek.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1670 commits)
    bridge: vlan: flush the dynamically learned entries on port vlan delete
    bridge: multicast: add a comment to br_port_state_selection about blocking state
    net: inet_diag: export IPV6_V6ONLY sockopt
    stmmac: troubleshoot unexpected bits in des0 & des1
    net: ipv4 sysctl option to ignore routes when nexthop link is down
    net: track link-status of ipv4 nexthops
    net: switchdev: ignore unsupported bridge flags
    net: Cavium: Fix MAC address setting in shutdown state
    drivers: net: xgene: fix for ACPI support without ACPI
    ip: report the original address of ICMP messages
    net/mlx5e: Prefetch skb data on RX
    net/mlx5e: Pop cq outside mlx5e_get_cqe
    net/mlx5e: Remove mlx5e_cq.sqrq back-pointer
    net/mlx5e: Remove extra spaces
    net/mlx5e: Avoid TX CQE generation if more xmit packets expected
    net/mlx5e: Avoid redundant dev_kfree_skb() upon NOP completion
    net/mlx5e: Remove re-assignment of wq type in mlx5e_enable_rq()
    net/mlx5e: Use skb_shinfo(skb)->gso_segs rather than counting them
    net/mlx5e: Static mapping of netdev priv resources to/from netdev TX queues
    net/mlx4_en: Use HW counters for rx/tx bytes/packets in PF device
    ...

    Linus Torvalds
     

24 Jun, 2015

2 commits

  • Pull powerpc updates from Michael Ellerman:

    - disable the 32-bit vdso when building LE, so we can build with a
    64-bit only toolchain.

    - EEH fixes from Gavin & Richard.

    - enable the sys_kcmp syscall from Laurent.

    - sysfs control for fastsleep workaround from Shreyas.

    - expose OPAL events as an irq chip by Alistair.

    - MSI ops moved to pci_controller_ops by Daniel.

    - fix for kernel to userspace backtraces for perf from Anton.

    - merge pseries and pseries_le defconfigs from Cyril.

    - CXL in-kernel API from Mikey.

    - OPAL prd driver from Jeremy.

    - fix for DSCR handling & tests from Anshuman.

    - Powernv flash mtd driver from Cyril.

    - dynamic DMA Window support on powernv from Alexey.

    - LLVM clang fixes & workarounds from Anton.

    - reworked version of the patch to abort syscalls when transactional.

    - fix the swap encoding to support 4TB, from Aneesh.

    - various fixes as usual.

    - Freescale updates from Scott: Highlights include more 8xx
    optimizations, an e6500 hugetlb optimization, QMan device tree nodes,
    t1024/t1023 support, and various fixes and cleanup.

    * tag 'powerpc-4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (180 commits)
    cxl: Fix typo in debug print
    cxl: Add CXL_KERNEL_API config option
    powerpc/powernv: Fix wrong IOMMU table in pnv_ioda_setup_bus_dma()
    powerpc/mm: Change the swap encoding in pte.
    powerpc/mm: PTE_RPN_MAX is not used, remove the same
    powerpc/tm: Abort syscalls in active transactions
    powerpc/iommu/ioda2: Enable compile with IOV=on and IOMMU_API=off
    powerpc/include: Add opal-prd to installed uapi headers
    powerpc/powernv: fix construction of opal PRD messages
    powerpc/powernv: Increase opal-irqchip initcall priority
    powerpc: Make doorbell check preemption safe
    powerpc/powernv: pnv_init_idle_states() should only run on powernv
    macintosh/nvram: Remove as unused
    powerpc: Don't use gcc specific options on clang
    powerpc: Don't use -mno-strict-align on clang
    powerpc: Only use -mtraceback=no, -mno-string and -msoft-float if toolchain supports it
    powerpc: Only use -mabi=altivec if toolchain supports it
    powerpc: Fix duplicate const clang warning in user access code
    vfio: powerpc/spapr: Support Dynamic DMA windows
    vfio: powerpc/spapr: Register memory and define IOMMU v2
    ...

    Linus Torvalds
     
  • Pull trivial tree updates from Jiri Kosina:
    "As usual, mostly comment, kerneldoc and printk() fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    lpfc: Grammar s/an negative/a negative/
    ARM: lib/lib1funcs.S: fix typo s/substractions/subtractions/
    cx25821: cx25821-medusa-reg.h: fix 0x0x prefix
    lib: crc-itu-t.[ch] fix 0x0x prefix in integer constants
    rapidio: Fix kerneldoc and comment
    qla4xxx: Fix printk() in qla4_83xx_read_reset_template() and qla4_83xx_pre_loopback_config()
    treewide: Kconfig: fix wording / spelling
    usb/serial: fix grammar in Kconfig help text for FTDI_SIO
    megaraid_sas: fix kerneldoc
    netfilter: ebtables: fix comment grammar
    drm/radeon: fix comment
    isdn: fix grammar in comment
    ARM: KVM: fix comment

    Linus Torvalds
     

23 Jun, 2015

3 commits

  • …ernel/git/kdave/linux into anand

    Chris Mason
     
  • Pull crypto update from Herbert Xu:
    "Here is the crypto update for 4.2:

    API:

    - Convert RNG interface to new style.

    - New AEAD interface with one SG list for AD and plain/cipher text.
    All external AEAD users have been converted.

    - New asymmetric key interface (akcipher).

    Algorithms:

    - Chacha20, Poly1305 and RFC7539 support.

    - New RSA implementation.

    - Jitter RNG.

    - DRBG is now seeded with both /dev/random and Jitter RNG. If kernel
    pool isn't ready then DRBG will be reseeded when it is.

    - DRBG is now the default crypto API RNG, replacing krng.

    - 842 compression (previously part of powerpc nx driver).

    Drivers:

    - Accelerated SHA-512 for arm64.

    - New Marvell CESA driver that supports DMA and more algorithms.

    - Updated powerpc nx 842 support.

    - Added support for SEC1 hardware to talitos"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (292 commits)
    crypto: marvell/cesa - remove COMPILE_TEST dependency
    crypto: algif_aead - Temporarily disable all AEAD algorithms
    crypto: af_alg - Forbid the use internal algorithms
    crypto: echainiv - Only hold RNG during initialisation
    crypto: seqiv - Add compatibility support without RNG
    crypto: eseqiv - Offer normal cipher functionality without RNG
    crypto: chainiv - Offer normal cipher functionality without RNG
    crypto: user - Add CRYPTO_MSG_DELRNG
    crypto: user - Move cryptouser.h to uapi
    crypto: rng - Do not free default RNG when it becomes unused
    crypto: skcipher - Allow givencrypt to be NULL
    crypto: sahara - propagate the error on clk_disable_unprepare() failure
    crypto: rsa - fix invalid select for AKCIPHER
    crypto: picoxcell - Update to the current clk API
    crypto: nx - Check for bogus firmware properties
    crypto: marvell/cesa - add DT bindings documentation
    crypto: marvell/cesa - add support for Kirkwood and Dove SoCs
    crypto: marvell/cesa - add support for Orion SoCs
    crypto: marvell/cesa - add allhwsupport module parameter
    crypto: marvell/cesa - add support for all armada SoCs
    ...

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "A rather largish update for everything time and timer related:

    - Cache footprint optimizations for both hrtimers and timer wheel

    - Lower the NOHZ impact on systems which have NOHZ or timer migration
    disabled at runtime.

    - Optimize run time overhead of hrtimer interrupt by making the clock
    offset updates smarter

    - hrtimer cleanups and removal of restrictions to tackle some
    problems in sched/perf

    - Some more leap second tweaks

    - Another round of changes addressing the 2038 problem

    - First step to change the internals of clock event devices by
    introducing the necessary infrastructure

    - Allow constant folding for usecs/msecs_to_jiffies()

    - The usual pile of clockevent/clocksource driver updates

    The hrtimer changes contain updates to sched, perf and x86 as they
    depend on them plus changes all over the tree to cleanup API changes
    and redundant code, which got copied all over the place. The y2038
    changes touch s390 to remove the last non 2038 safe code related to
    boot/persistant clock"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
    clocksource: Increase dependencies of timer-stm32 to limit build wreckage
    timer: Minimize nohz off overhead
    timer: Reduce timer migration overhead if disabled
    timer: Stats: Simplify the flags handling
    timer: Replace timer base by a cpu index
    timer: Use hlist for the timer wheel hash buckets
    timer: Remove FIFO "guarantee"
    timers: Sanitize catchup_timer_jiffies() usage
    hrtimer: Allow hrtimer::function() to free the timer
    seqcount: Introduce raw_write_seqcount_barrier()
    seqcount: Rename write_seqcount_barrier()
    hrtimer: Fix hrtimer_is_queued() hole
    hrtimer: Remove HRTIMER_STATE_MIGRATE
    selftest: Timers: Avoid signal deadlock in leap-a-day
    timekeeping: Copy the shadow-timekeeper over the real timekeeper last
    clockevents: Check state instead of mode in suspend/resume path
    selftests: timers: Add leap-second timer edge testing to leap-a-day.c
    ntp: Do leapsecond adjustment in adjtimex read path
    time: Prevent early expiry of hrtimers[CLOCK_REALTIME] at the leap second edge
    ntp: Introduce and use SECS_PER_DAY macro instead of 86400
    ...

    Linus Torvalds