In the Linux kernel, the following vulnerability has been resolved:
drm/msm/dpu: Add mutex lock in control vblank irq
Add a mutex lock to control vblank irq to synchronize vblank enable/disable operations happening from different threads to prevent race conditions while registering/unregistering the vblank irq callback.
v4: -Removed vblankctllock from dpuencodervirt, so it is only a parameter of dpuencoderphys. -Switch from atomic refcnt to a simple int counter as mutex has now been added v3: Mistakenly did not change wording in last version. It is done now. v2: Slightly changed wording of commit message
Patchwork: https://patchwork.freedesktop.org/patch/571854/
{ "vanir_signatures": [ { "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "53379050050581112683413881549288178379", "230140897050662518692074706564056540570", "22366296264692619909627432151399379743", "55865905965158253740576657109938198566", "45187751187277936561330073553471685712", "144874697272859715355828504298456819375", "130980303365809470078078788067724196477", "261541440361491087110401623518275584186", "90411467872538928228119982930816963992", "105333465707665250498957347697325842916", "285728150040329875185381003630461112369", "84838730466872867377021465540900863982", "320321824697611661713830297108382817017", "270156712754235533152281222984687689248", "227972967322449406856614169524070934290", "71447271849613717543344477787686565210", "126904681118022986606412979029716940432", "177856609966855579389818126459221100587", "268774727155588185508615296496144766467", "170660804117354970548491607826179849913", "239854158382929354419113917258965725357", "61149566997663986524002958634564239689", "112272590159319513140991701488567497343" ] }, "id": "CVE-2023-52586-164fcf58", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "132817199680338378479745764952239825899", "23864126197301683834674756337288290649", "231364723845622132775825977890938057469", "78444926623967571810636264373540695898" ] }, "id": "CVE-2023-52586-190600b0", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "length": 983.0, "function_hash": "242992180743335144745858993947669997506" }, "id": "CVE-2023-52586-1b2e80bf", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c", "function": "dpu_encoder_phys_cmd_control_vblank_irq" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "330567290074130432720223402933012324357", "291626599984896132704261866825515693684", "151539529120362583030558092038768180957", "171606672771740659742743241948922427271", "241928582322411640165175888347977563489", "339856556211971222977851190258746618990", "24895058737657577776386335331992125273", "70627987252179671594134601603116316406", "73186714201298611904339237790239009254", "85570510025732964886455694589776029629", "16691563319053065024853252408729588120", "293416067179369530046638175841121455972" ] }, "id": "CVE-2023-52586-27d32f44", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "length": 889.0, "function_hash": "287055121678586999026546831233483709855" }, "id": "CVE-2023-52586-2b459d61", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c", "function": "dpu_encoder_phys_cmd_init" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "53379050050581112683413881549288178379", "230140897050662518692074706564056540570", "22366296264692619909627432151399379743", "55865905965158253740576657109938198566", "45187751187277936561330073553471685712", "144874697272859715355828504298456819375", "130980303365809470078078788067724196477", "261541440361491087110401623518275584186", "90411467872538928228119982930816963992", "105333465707665250498957347697325842916", "285728150040329875185381003630461112369", "84838730466872867377021465540900863982", "320321824697611661713830297108382817017", "270156712754235533152281222984687689248", "227972967322449406856614169524070934290", "71447271849613717543344477787686565210", "126904681118022986606412979029716940432", "177856609966855579389818126459221100587", "268774727155588185508615296496144766467", "170660804117354970548491607826179849913", "239854158382929354419113917258965725357", "61149566997663986524002958634564239689", "112272590159319513140991701488567497343" ] }, "id": "CVE-2023-52586-2f8c3d15", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "length": 502.0, "function_hash": "290348068663986323226540306233643560588" }, "id": "CVE-2023-52586-4335ad8e", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c", "function": "dpu_encoder_phys_vid_irq_control" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "length": 502.0, "function_hash": "290348068663986323226540306233643560588" }, "id": "CVE-2023-52586-4ef4d86f", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c", "function": "dpu_encoder_phys_vid_irq_control" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "132817199680338378479745764952239825899", "23864126197301683834674756337288290649", "231364723845622132775825977890938057469", "78444926623967571810636264373540695898" ] }, "id": "CVE-2023-52586-56290a1d", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "length": 983.0, "function_hash": "242992180743335144745858993947669997506" }, "id": "CVE-2023-52586-5921603a", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c", "function": "dpu_encoder_phys_cmd_control_vblank_irq" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "283282682606389241046729951360248057217", "259012996455239633390299099987670056631", "201982087700178071132110757965089246216", "315476076038985789935553222701642182750", "258820938584249498631231124721811496217", "38518541107719239992457337149875575505", "301556626577037931244027976103116566305", "140734656469043277633623350060166740058", "95850681201166760297709313676278038046", "65010529212569762146513639177835820224", "280530535009422274227535340650333198640", "133492498540827361368914531245426567317", "20038966207944044906750164453909994915", "3177288067462189075086477357238140303", "49536733002536564712772385651703662537", "194763789143569013396868951863628916814", "216139595146448154853133209088625043648", "47755595280050747695286281849958874242", "140877551945406004864230346826743759992", "15275699254321886978548133459238127156", "240349519834127516621389089285542531708", "211941641938411548089499576128439669394", "44515461842993520913682143057414275430", "298636609026330213284626549382472202909", "8555921577831232673098838795590540290" ] }, "id": "CVE-2023-52586-5a075a8e", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "length": 578.0, "function_hash": "23479811944148838675993153245097051586" }, "id": "CVE-2023-52586-6144b975", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c", "function": "dpu_encoder_phys_vid_init" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "length": 874.0, "function_hash": "248933644414677388410464654257938842567" }, "id": "CVE-2023-52586-72136bb6", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c", "function": "dpu_encoder_phys_cmd_irq_control" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "length": 554.0, "function_hash": "178601426682823867139044490431655377551" }, "id": "CVE-2023-52586-8c3cef98", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c", "function": "dpu_encoder_phys_vid_init" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "length": 865.0, "function_hash": "244257706700183851081968320680940393142" }, "id": "CVE-2023-52586-8efadace", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c", "function": "dpu_encoder_phys_cmd_init" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "length": 853.0, "function_hash": "73816021990678216896963470501218712290" }, "id": "CVE-2023-52586-a024d5c9", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c", "function": "dpu_encoder_phys_vid_control_vblank_irq" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "length": 658.0, "function_hash": "162518008287441266126216463665936076706" }, "id": "CVE-2023-52586-aec2139e", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c", "function": "dpu_encoder_phys_init" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "283282682606389241046729951360248057217", "259012996455239633390299099987670056631", "201982087700178071132110757965089246216", "315476076038985789935553222701642182750", "258820938584249498631231124721811496217", "38518541107719239992457337149875575505", "301556626577037931244027976103116566305", "140734656469043277633623350060166740058", "95850681201166760297709313676278038046", "65010529212569762146513639177835820224", "280530535009422274227535340650333198640", "133492498540827361368914531245426567317", "20038966207944044906750164453909994915", "3177288067462189075086477357238140303", "49536733002536564712772385651703662537", "194763789143569013396868951863628916814", "216139595146448154853133209088625043648", "47755595280050747695286281849958874242", "140877551945406004864230346826743759992", "15275699254321886978548133459238127156", "240349519834127516621389089285542531708", "211941641938411548089499576128439669394", "44515461842993520913682143057414275430", "298636609026330213284626549382472202909", "8555921577831232673098838795590540290" ] }, "id": "CVE-2023-52586-c7621a31", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "330567290074130432720223402933012324357", "291626599984896132704261866825515693684", "151539529120362583030558092038768180957", "286815437969053448215863776399363004025", "162502400917985897213455351217853457898", "339856556211971222977851190258746618990", "24895058737657577776386335331992125273", "70627987252179671594134601603116316406", "73186714201298611904339237790239009254", "85570510025732964886455694589776029629", "16691563319053065024853252408729588120", "293416067179369530046638175841121455972" ] }, "id": "CVE-2023-52586-d9e273b8", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "length": 874.0, "function_hash": "248933644414677388410464654257938842567" }, "id": "CVE-2023-52586-dc01fb57", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c", "function": "dpu_encoder_phys_cmd_irq_control" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" }, { "signature_version": "v1", "digest": { "length": 658.0, "function_hash": "162518008287441266126216463665936076706" }, "id": "CVE-2023-52586-f14f208a", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c", "function": "dpu_encoder_phys_init" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14f109bf74dd67e1d0469fed859c8e506b0df53f" }, { "signature_version": "v1", "digest": { "length": 853.0, "function_hash": "73816021990678216896963470501218712290" }, "id": "CVE-2023-52586-fbd5f099", "deprecated": false, "target": { "file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c", "function": "dpu_encoder_phys_vid_control_vblank_irq" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@45284ff733e4caf6c118aae5131eb7e7cf3eea5a" } ] }