FKIE_CVE-2026-23308
Vulnerability from fkie_nvd - Published: 2026-03-25 11:16 - Updated: 2026-05-28 14:25
Severity
Summary
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] <TASK>
[ 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.
References
Impacted products
| Vendor | Product | Version | |
|---|---|---|---|
| linux | linux_kernel | * | |
| linux | linux_kernel | * | |
| linux | linux_kernel | * | |
| linux | linux_kernel | * | |
| linux | linux_kernel | 7.0 | |
| linux | linux_kernel | 7.0 |
{
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "B5DC2349-A344-41CA-9A54-55596F8AD981",
"versionEndExcluding": "6.6.130",
"versionStartIncluding": "6.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "B3D12E00-E42D-4056-B354-BAD4903C03A5",
"versionEndExcluding": "6.12.77",
"versionStartIncluding": "6.7",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "A5E006E4-59C7-43C1-9231-62A72219F2BA",
"versionEndExcluding": "6.18.17",
"versionStartIncluding": "6.13",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "69245D10-0B71-485E-80C3-A64F077004D3",
"versionEndExcluding": "6.19.7",
"versionStartIncluding": "6.19",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*",
"matchCriteriaId": "F253B622-8837-4245-BCE5-A7BF8FC76A16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*",
"matchCriteriaId": "4AE85AD8-4641-4E7C-A2F4-305E2CD9EE64",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\npinctrl: equilibrium: corregir el rastro de advertencia al cargar\n\nLas funciones de callback \u0027eqbr_irq_mask()\u0027 y \u0027eqbr_irq_ack()\u0027 tambi\u00e9n se llaman en la funci\u00f3n de callback \u0027eqbr_irq_mask_ack()\u0027. Esto se hace para evitar la duplicaci\u00f3n de c\u00f3digo fuente. El problema, es que en la funci\u00f3n \u0027eqbr_irq_mask()\u0027 tambi\u00e9n llama a la funci\u00f3n gpiolib \u0027gpiochip_disable_irq()\u0027.\n\nEsto genera el siguiente rastro de advertencia en el log para cada gpio al cargar.\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 \u0026lt;0f\u0026gt; 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] \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\nEn otro controlador (drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c) la interrupci\u00f3n no se deshabilita aqu\u00ed.\n\nPara solucionar esto, no llame a la funci\u00f3n \u0027eqbr_irq_mask()\u0027 y \u0027eqbr_irq_ack()\u0027. En su lugar, implemente esto directamente sin deshabilitar las interrupciones."
}
],
"id": "CVE-2026-23308",
"lastModified": "2026-05-28T14:25:49.883",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 3.6,
"source": "nvd@nist.gov",
"type": "Primary"
}
]
},
"published": "2026-03-25T11:16:26.823",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/3e00b1b332e54ba50cca6691f628b9c06574024f"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/53eba152810ef0fff8567b13ea0f62d48e62df6b"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/896449ad9053a42c6c710aeae6175170176cabd0"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/af3b0ec98dc1133521b612f8009fdd36b612aabe"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/ec54546e8d8a50a9824c139a127a8459d1b0b1bb"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "NVD-CWE-noinfo"
}
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
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…
Loading…