1. 22 Dec, 2016 5 commits
    • 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
    • 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
  2. 21 Dec, 2016 11 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
  3. 20 Dec, 2016 24 commits