1. 22 Dec, 2016 10 commits
    • Linus Torvalds's avatar
      Merge tag 'leds_for_4.10_email_update' of... · 50f6584e
      Linus Torvalds authored
      Merge tag 'leds_for_4.10_email_update' of git://git.kernel.org/pub/scm/linux/kernel/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
      50f6584e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · af22941a
      Linus Torvalds authored
      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()
      af22941a
    • Linus Torvalds's avatar
      Merge tag 'acpi-extra-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9be962d5
      Linus Torvalds authored
      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
      9be962d5
    • Linus Torvalds's avatar
      Merge tag 'pm-fixes-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 85ba70b6
      Linus Torvalds authored
      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
      85ba70b6
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 8d86cf88
      Linus Torvalds authored
      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
      8d86cf88
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 67327145
      Linus Torvalds authored
      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
      67327145
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · eb254f32
      Linus Torvalds authored
      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
        ...
      eb254f32
    • Jacek Anaszewski's avatar
      MAINTAINERS: Update Jacek Anaszewski's email address · 305335b9
      Jacek Anaszewski authored
      My previous email address is no longer valid.
      From now on, jacek.anaszewski@gmail.com should be used instead.
      Signed-off-by: default avatarJacek Anaszewski <jacek.anaszewski@gmail.com>
      305335b9
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 7b99f1ae
      Rafael J. Wysocki authored
      * 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
      7b99f1ae
    • Rafael J. Wysocki's avatar
      Merge branches 'acpica' and 'acpi-scan' · c8e008e2
      Rafael J. Wysocki authored
      * 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
      c8e008e2
  2. 21 Dec, 2016 15 commits
    • Gertjan van Wingerde's avatar
      CREDITS: Remove outdated address information · f79f7b1b
      Gertjan van Wingerde authored
      This address hasn't been accurate for several years now.
      
      Simply remove it.
      Signed-off-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f79f7b1b
    • Linus Torvalds's avatar
      splice: reinstate SIGPIPE/EPIPE handling · 52bce911
      Linus Torvalds authored
      Commit 8924feff ("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: 8924feff ("splice: lift pipe_lock out of splice_to_pipe()")
      Reported-and-tested-by: default avatarAndreas Schwab <schwab@linux-m68k.org>
      Debugged-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Cc: stable@kernel.org   # v4.9
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      52bce911
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 0c961c55
      Linus Torvalds authored
      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
      0c961c55
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.10-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · bc1ecd62
      Linus Torvalds authored
      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
      bc1ecd62
    • Linus Torvalds's avatar
      Merge branch 'scsi-target-for-v4.10' of... · d5db84a8
      Linus Torvalds authored
      Merge branch 'scsi-target-for-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/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
      d5db84a8
    • Takashi Iwai's avatar
      Revert "ALSA: usb-audio: Fix race at stopping the stream" · f8114f85
      Takashi Iwai authored
      This reverts commit 16200948.
      
      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: 16200948 ("ALSA: usb-audio: Fix race at stopping the stream")
      Reported-by: default avatarIoan-Adrian Ratiu <adi@adirat.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f8114f85
    • Paul Moore's avatar
      selinux: use the kernel headers when building scripts/selinux · bfc5e3a6
      Paul Moore authored
      Commit 3322d0d6 ("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: default avatarNicolas Iooss <nicolas.iooss@m4x.org>
      Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
      bfc5e3a6
    • Paul Burton's avatar
      mmc: sd: Meet alignment requirements for raw_ssr DMA · e85baa88
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
      Fixes: 5275a652 ("mmc: sd: Export SD Status via “ssr” device attribute")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      e85baa88
    • Arnd Bergmann's avatar
      cpufreq: s3c64xx: remove incorrect __init annotation · adec57c6
      Arnd Bergmann authored
      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: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      adec57c6
    • Boris Ostrovsky's avatar
      cpufreq: Remove CPU hotplug callbacks only if they were initialized · 2a8fa123
      Boris Ostrovsky authored
      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: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      2a8fa123
    • Boris Ostrovsky's avatar
      CPU/hotplug: Clarify description of __cpuhp_setup_state() return value · 1358e038
      Boris Ostrovsky authored
      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: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      1358e038
    • Lv Zheng's avatar
      ACPI / osl: Remove deprecated acpi_get_table_with_size()/early_acpi_os_unmap_memory() · 8d3523fb
      Lv Zheng authored
      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: default avatarLv Zheng <lv.zheng@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8d3523fb
    • Lv Zheng's avatar
      ACPI / osl: Remove acpi_get_table_with_size()/early_acpi_os_unmap_memory() users · 6b11d1d6
      Lv Zheng authored
      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: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      6b11d1d6
    • Lv Zheng's avatar
      ACPICA: Tables: Allow FADT to be customized with virtual address · 66360faa
      Lv Zheng authored
      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/d98de9caSigned-off-by: default avatarLv Zheng <lv.zheng@intel.com>
      Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      66360faa
    • Lv Zheng's avatar
      ACPICA: Tables: Back port acpi_get_table_with_size() and... · 174cc718
      Lv Zheng authored
      ACPICA: Tables: Back port acpi_get_table_with_size() and early_acpi_os_unmap_memory() 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/cac67909Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
      Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      174cc718
  3. 20 Dec, 2016 15 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · ba6d973f
      Linus Torvalds authored
      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
        ...
      ba6d973f
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 3eb86259
      Linus Torvalds authored
      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 <akpm@linux-foundation.org>:
        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
      3eb86259
    • Linus Torvalds's avatar
      Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration · f95adbc1
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - new features (poll and SRAM usage) added to the mailbox-test driver
      
       - major update of Broadcom's PDC controller driver
      
       - minor fix for auto-loading test and STI driver modules
      
      * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox: mailbox-test: allow reserved areas in SRAM
        mailbox: mailbox-test: add support for fasync/poll
        mailbox: bcm-pdc: Remove unnecessary void* casts
        mailbox: bcm-pdc: Simplify interrupt handler logic
        mailbox: bcm-pdc: Performance improvements
        mailbox: bcm-pdc: Don't use iowrite32 to write DMA descriptors
        mailbox: bcm-pdc: Convert from threaded IRQ to tasklet
        mailbox: bcm-pdc: Try to improve branch prediction
        mailbox: bcm-pdc: streamline rx code
        mailbox: bcm-pdc: Convert from interrupts to poll for tx done
        mailbox: bcm-pdc: PDC driver leaves debugfs files after removal
        mailbox: bcm-pdc: Changes so mbox client can be removed / re-inserted
        mailbox: bcm-pdc: Use octal permissions rather than symbolic
        mailbox: sti: Fix module autoload for OF registration
        mailbox: mailbox-test: Fix module autoload
      f95adbc1
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 74f65bbf
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang.
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mux: mlxcpld: fix i2c mux selection caching
        i2c: designware: fix wrong Tx/Rx FIFO for ACPI
        i2c: xgene: Fix missing code of DTB support
        i2c: mux: pca954x: fix i2c mux selection caching
        i2c: octeon: thunderx: Limit register access retries
      74f65bbf
    • Linus Torvalds's avatar
      Merge tag 'doc-4.10-3' of git://git.lwn.net/linux · 1351522b
      Linus Torvalds authored
      Pull documentation fix from Jonathan Corbet:
       "A single fix for the build system.
      
        It would appear that the docutils developers, in their wisdom, broke
        the API in the 0.13 release. This fix detects the breakage and allows
        the docs to be built with both the old and new versions"
      
      * tag 'doc-4.10-3' of git://git.lwn.net/linux:
        docs: sphinx-extensions: make rstFlatTable work with docutils 0.13
      1351522b
    • Linus Torvalds's avatar
      Merge tag 'microblaze-4.10-rc1' of git://git.monstr.eu/linux-2.6-microblaze · d5379e5e
      Linus Torvalds authored
      Pull arch/microblaze updates from Michal Simek:
      
       - wire-up new syscalls
      
       - add new codes and fpga families
      
       - fix a return value
      
      * tag 'microblaze-4.10-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Add new fpga families
        microblaze: Add missing release version code v9.6 and v10
        microblaze: Add missing syscalls
        microblaze: Fix return value from xilinx_timer_init
      d5379e5e
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20161219' of git://github.com/jcmvbkbc/linux-xtensa · ec92b88c
      Linus Torvalds authored
      Pull Xtensa updates from Max Filippov:
      
       - enable HAVE_DMA_CONTIGUOUS, configure shared DMA pool reservation in
         kc705 DTS
      
       - update xtensa DMA-related Documentation/features entries
      
       - clean up arch/xtensa/kernel/setup.c: move S32C1I self-test out of it,
         remove unused declarations, fix screen_info definition
      
      * tag 'xtensa-20161219' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: update DMA-related Documentation/features entries
        xtensa: configure shared DMA pool reservation in kc705 DTS
        xtensa: enable HAVE_DMA_CONTIGUOUS
        xtensa: move S32C1I self-test to a separate file
        xtensa: fix screen_info, clean up unused declarations in setup.c
      ec92b88c
    • Helge Deller's avatar
      parisc: Optimize timer interrupt function · 160494d3
      Helge Deller authored
      Restructure the timer interrupt function to better cope with missed timer irqs.
      Optimize the calculation when the next interrupt should happen and skip irqs if
      they would happen too shortly after exit of the irq function.
      
      The update_process_times() call is done anyway at every timer irq, so we can
      safely drop the prof_counter and prof_multiplier variables from the per_cpu
      structure.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      160494d3
    • Geliang Tang's avatar
      RDS: use rb_entry() · a763f78c
      Geliang Tang authored
      To make the code clearer, use rb_entry() instead of container_of() to
      deal with rbtree.
      Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a763f78c
    • Geliang Tang's avatar
      net_sched: sch_netem: use rb_entry() · 7f7cd56c
      Geliang Tang authored
      To make the code clearer, use rb_entry() instead of container_of() to
      deal with rbtree.
      Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7f7cd56c
    • Geliang Tang's avatar
      net_sched: sch_fq: use rb_entry() · e124557d
      Geliang Tang authored
      To make the code clearer, use rb_entry() instead of container_of() to
      deal with rbtree.
      Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e124557d
    • Geliang Tang's avatar
      net/mlx5: use rb_entry() · f7fb1383
      Geliang Tang authored
      To make the code clearer, use rb_entry() instead of container_of() to
      deal with rbtree.
      Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
      Acked-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f7fb1383
    • Tobias Klauser's avatar
      ethernet: sfc: Add Kconfig entry for vendor Solarflare · ae99b639
      Tobias Klauser authored
      Since commit
      
        5a6681e2 ("sfc: separate out SFC4000 ("Falcon") support into new sfc-falcon driver")
      
      there are two drivers for Solarflare devices, but both still show up
      directly beneath "Ethernet driver support" in the Kconfig. Follow the
      pattern of other vendors and group them beneath an own vendor Kconfig
      entry for Solarflare.
      
      Cc: Edward Cree <ecree@solarflare.com>
      Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
      Acked-by: default avatarEdward Cree <ecree@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ae99b639
    • David S. Miller's avatar
      Merge branch 'sctp-fixes' · b794e252
      David S. Miller authored
      Xin Long says:
      
      ====================
      sctp: fix the issue that may copy duplicate addrs into assoc's bind address list
      
      Patch 1/2 is to fix some indent level.
      
      Given that we have kernels out there with this issue, patch 2/2 also
      fix sctp_raw_to_bind_addrs.
      
      v1 -> v2:
        Explain why we didn't filter the duplicate addresses when global
        address list gets updated in patch 2/2 changelog.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b794e252
    • Xin Long's avatar
      sctp: not copying duplicate addrs to the assoc's bind address list · b8607805
      Xin Long authored
      sctp.local_addr_list is a global address list that is supposed to include
      all the local addresses. sctp updates this list according to NETDEV_UP/
      NETDEV_DOWN notifications.
      
      However, if multiple NICs have the same address, the global list would
      have duplicate addresses. Even if for one NIC, promote secondaries in
      __inet_del_ifa can also lead to accumulating duplicate addresses.
      
      When sctp binds address 'ANY' and creates a connection, it copies all
      the addresses from global list into asoc's bind addr list, which makes
      sctp pack the duplicate addresses into INIT/INIT_ACK packets.
      
      This patch is to filter the duplicate addresses when copying the addrs
      from global list in sctp_copy_local_addr_list and unpacking addr_param
      from cookie in sctp_raw_to_bind_addrs to asoc's bind addr list.
      
      Note that we can't filter the duplicate addrs when global address list
      gets updated, As NETDEV_DOWN event may remove an addr that still exists
      in another NIC.
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b8607805