Public bug reported:

On an arm64 laptop whose embedded controller FF-A partition declares 38
notifications, the EC service driver fails to probe at boot. AC adapter
and battery updates, lid events, and hotkeys are consequently lost.

The arm_ffa notifier callbacks use a 64-bucket hash keyed by
notification ID, but the callback records do not retain or compare that
ID during lookup. IDs 2 and 36 collide, so registering notification 36
returns -EINVAL as a false duplicate. The lookup used for delivery can
also select a callback for the wrong notification ID.

Store the notification ID in each callback record and compare it in all
notifier lookup paths. This fix is proposed for both kernel branches:

linux-nvidia: https://github.com/NVIDIA/NV-Kernels/pull/653
linux-nvidia-bos: https://github.com/NVIDIA/NV-Kernels/pull/654

** Affects: linux-nvidia-bos (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171426

Title:
  arm_ffa notification ID collision prevents EC service from probing

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-bos/+bug/2171426/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to