14 Jun, 2014

1 commit

  • "make vdso_install" installs unstripped versions of the vdso objects
    for the benefit of the debugger. This was broken by checkin:

    6f121e548f83 x86, vdso: Reimplement vdso.so preparation in build-time C

    The filenames are different now, so update the Makefile to cope.

    This still installs the 64-bit vdso as vdso64.so. We believe this
    will be okay, as the only known user is a patched gdb which is known
    to use build-ids, but if it turns out to be a problem we may have to
    add a link.

    Inspired by a patch from Sam Ravnborg.

    Acked-by: Sam Ravnborg
    Reported-by: Josh Boyer
    Tested-by: Josh Boyer
    Signed-off-by: Andy Lutomirski
    Link: http://lkml.kernel.org/r/b10299edd8ba98d17e07dafcd895b8ecf4d99eff.1402586707.git.luto@amacapital.net
    Signed-off-by: H. Peter Anvin

    Andy Lutomirski
     

13 Jun, 2014

4 commits

  • The Go runtime has a buggy vDSO parser that currently segfaults.
    This writes an empty SHT_DYNSYM entry that causes Go's runtime to
    malfunction by thinking that the vDSO is empty rather than
    malfunctioning by running off the end and segfaulting.

    This affects x86-64 only as far as we know, so we do not need this for
    the i386 and x32 vdsos.

    Signed-off-by: Andy Lutomirski
    Link: http://lkml.kernel.org/r/d10618176c4bd39b457a5e85c497295c90cab1bc.1402620737.git.luto@amacapital.net
    Signed-off-by: H. Peter Anvin

    Andy Lutomirski
     
  • Add PUT_LE() by analogy with GET_LE() to write littleendian values in
    addition to reading them.

    Signed-off-by: Andy Lutomirski
    Link: http://lkml.kernel.org/r/3d9b27e92745b27b6fda1b9a98f70dc9c1246c7a.1402620737.git.luto@amacapital.net
    Signed-off-by: H. Peter Anvin

    Andy Lutomirski
     
  • This adds a new vdso_test.c that's written entirely in C. It also
    makes all of the vDSO examples work on 32-bit x86.

    Cc: Stefani Seibold
    Signed-off-by: Andy Lutomirski
    Link: http://lkml.kernel.org/r/62b701fc44b79f118ac2b2d64d19965fc5c291fb.1402620737.git.luto@amacapital.net
    Signed-off-by: H. Peter Anvin

    Andy Lutomirski
     
  • This thing is hopelessly x86_64-specific: it's an example of how to
    access the vDSO without any runtime support at all.

    Signed-off-by: Andy Lutomirski
    Link: http://lkml.kernel.org/r/3efc170e0e166e15f0150c9fdb37d52488b9c0a4.1402620737.git.luto@amacapital.net
    Signed-off-by: H. Peter Anvin

    Andy Lutomirski
     

11 Jun, 2014

9 commits

  • One final use of the macros from which are not available on
    older system. In this case we had one sole case of *writing* a
    littleendian number, but the number is SHN_UNDEF which is the constant
    zero, so rather than dealing with the general case of littleendian
    puts here, just document that the constant is zero and be done with
    it.

    Reported-and-Tested-by: Andrew Morton
    Signed-off-by: H. Peter Anvin
    Cc: Andy Lutomirski
    Link: http://lkml.kernel.org/r/20140610135051.c3c34165f73d67d218b62bd9@linux-foundation.org

    H. Peter Anvin
     
  • Pull nfsd updates from Bruce Fields:
    "The largest piece is a long-overdue rewrite of the xdr code to remove
    some annoying limitations: for example, there was no way to return
    ACLs larger than 4K, and readdir results were returned only in 4k
    chunks, limiting performance on large directories.

    Also:
    - part of Neil Brown's work to make NFS work reliably over the
    loopback interface (so client and server can run on the same
    machine without deadlocks). The rest of it is coming through
    other trees.
    - cleanup and bugfixes for some of the server RDMA code, from
    Steve Wise.
    - Various cleanup of NFSv4 state code in preparation for an
    overhaul of the locking, from Jeff, Trond, and Benny.
    - smaller bugfixes and cleanup from Christoph Hellwig and
    Kinglong Mee.

    Thanks to everyone!

    This summer looks likely to be busier than usual for knfsd. Hopefully
    we won't break it too badly; testing definitely welcomed"

    * 'for-3.16' of git://linux-nfs.org/~bfields/linux: (100 commits)
    nfsd4: fix FREE_STATEID lockowner leak
    svcrdma: Fence LOCAL_INV work requests
    svcrdma: refactor marshalling logic
    nfsd: don't halt scanning the DRC LRU list when there's an RC_INPROG entry
    nfs4: remove unused CHANGE_SECURITY_LABEL
    nfsd4: kill READ64
    nfsd4: kill READ32
    nfsd4: simplify server xdr->next_page use
    nfsd4: hash deleg stateid only on successful nfs4_set_delegation
    nfsd4: rename recall_lock to state_lock
    nfsd: remove unneeded zeroing of fields in nfsd4_proc_compound
    nfsd: fix setting of NFS4_OO_CONFIRMED in nfsd4_open
    nfsd4: use recall_lock for delegation hashing
    nfsd: fix laundromat next-run-time calculation
    nfsd: make nfsd4_encode_fattr static
    SUNRPC/NFSD: Remove using of dprintk with KERN_WARNING
    nfsd: remove unused function nfsd_read_file
    nfsd: getattr for FATTR4_WORD0_FILES_AVAIL needs the statfs buffer
    NFSD: Error out when getting more than one fsloc/secinfo/uuid
    NFSD: Using type of uint32_t for ex_nflavors instead of int
    ...

    Linus Torvalds
     
  • Pull main InfiniBand/RDMA updates from Roland Dreier:

    - add iWARP port mapper to avoid conflicts between RDMA and normal
    stack TCP connections.

    - fixes for i386 / x86-64 structure padding differences (ABI
    compatibility for 32-on-64) from Yann Droneaud.

    - a pile of SRP initiator fixes from Bart Van Assche.

    - fixes for a writeback / memory allocation deadlock with NFS over
    IPoIB connected mode from Jiri Kosina.

    - the usual fixes and cleanups to mlx4, mlx5, cxgb4 and other low-level
    drivers.

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (61 commits)
    RDMA/cxgb4: Add support for iWARP Port Mapper user space service
    RDMA/nes: Add support for iWARP Port Mapper user space service
    RDMA/core: Add support for iWARP Port Mapper user space service
    IB/mlx4: Fix gfp passing in create_qp_common()
    IB/umad: Fix use-after-free on close
    IB/core: Fix kobject leak on device register error flow
    RDMA/cxgb4: add missing padding at end of struct c4iw_alloc_ucontext_resp
    mlx4_core: Fix GFP flags parameters to be gfp_t
    IB/core: Fix port kobject deletion during error flow
    IB/core: Remove unneeded kobject_get/put calls
    IB/core: Fix sparse warnings about redeclared functions
    IB/mad: Fix sparse warning about gfp_t use
    IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO
    IB: Add a QP creation flag to use GFP_NOIO allocations
    IB: Return error for unsupported QP creation flags
    IB: Allow build of hw/ and ulp/ subdirectories independently
    mlx4_core: Move handling of MLX4_QP_ST_MLX to proper switch statement
    RDMA/cxgb4: Add missing padding at end of struct c4iw_create_cq_resp
    IB/srp: Avoid problems if a header uses pr_fmt
    IB/umad: Fix error handling
    ...

    Linus Torvalds
     
  • Pull slave-dmaengine updates from Vinod Koul:
    - new Xilixn VDMA driver from Srikanth
    - bunch of updates for edma driver by Thomas, Joel and Peter
    - fixes and updates on dw, ste_dma, freescale, mpc512x, sudmac etc

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (45 commits)
    dmaengine: sh: don't use dynamic static allocation
    dmaengine: sh: fix print specifier warnings
    dmaengine: sh: make shdma_prep_dma_cyclic static
    dmaengine: Kconfig: Update MXS_DMA help text to include MX6Q/MX6DL
    of: dma: Grammar s/requests/request/, s/used required/required/
    dmaengine: shdma: Enable driver compilation with COMPILE_TEST
    dmaengine: rcar-hpbdma: Include linux/err.h
    dmaengine: sudmac: Include linux/err.h
    dmaengine: sudmac: Keep #include sorted alphabetically
    dmaengine: shdmac: Include linux/err.h
    dmaengine: shdmac: Keep #include sorted alphabetically
    dmaengine: s3c24xx-dma: Add cyclic transfer support
    dmaengine: s3c24xx-dma: Process whole SG chain
    dmaengine: imx: correct sdmac->status for cyclic dma tx
    dmaengine: pch: fix compilation for alpha target
    dmaengine: dw: check return code of dma_async_device_register()
    dmaengine: dw: fix regression in dw_probe() function
    dmaengine: dw: enable clock before access
    dma: pch_dma: Fix Kconfig dependencies
    dmaengine: mpc512x: add support for peripheral transfers
    ...

    Linus Torvalds
     
  • … 'noio', 'ocrdma', 'qib', 'srp' and 'usnic' into for-next

    Roland Dreier
     
  • Based on original work by Vipul Pandya.

    Signed-off-by: Steve Wise

    [ Fix htons -> ntohs to make sparse happy. - Roland ]

    Signed-off-by: Roland Dreier

    Steve Wise
     
  • Signed-off-by: Tatyana Nikolova
    Signed-off-by: Roland Dreier

    Tatyana Nikolova
     
  • This patch adds iWARP Port Mapper (IWPM) Version 2 support. The iWARP
    Port Mapper implementation is based on the port mapper specification
    section in the Sockets Direct Protocol paper -
    http://www.rdmaconsortium.org/home/draft-pinkerton-iwarp-sdp-v1.0.pdf

    Existing iWARP RDMA providers use the same IP address as the native
    TCP/IP stack when creating RDMA connections. They need a mechanism to
    claim the TCP ports used for RDMA connections to prevent TCP port
    collisions when other host applications use TCP ports. The iWARP Port
    Mapper provides a standard mechanism to accomplish this. Without this
    service it is possible for RDMA application to bind/listen on the same
    port which is already being used by native TCP host application. If
    that happens the incoming TCP connection data can be passed to the
    RDMA stack with error.

    The iWARP Port Mapper solution doesn't contain any changes to the
    existing network stack in the kernel space. All the changes are
    contained with the infiniband tree and also in user space.

    The iWARP Port Mapper service is implemented as a user space daemon
    process. Source for the IWPM service is located at
    http://git.openfabrics.org/git?p=~tnikolova/libiwpm-1.0.0/.git;a=summary

    The iWARP driver (port mapper client) sends to the IWPM service the
    local IP address and TCP port it has received from the RDMA
    application, when starting a connection. The IWPM service performs a
    socket bind from user space to get an available TCP port, called a
    mapped port, and communicates it back to the client. In that sense,
    the IWPM service is used to map the TCP port, which the RDMA
    application uses to any port available from the host TCP port
    space. The mapped ports are used in iWARP RDMA connections to avoid
    collisions with native TCP stack which is aware that these ports are
    taken. When an RDMA connection using a mapped port is terminated, the
    client notifies the IWPM service, which then releases the TCP port.

    The message exchange between the IWPM service and the iWARP drivers
    (between user space and kernel space) is implemented using netlink
    sockets.

    1) Netlink interface functions are added: ibnl_unicast() and
    ibnl_mulitcast() for sending netlink messages to user space

    2) The signature of the existing ibnl_put_msg() is changed to be more
    generic

    3) Two netlink clients are added: RDMA_NL_NES, RDMA_NL_C4IW
    corresponding to the two iWarp drivers - nes and cxgb4 which use
    the IWPM service

    4) Enums are added to enumerate the attributes in the netlink
    messages, which are exchanged between the user space IWPM service
    and the iWARP drivers

    Signed-off-by: Tatyana Nikolova
    Signed-off-by: Steve Wise
    Reviewed-by: PJ Waskiewicz

    [ Fold in range checking fixes and nlh_next removal as suggested by Dan
    Carpenter and Steve Wise. Fix sparse endianness in hash. - Roland ]

    Signed-off-by: Roland Dreier

    Tatyana Nikolova
     
  • Pull security layer updates from Serge Hallyn:
    "This is a merge of James Morris' security-next tree from 3.14 to
    yesterday's master, plus four patches from Paul Moore which are in
    linux-next, plus one patch from Mimi"

    * 'serge-next-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-security:
    ima: audit log files opened with O_DIRECT flag
    selinux: conditionally reschedule in hashtab_insert while loading selinux policy
    selinux: conditionally reschedule in mls_convert_context while loading selinux policy
    selinux: reject setexeccon() on MNT_NOSUID applications with -EACCES
    selinux: Report permissive mode in avc: denied messages.
    Warning in scanf string typing
    Smack: Label cgroup files for systemd
    Smack: Verify read access on file open - v3
    security: Convert use of typedef ctl_table to struct ctl_table
    Smack: bidirectional UDS connect check
    Smack: Correctly remove SMACK64TRANSMUTE attribute
    SMACK: Fix handling value==NULL in post setxattr
    bugfix patch for SMACK
    Smack: adds smackfs/ptrace interface
    Smack: unify all ptrace accesses in the smack
    Smack: fix the subject/object order in smack_ptrace_traceme()
    Minor improvement of 'smack_sb_kern_mount'
    smack: fix key permission verification
    KEYS: Move the flags representing required permission to linux/key.h

    Linus Torvalds
     

10 Jun, 2014

18 commits

  • Pull UBIFS updates from Artem Bityutskiy:
    "This contains several UBIFS fixes. One of them fixes a race condition
    between the mmap page fault path and fsync. Another just removes a
    bogus assertion from the UBIFS memory shrinker.

    UBIFS also started honoring the MS_SILENT mount flag, so now it won't
    print many I/O errors when user-space just tries to probe for the FS.

    Rest of the changes are rather minor UBI/UBIFS fixes, improvements,
    and clean-ups"

    * tag 'upstream-3.16-rc1-v2' of git://git.infradead.org/linux-ubifs:
    UBIFS: Add an assertion for clean_zn_cnt
    UBIFS: respect MS_SILENT mount flag
    UBIFS: Remove incorrect assertion in shrink_tnc()
    UBIFS: fix debugging check
    UBIFS: add missing ui pointer in debugging code
    UBI: block: Fix error path on alloc_workqueue failure
    UBIFS: Fix dump messages in ubifs_dump_lprops
    UBI: fix rb_tree node comparison in add_map
    UBIFS: Remove unused variables in ubifs_budget_space
    UBI: weaken the 'exclusive' constraint when opening volumes to rename
    UBIFS: fix an mmap and fsync race condition

    Linus Torvalds
     
  • Fixes an easy DoS and possible information disclosure.

    This does nothing about the broken state of x32 auditing.

    eparis: If the admin has enabled auditd and has specifically loaded
    audit rules. This bug has been around since before git. Wow...

    Cc: stable@vger.kernel.org
    Signed-off-by: Andy Lutomirski
    Signed-off-by: Eric Paris
    Signed-off-by: Linus Torvalds

    Andy Lutomirski
     
  • Pull f2fs updates from Jaegeuk Kim:
    "In this round, there is no special interesting feature, but we've
    investigated a couple of tuning points with respect to the I/O flow.
    Several major bug fixes and a bunch of clean-ups also have been made.

    This patch-set includes the following major enhancement patches:
    - enhance wait_on_page_writeback
    - support SEEK_DATA and SEEK_HOLE
    - enhance readahead flows
    - enhance IO flushes
    - support fiemap
    - add some tracepoints

    The other bug fixes are as follows:
    - fix to support a large volume > 2TB correctly
    - recovery bug fix wrt fallocated space
    - fix recursive lock on xattr operations
    - fix some cases on the remount flow

    And, there are a bunch of cleanups"

    * tag 'for-f2fs-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (52 commits)
    f2fs: support f2fs_fiemap
    f2fs: avoid not to call remove_dirty_inode
    f2fs: recover fallocated space
    f2fs: fix to recover data written by dio
    f2fs: large volume support
    f2fs: avoid crash when trace f2fs_submit_page_mbio event in ra_sum_pages
    f2fs: avoid overflow when large directory feathure is enabled
    f2fs: fix recursive lock by f2fs_setxattr
    MAINTAINERS: add a co-maintainer from samsung for F2FS
    MAINTAINERS: change the email address for f2fs
    f2fs: use inode_init_owner() to simplify codes
    f2fs: avoid to use slab memory in f2fs_issue_flush for efficiency
    f2fs: add a tracepoint for f2fs_read_data_page
    f2fs: add a tracepoint for f2fs_write_{meta,node,data}_pages
    f2fs: add a tracepoint for f2fs_write_{meta,node,data}_page
    f2fs: add a tracepoint for f2fs_write_end
    f2fs: add a tracepoint for f2fs_write_begin
    f2fs: fix checkpatch warning
    f2fs: deactivate inode page if the inode is evicted
    f2fs: decrease the lock granularity during write_begin
    ...

    Linus Torvalds
     
  • Pull CIFS fixes from Steve French.

    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
    CIFS: Fix memory leaks in SMB2_open
    cifs: ensure that vol->username is not NULL before running strlen on it
    Clarify SMB2/SMB3 create context and add missing ones
    Do not send ClientGUID on SMB2.02 dialect
    cifs: Set client guid on per connection basis
    fs/cifs/netmisc.c: convert printk to pr_foo()
    fs/cifs/cifs.c: replace seq_printf by seq_puts
    Update cifs version number to 2.03
    fs: cifs: new helper: file_inode(file)
    cifs: fix potential races in cifs_revalidate_mapping
    cifs: new helper function: cifs_revalidate_mapping
    cifs: convert booleans in cifsInodeInfo to a flags field
    cifs: fix cifs_uniqueid_to_ino_t not to ever return 0

    Linus Torvalds
     
  • Pull SCSI updates from James Bottomley:
    "This patch consists of the usual driver updates (qla2xxx, qla4xxx,
    lpfc, be2iscsi, fnic, ufs, NCR5380) The NCR5380 is the addition to
    maintained status of a long neglected driver for older hardware. In
    addition there are a lot of minor fixes and cleanups and some more
    updates to make scsi mq ready"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (130 commits)
    include/scsi/osd_protocol.h: remove unnecessary __constant
    mvsas: Recognise device/subsystem 9485/9485 as 88SE9485
    Revert "be2iscsi: Fix processing cqe for cxn whose endpoint is freed"
    mptfusion: fix msgContext in mptctl_hp_hostinfo
    acornscsi: remove linked command support
    scsi/NCR5380: dprintk macro
    fusion: Remove use of DEF_SCSI_QCMD
    fusion: Add free msg frames to the head, not tail of list
    mpt2sas: Add free smids to the head, not tail of list
    mpt2sas: Remove use of DEF_SCSI_QCMD
    mpt2sas: Remove uses of serial_number
    mpt3sas: Remove use of DEF_SCSI_QCMD
    mpt3sas: Remove uses of serial_number
    qla2xxx: Use kmemdup instead of kmalloc + memcpy
    qla4xxx: Use kmemdup instead of kmalloc + memcpy
    qla2xxx: fix incorrect debug printk
    be2iscsi: Bump the driver version
    be2iscsi: Fix processing cqe for cxn whose endpoint is freed
    be2iscsi: Fix destroy MCC-CQ before MCC-EQ is destroyed
    be2iscsi: Fix memory corruption in MBX path
    ...

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    "A big update to the Atmel touchscreen driver, devm support for polled
    input devices, several drivers have been converted to using managed
    resources, and assorted driver fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (87 commits)
    Input: synaptics - fix resolution for manually provided min/max
    Input: atmel_mxt_ts - fix invalid return from mxt_get_bootloader_version
    Input: max8997_haptic - add error handling for regulator and pwm
    Input: elantech - don't set bit 1 of reg_10 when the no_hw_res quirk is set
    Input: elantech - deal with clickpads reporting right button events
    Input: edt-ft5x06 - fix an i2c write for M09 support
    Input: omap-keypad - remove platform data support
    ARM: OMAP2+: remove unused omap4-keypad file and code
    Input: ab8500-ponkey - switch to using managed resources
    Input: max8925_onkey - switch to using managed resources
    Input: 88pm860x-ts - switch to using managed resources
    Input: 88pm860x_onkey - switch to using managed resources
    Input: intel-mid-touch - switch to using managed resources
    Input: wacom - process outbound for newer Cintiqs
    Input: wacom - set stylus_in_proximity when pen is in range
    DTS: ARM: OMAP3-N900: Add tsc2005 support
    Input: tsc2005 - add DT support
    Input: add common DT binding for touchscreens
    Input: jornada680_kbd - switch top using managed resources
    Input: adp5520-keys - switch to using managed resources
    ...

    Linus Torvalds
     
  • Pull OMAP DT fbdev updates from Tomi Valkeinen:
    "Here are display related device tree data changes for OMAP. They are
    based on an already merged branch to satisfy the dependencies for the
    dts file changes.

    Add OMAP DT data:
    - omap5 display subsystem
    - display data for omap5 uEVM board
    - am43xx display subsystem
    - display data for am43xx ePOS and GP boards (LCD only)
    - display data for GTA04 board
    - display data for overo board
    - display data for duovero-parlor board
    - display data for omap3 evm and ldp boards"

    * tag 'fbdev-omap-dt-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
    ARM: omap5.dtsi: Add audio related parameters to hdmi node
    ARM: omap4.dtsi: Add audio related parametes to hdmi node
    ARM: dts: duovero-parlor: Add HDMI output
    ARM: dts: overo: Add support for 3.5'' LCD output
    ARM: dts: overo: Add support for 4.3'' LCD output
    ARM: dts: overo: Add support for DVI output
    ARM: dts: Add LCD panel sharp ls037v7dw01 support for omap3-evm and ldp
    ARM: dts: omap3-gta04: Add display support
    ARM: dts: omap5-uevm.dts: add display nodes
    ARM: dts: omap5-uevm.dts: add tca6424a
    ARM: dts: omap5.dtsi: add DSS nodes
    ARM: dts: am43x-epos-evm: add LCD data
    ARM: dts: am437x-gp-evm: add LCD data
    ARM: dts: am4372.dtsi: add DSS information

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    - three fixes for 3.15 that didn't make it in time
    - limited Octeon 3 support.
    - paravirtualization support
    - improvment to platform support for Netlogix SOCs.
    - add support for powering down the Malta eval board in software
    - add many instructions to the in-kernel microassembler.
    - add support for the BPF JIT.
    - minor cleanups of the BCM47xx code.
    - large cleanup of math emu code resulting in significant code size
    reduction, better readability of the code and more accurate
    emulation.
    - improvments to the MIPS CPS code.
    - support C3 power status for the R4k count/compare clock device.
    - improvments to the GIO support for older SGI workstations.
    - increase number of supported CPUs to 256; this can be reached on
    certain embedded multithreaded ccNUMA configurations.
    - various small cleanups, updates and fixes

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (173 commits)
    MIPS: IP22/IP28: Improve GIO support
    MIPS: Octeon: Add twsi interrupt initialization for OCTEON 3XXX, 5XXX, 63XX
    DEC: Document the R4k MB ASIC mini interrupt controller
    DEC: Add self as the maintainer
    MIPS: Add microMIPS MSA support.
    MIPS: Replace calls to obsolete strict_strto call with kstrto* equivalents.
    MIPS: Replace obsolete strict_strto call with kstrto
    MIPS: BFP: Simplify code slightly.
    MIPS: Call find_vma with the mmap_sem held
    MIPS: Fix 'write_msa_##' inline macro.
    MIPS: Fix MSA toolchain support detection.
    mips: Update the email address of Geert Uytterhoeven
    MIPS: Add minimal defconfig for mips_paravirt
    MIPS: Enable build for new system 'paravirt'
    MIPS: paravirt: Add pci controller for virtio
    MIPS: Add code for new system 'paravirt'
    MIPS: Add functions for hypervisor call
    MIPS: OCTEON: Add OCTEON3 to __get_cpu_type
    MIPS: Add function get_ebase_cpunum
    MIPS: Add minimal support for OCTEON3 to c-r4k.c
    ...

    Linus Torvalds
     
  • Pull ARC updates from Vineet Gupta:
    "Nothing too exciting here, just minor fixes/cleanup. Only noteworthy
    ones are:

    - Moving cache disabling to early boot
    - ARC UART enabled only if earlyprintk setup in cmdline"

    * tag 'arc-v3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: Disable caches in early boot if so configured
    ARC: [arcfpga] Early ARC UART to be only activated by cmdline
    ARC: [arcfpga] Get rid of legacy BVCI latency unit support
    ARC: remove duplicate header exports
    ARC: arc_local_timer_setup() need not pass own cpu id
    ARC: Fixed spelling errors within comments
    ARC: make start_thread() out-of-line
    ARC: fix mmuv2 warning
    ARC: [SMP] ISS SMP extension bitrot

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "Lots of tweaks, small fixes, optimizations, and some helper functions
    to help out the rest of the kernel to ease their use of trace events.

    The big change for this release is the allowing of other tracers, such
    as the latency tracers, to be used in the trace instances and allow
    for function or function graph tracing to be in the top level
    simultaneously"

    * tag 'trace-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (44 commits)
    tracing: Fix memory leak on instance deletion
    tracing: Fix leak of ring buffer data when new instances creation fails
    tracing/kprobes: Avoid self tests if tracing is disabled on boot up
    tracing: Return error if ftrace_trace_arrays list is empty
    tracing: Only calculate stats of tracepoint benchmarks for 2^32 times
    tracing: Convert stddev into u64 in tracepoint benchmark
    tracing: Introduce saved_cmdlines_size file
    tracing: Add __get_dynamic_array_len() macro for trace events
    tracing: Remove unused variable in trace_benchmark
    tracing: Eliminate double free on failure of allocation on boot up
    ftrace/x86: Call text_ip_addr() instead of the duplicated code
    tracing: Print max callstack on stacktrace bug
    tracing: Move locking of trace_cmdline_lock into start/stop seq calls
    tracing: Try again for saved cmdline if failed due to locking
    tracing: Have saved_cmdlines use the seq_read infrastructure
    tracing: Add tracepoint benchmark tracepoint
    tracing: Print nasty banner when trace_printk() is in use
    tracing: Add funcgraph_tail option to print function name after closing braces
    tracing: Eliminate duplicate TRACE_GRAPH_PRINT_xx defines
    tracing: Add __bitmask() macro to trace events to cpumasks and other bitmasks
    ...

    Linus Torvalds
     
  • Pull cgroup updates from Tejun Heo:
    "A lot of activities on cgroup side. Heavy restructuring including
    locking simplification took place to improve the code base and enable
    implementation of the unified hierarchy, which currently exists behind
    a __DEVEL__ mount option. The core support is mostly complete but
    individual controllers need further work. To explain the design and
    rationales of the the unified hierarchy

    Documentation/cgroups/unified-hierarchy.txt

    is added.

    Another notable change is css (cgroup_subsys_state - what each
    controller uses to identify and interact with a cgroup) iteration
    update. This is part of continuing updates on css object lifetime and
    visibility. cgroup started with reference count draining on removal
    way back and is now reaching a point where csses behave and are
    iterated like normal refcnted objects albeit with some complexities to
    allow distinguishing the state where they're being deleted. The css
    iteration update isn't taken advantage of yet but is planned to be
    used to simplify memcg significantly"

    * 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (77 commits)
    cgroup: disallow disabled controllers on the default hierarchy
    cgroup: don't destroy the default root
    cgroup: disallow debug controller on the default hierarchy
    cgroup: clean up MAINTAINERS entries
    cgroup: implement css_tryget()
    device_cgroup: use css_has_online_children() instead of has_children()
    cgroup: convert cgroup_has_live_children() into css_has_online_children()
    cgroup: use CSS_ONLINE instead of CGRP_DEAD
    cgroup: iterate cgroup_subsys_states directly
    cgroup: introduce CSS_RELEASED and reduce css iteration fallback window
    cgroup: move cgroup->serial_nr into cgroup_subsys_state
    cgroup: link all cgroup_subsys_states in their sibling lists
    cgroup: move cgroup->sibling and ->children into cgroup_subsys_state
    cgroup: remove cgroup->parent
    device_cgroup: remove direct access to cgroup->children
    memcg: update memcg_has_children() to use css_next_child()
    memcg: remove tasks/children test from mem_cgroup_force_empty()
    cgroup: remove css_parent()
    cgroup: skip refcnting on normal root csses and cgrp_dfl_root self css
    cgroup: use cgroup->self.refcnt for cgroup refcnting
    ...

    Linus Torvalds
     
  • Pull libata updates from Tejun Heo:
    "Nothing too interesting - another ahci platform driver variant,
    additional controller support, minor fixes and cleanups"

    * 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    ahci: Add Device ID for HighPoint RocketRaid 642L
    ata: ep93xx: use dmaengine_prep_slave_sg api instead of internal callback
    ahci: add PCI ID for Marvell 88SE91A0 SATA Controller
    sata_fsl: remove check for CONFIG_MPC8315_DS
    ahci: add support for Hisilicon sata
    libahci_platform: add host_flags parameter in ahci_platform_init_host()
    ata: ahci: append new hflag AHCI_HFLAG_NO_FBS
    ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
    ata: ahci_mvebu: new driver for Marvell Armada 380 AHCI interfaces
    Documentation: dt-bindings: reformat and order list of ahci-platform compatibles
    libata-sff: remove dead code
    ata: SATL compliance for Inquiry Product Revision
    pata_octeon_cf: use devm_kzalloc() to allocate cf_port

    Linus Torvalds
     
  • Pull workqueue updates from Tejun Heo:
    "Lai simplified worker destruction path and internal workqueue locking
    and there are some other minor changes.

    Except for the removal of some long-deprecated interfaces which
    haven't had any in-kernel user for quite a while, there shouldn't be
    any difference to workqueue users"

    * 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    kernel/workqueue.c: pr_warning/pr_warn & printk/pr_info
    workqueue: remove the confusing POOL_FREEZING
    workqueue: rename first_worker() to first_idle_worker()
    workqueue: remove unused work_clear_pending()
    workqueue: remove unused WORK_CPU_END
    workqueue: declare system_highpri_wq
    workqueue: use generic attach/detach routine for rescuers
    workqueue: separate pool-attaching code out from create_worker()
    workqueue: rename manager_mutex to attach_mutex
    workqueue: narrow the protection range of manager_mutex
    workqueue: convert worker_idr to worker_ida
    workqueue: separate iteration role from worker_idr
    workqueue: destroy worker directly in the idle timeout handler
    workqueue: async worker destruction
    workqueue: destroy_worker() should destroy idle workers only
    workqueue: use manager lock only to protect worker_idr
    workqueue: Remove deprecated system_nrt[_freezable]_wq
    workqueue: Remove deprecated flush[_delayed]_work_sync()
    kernel/workqueue.c: pr_warning/pr_warn & printk/pr_info
    workqueue: simplify wq_update_unbound_numa() by jumping to use_dfl_pwq if the target cpumask equals wq's

    Linus Torvalds
     
  • Pull percpu updates from Tejun Heo:
    "Nothing too exciting. percpu_ref is going through some interface
    changes and getting new features with more changes in the pipeline but
    given its young age and few users, it's very low impact"

    * 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu-refcount: implement percpu_ref_tryget()
    percpu-refcount: rename percpu_ref_tryget() to percpu_ref_tryget_live()
    percpu: Replace __get_cpu_var with this_cpu_ptr

    Linus Torvalds
     
  • 27b11428b7de ("nfsd4: remove lockowner when removing lock stateid")
    introduced a memory leak.

    Cc: stable@vger.kernel.org
    Reported-by: Jeff Layton
    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • There are two kzalloc() calls which were not converted to use value of
    gfp passed to create_qp_common() instead of using hardcoded GFP_KERNEL
    in 40f2287bd583 ("IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO"). Fix
    this by passing gfp value down properly.

    Reported-by: Dan Carpenter
    Signed-off-by: Jiri Kosina
    Signed-off-by: Roland Dreier

    Jiri Kosina
     
  • Vinod Koul
     
  • Vinod Koul
     

09 Jun, 2014

8 commits

  • James Bottomley
     
  • Pull 9p fixes from Eric Van Hensbergen:
    "Two bug fixes, one in xattr error path and the other in parsing
    major/minor numbers from devices"

    * tag 'for-linus-3.16-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    9P: fix return value in v9fs_fid_xattr_set
    fs/9p: adjust sscanf parameters accordingly to the variable types

    Linus Torvalds
     
  • This function is supposed to return true if the new load imbalance is
    worse than the old one. It didn't. I can only hope brown paper bags
    are in style.

    Now things converge much better on both the 4 node and 8 node systems.

    I am not sure why this did not seem to impact specjbb performance on the
    4 node system, which is the system I have full-time access to.

    This bug was introduced recently, with commit e63da03639cc ("sched/numa:
    Allow task switch if load imbalance improves")

    Signed-off-by: Rik van Riel
    Signed-off-by: Linus Torvalds

    Rik van Riel
     
  • shrink_inactive_list() used to wait 0.1s to avoid congestion when all
    the pages that were isolated from the inactive list were dirty but not
    under active writeback. That makes no real sense, and apparently causes
    major interactivity issues under some loads since 3.11.

    The ostensible reason for it was to wait for kswapd to start writing
    pages, but that seems questionable as well, since the congestion wait
    code seems to trigger for kswapd itself as well. Also, the logic behind
    delaying anything when we haven't actually started writeback is not
    clear - it only delays actually starting that writeback.

    We'll still trigger the congestion waiting if

    (a) the process is kswapd, and we hit pages flagged for immediate
    reclaim

    (b) the process is not kswapd, and the zone backing dev writeback is
    actually congested.

    This probably needs to be revisited, but as it is this fixes a reported
    regression.

    Reported-by: Felipe Contreras
    Pinpointed-by: Hillf Danton
    Cc: Michal Hocko
    Cc: Andrew Morton
    Cc: Mel Gorman
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull ext4 updates from Ted Ts'o:
    "Clean ups and miscellaneous bug fixes, in particular for the new
    collapse_range and zero_range fallocate functions. In addition,
    improve the scalability of adding and remove inodes from the orphan
    list"

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (25 commits)
    ext4: handle symlink properly with inline_data
    ext4: fix wrong assert in ext4_mb_normalize_request()
    ext4: fix zeroing of page during writeback
    ext4: remove unused local variable "stored" from ext4_readdir(...)
    ext4: fix ZERO_RANGE test failure in data journalling
    ext4: reduce contention on s_orphan_lock
    ext4: use sbi in ext4_orphan_{add|del}()
    ext4: use EXT_MAX_BLOCKS in ext4_es_can_be_merged()
    ext4: add missing BUFFER_TRACE before ext4_journal_get_write_access
    ext4: remove unnecessary double parentheses
    ext4: do not destroy ext4_groupinfo_caches if ext4_mb_init() fails
    ext4: make local functions static
    ext4: fix block bitmap validation when bigalloc, ^flex_bg
    ext4: fix block bitmap initialization under sparse_super2
    ext4: find the group descriptors on a 1k-block bigalloc,meta_bg filesystem
    ext4: avoid unneeded lookup when xattr name is invalid
    ext4: fix data integrity sync in ordered mode
    ext4: remove obsoleted check
    ext4: add a new spinlock i_raw_lock to protect the ext4's raw inode
    ext4: fix locking for O_APPEND writes
    ...

    Linus Torvalds
     
  • Pull LLVM patches from Behan Webster:
    "Next set of patches to support compiling the kernel with clang.
    They've been soaking in linux-next since the last merge window.

    More still in the works for the next merge window..."

    * tag 'llvmlinux-for-v3.16' of git://git.linuxfoundation.org/llvmlinux/kernel:
    arm, unwind, LLVMLinux: Enable clang to be used for unwinding the stack
    ARM: LLVMLinux: Change "extern inline" to "static inline" in glue-cache.h
    all: LLVMLinux: Change DWARF flag to support gcc and clang
    net: netfilter: LLVMLinux: vlais-netfilter
    crypto: LLVMLinux: aligned-attribute.patch

    Linus Torvalds
     
  • Pull x86 vdso build fix from Peter Anvin:
    "This fixes building the vdso code on older Linux systems, and probably
    some non-Linux systems"

    * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, vdso: Use for littleendian access

    Linus Torvalds
     
  • Now that 3.15 is released, this merges the 'next' branch into 'master',
    bringing us to the normal situation where my 'master' branch is the
    merge window.

    * accumulated work in next: (6809 commits)
    ufs: sb mutex merge + mutex_destroy
    powerpc: update comments for generic idle conversion
    cris: update comments for generic idle conversion
    idle: remove cpu_idle() forward declarations
    nbd: zero from and len fields in NBD_CMD_DISCONNECT.
    mm: convert some level-less printks to pr_*
    MAINTAINERS: adi-buildroot-devel is moderated
    MAINTAINERS: add linux-api for review of API/ABI changes
    mm/kmemleak-test.c: use pr_fmt for logging
    fs/dlm/debug_fs.c: replace seq_printf by seq_puts
    fs/dlm/lockspace.c: convert simple_str to kstr
    fs/dlm/config.c: convert simple_str to kstr
    mm: mark remap_file_pages() syscall as deprecated
    mm: memcontrol: remove unnecessary memcg argument from soft limit functions
    mm: memcontrol: clean up memcg zoneinfo lookup
    mm/memblock.c: call kmemleak directly from memblock_(alloc|free)
    mm/mempool.c: update the kmemleak stack trace for mempool allocations
    lib/radix-tree.c: update the kmemleak stack trace for radix tree allocations
    mm: introduce kmemleak_update_trace()
    mm/kmemleak.c: use %u to print ->checksum
    ...

    Linus Torvalds