03 Jan, 2017

1 commit


23 Dec, 2016

11 commits

  • Christoph writes:

    The most significant one is that we've agreed on shared maintaince and
    a common repository for the PCIe NVMe driver and NVMe over Fabrics. The
    target code still only has a subset of the maintainers but goes through
    the same tree as well. Keith, Sagi and me will take turns at collecting
    patches and sending you pull requests.

    Jens Axboe
     
  • blk_scsi_cmd_filter use was deprecated by 4beab5c6 and the SCSI macros
    are duplicated in blkdev.h, both likely reintroduced by a bad merge from
    540eed56.

    Signed-off-by: Jon Derrick
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Jon Derrick
     
  • This allows sending larger than 1 MB requests to devices that support
    large I/O sizes.

    Signed-off-by: Christoph Hellwig
    Reported-by: Laurence Oberman
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     
  • …nel/git/j.anaszewski/linux-leds

    Pull LED maintainer email update from Jacek Anaszewski:
    "Update Jacek Anaszewski's email address"

    * tag 'leds_for_4.10_email_update' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
    MAINTAINERS: Update Jacek Anaszewski's email address

    Linus Torvalds
     
  • 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 power management fixes from Rafael Wysocki:
    "They fix one bug introduced recently, a build warning and a kerneldoc
    function description.

    Specifics:

    - Prevent the acpi-cpufreq driver from crashing on exit by fixing a
    check against the __cpuhp_setup_state() return value and fix the
    kerneldoc description of that function to make it clear that it may
    return positive numbers on success too (Boris Ostrovsky)

    - Drop an incorrect __init annotation of a function in the s3c64xx
    cpufreq driver and fix a build warning generated (by older
    compilers) because of it (Arnd Bergmann)"

    * tag 'pm-fixes-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: s3c64xx: remove incorrect __init annotation
    cpufreq: Remove CPU hotplug callbacks only if they were initialized
    CPU/hotplug: Clarify description of __cpuhp_setup_state() return value

    Linus Torvalds
     
  • Pull MMC fixes from Ulf Hansson:
    "MMC core:
    - further fix thread wake-up for requests
    - use a bounce buffer to fix DMA issue for SSR register read

    MMC host:
    - sdhci: Fix a regression for runtime PM
    - sdhci-cadence: Add a proper SoC specific DT compatible"

    * tag 'mmc-v4.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: sd: Meet alignment requirements for raw_ssr DMA
    mmc: core: Further fix thread wake-up
    mmc: sdhci: Fix to handle MMC_POWER_UNDEFINED
    mmc: sdhci-cadence: add Socionext UniPhier specific compatible string

    Linus Torvalds
     
  • Pull SElinux fix from James Morris:
    "From Paul:
    'A small SELinux patch to fix some clang/llvm compiler warnings and
    ensure the tools under scripts work well in the face of kernel
    changes'"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    selinux: use the kernel headers when building scripts/selinux

    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
     
  • My previous email address is no longer valid.
    From now on, jacek.anaszewski@gmail.com should be used instead.

    Signed-off-by: Jacek Anaszewski

    Jacek Anaszewski
     

22 Dec, 2016

8 commits

  • * pm-cpufreq:
    cpufreq: s3c64xx: remove incorrect __init annotation
    cpufreq: Remove CPU hotplug callbacks only if they were initialized
    CPU/hotplug: Clarify description of __cpuhp_setup_state() return value

    Rafael J. Wysocki
     
  • * 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
     
  • This address hasn't been accurate for several years now.

    Simply remove it.

    Signed-off-by: Gertjan van Wingerde
    Signed-off-by: Linus Torvalds

    Gertjan van Wingerde
     
  • Commit 8924feff66f3 ("splice: lift pipe_lock out of splice_to_pipe()")
    caused a regression when there were no more readers left on a pipe that
    was being spliced into: rather than the expected SIGPIPE and -EPIPE
    return value, the writer would end up waiting forever for space to free
    up (which obviously was not going to happen with no readers around).

    Fixes: 8924feff66f3 ("splice: lift pipe_lock out of splice_to_pipe()")
    Reported-and-tested-by: Andreas Schwab
    Debugged-by: Al Viro
    Cc: stable@kernel.org # v4.9
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull parisc updates from Helge Deller:

    - add Kernel address space layout randomization support

    - re-enable interrupts earlier now that we have a working IRQ stack

    - optimize the timer interrupt function to better cope with missed
    timer irqs

    - fix error return code in parisc perf code (by Dan Carpenter)

    - fix PAT debug code

    * 'parisc-4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Optimize timer interrupt function
    parisc: perf: return -EFAULT on error
    parisc: Enhance CPU detection code on PAT machines
    parisc: Re-enable interrupts early
    parisc: Enable KASLR

    Linus Torvalds
     
  • 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
     
  • This reverts commit 16200948d8353fe29a473a394d7d26790deae0e7.

    The commit was intended to cover the race condition, but it introduced
    yet another regression for devices with the implicit feedback, leading
    to a kernel panic due to NULL-dereference in an irq context.

    As the race condition that was addressed by the commit is very rare
    and the regression is much worse, let's revert the commit for rc1, and
    fix the issue properly in a later patch.

    Fixes: 16200948d835 ("ALSA: usb-audio: Fix race at stopping the stream")
    Reported-by: Ioan-Adrian Ratiu
    Cc:
    Signed-off-by: Takashi Iwai
    Signed-off-by: Linus Torvalds

    Takashi Iwai
     

21 Dec, 2016

20 commits

  • Commit 3322d0d64f4e ("selinux: keep SELinux in sync with new capability
    definitions") added a check on the defined capabilities without
    explicitly including the capability header file which caused problems
    when building genheaders for users of clang/llvm. Resolve this by
    using the kernel headers when building genheaders, which is arguably
    the right thing to do regardless, and explicitly including the
    kernel's capability.h header file in classmap.h. We also update the
    mdp build, even though it wasn't causing an error we really should
    be using the headers from the kernel we are building.

    Reported-by: Nicolas Iooss
    Signed-off-by: Paul Moore

    Paul Moore
     
  • The check to see if ret is non-zero and return this rather than count
    is redundant in two occassions. It is redundant because prior to this
    check, the return code ret is already checked for a non-zero error
    return value and we return from the function at that point.

    Signed-off-by: Colin Ian King
    Reviewed-off-by: James Smart
    Signed-off-by: Christoph Hellwig

    Colin Ian King
     
  • The Set Features implementation for Keep Alive Timer was using the wrong
    structure when retrieving the KATO value; it was treating the Set
    Features command as a Property Set command.

    The NVMe spec defines the Keep Alive Timer feature as having one input
    in CDW11 (4 bytes at offset 44 in the command) whereas the code was
    reading 8 bytes at offset 48.

    Since the Linux NVMe over Fabrics host never sets this feature, this
    code has presumably never been tested.

    Signed-off-by: Daniel Verkamp
    Signed-off-by: Christoph Hellwig

    Daniel Verkamp
     
  • Simplify the error handling of nvme_fc_create_hw_io_queues(), this saves us
    one variable and one level of indentation.

    Signed-off-by: Johannes Thumshirn
    Reviwed-by: James Smart
    Signed-off-by: Christoph Hellwig

    Johannes Thumshirn
     
  • Dan Carpenters's tool caught a pointer reference - should have been
    just ptr, not &ptr.

    Don't bother. Remove the pointer value in the printf. Its irrelevant.

    Signed-off-by: James Smart
    Reported-by: Dan Carpenter
    Signed-off-by: Christoph Hellwig

    James Smart
     
  • Now that the broken power state control is gone, it appears to serve
    no purpose. Just delete it. NVME devices don't have a concept of
    started vs stopped anyway.

    Signed-off-by: Andy Lutomirski
    Reviewed-by: Keith Busch
    Signed-off-by: Christoph Hellwig

    Andy Lutomirski
     
  • It is not theoretically possible for this driver to wrap twice while
    processing completions. The driver allocates only 'queue_depth - 1'
    tags, so there can never be more than that to reap when processing a
    completion queue. Removing this misleading comment makes it a little
    less likely people with broken controllers will blame the driver for
    their spurious interrupts.

    Signed-off-by: Keith Busch
    Signed-off-by: Christoph Hellwig

    Keith Busch
     
  • Convert to tabs and remove unneeded whitespaces.

    Signed-off-by: Max Gurtovoy
    Signed-off-by: Christoph Hellwig

    Max Gurtovoy
     
  • Some OEMs believe they own the Identify Controller vendor specific
    region and will repurpose it with their own values. While not common,
    we can't rely on the PCI VID:DID to tell use how to decode the field
    we reserved for this as the stripe size so we need to do something else
    for the list of devices using this quirk.

    The field was supposed to allow flexibility on the device's back-end
    striping, but it turned out that never materialized; the chunk is always
    the same as MDTS in the products subscribing to this quirk, so this
    patch removes the stripe_size field and sets the chunk to the max hw
    transfer size for the devices using this quirk.

    Signed-off-by: Keith Busch
    Signed-off-by: Christoph Hellwig

    Keith Busch
     
  • Switch the new, shared nvme git repository, which is co-maintained
    by everyone involved with NVMe.

    Also add the nvme_ioctl.h UAPI header to the files list.

    Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     
  • The mmc_read_ssr() function results in DMA to the raw_ssr member of
    struct mmc_card, which is not guaranteed to be cache line aligned & thus
    might not meet the requirements set out in Documentation/DMA-API.txt:

    Warnings: Memory coherency operates at a granularity called the cache
    line width. In order for memory mapped by this API to operate
    correctly, the mapped region must begin exactly on a cache line
    boundary and end exactly on one (to prevent two separately mapped
    regions from sharing a single cache line). Since the cache line size
    may not be known at compile time, the API will not enforce this
    requirement. Therefore, it is recommended that driver writers who
    don't take special care to determine the cache line size at run time
    only map virtual regions that begin and end on page boundaries (which
    are guaranteed also to be cache line boundaries).

    On some systems where DMA is non-coherent this can lead to us losing
    data that shares cache lines with the raw_ssr array.

    Fix this by kmalloc'ing a temporary buffer to perform DMA into. kmalloc
    will ensure the buffer is suitably aligned, allowing the DMA to be
    performed without any loss of data.

    Signed-off-by: Paul Burton
    Fixes: 5275a652d296 ("mmc: sd: Export SD Status via “ssr” device attribute")
    Cc:
    Signed-off-by: Ulf Hansson

    Paul Burton
     
  • s3c64xx_cpufreq_config_regulator is incorrectly annotated
    as __init, since the caller is also not init:

    WARNING: vmlinux.o(.text+0x92fe1c): Section mismatch in reference from the function s3c64xx_cpufreq_driver_init() to the function .init.text:s3c64xx_cpufreq_config_regulator()

    With modern gcc versions, the function gets inline, so we don't
    see the warning, this only happens with gcc-4.6 and older.

    Signed-off-by: Arnd Bergmann
    Reviewed-by: Krzysztof Kozlowski
    Signed-off-by: Rafael J. Wysocki

    Arnd Bergmann
     
  • Since CPU hotplug callbacks are requested for CPUHP_AP_ONLINE_DYN state,
    successful callback initialization will result in cpuhp_setup_state()
    returning a positive value. Therefore acpi_cpufreq_online being zero
    indicates that callbacks have not been installed.

    This means that acpi_cpufreq_boost_exit() should only remove them if
    acpi_cpufreq_online is positive. Trying to call
    cpuhp_remove_state_nocalls(0) will cause a BUG().

    Signed-off-by: Boris Ostrovsky
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Rafael J. Wysocki

    Boris Ostrovsky
     
  • When ivoked with CPUHP_AP_ONLINE_DYN state __cpuhp_setup_state()
    is expected to return positive value which is the hotplug state that
    the routine assigns.

    Signed-off-by: Boris Ostrovsky
    Signed-off-by: Rafael J. Wysocki

    Boris Ostrovsky
     
  • 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
     
  • This patch removes the users of the deprectated APIs:
    acpi_get_table_with_size()
    early_acpi_os_unmap_memory()
    The following APIs should be used instead of:
    acpi_get_table()
    acpi_put_table()

    The deprecated APIs are invented to be a replacement of acpi_get_table()
    during the early stage so that the early mapped pointer will not be stored
    in ACPICA core and thus the late stage acpi_get_table() won't return a
    wrong pointer. The mapping size is returned just because it is required by
    early_acpi_os_unmap_memory() to unmap the pointer during early stage.

    But as the mapping size equals to the acpi_table_header.length
    (see acpi_tb_init_table_descriptor() and acpi_tb_validate_table()), when
    such a convenient result is returned, driver code will start to use it
    instead of accessing acpi_table_header to obtain the length.

    Thus this patch cleans up the drivers by replacing returned table size with
    acpi_table_header.length, and should be a no-op.

    Reported-by: Dan Williams
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit d98de9ca14891130efc5dcdc871b97eb27b4b0f5

    FADT parsing code requires FADT to be installed as
    ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, using new
    acpi_tb_get_table()/acpi_tb_put_table(), other address types can also be allowed,
    thus facilitates FADT customization with virtual address. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/d98de9ca
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    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
     
  • Merge final set of updates from Andrew Morton:

    - a series to make IMA play better across kexec

    - a handful of random fixes

    * emailed patches from Andrew Morton :
    printk: fix typo in CONSOLE_LOGLEVEL_DEFAULT help text
    ratelimit: fix WARN_ON_RATELIMIT return value
    kcov: make kcov work properly with KASLR enabled
    arm64: setup: introduce kaslr_offset()
    mm: fadvise: avoid expensive remote LRU cache draining after FADV_DONTNEED
    ima: platform-independent hash value
    ima: define a canonical binary_runtime_measurements list format
    ima: support restoring multiple template formats
    ima: store the builtin/custom template definitions in a list
    ima: on soft reboot, save the measurement list
    powerpc: ima: send the kexec buffer to the next kernel
    ima: maintain memory size needed for serializing the measurement list
    ima: permit duplicate measurement list entries
    ima: on soft reboot, restore the measurement list
    powerpc: ima: get the kexec buffer passed by the previous kernel

    Linus Torvalds