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.
[
{
"signature_type": "Function",
"digest": {
"function_hash": "119557075448238129655244508220224169777",
"length": 275.0
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c",
"function": "h264_enc_free_work_buf"
},
"signature_version": "v1",
"id": "CVE-2023-52888-086b22d4",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@303d01082edaf817ee2df53a40dca9da637a2c04"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130336148227210530947347675476825667890",
"45630926373452747102082293747131499126",
"152285669400195586702116326870573719199",
"217779031053631759202091029535445105654",
"300094940087231818970600550481167206353",
"174822965581621759647599529630964083866",
"49470549957516250628430194712288803748"
]
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c"
},
"signature_version": "v1",
"id": "CVE-2023-52888-10f7c14f",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5c217253c76c94f76d1df31d0bbdcb88dc07be91"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"121667744912634250117077163964753325463",
"241185491546792758848573760982099079580",
"137749612788973803067505398715558228157",
"298308779145938469604444683999598188829",
"270077520380604987878994072885006146344",
"40782589668181817889863992488324674855",
"104045775020594394622638056527668838750",
"125256203981190812315164038104526373033",
"203687288787720316825604338251607052478",
"58435595252380706633684207269547094388",
"158859643985969307489835759470533091650",
"227873059943640958025912185592365126652"
]
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c"
},
"signature_version": "v1",
"id": "CVE-2023-52888-3683e44e",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5c217253c76c94f76d1df31d0bbdcb88dc07be91"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130336148227210530947347675476825667890",
"45630926373452747102082293747131499126",
"152285669400195586702116326870573719199",
"217779031053631759202091029535445105654",
"300094940087231818970600550481167206353",
"174822965581621759647599529630964083866",
"49470549957516250628430194712288803748"
]
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c"
},
"signature_version": "v1",
"id": "CVE-2023-52888-4b68ad4e",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb005c801ec70ff4307727bd3bd6e8280169ef32"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "159477006030337683555146802891111152591",
"length": 584.0
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c",
"function": "vdec_av1_slice_free_working_buffer"
},
"signature_version": "v1",
"id": "CVE-2023-52888-50e62f1e",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb005c801ec70ff4307727bd3bd6e8280169ef32"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"121667744912634250117077163964753325463",
"241185491546792758848573760982099079580",
"137749612788973803067505398715558228157",
"298308779145938469604444683999598188829",
"270077520380604987878994072885006146344",
"40782589668181817889863992488324674855",
"104045775020594394622638056527668838750",
"125256203981190812315164038104526373033",
"203687288787720316825604338251607052478",
"58435595252380706633684207269547094388",
"158859643985969307489835759470533091650",
"227873059943640958025912185592365126652"
]
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c"
},
"signature_version": "v1",
"id": "CVE-2023-52888-59ada737",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb005c801ec70ff4307727bd3bd6e8280169ef32"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "159477006030337683555146802891111152591",
"length": 584.0
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c",
"function": "vdec_av1_slice_free_working_buffer"
},
"signature_version": "v1",
"id": "CVE-2023-52888-5b029d88",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@303d01082edaf817ee2df53a40dca9da637a2c04"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130336148227210530947347675476825667890",
"45630926373452747102082293747131499126",
"152285669400195586702116326870573719199",
"217779031053631759202091029535445105654",
"300094940087231818970600550481167206353",
"174822965581621759647599529630964083866",
"49470549957516250628430194712288803748"
]
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c"
},
"signature_version": "v1",
"id": "CVE-2023-52888-5c27fe5c",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@303d01082edaf817ee2df53a40dca9da637a2c04"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "119557075448238129655244508220224169777",
"length": 275.0
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c",
"function": "h264_enc_free_work_buf"
},
"signature_version": "v1",
"id": "CVE-2023-52888-789ddfe4",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb005c801ec70ff4307727bd3bd6e8280169ef32"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "119557075448238129655244508220224169777",
"length": 275.0
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c",
"function": "h264_enc_free_work_buf"
},
"signature_version": "v1",
"id": "CVE-2023-52888-a3503441",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5c217253c76c94f76d1df31d0bbdcb88dc07be91"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "159477006030337683555146802891111152591",
"length": 584.0
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c",
"function": "vdec_av1_slice_free_working_buffer"
},
"signature_version": "v1",
"id": "CVE-2023-52888-b212d8ed",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5c217253c76c94f76d1df31d0bbdcb88dc07be91"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"121667744912634250117077163964753325463",
"241185491546792758848573760982099079580",
"137749612788973803067505398715558228157",
"298308779145938469604444683999598188829",
"270077520380604987878994072885006146344",
"40782589668181817889863992488324674855",
"104045775020594394622638056527668838750",
"125256203981190812315164038104526373033",
"203687288787720316825604338251607052478",
"58435595252380706633684207269547094388",
"158859643985969307489835759470533091650",
"227873059943640958025912185592365126652"
]
},
"target": {
"file": "drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c"
},
"signature_version": "v1",
"id": "CVE-2023-52888-fb76242a",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@303d01082edaf817ee2df53a40dca9da637a2c04"
}
]