No description
  • C 96.9%
  • Assembly 0.9%
  • Rust 0.6%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Rafael J. Wysocki 333845afca ACPI: PM: s2idle: Avoid possible race related to the EC GPE
commit e3728b50cd upstream.

It is theoretically possible for the ACPI EC GPE to be set after the
s2idle_ops->wake() called from s2idle_loop() has returned and before
the subsequent pm_wakeup_pending() check is carried out.  If that
happens, the resulting wakeup event will cause the system to resume
even though it may be a spurious one.

To avoid that race, first make the ->wake() callback in struct
platform_s2idle_ops return a bool value indicating whether or not
to let the system resume and rearrange s2idle_loop() to use that
value instad of the direct pm_wakeup_pending() call if ->wake() is
present.

Next, rework acpi_s2idle_wake() to process EC events and check
pm_wakeup_pending() before re-arming the SCI for system wakeup
to prevent it from triggering prematurely and add comments to
that function to explain the rationale for the new code flow.

Fixes: 56b9918490 ("PM: sleep: Simplify suspend-to-idle control flow")
Cc: 5.4+ <stable@vger.kernel.org> # 5.4+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2020-02-19 19:54:01 +01:00
arch x86/alternatives: add missing insn.h include 2020-02-14 16:53:05 -05:00
block compat: scsi: sg: fix v3 compat read/write interface 2020-02-11 04:37:17 -08:00
certs certs: Add wrapper function to check blacklisted binary hash 2019-11-12 12:25:50 +11:00
crypto crypto: testmgr - don't try to decrypt uninitialized buffers 2020-02-14 16:53:04 -05:00
Documentation dt-bindings: iio: adc: ad7606: Fix wrong maxItems value 2020-02-14 16:53:05 -05:00
drivers ACPI: PM: s2idle: Avoid possible race related to the EC GPE 2020-02-19 19:54:01 +01:00
fs io_uring: retry raw bdev writes if we hit -EOPNOTSUPP 2020-02-19 19:53:58 +01:00
include ACPI: PM: s2idle: Avoid possible race related to the EC GPE 2020-02-19 19:54:01 +01:00
init Revert "um: Enable CONFIG_CONSTRUCTORS" 2020-02-01 09:33:00 +00:00
ipc ipc/msg.c: consolidate all xxxctl_down() functions 2020-02-11 04:36:39 -08:00
kernel ACPI: PM: s2idle: Avoid possible race related to the EC GPE 2020-02-19 19:54:01 +01:00
lib lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more() 2020-02-11 04:36:45 -08:00
LICENSES LICENSES: Rename other to deprecated 2019-05-03 06:34:32 -06:00
mm mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush 2020-02-11 04:37:14 -08:00
net bpf, sockmap: Check update requirements after locking 2020-02-14 16:53:00 -05:00
samples samples/bpf: Reintroduce missed build targets 2020-02-11 04:37:00 -08:00
scripts scripts/find-unused-docs: Fix massive false positives 2020-02-11 04:36:53 -08:00
security selinux: fall back to ref-walk if audit is required 2020-02-14 16:53:07 -05:00
sound ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 2020-02-19 19:54:01 +01:00
tools tools/power/acpi: fix compilation error 2020-02-14 16:53:02 -05:00
usr gen_initramfs_list.sh: fix 'bad variable name' error 2020-01-04 00:00:48 +09:00
virt KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer 2020-02-14 16:53:04 -05:00
.clang-format clang-format: Update with the latest for_each macro list 2019-08-31 10:00:51 +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 modpost: dump missing namespaces into a single modules.nsdeps file 2019-11-11 20:10:01 +09:00
.mailmap MAINTAINERS: update my email address 2020-01-11 14:33:39 -08:00
COPYING COPYING: use the new text with points to the license files 2018-03-23 12:41:45 -06:00
CREDITS Linux 5.4-rc4 2019-10-29 04:43:29 -06:00
Kbuild kbuild: do not descend to ./Kbuild when cleaning 2019-08-21 21:03:58 +09:00
Kconfig docs: kbuild: convert docs to ReST and rename to *.rst 2019-06-14 14:21:21 -06:00
MAINTAINERS MAINTAINERS: correct entries for ISDN/mISDN section 2020-02-11 04:36:38 -08:00
Makefile Linux 5.5.4 2020-02-14 16:53:07 -05: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.