06 Mar, 2017

1 commit

  • Add support for media keys on the keyboard that comes with the
    Asus V221ID and ZN241IC All In One computers.

    The keys to support here are WLAN, BRIGHTNESSDOWN and BRIGHTNESSUP.

    This device is not visibly branded as Chicony, and the USB Vendor ID
    suggests that it is a JESS device. However this seems like the right place
    to put it: the usage codes are identical to the currently supported
    devices, and this driver already supports the ASUS AIO keyboard AK1D.

    Signed-off-by: Daniel Drake
    Signed-off-by: Jiri Kosina

    Daniel Drake
     

22 Feb, 2017

1 commit

  • Commit 279967a65b32 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
    unconditionally switches over handling of all Synaptics touchpads to hid-rmi
    (to make use of extended features of the HW); in case CONFIG_HID_RMI is
    disabled though this renders the touchpad unusable, as the

    HID_DEVICE(HID_BUS_ANY, HID_GROUP_RMI, HID_ANY_ID, HID_ANY_ID)

    match doesn't exist and generic/multitouch doesn't bind to it either (due
    to hid group mismatch).

    Fix this by switching over to hid-rmi only if it has been actually built.

    Fixes: 279967a65b32 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
    Reported-by: Linus Torvalds
    Acked-by: Benjamin Tissoires
    Tested-by: Andrew Duggan
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     

21 Feb, 2017

26 commits

  • Pull HID updates from Jiri Kosina:

    - a lot of Wacom driver updates; most notably second generation Intuos
    Pro is now supported, code from Aaron Armstrong Skomra and Jason
    Gerecke

    - Surface 3 and 4 Type Cover Pro support from Daniel Keller, Dennis
    Chen and Yuta Kobayashi

    - hid-rmi is now generic transport driver, used by synaptics-rmi4;
    Support the Lenovo Thinkpad X1 Tablet dock follows on top, from
    Andrew Duggan

    - a few misc bugfixes and improvements here and there

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (29 commits)
    HID: intel-ish-hid: constify device_type structure
    HID: wacom: Bluetooth IRQ for Intuos Pro should handle prox/range
    HID: intel-ish-hid: ipc: check FW status to distinguish ISH resume paths
    HID: multitouch: fix LG Melfas touchscreen
    HID: wacom: don't apply generic settings to old devices
    HID: wacom: generic: support LEDs
    HID: wacom: generic: support generic touch switch
    HID: wacom: generic: add vendor defined touch
    HID: wacom: generic: add support for touchring
    HID: wacom: generic: remove input_event_flag
    HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface
    HID: wacom: Move WAC_CMD_* into wacom_wac.h
    HID: wacom: Enable HID_GENERIC codepath for Bluetooth devices
    HID: wacom: do not attempt to switch mode while in probe
    HID: wacom: remove warning while disconnecting devices
    HID: wacom: release the resources before leaving despite devm
    HID: whitespace cleanup
    HID: multitouch: enable Surface 3 Type Cover Pro to report multitouch data
    HID: rmi: Support the Lenovo Thinkpad X1 Tablet dock using hid-rmi
    HID: rmi: Handle all Synaptics touchpads using hid-rmi
    ...

    Linus Torvalds
     
  • Pull livepatching updates from Jiri Kosina:

    - removal of dead code (Kamalesh Babulal)

    - documentation update (Miroslav Benes)

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
    livepatch: doc: remove the limitation for schedule() patching
    powerpc/livepatch: Remove klp_write_module_reloc() stub

    Linus Torvalds
     
  • Pull IOMMU UPDATES from Joerg Roedel:

    - KVM PCIe/MSI passthrough support on ARM/ARM64

    - introduction of a core representation for individual hardware iommus

    - support for IOMMU privileged mappings as supported by some ARM IOMMUS

    - 16-bit SID support for ARM-SMMUv2

    - stream table optimization for ARM-SMMUv3

    - various fixes and other small improvements

    * tag 'iommu-updates-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (61 commits)
    vfio/type1: Fix error return code in vfio_iommu_type1_attach_group()
    iommu: Remove iommu_register_instance interface
    iommu/exynos: Make use of iommu_device_register interface
    iommu/mediatek: Make use of iommu_device_register interface
    iommu/msm: Make use of iommu_device_register interface
    iommu/arm-smmu: Make use of the iommu_register interface
    iommu: Add iommu_device_set_fwnode() interface
    iommu: Make iommu_device_link/unlink take a struct iommu_device
    iommu: Add sysfs bindings for struct iommu_device
    iommu: Introduce new 'struct iommu_device'
    iommu: Rename struct iommu_device
    iommu: Rename iommu_get_instance()
    iommu: Fix static checker warning in iommu_insert_device_resv_regions
    iommu: Avoid unnecessary assignment of dev->iommu_fwspec
    iommu/mediatek: Remove bogus 'select' statements
    iommu/dma: Remove bogus dma_supported() implementation
    iommu/ipmmu-vmsa: Restrict IOMMU Domain Geometry to 32-bit address space
    iommu/vt-d: Don't over-free page table directories
    iommu/vt-d: Tylersburg isoch identity map check is done too late.
    iommu/vt-d: Fix some macros that are incorrectly specified in intel-iommu
    ...

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven:

    - kernel message modernizations and cleanups

    - defconfig updates

    - cleanups

    * tag 'm68k-for-v4.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k/sun3: Remove dead code in paging_init()
    m68k/include: Modernize printing of kernel messages
    m68k/mm: Modernize printing of kernel messages
    m68k/mm: sun3 - Modernize printing of kernel messages
    m68k/kernel: Modernize printing of kernel messages
    m68k/sun3x: Modernize printing of kernel messages
    m68k/sun3: Modernize printing of kernel messages
    m68k/q40: Modernize printing of kernel messages
    m68k/mvme16x: Modernize printing of kernel messages
    m68k/mvme147: Modernize printing of kernel messages
    m68k/bvme6000: Modernize printing of kernel messages
    m68k/68000: Modernize printing of kernel messages
    m68k/atari: Modernize printing of kernel messages
    m68k: Delete an unnecessary variable assignment in sys_cacheflush()
    m68k/mac: Clean up interrupt debug macros and printk statements
    m68k/mac: Remove SHUTUP_SONIC interrupt hack
    m68k/mac: Improve NMI handler
    m68k/defconfig: Update defconfigs for v4.10-rc1
    m68k/mac: Remove unneeded linux/miscdevice.h include

    Linus Torvalds
     
  • Pull x86 platform updates from Ingo Molnar:
    "Misc platform updates: SGI UV4 support additions, intel-mid Merrifield
    enhancements and purge of old code"

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    x86/platform/UV/NMI: Fix uneccessary kABI breakage
    x86/platform/UV: Clean up the NMI code to match current coding style
    x86/platform/UV: Ensure uv_system_init is called when necessary
    x86/platform/UV: Initialize PCH GPP_D_0 NMI Pin to be NMI source
    x86/platform/UV: Verify NMI action is valid, default is standard
    x86/platform/UV: Add basic CPU NMI health check
    x86/platform/UV: Add Support for UV4 Hubless NMIs
    x86/platform/UV: Add Support for UV4 Hubless systems
    x86/platform/UV: Clean up the UV APIC code
    x86/platform/intel-mid: Move watchdog registration to arch_initcall()
    x86/platform/intel-mid: Don't shadow error code of mp_map_gsi_to_irq()
    x86/platform/intel-mid: Allocate RTC interrupt for Merrifield
    x86/ioapic: Return suitable error code in mp_map_gsi_to_irq()
    x86/platform/UV: Fix 2 socket config problem
    x86/platform/UV: Fix panic with missing UVsystab support
    x86/platform/intel-mid: Enable RTC on Intel Merrifield
    x86/platform/intel: Remove PMIC GPIO block support
    x86/platform/intel-mid: Make intel_scu_device_register() static
    x86/platform/intel-mid: Enable GPIO keys on Merrifield
    x86/platform/intel-mid: Get rid of duplication of IPC handler
    ...

    Linus Torvalds
     
  • Pull x86 mm updates from Ingo Molnar:
    "A laundry list of changes: KASAN improvements/fixes for ptdump, a
    self-test fix, PAT cleanup and wbinvd() avoidance, removal of stale
    code and documentation updates"

    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mm/ptdump: Add address marker for KASAN shadow region
    x86/mm/ptdump: Optimize check for W+X mappings for CONFIG_KASAN=y
    x86/mm/pat: Use rb_entry()
    x86/mpx: Re-add MPX to selftests Makefile
    x86/mm: Remove CONFIG_DEBUG_NX_TEST
    x86/mm/cpa: Avoid wbinvd() for PREEMPT
    x86/mm: Improve documentation for low-level device I/O functions

    Linus Torvalds
     
  • Pull x86 microcode updates from Ingo Molnar:
    "The main changes are further simplification and unification of the
    code between the AMD and Intel microcode loaders, plus other
    simplifications - by Borislav Petkov"

    * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/microcode/AMD: Remove struct cont_desc.eq_id
    x86/microcode/AMD: Remove AP scanning optimization
    x86/microcode/AMD: Simplify saving from initrd
    x86/microcode/AMD: Unify load_ucode_amd_ap()
    x86/microcode/AMD: Check patch level only on the BSP
    x86/microcode: Remove local vendor variable
    x86/microcode/AMD: Use find_microcode_in_initrd()
    x86/microcode/AMD: Get rid of global this_equiv_id
    x86/microcode: Decrease CPUID use
    x86/microcode/AMD: Rework container parsing
    x86/microcode/AMD: Extend the container struct
    x86/microcode/AMD: Shorten function parameter's name
    x86/microcode/AMD: Clean up find_equiv_id()
    x86/microcode: Convert to bare minimum MSR accessors
    x86/MSR: Carve out bare minimum accessors

    Linus Torvalds
     
  • Pull x86 fpu updates from Ingo Molnar:
    "The main changes relate to fixes between (lack of) CPUID and FPU
    detection that should only affect old or weird CPUs, by Andy
    Lutomirski"

    * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/fpu: Fix the "Giving up, no FPU found" test
    x86/fpu: Fix CPUID-less FPU detection
    x86/fpu: Fix "x86/fpu: Legacy x87 FPU detected" message
    x86/cpu: Re-apply forced caps every time CPU caps are re-read
    x86/cpu: Factor out application of forced CPU caps
    x86/cpu: Add X86_FEATURE_CPUID
    x86/fpu/xstate: Move XSAVES state init to a function

    Linus Torvalds
     
  • Pull x86 cpufeature updates from Ingo Molnar:
    "The main changes in this cycle were related to enable ring-3
    MONITOR/MWAIT instructions support on supported CPUs, by Grzegorz
    Andrejczuk and Piotr Luc"

    * 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/cpufeature: Move RING3MWAIT feature to avoid conflicts
    x86/cpufeature: Enable RING3MWAIT for Knights Mill
    x86/cpufeature: Enable RING3MWAIT for Knights Landing
    x86/cpufeature: Add RING3MWAIT to CPU features
    x86/elf: Add HWCAP2 to expose ring 3 MONITOR/MWAIT
    x86/msr: Add MSR_MISC_FEATURE_ENABLES and RING3MWAIT bit
    x86/cpufeature: Add AVX512_VPOPCNTDQ feature

    Linus Torvalds
     
  • Pull x86 cleanups from Ingo Molnar:
    "Two small cleanups"

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/traps: Get rid of unnecessary preempt_disable/preempt_enable_no_resched
    x86/pci-calgary: Fix iommu_free() comparison of unsigned expression >= 0

    Linus Torvalds
     
  • Pull x86 boot updates from Ingo Molnar:
    "Misc updates:

    - fix e820 error handling

    - convert page table setup code from assembly to C

    - fix kexec environment bug

    - ... plus small cleanups"

    * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/kconfig: Remove misleading note regarding hibernation and KASLR
    x86/boot: Fix KASLR and memmap= collision
    x86/e820/32: Fix e820_search_gap() error handling on x86-32
    x86/boot/32: Convert the 32-bit pgtable setup code from assembly to C
    x86/e820: Make e820_search_gap() static and remove unused variables

    Linus Torvalds
     
  • Pull x86 asm update from Ingo Molnar:
    "This adds a new SYSRET testcase"

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    selftests/x86: Add a selftest for SYSRET to noncanonical addresses

    Linus Torvalds
     
  • Pull x86 apic changes from Ingo Molnar:
    "The main changes in this cycle were:

    - Re-activate the hw IRQ resend mechanism that was downgraded to a
    sw-resend unintentionally. (Ruslan Ruslichenko)

    - Avoid sporadic spurious hrtimer interrupts (Frederic Weisbecker)"

    [ Let's see if the io_apic retrigger ends up surviving this release, it
    got reverted last time because it found problems elsewhere - Linus ]

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/apic: Fix a typo in a comment line
    x86/ioapic: Restore IO-APIC irq_chip retrigger callback
    x86/apic: Implement set_state_oneshot_stopped() callback
    x86/apic: Fix typos in comments

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Implement wraparound-safe refcount_t and kref_t types based on
    generic atomic primitives (Peter Zijlstra)

    - Improve and fix the ww_mutex code (Nicolai Hähnle)

    - Add self-tests to the ww_mutex code (Chris Wilson)

    - Optimize percpu-rwsems with the 'rcuwait' mechanism (Davidlohr
    Bueso)

    - Micro-optimize the current-task logic all around the core kernel
    (Davidlohr Bueso)

    - Tidy up after recent optimizations: remove stale code and APIs,
    clean up the code (Waiman Long)

    - ... plus misc fixes, updates and cleanups"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (50 commits)
    fork: Fix task_struct alignment
    locking/spinlock/debug: Remove spinlock lockup detection code
    lockdep: Fix incorrect condition to print bug msgs for MAX_LOCKDEP_CHAIN_HLOCKS
    lkdtm: Convert to refcount_t testing
    kref: Implement 'struct kref' using refcount_t
    refcount_t: Introduce a special purpose refcount type
    sched/wake_q: Clarify queue reinit comment
    sched/wait, rcuwait: Fix typo in comment
    locking/mutex: Fix lockdep_assert_held() fail
    locking/rtmutex: Flip unlikely() branch to likely() in __rt_mutex_slowlock()
    locking/rwsem: Reinit wake_q after use
    locking/rwsem: Remove unnecessary atomic_long_t casts
    jump_labels: Move header guard #endif down where it belongs
    locking/atomic, kref: Implement kref_put_lock()
    locking/ww_mutex: Turn off __must_check for now
    locking/atomic, kref: Avoid more abuse
    locking/atomic, kref: Use kref_get_unless_zero() more
    locking/atomic, kref: Kill kref_sub()
    locking/atomic, kref: Add kref_read()
    locking/atomic, kref: Add KREF_INIT()
    ...

    Linus Torvalds
     
  • Pull scheduler updates from Ingo Molnar:
    "The main changes in this (fairly busy) cycle were:

    - There was a class of scheduler bugs related to forgetting to update
    the rq-clock timestamp which can cause weird and hard to debug
    problems, so there's a new debug facility for this: which uncovered
    a whole lot of bugs which convinced us that we want to keep the
    debug facility.

    (Peter Zijlstra, Matt Fleming)

    - Various cputime related updates: eliminate cputime and use u64
    nanoseconds directly, simplify and improve the arch interfaces,
    implement delayed accounting more widely, etc. - (Frederic
    Weisbecker)

    - Move code around for better structure plus cleanups (Ingo Molnar)

    - Move IO schedule accounting deeper into the scheduler plus related
    changes to improve the situation (Tejun Heo)

    - ... plus a round of sched/rt and sched/deadline fixes, plus other
    fixes, updats and cleanups"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (85 commits)
    sched/core: Remove unlikely() annotation from sched_move_task()
    sched/autogroup: Rename auto_group.[ch] to autogroup.[ch]
    sched/topology: Split out scheduler topology code from core.c into topology.c
    sched/core: Remove unnecessary #include headers
    sched/rq_clock: Consolidate the ordering of the rq_clock methods
    delayacct: Include
    sched/core: Clean up comments
    sched/rt: Show the 'sched_rr_timeslice' SCHED_RR timeslice tuning knob in milliseconds
    sched/clock: Add dummy clear_sched_clock_stable() stub function
    sched/cputime: Remove generic asm headers
    sched/cputime: Remove unused nsec_to_cputime()
    s390, sched/cputime: Remove unused cputime definitions
    powerpc, sched/cputime: Remove unused cputime definitions
    s390, sched/cputime: Make arch_cpu_idle_time() to return nsecs
    ia64, sched/cputime: Remove unused cputime definitions
    ia64: Convert vtime to use nsec units directly
    ia64, sched/cputime: Move the nsecs based cputime headers to the last arch using it
    sched/cputime: Remove jiffies based cputime
    sched/cputime, vtime: Return nsecs instead of cputime_t to account
    sched/cputime: Complete nsec conversion of tick based accounting
    ...

    Linus Torvalds
     
  • Pull RAS updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Assign notifier chain priorities for all RAS related handlers to
    make the ordering explicit (Borislav Petkov)

    - Improve the AMD MCA banks sysfs output (Yazen Ghannam)

    - Various cleanups and restructuring of the x86 RAS code (Borislav
    Petkov)"

    * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority
    x86/ras: Get rid of mce_process_work()
    EDAC/mce/amd: Dump TSC value
    EDAC/mce/amd: Unexport amd_decode_mce()
    x86/ras/amd/inj: Change dependency
    x86/ras: Flip the TSC-adding logic
    x86/ras/amd: Make sysfs names of banks more user-friendly
    x86/ras/therm_throt: Do not log a fake MCE for thermal events
    x86/ras/inject: Make it depend on X86_LOCAL_APIC=y

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "On the kernel side the main changes in this cycle were:

    - Add Intel Kaby Lake CPU support (Srinivas Pandruvada)

    - AMD uncore driver updates for fam17 (Janakarajan Natarajan)

    - Intel/PT updates and core events optimizations and cleanups
    (Alexander Shishkin)

    - cgroups events fixes (David Carrillo-Cisneros)

    - kprobes improvements (Masami Hiramatsu)

    - ... plus misc fixes and updates.

    On the tooling side the main changes were:

    - Support clang build in tools/{perf,lib/{bpf,traceevent,api}} with
    CC=clang, to, for instance, take advantage of better warnings
    (Arnaldo Carvalho de Melo):

    - Introduce the 'delta-abs' 'perf diff' compute method, that orders
    the histogram entries by the absolute value of the percentage delta
    for a function in two perf.data files, i.e. the functions that
    changed the most (increase or decrease in samples) comes first
    (Namhyung Kim)

    - Add support for parsing Intel uncore vendor event files and add
    uncore vendor events for the Intel server processors (Haswell,
    Broadwell, IvyBridge), Xeon Phi (Knights Landing) and Broadwell DE
    (Andi Kleen)

    - Introduce 'perf ftrace' a perf front end to the kernel's ftrace
    function and function_graph tracer, defaulting to the
    "function_graph" tracer, more work will be done in reviving this
    effort, forward porting it from its initial patch submission
    (Namhyung Kim)

    - Add 'e' and 'c' hotkeys to expand/collapse call chains for a single
    hist entry in the 'perf report' and 'perf top' TUI (Jiri Olsa)

    - Account thread wait time (off CPU time) separately: sleep, iowait
    and preempt, based on the prev_state of the last event, show the
    breakdown when using "perf sched timehist --state" (Namhyumg Kim)

    - Add more triggers to switch the output file (perf.data.TIMESTAMP).

    Now, in addition to switching to a different output file when
    receiving a SIGUSR2, one can also specify file size and time based
    triggers:

    perf record -a --switch-output=signal

    is equivalent to what we had before:

    perf record -a --switch-output

    While we can also ask for the file to be "sliced" by size, taking
    into account that that will happen only when we get woken up by the
    kernel, i.e. one has to take into account the --mmap-pages (the
    size of the perf mmap ring buffer):

    perf record -a --switch-output=2G

    will break the perf.data output into multiple files limited to 2GB
    of samples, right when generating the output.

    For time based samples, alert() will be used, so to have 1 minute
    limited perf.data output files:

    perf record -a --switch-output=1m

    (Jiri Olsa)

    - Improve 'perf trace' (Arnaldo Carvalho de Melo)

    - 'perf kallsyms' toy tool to look for extended symbol information on
    the running kernel and demonstrate the machine/thread/symbol APIs
    for use in other tools, such as 'perf probe' (Arnaldo Carvalho de
    Melo)

    - ... plus tons of other changes, see the shortlog and Git log for
    details"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (131 commits)
    perf tools: Add missing parse_events_error() prototype
    perf pmu: Fix check for unset alias->unit array
    perf tools: Be consistent on the type of map->symbols[] interator
    perf intel pt decoder: clang has no -Wno-override-init
    perf evsel: Do not put a variable sized type not at the end of a struct
    perf probe: Avoid accessing uninitialized 'map' variable
    perf tools: Do not put a variable sized type not at the end of a struct
    perf record: Do not put a variable sized type not at the end of a struct
    perf tests: Synthesize struct instead of using field after variable sized type
    perf bench numa: Make sure dprintf() is not defined
    Revert "perf bench futex: Sanitize numeric parameters"
    tools lib subcmd: Make it an error to pass a signed value to OPTION_UINTEGER
    tools: Set the maximum optimization level according to the compiler being used
    tools: Suppress request for warning options not existent in clang
    samples/bpf: Reset global variables
    samples/bpf: Ignore already processed ELF sections
    samples/bpf: Add missing header
    perf symbols: dso->name is an array, no need to check it against NULL
    perf tests record: No need to test an array against NULL
    perf symbols: No need to check if sym->name is NULL
    ...

    Linus Torvalds
     
  • Pull EFI updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Changes to the EFI init code to establish whether secure boot
    authentication was performed at boot time. (Josh Boyer, David
    Howells)

    - Wire up the UEFI memory attributes table for x86. This eliminates
    any runtime memory regions that are both writable and executable,
    on recent firmware versions. (Sai Praneeth)

    - Move the BGRT init code to an earlier stage so that we can still
    use efi_mem_reserve(). (Dave Young)

    - Preserve debug symbols in the ARM/arm64 UEFI stub (Ard Biesheuvel)

    - Code deduplication work and various other cleanups (Lukas Wunner)

    - ... plus various other fixes and cleanups"

    * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    efi/libstub: Make file I/O chunking x86-specific
    efi: Print the secure boot status in x86 setup_arch()
    efi: Disable secure boot if shim is in insecure mode
    efi: Get and store the secure boot status
    efi: Add SHIM and image security database GUID definitions
    arm/efi: Allow invocation of arbitrary runtime services
    x86/efi: Allow invocation of arbitrary runtime services
    efi/libstub: Preserve .debug sections after absolute relocation check
    efi/x86: Add debug code to print cooked memmap
    efi/x86: Move the EFI BGRT init code to early init code
    efi: Use typed function pointers for the runtime services table
    efi/esrt: Fix typo in pr_err() message
    x86/efi: Add support for EFI_MEMORY_ATTRIBUTES_TABLE
    efi: Introduce the EFI_MEM_ATTR bit and set it from the memory attributes table
    efi: Make EFI_MEMORY_ATTRIBUTES_TABLE initialization common across all architectures
    x86/efi: Deduplicate efi_char16_printk()
    efi: Deduplicate efi_file_size() / _read() / _close()

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The RCU changes in this cycle are:

    - Dynticks updates, consolidating open-coded counter accesses into a
    well-defined API

    - SRCU updates: Simplify algorithm, add formal verification

    - Documentation updates

    - Miscellaneous fixes

    - Torture-test updates

    Most of the diffstat comes from the relatively large documentation
    update"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
    srcu: Reduce probability of SRCU ->unlock_count[] counter overflow
    rcutorture: Add CBMC-based formal verification for SRCU
    srcu: Force full grace-period ordering
    srcu: Implement more-efficient reader counts
    rcu: Adjust FQS offline checks for exact online-CPU detection
    rcu: Check cond_resched_rcu_qs() state less often to reduce GP overhead
    rcu: Abstract extended quiescent state determination
    rcu: Abstract dynticks extended quiescent state enter/exit operations
    rcu: Add lockdep checks to synchronous expedited primitives
    rcu: Eliminate unused expedited_normal counter
    llist: Clarify comments about when locking is needed
    rcu: Fix comment in rcu_organize_nocb_kthreads()
    rcu: Enable RCU tracepoints by default to aid in debugging
    rcu: Make rcu_cpu_starting() use its "cpu" argument
    rcu: Add comment headers to expedited-grace-period counter functions
    rcu: Don't wake rcuc/X kthreads on NOCB CPUs
    rcu: Re-enable TASKS_RCU for User Mode Linux
    rcu: Once again use NMI-based stack traces in stall warnings
    rcu: Remove short-term CPU kicking
    rcu: Add long-term CPU kicking
    ...

    Linus Torvalds
     
  • Pull debugobjects updates from Ingo Molnar:
    "A number of scalability improvements by Waimang Long"

    * 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    debugobjects: Improve variable naming
    debugobjects: Reduce contention on the global pool_lock
    debugobjects: Scale thresholds with # of CPUs
    debugobjects: Track number of kmem_cache_alloc/kmem_cache_free done

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "This update provides:

    - Yet another two irq controller chip drivers

    - A few updates and fixes for GICV3

    - A resource managed function for interrupt allocation

    - Fixes, updates and enhancements all over the place"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/qcom: Fix error handling
    genirq: Clarify logic calculating bogus irqreturn_t values
    genirq/msi: Add stubs for get_cached_msi_msg/pci_write_msi_msg
    genirq/devres: Use dev_name(dev) as default for devname
    genirq: Fix /proc/interrupts output alignment
    irqdesc: Add a resource managed version of irq_alloc_descs()
    irqchip/gic-v3-its: Zero command on allocation
    irqchip/gic-v3-its: Fix command buffer allocation
    irqchip/mips-gic: Fix local interrupts
    irqchip: Add a driver for Cortina Gemini
    irqchip: DT bindings for Cortina Gemini irqchip
    irqchip/gic-v3: Remove duplicate definition of GICD_TYPER_LPIS
    irqchip/gic-v3-its: Rename MAPVI to MAPTI
    irqchip/gic-v3-its: Drop deprecated GITS_BASER_TYPE_CPU
    irqchip/gic-v3-its: Refactor command encoding
    irqchip/gic-v3-its: Enable cacheable attribute Read-allocate hints
    irqchip/qcom: Add IRQ combiner driver
    ACPI: Add support for ResourceSource/IRQ domain mapping
    ACPI: Generic GSI: Do not attempt to map non-GSI IRQs during bus scan
    irq/platform-msi: Fix comment about maximal MSIs

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "Nothing exciting, just the usual pile of fixes, updates and cleanups:

    - A bunch of clocksource driver updates

    - Removal of CONFIG_TIMER_STATS and the related /proc file

    - More posix timer slim down work

    - A scalability enhancement in the tick broadcast code

    - Math cleanups"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    hrtimer: Catch invalid clockids again
    math64, tile: Fix build failure
    clocksource/drivers/arm_arch_timer:: Mark cyclecounter __ro_after_init
    timerfd: Protect the might cancel mechanism proper
    timer_list: Remove useless cast when printing
    time: Remove CONFIG_TIMER_STATS
    clocksource/drivers/arm_arch_timer: Work around Hisilicon erratum 161010101
    clocksource/drivers/arm_arch_timer: Introduce generic errata handling infrastructure
    clocksource/drivers/arm_arch_timer: Remove fsl-a008585 parameter
    clocksource/drivers/arm_arch_timer: Add dt binding for hisilicon-161010101 erratum
    clocksource/drivers/ostm: Add renesas-ostm timer driver
    clocksource/drivers/ostm: Document renesas-ostm timer DT bindings
    clocksource/drivers/tcb_clksrc: Use 32 bit tcb as sched_clock
    clocksource/drivers/gemini: Add driver for the Cortina Gemini
    clocksource: add DT bindings for Cortina Gemini
    clockevents: Add a clkevt-of mechanism like clksrc-of
    tick/broadcast: Reduce lock cacheline contention
    timers: Omit POSIX timer stuff from task_struct when disabled
    x86/timer: Make delay() work during early bootup
    delay: Add explanation of udelay() inaccuracy
    ...

    Linus Torvalds
     
  • Pull power supply and reset updates from Sebastian Reichel:
    "New drivers:
    - sbs-charger driver
    - max14656_charger_detector
    - axp20x_ac_power

    New chip/feature support"
    - axp20x_usb_power: add AXP223 support
    - tps65217: add usb charger support
    - qcom_smbb: support otg regulator
    - at91-reset: add samx7 support

    Dropped drivers:
    - intel_mid_battery (platform was dropped)

    Fixes:
    - at91-poweroff: avoid wearing off LPDDR memory
    - replace deprecated extcon API
    - lots of cleanup and style fixes
    - misc minor functionality fixes"

    * tag 'for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (84 commits)
    power: supply: add AC power supply driver for AXP20X and AXP22X PMICs
    dt-bindings: power: supply: add AXP20X/AXP22X AC power supply
    power: supply: axp20x_usb_power: use IIO channels when available
    power: supply: max14656: Export I2C and OF device ID as module aliases
    power: supply: bq2415x: check for NULL acpi_id to avoid null pointer dereference
    power: supply: bq24190_charger: Adjust formatting
    power: supply: bq24190_charger: Handle fault before status on interrupt
    power: supply: bq24190_charger: Don't read fault register outside irq_handle_thread()
    power: supply: bq24190_charger: Call power_supply_changed() for relevant component
    power: supply: bq24190_charger: Install irq_handler_thread() at end of probe()
    power: supply: bq24190_charger: Call set_mode_host() on pm_resume()
    power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING
    power: supply: qcom_smbb: add regulator dependency
    power: reset: at91-reset: remove leftover platform_device_id
    power: reset: at91-reset: add samx7 support
    power: supply: max14656: fix platform_no_drv_owner.cocci warnings
    power: supply: pcf50633-charger: Compress return logic into one line.
    power: supply: ab8500_btemp: Compress return logic into one line.
    power: reset: at91-poweroff: timely shutdown LPDDR memories
    ARM: at91: define LPDDR types
    ...

    Linus Torvalds
     
  • Pull EDAC updates from Borislav Petkov:

    - Make amd64_edac still load on a machine with unpopulated nodes +
    cleanups (Yazen Ghannam)

    - Expose per-DIMM error counts in sysfs (Aaron Miller)

    - Add T2080 l2-cache support to mpc85xx (Chris Packham)

    - Random other small improvements/cleanups/fixlets

    * tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    EDAC, mce_amd: Print IPID and Syndrome on a separate line
    EDAC, amd64: Bump driver version
    MAINTAINERS, EDAC: Update email for Thor Thayer
    EDAC, fsl_ddr: Make locally used symbols static
    EDAC, mpc85xx: Add T2080 l2-cache support
    EDAC, amd64: Add x86cpuid sanity check during init
    EDAC, amd64: Don't treat ECC disabled as failure
    EDAC: Add routine to check if MC devices list is empty
    EDAC, amd64: Remove unused printing macros
    EDAC, amd64: Rework messages in ecc_enabled()
    EDAC, amd64: Move global code out of instance functions
    EDAC, amd64: Free unused memory when init_one_instance() fails
    EDAC, mce_amd: Give more context to deferred error message
    EDAC, i7300: Test for the second channel properly
    EDAC, sb_edac: Get rid of ->show_interleave_mode()
    EDAC: Expose per-DIMM error counts in sysfs
    EDAC, amd64: Save and return err code from probe_one_instance()
    EDAC, i82975x: Add ioremap_nocache() error handling
    EDAC: Fix typos in enum mem_type comments
    EDAC: Make dev_attr_sdram_scrub_rate static

    Linus Torvalds
     
  • …it/groeck/linux-staging

    Pull hwmon updates from Guenter Roeck:

    - new driver for stts751

    - it87: Added support for IT8622E and IT8792E; improved support for
    other chips

    - lm70: Added support for TMP122/124

    - use permission-specific DEVICE_ATTR variants where possible

    - fixed overflows in various drivers

    - minor improvements in various drivers

    * tag 'hwmon-for-linus-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (95 commits)
    hwmon: (sht15) Add device tree support
    devicetree: add lm90 thermal_zone sensor support
    hwmon: (it87) Add support for IT8792E
    hwmon: (it87) Do not overwrite bit 2..6 of pwm control registers
    hwmon: (it87) Fix pwm4 detection for IT8620 and IT8628
    hwmon: (it87) Ensure that pwm control cache is current before updating values
    hwmon: (it87) Improve IT8622 support
    hwmon: (it87) Add support for IT8622E
    hwmon: (it87) Add feature flag indicating that VIN3 is connected to 5V
    DT: add binding documentation for STTS751
    hwmon: new driver for ST stts751 thermal sensor
    hwmon: Register thermal zone only if 'dev' parameter was provided
    hwmon: Relax name attribute validation for new APIs
    hwmon: Update documentation to clarify rules for the 'name' attribute
    hwmon: Make name attribute mandatory for new APIs
    hwmon: (lm70) Add support for TI TMP122/124
    hwmon: (lm70) Utilize dev_warn instead of pr_warn
    hwmon: (ltc4151) Export OF device ID table as module aliases
    hwmon: (adc128d818) Preserve operation mode
    hwmon: (adc128d818) Support operation modes 1-3
    ...

    Linus Torvalds
     
  • Pull MTD updates from Brian Norris:
    "MTD updates for 4.11:

    General:
    - new kernel API for retrieving max bad blocks per die (not used yet)
    - track (and expose via sysfs) a partition's device tree node
    - support a "label" device tree property for naming an MTD

    NAND:
    - sunxi: avoid busy-waiting for NAND events
    - ifc: fix ECC handling on IFC v1.0
    - OX820: add explicit dependency on ARCH_OXNAS in Kconfig
    - core: add a new manufacture ID and fix a kernel-doc warning
    - fsmc: kill pdata support
    - lpc32xx_slc: remove unneeded NULL check
    - support dynamic "max bad blocks" detection via ONFI

    SPI NOR:
    - add support for the 4-byte address instruction set
    - add support for new memory parts
    - add support to S3AN memories
    - add support to the Intel SPI controller
    - add support to the Aspeed AST2400 and AST2550 controllers
    - support max SPI message sizes in m25p80_read()
    - fixes for the Candence and Freescale QSPI drivers

    Other:
    - add support for Gemini flash probing
    - bcm47xxsflash: add support for reading outside memory-mapped window
    - bcm47xxparts: extend to support multiple TRX partitions
    - misc fixes and typos

    Extra note: we've pulled in an MFD subtree from Lee Jones as a
    dependency for a new Intel SPI NOR driver"

    [ Kudos to Brian for sending pull request a week early:

    "I refuse to acknowledge the existence of 4.10-rc8 and am therefore
    sending our MTD changes for 4.11 now"

    which is all good ]

    * tag 'for-linus-20170212' of git://git.infradead.org/linux-mtd: (52 commits)
    mtd: aspeed: remove redundant dev_err call in aspeed_smc_probe()
    dt-bindings: mtd: add a common label property to all mtd devices
    mtd: name the mtd device with an optional label property
    mtd: physmap_of: fixup gemini/versatile dependencies
    mtd: spi-nor: cqspi: remove redundant dead code on error return check
    Documentation: mtk-quadspi: update DT bindings
    mtd: fsl-quadspi: Rename SEQID_QUAD_READ to SEQID_READ
    mtd:fsl-quadspi:use the property fields of SPI-NOR
    mtd: spi-nor: Add support for gd25q16
    mtd: spi-nor: Fix S3AN addressing calculation
    mtd: aspeed: fix compile warning in aspeed_smc_read_from_ahb()
    mtd: spi-nor: add dt support for Everspin MRAMs
    mtd: spi-nor: Add lock/unlock support for f25l32pa
    mtd: spi-nor: add a stateless method to support memory size above 128Mib
    mtd: spi-nor: rename SPINOR_OP_* macros of the 4-byte address op codes
    mtd: m25p80: consider max message size in m25p80_read
    mtd: spi-nor: bindings for the Aspeed memory controllers
    mtd: aspeed: add memory controllers for the Aspeed AST2400 SoC
    mtd: spi-nor: add memory controllers for the Aspeed AST2500 SoC
    mtd: spi-nor: remove WARN_ONCE() message in spi_nor_write()
    ...

    Linus Torvalds
     

20 Feb, 2017

5 commits

  • …sh', 'for-4.11/microsoft', 'for-4.11/rmi', 'for-4.11/upstream' and 'for-4.11/wacom' into for-linus

    Jiri Kosina
     
  • Stupid bug that wrecked the alignment of task_struct and causes WARN()s
    in the x86 FPU code on some platforms.

    Reported-by: Fengguang Wu
    Tested-by: Fengguang Wu
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Fixes: e274795ea7b7 ("locking/mutex: Fix mutex handoff")
    Link: http://lkml.kernel.org/r/20170218142645.GH6500@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Linus Torvalds
     
  • What happens is that a write to /dev/sg is given a request with non-zero
    ->iovec_count combined with zero ->dxfer_len. Or with ->dxferp pointing
    to an array full of empty iovecs.

    Having write permission to /dev/sg shouldn't be equivalent to the
    ability to trigger BUG_ON() while holding spinlocks...

    Found by Dmitry Vyukov and syzkaller.

    [ The BUG_ON() got changed to a WARN_ON_ONCE(), but this fixes the
    underlying issue. - Linus ]

    Signed-off-by: Al Viro
    Reported-by: Dmitry Vyukov
    Reviewed-by: Christoph Hellwig
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Don't crash the machine just because of an empty transfer. Use WARN_ON()
    combined with returning an error.

    Found by Dmitry Vyukov and syzkaller.

    [ Changed to "WARN_ON_ONCE()". Al has a patch that should fix the root
    cause, but a BUG_ON() is not acceptable in any case, and a WARN_ON()
    might still be a cause of excessive log spamming.

    NOTE! If this warning ever triggers, we may end up leaking resources,
    since this doesn't bother to try to clean the command up. So this
    WARN_ON_ONCE() triggering does imply real problems. But BUG_ON() is
    much worse.

    People really need to stop using BUG_ON() for "this shouldn't ever
    happen". It makes pretty much any bug worse. - Linus ]

    Signed-off-by: Johannes Thumshirn
    Reported-by: Dmitry Vyukov
    Cc: James Bottomley
    Cc: Al Viro
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Johannes Thumshirn
     

19 Feb, 2017

7 commits