No description
  • C 96.9%
  • Assembly 0.9%
  • Rust 0.6%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Jeff LaBundy 7d45f72dcb Input: iqs7222 - protect volatile registers
commit 1e4189d8af upstream.

Select variants of silicon silently mirror part of the event mask
register to the system setup register (0xD0), and vice versa. For
the following sequence:

1. Read registers 0xD0 onward and store their contents.
2. Modify the contents, including event mask fields.
3. Write registers 0xD0 onward with the modified contents.
4. Write register 0xD0 on its own again later, using the contents
   from step 1 to populate any reserved fields.

...the event mask register (e.g. address 0xDA) has been corrupted
by writing register 0xD0 with contents that were made stale after
step 3.

To solve this problem, read register 0xD0 once more between steps
3 and 4. When register 0xD0 is written during step 4, the portion
which is mirrored to the event mask register already matches what
was written in step 3.

Fixes: e505edaedc ("Input: add support for Azoteq IQS7222A/B/C")
Signed-off-by: Jeff LaBundy <jeff@labundy.com>
Link: https://lore.kernel.org/r/20220626072412.475211-4-jeff@labundy.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2022-08-25 11:45:19 +02:00
arch m68k: coldfire/device.c: protect FLEXCAN blocks 2022-08-25 11:45:15 +02:00
block block: don't allow the same type rq_qos add more than once 2022-08-17 15:16:10 +02:00
certs certs: make system keyring depend on x509 parser 2022-07-24 12:53:55 -07:00
crypto KEYS: asymmetric: enforce SM2 signature use pkey algo 2022-08-17 15:16:17 +02:00
Documentation dt-bindings: pinctrl: mt8186: Add and use drive-strength-microamp 2022-08-25 11:45:18 +02:00
drivers Input: iqs7222 - protect volatile registers 2022-08-25 11:45:19 +02:00
fs NFSv4/pnfs: Fix a use-after-free bug in open 2022-08-25 11:45:12 +02:00
include net: atm: bring back zatm uAPI 2022-08-25 11:45:17 +02:00
init stack: Declare {randomize_,}kstack_offset to fix Sparse warnings 2022-08-17 15:14:14 +02:00
io_uring io_uring: mem-account pbuf buckets 2022-08-17 15:16:21 +02:00
ipc ipc: Free mq_sysctls if ipc namespace creation failed 2022-06-22 17:47:41 -05:00
kernel bpf: Acquire map uref in .init_seq_private for hash map iterator 2022-08-25 11:45:14 +02:00
lib crypto: lib/blake2s - reduce stack frame usage in self test 2022-08-17 15:16:19 +02:00
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers 2021-12-16 14:33:10 +01:00
mm Revert "mm: kfence: apply kmemleak_ignore_phys on early allocated pool" 2022-08-21 15:20:08 +02:00
net devlink: Fix use-after-free after a failed reload 2022-08-25 11:45:16 +02:00
samples sample: bpf: xdp_router_ipv4: Allow the kernel to send arp requests 2022-08-17 15:14:25 +02:00
scripts scripts/faddr2line: Fix vmlinux detection on arm64 2022-08-17 15:16:01 +02:00
security apparmor: Fix memleak in aa_simple_write_to_buffer() 2022-08-25 11:45:11 +02:00
sound ASoC: qdsp6: q6apm-dai: unprepare stream if its already prepared 2022-08-25 11:45:15 +02:00
tools selftests: forwarding: Fix failing tests with old libnet 2022-08-25 11:45:17 +02:00
usr Not a lot of material this cycle. Many singleton patches against various 2022-05-27 11:22:03 -07:00
virt KVM: Unconditionally get a ref to /dev/kvm module when creating a VM 2022-08-25 11:45:05 +02:00
.clang-format clang-format: Fix space after for_each macros 2022-05-20 19:27:16 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl 2019-05-16 10:53:40 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore kbuild: split the second line of *.mod into *.usyms 2022-05-08 03:16:59 +09:00
.mailmap ARM: SoC fixes for 5.19, part 4 2022-07-27 09:43:07 -07:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: mark ARM/PALM TREO SUPPORT orphan 2022-07-07 15:17:00 +02:00
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS io_uring: move to separate directory 2022-08-17 15:14:20 +02:00
Makefile Linux 5.19.3 2022-08-21 15:20:09 +02:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.