In the Linux kernel, the following vulnerability has been resolved:
regulator: da9211: Use irq handler when ready
If the system does not come from reset (like when it is kexec()), the regulator might have an IRQ waiting for us.
If we enable the IRQ handler before its structures are ready, we crash.
This patch fixes:
[ 1.141839] Unable to handle kernel read from unreadable memory at virtual address 0000000000000078 [ 1.316096] Call trace: [ 1.316101] blockingnotifiercallchain+0x20/0xa8 [ 1.322757] cpu cpu0: dummy supplies not allowed for exclusive requests [ 1.327823] regulatornotifiercallchain+0x1c/0x2c [ 1.327825] da9211irqhandler+0x68/0xf8 [ 1.327829] irq_thread+0x11c/0x234 [ 1.327833] kthread+0x13c/0x154
[
{
"id": "CVE-2022-48891-00597e79",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1694.0,
"function_hash": "14421842121869731910597651368545935284"
},
"target": {
"function": "da9211_i2c_probe",
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d443308edbfb6e9e757b478af908515110d1efd5"
},
{
"id": "CVE-2022-48891-0e44bb66",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"236573431584419491344517322113174454223",
"237514837948506040236310665155915950579",
"322538376298713824564339715645958696502",
"333857400021280439828767128641016414403",
"260140824336700602985091549517242020557",
"288710260708991210044412441878967783353",
"77585491081566166829801384553845460133",
"245473712994321740232473563776494605315",
"125481121961003401143759620781893632498"
],
"threshold": 0.9
},
"target": {
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02228f6aa6a64d588bc31e3267d05ff184d772eb"
},
{
"id": "CVE-2022-48891-31458a51",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1672.0,
"function_hash": "45038931428278010548998445334679262298"
},
"target": {
"function": "da9211_i2c_probe",
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@470f6a9175f13a53810734658c35cc5bba33be01"
},
{
"id": "CVE-2022-48891-39e3f9a1",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"236573431584419491344517322113174454223",
"237514837948506040236310665155915950579",
"322538376298713824564339715645958696502",
"333857400021280439828767128641016414403",
"260140824336700602985091549517242020557",
"288710260708991210044412441878967783353",
"77585491081566166829801384553845460133",
"245473712994321740232473563776494605315",
"125481121961003401143759620781893632498"
],
"threshold": 0.9
},
"target": {
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d4aa749e046435f054e94ebf50cad143d6229fae"
},
{
"id": "CVE-2022-48891-3bb3134b",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"236573431584419491344517322113174454223",
"237514837948506040236310665155915950579",
"322538376298713824564339715645958696502",
"333857400021280439828767128641016414403",
"260140824336700602985091549517242020557",
"288710260708991210044412441878967783353",
"77585491081566166829801384553845460133",
"245473712994321740232473563776494605315",
"125481121961003401143759620781893632498"
],
"threshold": 0.9
},
"target": {
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1c1afcb8839b91c09d211ea304faa269763b1f91"
},
{
"id": "CVE-2022-48891-4436f48f",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1694.0,
"function_hash": "14421842121869731910597651368545935284"
},
"target": {
"function": "da9211_i2c_probe",
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1c1afcb8839b91c09d211ea304faa269763b1f91"
},
{
"id": "CVE-2022-48891-9be55cbc",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1672.0,
"function_hash": "45038931428278010548998445334679262298"
},
"target": {
"function": "da9211_i2c_probe",
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02228f6aa6a64d588bc31e3267d05ff184d772eb"
},
{
"id": "CVE-2022-48891-9fcf9dd3",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"236573431584419491344517322113174454223",
"237514837948506040236310665155915950579",
"322538376298713824564339715645958696502",
"333857400021280439828767128641016414403",
"260140824336700602985091549517242020557",
"288710260708991210044412441878967783353",
"77585491081566166829801384553845460133",
"245473712994321740232473563776494605315",
"125481121961003401143759620781893632498"
],
"threshold": 0.9
},
"target": {
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f75cde714e0a67f73ef169aa50d4ed77d04f7236"
},
{
"id": "CVE-2022-48891-bbeb6581",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1694.0,
"function_hash": "14421842121869731910597651368545935284"
},
"target": {
"function": "da9211_i2c_probe",
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f75cde714e0a67f73ef169aa50d4ed77d04f7236"
},
{
"id": "CVE-2022-48891-c1ae1dbd",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"236573431584419491344517322113174454223",
"237514837948506040236310665155915950579",
"322538376298713824564339715645958696502",
"333857400021280439828767128641016414403",
"260140824336700602985091549517242020557",
"288710260708991210044412441878967783353",
"77585491081566166829801384553845460133",
"245473712994321740232473563776494605315",
"125481121961003401143759620781893632498"
],
"threshold": 0.9
},
"target": {
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad1336274f733a7cb1f87b5c5908165a2c14df53"
},
{
"id": "CVE-2022-48891-cbdae720",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"236573431584419491344517322113174454223",
"237514837948506040236310665155915950579",
"322538376298713824564339715645958696502",
"333857400021280439828767128641016414403",
"260140824336700602985091549517242020557",
"288710260708991210044412441878967783353",
"77585491081566166829801384553845460133",
"245473712994321740232473563776494605315",
"125481121961003401143759620781893632498"
],
"threshold": 0.9
},
"target": {
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d443308edbfb6e9e757b478af908515110d1efd5"
},
{
"id": "CVE-2022-48891-d7cacde9",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1672.0,
"function_hash": "45038931428278010548998445334679262298"
},
"target": {
"function": "da9211_i2c_probe",
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad1336274f733a7cb1f87b5c5908165a2c14df53"
},
{
"id": "CVE-2022-48891-dfd6e815",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1672.0,
"function_hash": "45038931428278010548998445334679262298"
},
"target": {
"function": "da9211_i2c_probe",
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d4aa749e046435f054e94ebf50cad143d6229fae"
},
{
"id": "CVE-2022-48891-f4c82426",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"236573431584419491344517322113174454223",
"237514837948506040236310665155915950579",
"322538376298713824564339715645958696502",
"333857400021280439828767128641016414403",
"260140824336700602985091549517242020557",
"288710260708991210044412441878967783353",
"77585491081566166829801384553845460133",
"245473712994321740232473563776494605315",
"125481121961003401143759620781893632498"
],
"threshold": 0.9
},
"target": {
"file": "drivers/regulator/da9211-regulator.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@470f6a9175f13a53810734658c35cc5bba33be01"
}
]