GHSA-J35C-6RVP-P2RF

Vulnerability from github – Published: 2026-03-25 12:30 – Updated: 2026-03-25 12:30
VLAI?
Details

In the Linux kernel, the following vulnerability has been resolved:

pinctrl: equilibrium: fix warning trace on load

The callback functions 'eqbr_irq_mask()' and 'eqbr_irq_ack()' are also called in the callback function 'eqbr_irq_mask_ack()'. This is done to avoid source code duplication. The problem, is that in the function 'eqbr_irq_mask()' also calles the gpiolib function 'gpiochip_disable_irq()'

This generates the following warning trace in the log for every gpio on load.

[ 6.088111] ------------[ cut here ]------------ [ 6.092440] WARNING: CPU: 3 PID: 1 at drivers/gpio/gpiolib.c:3810 gpiochip_disable_irq+0x39/0x50 [ 6.097847] Modules linked in: [ 6.097847] CPU: 3 UID: 0 PID: 1 Comm: swapper/0 Tainted: G W 6.12.59+ #0 [ 6.097847] Tainted: [W]=WARN [ 6.097847] RIP: 0010:gpiochip_disable_irq+0x39/0x50 [ 6.097847] Code: 39 c6 48 19 c0 21 c6 48 c1 e6 05 48 03 b2 38 03 00 00 48 81 fe 00 f0 ff ff 77 11 48 8b 46 08 f6 c4 02 74 06 f0 80 66 09 fb c3 <0f> 0b 90 0f 1f 40 00 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 [ 6.097847] RSP: 0000:ffffc9000000b830 EFLAGS: 00010046 [ 6.097847] RAX: 0000000000000045 RBX: ffff888001be02a0 RCX: 0000000000000008 [ 6.097847] RDX: ffff888001be9000 RSI: ffff888001b2dd00 RDI: ffff888001be02a0 [ 6.097847] RBP: ffffc9000000b860 R08: 0000000000000000 R09: 0000000000000000 [ 6.097847] R10: 0000000000000001 R11: ffff888001b2a154 R12: ffff888001be0514 [ 6.097847] R13: ffff888001be02a0 R14: 0000000000000008 R15: 0000000000000000 [ 6.097847] FS: 0000000000000000(0000) GS:ffff888041d80000(0000) knlGS:0000000000000000 [ 6.097847] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 6.097847] CR2: 0000000000000000 CR3: 0000000003030000 CR4: 00000000001026b0 [ 6.097847] Call Trace: [ 6.097847] [ 6.097847] ? eqbr_irq_mask+0x63/0x70 [ 6.097847] ? no_action+0x10/0x10 [ 6.097847] eqbr_irq_mask_ack+0x11/0x60

In an other driver (drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c) the interrupt is not disabled here.

To fix this, do not call the 'eqbr_irq_mask()' and 'eqbr_irq_ack()' function. Implement instead this directly without disabling the interrupts.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-23308"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-03-25T11:16:26Z",
    "severity": null
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\npinctrl: equilibrium: fix warning trace on load\n\nThe callback functions \u0027eqbr_irq_mask()\u0027 and \u0027eqbr_irq_ack()\u0027 are also\ncalled in the callback function \u0027eqbr_irq_mask_ack()\u0027. This is done to\navoid source code duplication. The problem, is that in the function\n\u0027eqbr_irq_mask()\u0027 also calles the gpiolib function \u0027gpiochip_disable_irq()\u0027\n\nThis generates the following warning trace in the log for every gpio on\nload.\n\n[    6.088111] ------------[ cut here ]------------\n[    6.092440] WARNING: CPU: 3 PID: 1 at drivers/gpio/gpiolib.c:3810 gpiochip_disable_irq+0x39/0x50\n[    6.097847] Modules linked in:\n[    6.097847] CPU: 3 UID: 0 PID: 1 Comm: swapper/0 Tainted: G        W          6.12.59+ #0\n[    6.097847] Tainted: [W]=WARN\n[    6.097847] RIP: 0010:gpiochip_disable_irq+0x39/0x50\n[    6.097847] Code: 39 c6 48 19 c0 21 c6 48 c1 e6 05 48 03 b2 38 03 00 00 48 81 fe 00 f0 ff ff 77 11 48 8b 46 08 f6 c4 02 74 06 f0 80 66 09 fb c3 \u003c0f\u003e 0b 90 0f 1f 40 00 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40\n[    6.097847] RSP: 0000:ffffc9000000b830 EFLAGS: 00010046\n[    6.097847] RAX: 0000000000000045 RBX: ffff888001be02a0 RCX: 0000000000000008\n[    6.097847] RDX: ffff888001be9000 RSI: ffff888001b2dd00 RDI: ffff888001be02a0\n[    6.097847] RBP: ffffc9000000b860 R08: 0000000000000000 R09: 0000000000000000\n[    6.097847] R10: 0000000000000001 R11: ffff888001b2a154 R12: ffff888001be0514\n[    6.097847] R13: ffff888001be02a0 R14: 0000000000000008 R15: 0000000000000000\n[    6.097847] FS:  0000000000000000(0000) GS:ffff888041d80000(0000) knlGS:0000000000000000\n[    6.097847] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[    6.097847] CR2: 0000000000000000 CR3: 0000000003030000 CR4: 00000000001026b0\n[    6.097847] Call Trace:\n[    6.097847]  \u003cTASK\u003e\n[    6.097847]  ? eqbr_irq_mask+0x63/0x70\n[    6.097847]  ? no_action+0x10/0x10\n[    6.097847]  eqbr_irq_mask_ack+0x11/0x60\n\nIn an other driver (drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c) the\ninterrupt is not disabled here.\n\nTo fix this, do not call the \u0027eqbr_irq_mask()\u0027 and \u0027eqbr_irq_ack()\u0027\nfunction. Implement instead this directly without disabling the interrupts.",
  "id": "GHSA-j35c-6rvp-p2rf",
  "modified": "2026-03-25T12:30:22Z",
  "published": "2026-03-25T12:30:22Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-23308"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/3e00b1b332e54ba50cca6691f628b9c06574024f"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/53eba152810ef0fff8567b13ea0f62d48e62df6b"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/896449ad9053a42c6c710aeae6175170176cabd0"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/af3b0ec98dc1133521b612f8009fdd36b612aabe"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ec54546e8d8a50a9824c139a127a8459d1b0b1bb"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…