28 Jan, 2017

1 commit

  • The media_entity_pipeline_start() and media_entity_pipeline_stop()
    functions are renamed as media_pipeline_start() and media_pipeline_stop(),
    respectively. The reason is two-fold: the pipeline struct is, rightly,
    already called media_pipeline (rather than media_entity_pipeline) and what
    this really is about is a pipeline. A pipeline consists of entities ---
    and, well, other objects embedded in these entities.

    As the pipeline object will be in the future moved from entities to pads
    in order to support multiple pipelines through a single entity, do the
    renaming now.

    Similarly, functions operating on struct media_entity_graph as well as the
    struct itself are renamed by dropping the "entity_" part from the prefix
    of the function family and the data structure. The graph traversal which
    is what the functions are about is not specifically about entities only
    and will operate on pads for the same reason as the media pipeline.

    The patch has been generated using the following command:

    git grep -l media_entity |xargs perl -i -pe '
    s/media_entity_pipeline/media_pipeline/g;
    s/media_entity_graph/media_graph/g'

    And a few manual edits related to line start alignment and line wrapping.

    Signed-off-by: Sakari Ailus
    Acked-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     

27 Jan, 2017

1 commit

  • Drop the FSF's postal address from the source code files that typically
    contain mostly the license text. Of the 628 removed instances, 578 are
    outdated.

    The patch has been created with the following command without manual edits:

    git grep -l "675 Mass Ave\|59 Temple Place\|51 Franklin St" -- \
    drivers/media/ include/media|while read i; do i=$i perl -e '
    open(F,"< $ENV{i}");
    $a=join("", );
    $a =~ s/[ \t]*\*\n.*You should.*\n.*along with.*\n.*(\n.*USA.*$)?\n//m
    && $a =~ s/(^.*)Or, (point your browser to) /$1To obtain the license, $2\n$1/m;
    close(F);
    open(F, "> $ENV{i}");
    print F $a;
    close(F);'; done

    Signed-off-by: Sakari Ailus

    Sakari Ailus
     

27 Dec, 2016

1 commit

  • Linux 4.10-rc1

    * tag 'v4.10-rc1': (11427 commits)
    Linux 4.10-rc1
    powerpc: Fix build warning on 32-bit PPC
    avoid spurious "may be used uninitialized" warning
    mm: add PageWaiters indicating tasks are waiting for a page bit
    mm: Use owner_priv bit for PageSwapCache, valid when PageSwapBacked
    ktime: Get rid of ktime_equal()
    ktime: Cleanup ktime_set() usage
    ktime: Get rid of the union
    clocksource: Use a plain u64 instead of cycle_t
    irqchip/armada-xp: Consolidate hotplug state space
    irqchip/gic: Consolidate hotplug state space
    coresight/etm3/4x: Consolidate hotplug state space
    cpu/hotplug: Cleanup state names
    cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions
    staging/lustre/libcfs: Convert to hotplug state machine
    scsi/bnx2i: Convert to hotplug state machine
    scsi/bnx2fc: Convert to hotplug state machine
    cpu/hotplug: Prevent overwriting of callbacks
    x86/msr: Remove bogus cleanup from the error path
    bus: arm-ccn: Prevent hotplug callback leak
    ...

    Mauro Carvalho Chehab
     

26 Dec, 2016

7 commits

  • Pull timer type cleanups from Thomas Gleixner:
    "This series does a tree wide cleanup of types related to
    timers/timekeeping.

    - Get rid of cycles_t and use a plain u64. The type is not really
    helpful and caused more confusion than clarity

    - Get rid of the ktime union. The union has become useless as we use
    the scalar nanoseconds storage unconditionally now. The 32bit
    timespec alike storage got removed due to the Y2038 limitations
    some time ago.

    That leaves the odd union access around for no reason. Clean it up.

    Both changes have been done with coccinelle and a small amount of
    manual mopping up"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    ktime: Get rid of ktime_equal()
    ktime: Cleanup ktime_set() usage
    ktime: Get rid of the union
    clocksource: Use a plain u64 instead of cycle_t

    Linus Torvalds
     
  • Pull SMP hotplug notifier removal from Thomas Gleixner:
    "This is the final cleanup of the hotplug notifier infrastructure. The
    series has been reintgrated in the last two days because there came a
    new driver using the old infrastructure via the SCSI tree.

    Summary:

    - convert the last leftover drivers utilizing notifiers

    - fixup for a completely broken hotplug user

    - prevent setup of already used states

    - removal of the notifiers

    - treewide cleanup of hotplug state names

    - consolidation of state space

    There is a sphinx based documentation pending, but that needs review
    from the documentation folks"

    * 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/armada-xp: Consolidate hotplug state space
    irqchip/gic: Consolidate hotplug state space
    coresight/etm3/4x: Consolidate hotplug state space
    cpu/hotplug: Cleanup state names
    cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions
    staging/lustre/libcfs: Convert to hotplug state machine
    scsi/bnx2i: Convert to hotplug state machine
    scsi/bnx2fc: Convert to hotplug state machine
    cpu/hotplug: Prevent overwriting of callbacks
    x86/msr: Remove bogus cleanup from the error path
    bus: arm-ccn: Prevent hotplug callback leak
    perf/x86/intel/cstate: Prevent hotplug callback leak
    ARM/imx/mmcd: Fix broken cpu hotplug handling
    scsi: qedi: Convert to hotplug state machine

    Linus Torvalds
     
  • Add a new page flag, PageWaiters, to indicate the page waitqueue has
    tasks waiting. This can be tested rather than testing waitqueue_active
    which requires another cacheline load.

    This bit is always set when the page has tasks on page_waitqueue(page),
    and is set and cleared under the waitqueue lock. It may be set when
    there are no tasks on the waitqueue, which will cause a harmless extra
    wakeup check that will clears the bit.

    The generic bit-waitqueue infrastructure is no longer used for pages.
    Instead, waitqueues are used directly with a custom key type. The
    generic code was not flexible enough to have PageWaiters manipulation
    under the waitqueue lock (which simplifies concurrency).

    This improves the performance of page lock intensive microbenchmarks by
    2-3%.

    Putting two bits in the same word opens the opportunity to remove the
    memory barrier between clearing the lock bit and testing the waiters
    bit, after some work on the arch primitives (e.g., ensuring memory
    operand widths match and cover both bits).

    Signed-off-by: Nicholas Piggin
    Cc: Dave Hansen
    Cc: Bob Peterson
    Cc: Steven Whitehouse
    Cc: Andrew Lutomirski
    Cc: Andreas Gruenbacher
    Cc: Peter Zijlstra
    Cc: Mel Gorman
    Signed-off-by: Linus Torvalds

    Nicholas Piggin
     
  • A page is not added to the swap cache without being swap backed,
    so PageSwapBacked mappings can use PG_owner_priv_1 for PageSwapCache.

    Signed-off-by: Nicholas Piggin
    Acked-by: Hugh Dickins
    Cc: Dave Hansen
    Cc: Bob Peterson
    Cc: Steven Whitehouse
    Cc: Andrew Lutomirski
    Cc: Andreas Gruenbacher
    Cc: Peter Zijlstra
    Cc: Mel Gorman
    Signed-off-by: Linus Torvalds

    Nicholas Piggin
     
  • No point in going through loops and hoops instead of just comparing the
    values.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra

    Thomas Gleixner
     
  • ktime_set(S,N) was required for the timespec storage type and is still
    useful for situations where a Seconds and Nanoseconds part of a time value
    needs to be converted. For anything where the Seconds argument is 0, this
    is pointless and can be replaced with a simple assignment.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra

    Thomas Gleixner
     
  • ktime is a union because the initial implementation stored the time in
    scalar nanoseconds on 64 bit machine and in a endianess optimized timespec
    variant for 32bit machines. The Y2038 cleanup removed the timespec variant
    and switched everything to scalar nanoseconds. The union remained, but
    become completely pointless.

    Get rid of the union and just keep ktime_t as simple typedef of type s64.

    The conversion was done with coccinelle and some manual mopping up.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra

    Thomas Gleixner
     

25 Dec, 2016

10 commits

  • There is no point in having an extra type for extra confusion. u64 is
    unambiguous.

    Conversion was done with the following coccinelle script:

    @rem@
    @@
    -typedef u64 cycle_t;

    @fix@
    typedef cycle_t;
    @@
    -cycle_t
    +u64

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: John Stultz

    Thomas Gleixner
     
  • The mpic is either the main interrupt controller or is cascaded behind a
    GIC. The mpic is single instance and the modes are mutually exclusive, so
    there is no reason to have seperate cpu hotplug states.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Thomas Petazzoni
    Cc: Sebastian Siewior
    Cc: Marc Zyngier
    Link: http://lkml.kernel.org/r/20161221192112.333161745@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Even if both drivers are compiled in only one instance can run on a given
    system depending on the available GIC version.

    So having seperate hotplug states for them is pointless.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Marc Zyngier
    Cc: Sebastian Siewior
    Link: http://lkml.kernel.org/r/20161221192112.252416267@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Even if both drivers are compiled in only one instance can run on a given
    system depending on the available tracer cell.

    So having seperate hotplug states for them is pointless.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Sebastian Siewior
    Cc: Mathieu Poirier
    Link: http://lkml.kernel.org/r/20161221192112.162765484@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • hotcpu_notifier(), cpu_notifier(), __hotcpu_notifier(), __cpu_notifier(),
    register_hotcpu_notifier(), register_cpu_notifier(),
    __register_hotcpu_notifier(), __register_cpu_notifier(),
    unregister_hotcpu_notifier(), unregister_cpu_notifier(),
    __unregister_hotcpu_notifier(), __unregister_cpu_notifier()

    are unused now. Remove them and all related code.

    Remove also the now pointless cpu notifier error injection mechanism. The
    states can be executed step by step and error rollback is the same as cpu
    down, so any state transition can be tested w/o requiring the notifier
    error injection.

    Some CPU hotplug states are kept as they are (ab)used for hotplug state
    tracking.

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: rt@linutronix.de
    Link: http://lkml.kernel.org/r/20161221192112.005642358@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Install the callbacks via the state machine. No functional change.

    Signed-off-by: Anna-Maria Gleixner
    Signed-off-by: Sebastian Andrzej Siewior
    Cc: devel@driverdev.osuosl.org
    Cc: Andreas Dilger
    Cc: Peter Zijlstra
    Cc: Greg Kroah-Hartman
    Cc: Oleg Drokin
    Cc: rt@linutronix.de
    Cc: lustre-devel@lists.lustre.org
    Link: http://lkml.kernel.org/r/20161202110027.htzzeervzkoc4muv@linutronix.de
    Link: http://lkml.kernel.org/r/20161221192111.922872524@linutronix.de
    Signed-off-by: Thomas Gleixner

    Anna-Maria Gleixner
     
  • Install the callbacks via the state machine. No functional change.

    This is the minimal fixup so we can remove the hotplug notifier mess
    completely.

    The real rework of this driver to use work queues is still stuck in
    review/testing on the SCSI mailing list.

    Signed-off-by: Sebastian Andrzej Siewior
    Cc: "James E.J. Bottomley"
    Cc: linux-scsi@vger.kernel.org
    Cc: "Martin K. Petersen"
    Cc: Peter Zijlstra
    Cc: Chad Dupuis
    Cc: QLogic-Storage-Upstream@qlogic.com
    Cc: Johannes Thumshirn
    Cc: Christoph Hellwig
    Link: http://lkml.kernel.org/r/20161221192111.836895753@linutronix.de
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     
  • Install the callbacks via the state machine. No functional change.

    This is the minimal fixup so we can remove the hotplug notifier mess
    completely.

    The real rework of this driver to use work queues is still stuck in
    review/testing on the SCSI mailing list.

    Signed-off-by: Sebastian Andrzej Siewior
    Cc: "James E.J. Bottomley"
    Cc: linux-scsi@vger.kernel.org
    Cc: "Martin K. Petersen"
    Cc: Peter Zijlstra
    Cc: Chad Dupuis
    Cc: QLogic-Storage-Upstream@qlogic.com
    Cc: Johannes Thumshirn
    Cc: Christoph Hellwig
    Link: http://lkml.kernel.org/r/20161221192111.757309869@linutronix.de
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     
  • This was entirely automated, using the script by Al:

    PATT='^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*'
    sed -i -e "s!$PATT!#include !" \
    $(git grep -l "$PATT"|grep -v ^include/linux/uaccess.h)

    to do the replacement at the end of the merge window.

    Requested-by: Al Viro
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull NTB update from Jon Mason:

    - NTB bug fixes for removing an unnecessary call to ntb_peer_spad_read,
    and correcting a free_irq inconsistency

    - add Intel SKX support

    - change the AMD NTB maintainer, and fix some bugs present there

    * tag 'ntb-4.10' of git://github.com/jonmason/ntb:
    ntb_transport: Remove unnecessary call to ntb_peer_spad_read
    NTB: Fix 'request_irq()' and 'free_irq()' inconsistancy
    ntb: fix SKX NTB config space size register offsets
    NTB: correct ntb_peer_spad_read for case when callback is not supplied.
    MAINTAINERS: Change in maintainer for AMD NTB
    ntb_transport: Limit memory windows based on available, scratchpads
    NTB: Register and offset values fix for memory window
    NTB: add support for hotplug feature
    ntb: Adding Skylake Xeon NTB support

    Linus Torvalds
     

24 Dec, 2016

3 commits

  • Correct ntb_peer_spad_read for case when callback is not supplied

    Signed-off-by: Steve Wahl
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Steven Wahl
     
  • Pull final vfs updates from Al Viro:
    "Assorted cleanups and fixes all over the place"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    sg_write()/bsg_write() is not fit to be called under KERNEL_DS
    ufs: fix function declaration for ufs_truncate_blocks
    fs: exec: apply CLOEXEC before changing dumpable task flags
    seq_file: reset iterator to first record for zero offset
    vfs: fix isize/pos/len checks for reflink & dedupe
    [iov_iter] fix iterate_all_kinds() on empty iterators
    move aio compat to fs/aio.c
    reorganize do_make_slave()
    clone_private_mount() doesn't need to touch namespace_sem
    remove a bogus claim about namespace_sem being held by callers of mnt_alloc_id()

    Linus Torvalds
     
  • Pull rdma fixes from Doug Ledford:
    "First round of -rc fixes for 4.10 kernel:

    - a series of qedr fixes
    - a series of rxe fixes
    - one i40iw fix
    - one cma fix
    - one cxgb4 fix"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
    IB/rxe: Don't check for null ptr in send()
    IB/rxe: Drop future atomic/read packets rather than retrying
    IB/rxe: Use BTH_PSN_MASK when ACKing duplicate sends
    qedr: Always notify the verb consumer of flushed CQEs
    qedr: clear the vendor error field in the work completion
    qedr: post_send/recv according to QP state
    qedr: ignore inline flag in read verbs
    qedr: modify QP state to error when destroying it
    qedr: return correct value on modify qp
    qedr: return error if destroy CQ failed
    qedr: configure the number of CQEs on CQ creation
    i40iw: Set 128B as the only supported RQ WQE size
    IB/cma: Fix a race condition in iboe_addr_get_sgid()
    IB/rxe: Fix a memory leak in rxe_qp_cleanup()
    iw_cxgb4: set correct FetchBurstMax for QPs

    Linus Torvalds
     

23 Dec, 2016

5 commits

  • ... and fix the minor buglet in compat io_submit() - native one
    kills ioctx as cleanup when put_user() fails. Get rid of
    bogus compat_... in !CONFIG_AIO case, while we are at it - they
    should simply fail with ENOSYS, same as for native counterparts.

    Signed-off-by: Al Viro

    Al Viro
     
  • Pull block layer fixes from Jens Axboe:
    "Just a set of small fixes that have either been queued up after the
    original pull for this merge window, or just missed the original pull
    request.

    - a few bcache fixes/changes from Eric and Kent

    - add WRITE_SAME to the command filter whitelist frm Mauricio

    - kill an unused struct member from Ritesh

    - partition IO alignment fix from Stefan

    - nvme sysfs printf fix from Stephen"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    block: check partition alignment
    nvme : Use correct scnprintf in cmb show
    block: allow WRITE_SAME commands with the SG_IO ioctl
    block: Remove unused member (busy) from struct blk_queue_tag
    bcache: partition support: add 16 minors per bcacheN device
    bcache: Make gc wakeup sane, remove set_task_state()

    Linus Torvalds
     
  • Pull more ACPI updates from Rafael Wysocki:
    "Here are new versions of two ACPICA changes that were deferred
    previously due to a problem they had introduced, two cleanups on top
    of them and the removal of a useless warning message from the ACPI
    core.

    Specifics:

    - Move some Linux-specific functionality to upstream ACPICA and
    update the in-kernel users of it accordingly (Lv Zheng)

    - Drop a useless warning (triggered by the lack of an optional
    object) from the ACPI namespace scanning code (Zhang Rui)"

    * tag 'acpi-extra-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / osl: Remove deprecated acpi_get_table_with_size()/early_acpi_os_unmap_memory()
    ACPI / osl: Remove acpi_get_table_with_size()/early_acpi_os_unmap_memory() users
    ACPICA: Tables: Allow FADT to be customized with virtual address
    ACPICA: Tables: Back port acpi_get_table_with_size() and early_acpi_os_unmap_memory() from Linux kernel
    ACPI: do not warn if _BQC does not exist

    Linus Torvalds
     
  • Pull x86 cache allocation interface from Thomas Gleixner:
    "This provides support for Intel's Cache Allocation Technology, a cache
    partitioning mechanism.

    The interface is odd, but the hardware interface of that CAT stuff is
    odd as well.

    We tried hard to come up with an abstraction, but that only allows
    rather simple partitioning, but no way of sharing and dealing with the
    per package nature of this mechanism.

    In the end we decided to expose the allocation bitmaps directly so all
    combinations of the hardware can be utilized.

    There are two ways of associating a cache partition:

    - Task

    A task can be added to a resource group. It uses the cache
    partition associated to the group.

    - CPU

    All tasks which are not member of a resource group use the group to
    which the CPU they are running on is associated with.

    That allows for simple CPU based partitioning schemes.

    The main expected user sare:

    - Virtualization so a VM can only trash only the associated part of
    the cash w/o disturbing others

    - Real-Time systems to seperate RT and general workloads.

    - Latency sensitive enterprise workloads

    - In theory this also can be used to protect against cache side
    channel attacks"

    [ Intel RDT is "Resource Director Technology". The interface really is
    rather odd and very specific, which delayed this pull request while I
    was thinking about it. The pull request itself came in early during
    the merge window, I just delayed it until things had calmed down and I
    had more time.

    But people tell me they'll use this, and the good news is that it is
    _so_ specific that it's rather independent of anything else, and no
    user is going to depend on the interface since it's pretty rare. So if
    push comes to shove, we can just remove the interface and nothing will
    break ]

    * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
    x86/intel_rdt: Implement show_options() for resctrlfs
    x86/intel_rdt: Call intel_rdt_sched_in() with preemption disabled
    x86/intel_rdt: Update task closid immediately on CPU in rmdir and unmount
    x86/intel_rdt: Fix setting of closid when adding CPUs to a group
    x86/intel_rdt: Update percpu closid immeditately on CPUs affected by changee
    x86/intel_rdt: Reset per cpu closids on unmount
    x86/intel_rdt: Select KERNFS when enabling INTEL_RDT_A
    x86/intel_rdt: Prevent deadlock against hotplug lock
    x86/intel_rdt: Protect info directory from removal
    x86/intel_rdt: Add info files to Documentation
    x86/intel_rdt: Export the minimum number of set mask bits in sysfs
    x86/intel_rdt: Propagate error in rdt_mount() properly
    x86/intel_rdt: Add a missing #include
    MAINTAINERS: Add maintainer for Intel RDT resource allocation
    x86/intel_rdt: Add scheduler hook
    x86/intel_rdt: Add schemata file
    x86/intel_rdt: Add tasks files
    x86/intel_rdt: Add cpus file
    x86/intel_rdt: Add mkdir to resctrl file system
    x86/intel_rdt: Add "info" files to resctrl file system
    ...

    Linus Torvalds
     
  • Code that dereferences the struct net_device ip_ptr member must be
    protected with an in_dev_get() / in_dev_put() pair. Hence insert
    calls to these functions.

    Fixes: commit 7b85627b9f02 ("IB/cma: IBoE (RoCE) IP-based GID addressing")
    Signed-off-by: Bart Van Assche
    Reviewed-by: Moni Shoua
    Cc: Or Gerlitz
    Cc: Roland Dreier
    Cc:
    Signed-off-by: Doug Ledford

    Bart Van Assche
     

22 Dec, 2016

3 commits

  • * acpica:
    ACPI / osl: Remove deprecated acpi_get_table_with_size()/early_acpi_os_unmap_memory()
    ACPI / osl: Remove acpi_get_table_with_size()/early_acpi_os_unmap_memory() users
    ACPICA: Tables: Allow FADT to be customized with virtual address
    ACPICA: Tables: Back port acpi_get_table_with_size() and early_acpi_os_unmap_memory() from Linux kernel

    * acpi-scan:
    ACPI: do not warn if _BQC does not exist

    Rafael J. Wysocki
     
  • Pull more NFS client updates from Trond Myklebust:
    "Highlights include:

    - further attribute cache improvements to make revalidation more fine
    grained

    - NFSv4 locking improvements

    Bugfixes:

    - nfs4_fl_prepare_ds must be careful about reporting success in files
    layout

    - pNFS/flexfiles: Instead of marking a device inactive, remove it
    from the cache"

    * tag 'nfs-for-4.10-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFSv4: Retry the DELEGRETURN if the embedded GETATTR is rejected with EACCES
    NFS: Retry the CLOSE if the embedded GETATTR is rejected with EACCES
    NFSv4: Place the GETATTR operation before the CLOSE
    NFSv4: Also ask for attributes when downgrading to a READ-only state
    NFS: Don't abuse NFS_INO_REVAL_FORCED in nfs_post_op_update_inode_locked()
    pNFS: Return RW layouts on OPEN_DOWNGRADE
    NFSv4: Add encode/decode of the layoutreturn op in OPEN_DOWNGRADE
    NFS: Don't disconnect open-owner on NFS4ERR_BAD_SEQID
    NFSv4: ensure __nfs4_find_lock_state returns consistent result.
    NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success.
    pNFS/flexfiles: delete deviceid, don't mark inactive
    NFS: Clean up nfs_attribute_timeout()
    NFS: Remove unused function nfs_revalidate_inode_rcu()
    NFS: Fix and clean up the access cache validity checking
    NFS: Only look at the change attribute cache state in nfs_weak_revalidate()
    NFS: Clean up cache validity checking
    NFS: Don't revalidate the file on close if we hold a delegation
    NFSv4: Don't discard the attributes returned by asynchronous DELEGRETURN
    NFSv4: Update the attribute cache info in update_changeattr

    Linus Torvalds
     
  • …l/git/bvanassche/linux

    Pull scsi target cleanups from Bart Van Assche:
    "The changes here are:

    - a few small bug fixes for the iSCSI and user space target drivers.

    - minimize the target build time by about 30% by rearranging #include
    directives

    - fix the second argument passed to percpu_ida_alloc()

    - reduce the number of false positive warnings reported by sparse

    These patches pass Wu Fengguang's build bot tests and also the
    linux-next tests"

    * 'scsi-target-for-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/bvanassche/linux:
    iscsi-target: Return error if unable to add network portal
    target: Fix spelling mistake and unwrap multi-line text
    target/iscsi: Fix double free in lio_target_tiqn_addtpg()
    target/user: Fix use-after-free of tcmu_cmds if they are expired
    target: Minimize #include directives
    target/user: Add an #include directive
    cxgbit: Add an #include directive
    ibmvscsi_tgt: Add two #include directives
    sbp-target: Add an #include directive
    qla2xxx: Add an #include directive
    configfs: Minimize #include directives
    usb: gadget: Fix second argument of percpu_ida_alloc()
    sbp-target: Fix second argument of percpu_ida_alloc()
    target/user: Fix a data type in tcmu_queue_cmd()
    target: Use NULL instead of 0 to represent a pointer

    Linus Torvalds
     

21 Dec, 2016

7 commits

  • In the (very) small print of the REPORT_CURRENT_LATENCY message there is a
    line that says that the last byte of the message (audio out delay) is only
    present if the 'audio out compensated' value is 3.

    I missed this, and so if this message was sent with a total length of 6 (i.e.
    without the audio out delay byte), then it was rejected by the framework
    since a minimum length of 7 was expected.

    Fix this minimum length check and update the wrappers in cec-funcs.h to do
    the right thing based on the message length.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Since all users are cleaned up, remove the 2 deprecated APIs due to no
    users.
    As a Linux variable rather than an ACPICA variable, acpi_gbl_permanent_mmap
    is renamed to acpi_permanent_mmap to have a consistent coding style across
    entire Linux ACPI subsystem.

    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • …ory() from Linux kernel

    ACPICA commit cac6790954d4d752a083e6122220b8a22febcd07

    This patch back ports Linux acpi_get_table_with_size() and
    early_acpi_os_unmap_memory() into ACPICA upstream to reduce divergences.

    The 2 APIs are used by Linux as table management APIs for long time, it
    contains a hidden logic that during the early stage, the mapped tables
    should be unmapped before the early stage ends.

    During the early stage, tables are handled by the following sequence:
    acpi_get_table_with_size();
    parse the table
    early_acpi_os_unmap_memory();
    During the late stage, tables are handled by the following sequence:
    acpi_get_table();
    parse the table
    Linux uses acpi_gbl_permanent_mmap to distinguish the early stage and the
    late stage.

    The reasoning of introducing acpi_get_table_with_size() is: ACPICA will
    remember the early mapped pointer in acpi_get_table() and Linux isn't able to
    prevent ACPICA from using the wrong early mapped pointer during the late
    stage as there is no API provided from ACPICA to be an inverse of
    acpi_get_table() to forget the early mapped pointer.

    But how ACPICA can work with the early/late stage requirement? Inside of
    ACPICA, tables are ensured to be remained in "INSTALLED" state during the
    early stage, and they are carefully not transitioned to "VALIDATED" state
    until the late stage. So the same logic is in fact implemented inside of
    ACPICA in a different way. The gap is only that the feature is not provided
    to the OSPMs in an accessible external API style.

    It then is possible to fix the gap by providing an inverse of
    acpi_get_table() from ACPICA, so that the two Linux sequences can be
    combined:
    acpi_get_table();
    parse the table
    acpi_put_table();
    In order to work easier with the current Linux code, acpi_get_table() and
    acpi_put_table() is implemented in a usage counting based style:
    1. When the usage count of the table is increased from 0 to 1, table is
    mapped and .Pointer is set with the mapping address (VALIDATED);
    2. When the usage count of the table is decreased from 1 to 0, .Pointer
    is unset and the mapping address is unmapped (INVALIDATED).
    So that we can deploy the new APIs to Linux with minimal effort by just
    invoking acpi_get_table() in acpi_get_table_with_size() and invoking
    acpi_put_table() in early_acpi_os_unmap_memory(). Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/cac67909
    Signed-off-by: Lv Zheng <lv.zheng@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

    Lv Zheng
     
  • Pull networking fixes and cleanups from David Miller:

    1) Use rb_entry() instead of hardcoded container_of(), from Geliang
    Tang.

    2) Use correct memory barriers in stammac driver, from Pavel Machek.

    3) Fix assoc bind address handling in SCTP, from Xin Long.

    4) Make the length check for UFO handling consistent between
    __ip_append_data() and ip_finish_output(), from Zheng Li.

    5) HSI driver compatible strings were busted fro hix5hd2, from Dongpo
    Li.

    6) Handle devm_ioremap() errors properly in cavium driver, from Arvind
    Yadav.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (22 commits)
    RDS: use rb_entry()
    net_sched: sch_netem: use rb_entry()
    net_sched: sch_fq: use rb_entry()
    net/mlx5: use rb_entry()
    ethernet: sfc: Add Kconfig entry for vendor Solarflare
    sctp: not copying duplicate addrs to the assoc's bind address list
    sctp: reduce indent level in sctp_copy_local_addr_list
    ARM: dts: hix5hd2: don't change the existing compatible string
    net: hix5hd2_gmac: fix compatible strings name
    openvswitch: Add a missing break statement.
    net: netcp: ethss: fix 10gbe host port tx pri map configuration
    net: netcp: ethss: fix errors in ethtool ops
    fsl/fman: enable compilation on ARM64
    fsl/fman: A007273 only applies to PPC SoCs
    powerpc: fsl/fman: remove fsl,fman from of_device_ids[]
    fsl/fman: fix 1G support for QSGMII interfaces
    dt: bindings: net: use boolean dt properties for eee broken modes
    net: phy: use boolean dt properties for eee broken modes
    net: phy: fix sign type error in genphy_config_eee_advert
    ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output
    ...

    Linus Torvalds
     
  • The patches regarding eee-broken-modes was merged before all people
    involved could find an agreement on the best way to move forward.

    While we agreed on having a DT property to mark particular modes as broken,
    the value used for eee-broken-modes mapped the phy register in very direct
    way. Because of this, the concern is that it could be used to implement
    configuration policies instead of describing a broken HW.

    In the end, having a boolean property for each mode seems to be preferred
    over one bit field value mapping the register (too) directly.

    Cc: Florian Fainelli
    Signed-off-by: Jerome Brunet
    Signed-off-by: David S. Miller

    jbrunet
     
  • The macro is to be used similarly as WARN_ON as:

    if (WARN_ON_RATELIMIT(condition, state))
    do_something();

    One would expect only 'condition' to affect the 'if', but
    WARN_ON_RATELIMIT does internally only:

    WARN_ON((condition) && __ratelimit(state))

    So the 'if' is affected by the ratelimiting state too. Fix this by
    returning 'condition' in any case.

    Note that nobody uses WARN_ON_RATELIMIT yet, so there is nothing to
    worry about. But I was about to use it and was a bit surprised.

    Link: http://lkml.kernel.org/r/20161215093224.23126-1-jslaby@suse.cz
    Signed-off-by: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • The TPM PCRs are only reset on a hard reboot. In order to validate a
    TPM's quote after a soft reboot (eg. kexec -e), the IMA measurement
    list of the running kernel must be saved and restored on boot.

    This patch uses the kexec buffer passing mechanism to pass the
    serialized IMA binary_runtime_measurements to the next kernel.

    Link: http://lkml.kernel.org/r/1480554346-29071-7-git-send-email-zohar@linux.vnet.ibm.com
    Signed-off-by: Thiago Jung Bauermann
    Signed-off-by: Mimi Zohar
    Acked-by: "Eric W. Biederman"
    Acked-by: Dmitry Kasatkin
    Cc: Andreas Steffen
    Cc: Josh Sklar
    Cc: Dave Young
    Cc: Vivek Goyal
    Cc: Baoquan He
    Cc: Michael Ellerman
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Stewart Smith
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mimi Zohar
     

20 Dec, 2016

2 commits