CVE-2022-49513

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-49513
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49513.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-49513
Downstream
Related
Published
2025-02-26T02:13:42Z
Modified
2025-10-21T10:32:37.138371Z
Summary
cpufreq: governor: Use kobject release() method to free dbs_data
Details

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

cpufreq: governor: Use kobject release() method to free dbs_data

The struct dbsdata embeds a struct govattrset and the struct govattrset embeds a kobject. Since every kobject must have a release() method and we can't use kfree() to free it directly, so introduce cpufreqdbsdatarelease() to release the dbs_data via the kobject::release() method. This fixes the calltrace like below:

ODEBUG: free active (active state 0) object type: timerlist hint: delayedworktimerfn+0x0/0x34 WARNING: CPU: 12 PID: 810 at lib/debugobjects.c:505 debugprintobject+0xb8/0x100 Modules linked in: CPU: 12 PID: 810 Comm: sh Not tainted 5.16.0-next-20220120-yocto-standard+ #536 Hardware name: Marvell OcteonTX CN96XX board (DT) pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : debugprintobject+0xb8/0x100 lr : debugprintobject+0xb8/0x100 sp : ffff80001dfcf9a0 x29: ffff80001dfcf9a0 x28: 0000000000000001 x27: ffff0001464f0000 x26: 0000000000000000 x25: ffff8000090e3f00 x24: ffff80000af60210 x23: ffff8000094dfb78 x22: ffff8000090e3f00 x21: ffff0001080b7118 x20: ffff80000aeb2430 x19: ffff800009e8f5e0 x18: 0000000000000000 x17: 0000000000000002 x16: 00004d62e58be040 x15: 013590470523aff8 x14: ffff8000090e1828 x13: 0000000001359047 x12: 00000000f5257d14 x11: 0000000000040591 x10: 0000000066c1ffea x9 : ffff8000080d15e0 x8 : ffff80000a1765a8 x7 : 0000000000000000 x6 : 0000000000000001 x5 : ffff800009e8c000 x4 : ffff800009e8c760 x3 : 0000000000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0001474ed040 Call trace: debugprintobject+0xb8/0x100 _debugchecknoobjfreed+0x1d0/0x25c debugchecknoobjfreed+0x24/0xa0 kfree+0x11c/0x440 cpufreqdbsgovernorexit+0xa8/0xac cpufreqexitgovernor+0x44/0x90 cpufreqsetpolicy+0x29c/0x570 storescalinggovernor+0x110/0x154 store+0xb0/0xe0 sysfskfwrite+0x58/0x84 kernfsfopwriteiter+0x12c/0x1c0 newsyncwrite+0xf0/0x18c vfswrite+0x1cc/0x220 ksyswrite+0x74/0x100 _arm64syswrite+0x28/0x3c invokesyscall.constprop.0+0x58/0xf0 doel0svc+0x70/0x170 el0svc+0x54/0x190 el0t64synchandler+0xa4/0x130 el0t64sync+0x1a0/0x1a4 irq event stamp: 189006 hardirqs last enabled at (189005): [<ffff8000080849d0>] finishtaskswitch.isra.0+0xe0/0x2c0 hardirqs last disabled at (189006): [<ffff8000090667a4>] el1dbg+0x24/0xa0 softirqs last enabled at (188966): [<ffff8000080106d0>] _dosoftirq+0x4b0/0x6a0 softirqs last disabled at (188957): [<ffff80000804a618>] _irqexit_rcu+0x108/0x1a4

[ rjw: Because can be freed by the govattrsetput() in cpufreqdbsgovernorexit() now, it is also necessary to put the invocation of the governor ->exit() callback into the new cpufreqdbsdata_release() function. ]

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c4435630361d9bebf7154a0c842dc1fb7ae39c99
Fixed
a1964688582d26af1328e19b658933659fb54337
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c4435630361d9bebf7154a0c842dc1fb7ae39c99
Fixed
1e32083f327184b6226ce320ef30085ce785ea4e
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c4435630361d9bebf7154a0c842dc1fb7ae39c99
Fixed
a85ee6401a47ae3fc64ba506cacb3e7873823c65

Affected versions

v4.*

v4.10
v4.10-rc1
v4.10-rc2
v4.10-rc3
v4.10-rc4
v4.10-rc5
v4.10-rc6
v4.10-rc7
v4.10-rc8
v4.11
v4.11-rc1
v4.11-rc2
v4.11-rc3
v4.11-rc4
v4.11-rc5
v4.11-rc6
v4.11-rc7
v4.11-rc8
v4.12
v4.12-rc1
v4.12-rc2
v4.12-rc3
v4.12-rc4
v4.12-rc5
v4.12-rc6
v4.12-rc7
v4.13
v4.13-rc1
v4.13-rc2
v4.13-rc3
v4.13-rc4
v4.13-rc5
v4.13-rc6
v4.13-rc7
v4.14
v4.14-rc1
v4.14-rc2
v4.14-rc3
v4.14-rc4
v4.14-rc5
v4.14-rc6
v4.14-rc7
v4.14-rc8
v4.15
v4.15-rc1
v4.15-rc2
v4.15-rc3
v4.15-rc4
v4.15-rc5
v4.15-rc6
v4.15-rc7
v4.15-rc8
v4.15-rc9
v4.16
v4.16-rc1
v4.16-rc2
v4.16-rc3
v4.16-rc4
v4.16-rc5
v4.16-rc6
v4.16-rc7
v4.17
v4.17-rc1
v4.17-rc2
v4.17-rc3
v4.17-rc4
v4.17-rc5
v4.17-rc6
v4.17-rc7
v4.18
v4.18-rc1
v4.18-rc2
v4.18-rc3
v4.18-rc4
v4.18-rc5
v4.18-rc6
v4.18-rc7
v4.18-rc8
v4.19
v4.19-rc1
v4.19-rc2
v4.19-rc3
v4.19-rc4
v4.19-rc5
v4.19-rc6
v4.19-rc7
v4.19-rc8
v4.20
v4.20-rc1
v4.20-rc2
v4.20-rc3
v4.20-rc4
v4.20-rc5
v4.20-rc6
v4.20-rc7
v4.5
v4.5-rc3
v4.5-rc4
v4.5-rc5
v4.5-rc6
v4.5-rc7
v4.6
v4.6-rc1
v4.6-rc2
v4.6-rc3
v4.6-rc4
v4.6-rc5
v4.6-rc6
v4.6-rc7
v4.7
v4.7-rc1
v4.7-rc2
v4.7-rc3
v4.7-rc4
v4.7-rc5
v4.7-rc6
v4.7-rc7
v4.8
v4.8-rc1
v4.8-rc2
v4.8-rc3
v4.8-rc4
v4.8-rc5
v4.8-rc6
v4.8-rc7
v4.8-rc8
v4.9
v4.9-rc1
v4.9-rc2
v4.9-rc3
v4.9-rc4
v4.9-rc5
v4.9-rc6
v4.9-rc7
v4.9-rc8

v5.*

v5.0
v5.0-rc1
v5.0-rc2
v5.0-rc3
v5.0-rc4
v5.0-rc5
v5.0-rc6
v5.0-rc7
v5.0-rc8
v5.1
v5.1-rc1
v5.1-rc2
v5.1-rc3
v5.1-rc4
v5.1-rc5
v5.1-rc6
v5.1-rc7
v5.10
v5.10-rc1
v5.10-rc2
v5.10-rc3
v5.10-rc4
v5.10-rc5
v5.10-rc6
v5.10-rc7
v5.11
v5.11-rc1
v5.11-rc2
v5.11-rc3
v5.11-rc4
v5.11-rc5
v5.11-rc6
v5.11-rc7
v5.12
v5.12-rc1
v5.12-rc1-dontuse
v5.12-rc2
v5.12-rc3
v5.12-rc4
v5.12-rc5
v5.12-rc6
v5.12-rc7
v5.12-rc8
v5.13
v5.13-rc1
v5.13-rc2
v5.13-rc3
v5.13-rc4
v5.13-rc5
v5.13-rc6
v5.13-rc7
v5.14
v5.14-rc1
v5.14-rc2
v5.14-rc3
v5.14-rc4
v5.14-rc5
v5.14-rc6
v5.14-rc7
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.15.1
v5.15.10
v5.15.11
v5.15.12
v5.15.13
v5.15.14
v5.15.15
v5.15.16
v5.15.17
v5.15.18
v5.15.19
v5.15.2
v5.15.20
v5.15.21
v5.15.22
v5.15.23
v5.15.24
v5.15.25
v5.15.26
v5.15.27
v5.15.28
v5.15.29
v5.15.3
v5.15.30
v5.15.31
v5.15.32
v5.15.33
v5.15.34
v5.15.35
v5.15.36
v5.15.37
v5.15.38
v5.15.39
v5.15.4
v5.15.40
v5.15.41
v5.15.42
v5.15.43
v5.15.44
v5.15.45
v5.15.46
v5.15.47
v5.15.48
v5.15.49
v5.15.5
v5.15.50
v5.15.51
v5.15.52
v5.15.53
v5.15.54
v5.15.55
v5.15.56
v5.15.57
v5.15.58
v5.15.59
v5.15.6
v5.15.60
v5.15.61
v5.15.62
v5.15.63
v5.15.64
v5.15.65
v5.15.66
v5.15.67
v5.15.68
v5.15.69
v5.15.7
v5.15.70
v5.15.71
v5.15.72
v5.15.73
v5.15.74
v5.15.75
v5.15.76
v5.15.77
v5.15.78
v5.15.79
v5.15.8
v5.15.80
v5.15.81
v5.15.82
v5.15.83
v5.15.84
v5.15.85
v5.15.86
v5.15.87
v5.15.88
v5.15.89
v5.15.9
v5.15.90
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.18.1
v5.18.2
v5.2
v5.2-rc1
v5.2-rc2
v5.2-rc3
v5.2-rc4
v5.2-rc5
v5.2-rc6
v5.2-rc7
v5.3
v5.3-rc1
v5.3-rc2
v5.3-rc3
v5.3-rc4
v5.3-rc5
v5.3-rc6
v5.3-rc7
v5.3-rc8
v5.4
v5.4-rc1
v5.4-rc2
v5.4-rc3
v5.4-rc4
v5.4-rc5
v5.4-rc6
v5.4-rc7
v5.4-rc8
v5.5
v5.5-rc1
v5.5-rc2
v5.5-rc3
v5.5-rc4
v5.5-rc5
v5.5-rc6
v5.5-rc7
v5.6
v5.6-rc1
v5.6-rc2
v5.6-rc3
v5.6-rc4
v5.6-rc5
v5.6-rc6
v5.6-rc7
v5.7
v5.7-rc1
v5.7-rc2
v5.7-rc3
v5.7-rc4
v5.7-rc5
v5.7-rc6
v5.7-rc7
v5.8
v5.8-rc1
v5.8-rc2
v5.8-rc3
v5.8-rc4
v5.8-rc5
v5.8-rc6
v5.8-rc7
v5.9
v5.9-rc1
v5.9-rc2
v5.9-rc3
v5.9-rc4
v5.9-rc5
v5.9-rc6
v5.9-rc7
v5.9-rc8

Database specific

vanir_signatures

[
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a1964688582d26af1328e19b658933659fb54337",
        "target": {
            "function": "cpufreq_dbs_governor_init",
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-219cd7ef",
        "signature_version": "v1",
        "digest": {
            "length": 1442.0,
            "function_hash": "247604902300510276389057964352383385046"
        },
        "signature_type": "Function"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1e32083f327184b6226ce320ef30085ce785ea4e",
        "target": {
            "function": "cpufreq_dbs_governor_init",
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-3600fc72",
        "signature_version": "v1",
        "digest": {
            "length": 1442.0,
            "function_hash": "247604902300510276389057964352383385046"
        },
        "signature_type": "Function"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a1964688582d26af1328e19b658933659fb54337",
        "target": {
            "function": "cpufreq_dbs_governor_exit",
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-53329661",
        "signature_version": "v1",
        "digest": {
            "length": 448.0,
            "function_hash": "210923104967053377498336130001346880136"
        },
        "signature_type": "Function"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a1964688582d26af1328e19b658933659fb54337",
        "target": {
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-64300bdb",
        "signature_version": "v1",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "154174298802360304472583911781340568540",
                "58974010362398033499281068323644935582",
                "60420354471350014150720086729814102511",
                "207270700593686482530265839725945751755",
                "266549150513241696222801737885339244635",
                "251590044858264526802883952857007718111",
                "244572163843800201545292567196663860694",
                "60034713997428596437332274742544774312",
                "130462470823445068559242873828665814964",
                "68304590887479902773437125723586512508",
                "200019732397606776397194030930843615374",
                "239927300807417866894619669993825920658",
                "24013743639702157658340651822771011843",
                "129511553131132172575742280441319536878",
                "262832998498498803243717591275635800539",
                "247208081227086449254026634750627059191",
                "172037979715441734486235423647709747123",
                "178273799220418069638413521257780781703",
                "247211286320299839205363046107372509694"
            ]
        },
        "signature_type": "Line"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a1964688582d26af1328e19b658933659fb54337",
        "target": {
            "file": "drivers/cpufreq/cpufreq_governor.h"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-7761cf8e",
        "signature_version": "v1",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "97482840261710202828708080551948861133",
                "267759966117310483009607805191040636925",
                "100500616241165190150886579127864505112",
                "179032359837774268834711821195292390805"
            ]
        },
        "signature_type": "Line"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1e32083f327184b6226ce320ef30085ce785ea4e",
        "target": {
            "function": "cpufreq_dbs_governor_exit",
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-8a01ebd3",
        "signature_version": "v1",
        "digest": {
            "length": 448.0,
            "function_hash": "210923104967053377498336130001346880136"
        },
        "signature_type": "Function"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a85ee6401a47ae3fc64ba506cacb3e7873823c65",
        "target": {
            "function": "cpufreq_dbs_governor_exit",
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-930c7807",
        "signature_version": "v1",
        "digest": {
            "length": 448.0,
            "function_hash": "210923104967053377498336130001346880136"
        },
        "signature_type": "Function"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a85ee6401a47ae3fc64ba506cacb3e7873823c65",
        "target": {
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-99016fd2",
        "signature_version": "v1",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "154174298802360304472583911781340568540",
                "58974010362398033499281068323644935582",
                "60420354471350014150720086729814102511",
                "207270700593686482530265839725945751755",
                "266549150513241696222801737885339244635",
                "251590044858264526802883952857007718111",
                "244572163843800201545292567196663860694",
                "60034713997428596437332274742544774312",
                "130462470823445068559242873828665814964",
                "68304590887479902773437125723586512508",
                "200019732397606776397194030930843615374",
                "239927300807417866894619669993825920658",
                "24013743639702157658340651822771011843",
                "129511553131132172575742280441319536878",
                "262832998498498803243717591275635800539",
                "247208081227086449254026634750627059191",
                "172037979715441734486235423647709747123",
                "178273799220418069638413521257780781703",
                "247211286320299839205363046107372509694"
            ]
        },
        "signature_type": "Line"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1e32083f327184b6226ce320ef30085ce785ea4e",
        "target": {
            "file": "drivers/cpufreq/cpufreq_governor.h"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-a744ee6b",
        "signature_version": "v1",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "97482840261710202828708080551948861133",
                "267759966117310483009607805191040636925",
                "100500616241165190150886579127864505112",
                "179032359837774268834711821195292390805"
            ]
        },
        "signature_type": "Line"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a85ee6401a47ae3fc64ba506cacb3e7873823c65",
        "target": {
            "file": "drivers/cpufreq/cpufreq_governor.h"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-d4901ff7",
        "signature_version": "v1",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "97482840261710202828708080551948861133",
                "267759966117310483009607805191040636925",
                "100500616241165190150886579127864505112",
                "179032359837774268834711821195292390805"
            ]
        },
        "signature_type": "Line"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a85ee6401a47ae3fc64ba506cacb3e7873823c65",
        "target": {
            "function": "cpufreq_dbs_governor_init",
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-e9debff3",
        "signature_version": "v1",
        "digest": {
            "length": 1442.0,
            "function_hash": "247604902300510276389057964352383385046"
        },
        "signature_type": "Function"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1e32083f327184b6226ce320ef30085ce785ea4e",
        "target": {
            "file": "drivers/cpufreq/cpufreq_governor.c"
        },
        "deprecated": false,
        "id": "CVE-2022-49513-ef37d3e3",
        "signature_version": "v1",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "154174298802360304472583911781340568540",
                "58974010362398033499281068323644935582",
                "60420354471350014150720086729814102511",
                "207270700593686482530265839725945751755",
                "266549150513241696222801737885339244635",
                "251590044858264526802883952857007718111",
                "244572163843800201545292567196663860694",
                "60034713997428596437332274742544774312",
                "130462470823445068559242873828665814964",
                "68304590887479902773437125723586512508",
                "200019732397606776397194030930843615374",
                "239927300807417866894619669993825920658",
                "24013743639702157658340651822771011843",
                "129511553131132172575742280441319536878",
                "262832998498498803243717591275635800539",
                "247208081227086449254026634750627059191",
                "172037979715441734486235423647709747123",
                "178273799220418069638413521257780781703",
                "247211286320299839205363046107372509694"
            ]
        },
        "signature_type": "Line"
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.6.0
Fixed
5.15.91
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.18.3