In the Linux kernel, the following vulnerability has been resolved:
media: mediatek: vcodec: Only free buffer VA that is not NULL
In the MediaTek vcodec driver, while mtkvcodecmem_free() is mostly called only when the buffer to free exists, there are some instances that didn't do the check and triggered warnings in practice.
We believe those checks were forgotten unintentionally. Add the checks back to fix the warnings.
{ "vanir_signatures": [ { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@303d01082edaf817ee2df53a40dca9da637a2c04", "signature_type": "Function", "target": { "function": "h264_enc_free_work_buf", "file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c" }, "deprecated": false, "digest": { "length": 275.0, "function_hash": "119557075448238129655244508220224169777" }, "id": "CVE-2023-52888-086b22d4" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5c217253c76c94f76d1df31d0bbdcb88dc07be91", "signature_type": "Line", "target": { "file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c" }, "deprecated": false, "digest": { "line_hashes": [ "130336148227210530947347675476825667890", "45630926373452747102082293747131499126", "152285669400195586702116326870573719199", "217779031053631759202091029535445105654", "300094940087231818970600550481167206353", "174822965581621759647599529630964083866", "49470549957516250628430194712288803748" ], "threshold": 0.9 }, "id": "CVE-2023-52888-10f7c14f" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5c217253c76c94f76d1df31d0bbdcb88dc07be91", "signature_type": "Line", "target": { "file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c" }, "deprecated": false, "digest": { "line_hashes": [ "121667744912634250117077163964753325463", "241185491546792758848573760982099079580", "137749612788973803067505398715558228157", "298308779145938469604444683999598188829", "270077520380604987878994072885006146344", "40782589668181817889863992488324674855", "104045775020594394622638056527668838750", "125256203981190812315164038104526373033", "203687288787720316825604338251607052478", "58435595252380706633684207269547094388", "158859643985969307489835759470533091650", "227873059943640958025912185592365126652" ], "threshold": 0.9 }, "id": "CVE-2023-52888-3683e44e" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb005c801ec70ff4307727bd3bd6e8280169ef32", "signature_type": "Line", "target": { "file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c" }, "deprecated": false, "digest": { "line_hashes": [ "130336148227210530947347675476825667890", "45630926373452747102082293747131499126", "152285669400195586702116326870573719199", "217779031053631759202091029535445105654", "300094940087231818970600550481167206353", "174822965581621759647599529630964083866", "49470549957516250628430194712288803748" ], "threshold": 0.9 }, "id": "CVE-2023-52888-4b68ad4e" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb005c801ec70ff4307727bd3bd6e8280169ef32", "signature_type": "Function", "target": { "function": "vdec_av1_slice_free_working_buffer", "file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c" }, "deprecated": false, "digest": { "length": 584.0, "function_hash": "159477006030337683555146802891111152591" }, "id": "CVE-2023-52888-50e62f1e" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb005c801ec70ff4307727bd3bd6e8280169ef32", "signature_type": "Line", "target": { "file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c" }, "deprecated": false, "digest": { "line_hashes": [ "121667744912634250117077163964753325463", "241185491546792758848573760982099079580", "137749612788973803067505398715558228157", "298308779145938469604444683999598188829", "270077520380604987878994072885006146344", "40782589668181817889863992488324674855", "104045775020594394622638056527668838750", "125256203981190812315164038104526373033", "203687288787720316825604338251607052478", "58435595252380706633684207269547094388", "158859643985969307489835759470533091650", "227873059943640958025912185592365126652" ], "threshold": 0.9 }, "id": "CVE-2023-52888-59ada737" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@303d01082edaf817ee2df53a40dca9da637a2c04", "signature_type": "Function", "target": { "function": "vdec_av1_slice_free_working_buffer", "file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c" }, "deprecated": false, "digest": { "length": 584.0, "function_hash": "159477006030337683555146802891111152591" }, "id": "CVE-2023-52888-5b029d88" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@303d01082edaf817ee2df53a40dca9da637a2c04", "signature_type": "Line", "target": { "file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c" }, "deprecated": false, "digest": { "line_hashes": [ "130336148227210530947347675476825667890", "45630926373452747102082293747131499126", "152285669400195586702116326870573719199", "217779031053631759202091029535445105654", "300094940087231818970600550481167206353", "174822965581621759647599529630964083866", "49470549957516250628430194712288803748" ], "threshold": 0.9 }, "id": "CVE-2023-52888-5c27fe5c" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb005c801ec70ff4307727bd3bd6e8280169ef32", "signature_type": "Function", "target": { "function": "h264_enc_free_work_buf", "file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c" }, "deprecated": false, "digest": { "length": 275.0, "function_hash": "119557075448238129655244508220224169777" }, "id": "CVE-2023-52888-789ddfe4" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5c217253c76c94f76d1df31d0bbdcb88dc07be91", "signature_type": "Function", "target": { "function": "h264_enc_free_work_buf", "file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c" }, "deprecated": false, "digest": { "length": 275.0, "function_hash": "119557075448238129655244508220224169777" }, "id": "CVE-2023-52888-a3503441" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5c217253c76c94f76d1df31d0bbdcb88dc07be91", "signature_type": "Function", "target": { "function": "vdec_av1_slice_free_working_buffer", "file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c" }, "deprecated": false, "digest": { "length": 584.0, "function_hash": "159477006030337683555146802891111152591" }, "id": "CVE-2023-52888-b212d8ed" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@303d01082edaf817ee2df53a40dca9da637a2c04", "signature_type": "Line", "target": { "file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c" }, "deprecated": false, "digest": { "line_hashes": [ "121667744912634250117077163964753325463", "241185491546792758848573760982099079580", "137749612788973803067505398715558228157", "298308779145938469604444683999598188829", "270077520380604987878994072885006146344", "40782589668181817889863992488324674855", "104045775020594394622638056527668838750", "125256203981190812315164038104526373033", "203687288787720316825604338251607052478", "58435595252380706633684207269547094388", "158859643985969307489835759470533091650", "227873059943640958025912185592365126652" ], "threshold": 0.9 }, "id": "CVE-2023-52888-fb76242a" } ] }