CVE-2022-50477

Source
https://cve.org/CVERecord?id=CVE-2022-50477
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50477.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-50477
Downstream
Published
2025-10-04T15:16:37.654Z
Modified
2026-03-11T11:53:40.290926Z
Summary
rtc: class: Fix potential memleak in devm_rtc_allocate_device()
Details

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

rtc: class: Fix potential memleak in devmrtcallocate_device()

devmrtcallocatedevice() will alloc a rtcdevice first, and then run devsetname(). If devsetname() failed, the rtcdevice will memleak. Move devmaddactionorreset() in front of devset_name() to prevent memleak.

unreferenced object 0xffff888110a53000 (size 2048): comm "python3", pid 470, jiffies 4296078308 (age 58.882s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 08 30 a5 10 81 88 ff ff .........0...... 08 30 a5 10 81 88 ff ff 00 00 00 00 00 00 00 00 .0.............. backtrace: [<000000004aac0364>] kmalloctrace+0x21/0x110 [<000000000ff02202>] devmrtcallocatedevice+0xd4/0x400 [<000000001bdf5639>] devmrtcdeviceregister+0x1a/0x80 [<00000000351bf81c>] rx4581probe+0xdd/0x110 [rtcrx4581] [<00000000f0eba0ae>] spiprobe+0xde/0x130 [<00000000bff89ee8>] really_probe+0x175/0x3f0 [<00000000128e8d84>] __driverprobedevice+0xe6/0x170 [<00000000ee5bf913>] devicedriverattach+0x32/0x80 [<00000000f3f28f92>] bindstore+0x10b/0x1a0 [<000000009ff812d8>] drvattrstore+0x49/0x70 [<000000008139c323>] sysfskfwrite+0x8d/0xb0 [<00000000b6146e01>] kernfsfopwriteiter+0x214/0x2d0 [<00000000ecbe3895>] vfswrite+0x61a/0x7d0 [<00000000aa2196ea>] ksyswrite+0xc8/0x190 [<0000000046a600f5>] dosyscall64+0x37/0x90 [<00000000541a336f>] entrySYSCALL64afterhwframe+0x63/0xcd

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50477.json"
}
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
24d23181e43d72ca692a479e70dfe5b0b5dd33f1
Fixed
0bcfc8fd3e596994f527b46730579428b3a4fa5f
Fixed
59457a0f079eae19aaf322b3cc1c8ba66f55c5f3
Fixed
60da73808298ff2cfa9f165d55eb3d7aa7078601

Affected versions

v5.*
v5.15
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
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.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8
v6.*
v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.0.1
v6.0.10
v6.0.11
v6.0.12
v6.0.13
v6.0.14
v6.0.15
v6.0.2
v6.0.3
v6.0.4
v6.0.5
v6.0.6
v6.0.7
v6.0.8
v6.0.9
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1

Database specific

vanir_signatures
[
    {
        "digest": {
            "length": 487.0,
            "function_hash": "253206411549274015489884202532123755951"
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2022-50477-0aa743cf",
        "target": {
            "function": "devm_rtc_allocate_device",
            "file": "drivers/rtc/class.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59457a0f079eae19aaf322b3cc1c8ba66f55c5f3"
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "105721934769416588534048149214335330982",
                "3522518848277917847852303546862614883",
                "152383221696216968850727350751978329407",
                "204642158336921819075716456037066998226",
                "227090657364267610855844417155859409144",
                "323812606456616491388450727944333702795",
                "33595634779979871177387188289174292944"
            ]
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2022-50477-479a25fc",
        "target": {
            "file": "drivers/rtc/class.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59457a0f079eae19aaf322b3cc1c8ba66f55c5f3"
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "105721934769416588534048149214335330982",
                "3522518848277917847852303546862614883",
                "152383221696216968850727350751978329407",
                "204642158336921819075716456037066998226",
                "227090657364267610855844417155859409144",
                "323812606456616491388450727944333702795",
                "33595634779979871177387188289174292944"
            ]
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2022-50477-7bd0fd90",
        "target": {
            "file": "drivers/rtc/class.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0bcfc8fd3e596994f527b46730579428b3a4fa5f"
    },
    {
        "digest": {
            "length": 487.0,
            "function_hash": "253206411549274015489884202532123755951"
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2022-50477-857d5bcf",
        "target": {
            "function": "devm_rtc_allocate_device",
            "file": "drivers/rtc/class.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60da73808298ff2cfa9f165d55eb3d7aa7078601"
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "105721934769416588534048149214335330982",
                "3522518848277917847852303546862614883",
                "152383221696216968850727350751978329407",
                "204642158336921819075716456037066998226",
                "227090657364267610855844417155859409144",
                "323812606456616491388450727944333702795",
                "33595634779979871177387188289174292944"
            ]
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2022-50477-92559dcd",
        "target": {
            "file": "drivers/rtc/class.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60da73808298ff2cfa9f165d55eb3d7aa7078601"
    },
    {
        "digest": {
            "length": 487.0,
            "function_hash": "253206411549274015489884202532123755951"
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2022-50477-e4a7bf22",
        "target": {
            "function": "devm_rtc_allocate_device",
            "file": "drivers/rtc/class.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0bcfc8fd3e596994f527b46730579428b3a4fa5f"
    }
]
source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50477.json"