From bf4e161bf9ae02b938f342b494d7e8944210178e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 28 Mar 2022 17:30:06 +0200 Subject: [PATCH] ANDROID: Fix up abi issue with struct snd_pcm_runtime A portion of the fix for CVE-2022-1048, commit 0f6947f5f520 ("ALSA: pcm: Fix races among concurrent hw_params and hw_free calls"), caused an ABI break by adding a new field to struct snd_pcm_runtime. Because we have to keep this new addition, it is safe to move it to the end of the structure because this is only ever created by the sound core, and referenced as a pointer everywhere else. This does require a .xml update also to handle the increased structure size: Leaf changes summary: 1 artifact changed Changed leaf types summary: 1 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 'struct snd_pcm_runtime at pcm.h:342:1' changed: type size changed from 6080 to 6336 (in bits) 1 data member insertion: 'mutex buffer_mutex', at offset 6080 (in bits) at pcm.h:428:1 92 impacted interfaces Bug: 161946584 Fixes: 0f6947f5f520 ("ALSA: pcm: Fix races among concurrent hw_params and hw_free calls") Signed-off-by: Greg Kroah-Hartman [Lee: Update XML files for this branch] Signed-off-by: Lee Jones Change-Id: I20340387fbe85fb82676517a93bb0184c8c1eb65 --- android/abi_gki_aarch64.xml | 2651 ++++++++++++++++++----------------- include/sound/pcm.h | 4 +- 2 files changed, 1330 insertions(+), 1325 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 418e0aa0fdcb..fe516c3c606a 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -9442,18 +9442,18 @@ - + - + - + - + - + @@ -9738,75 +9738,75 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -10292,204 +10292,204 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -11325,26 +11325,26 @@ - + - + - + - + - + - + - + - + @@ -11977,84 +11977,84 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -12963,66 +12963,66 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14072,99 +14072,99 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14715,7 +14715,7 @@ - + @@ -14786,13 +14786,13 @@ - + - + @@ -15112,12 +15112,12 @@ - + - + - + @@ -17658,7 +17658,7 @@ - + @@ -17747,7 +17747,7 @@ - + @@ -17776,20 +17776,20 @@ - + - + - + - + - + - + @@ -17808,12 +17808,12 @@ - + - + - + @@ -17843,18 +17843,18 @@ - + - + - + - + - + @@ -18016,33 +18016,33 @@ - + - + - + - + - + - + - + - + - + - + @@ -20118,12 +20118,12 @@ - + - + - + @@ -20179,15 +20179,15 @@ - + - + - + - + @@ -20410,7 +20410,7 @@ - + @@ -20769,12 +20769,12 @@ - + - + - + @@ -22180,9 +22180,9 @@ - + - + @@ -26532,12 +26532,12 @@ - + - + - + @@ -26623,48 +26623,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -28355,7 +28355,7 @@ - + @@ -28643,7 +28643,7 @@ - + @@ -33686,18 +33686,18 @@ - + - + - + - + - + @@ -35385,204 +35385,204 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -48323,24 +48323,24 @@ - + - + - + - + - + - + - + @@ -48378,15 +48378,15 @@ - - - + + + - - - - + + + + @@ -48533,45 +48533,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -48597,7 +48597,7 @@ - + @@ -49104,7 +49104,7 @@ - + @@ -49172,14 +49172,14 @@ - - - + + + - - - + + + @@ -49660,7 +49660,7 @@ - + @@ -53974,7 +53974,7 @@ - + @@ -56024,7 +56024,7 @@ - + @@ -60989,7 +60989,7 @@ - + @@ -61015,51 +61015,51 @@ - + - + - + - + - + - + - + - + - + - + @@ -65285,118 +65285,118 @@ - - - + + + - - - + + + - - - + + + - + - + - - + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - - + + + @@ -81532,9 +81532,9 @@ - - - + + + @@ -81565,43 +81565,43 @@ - - + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - + + + + @@ -88803,33 +88803,33 @@ - - - - - + + + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + @@ -94607,7 +94607,7 @@ - + @@ -94616,7 +94616,7 @@ - + @@ -106531,16 +106531,16 @@ - - + + - - + + - - + + @@ -107677,7 +107677,7 @@ - + @@ -107690,11 +107690,11 @@ - + - + @@ -107704,7 +107704,7 @@ - + @@ -108180,7 +108180,7 @@ - + @@ -108988,7 +108988,7 @@ - + @@ -112173,7 +112173,7 @@ - + @@ -112186,19 +112186,19 @@ - + - + - + @@ -112225,7 +112225,7 @@ - + @@ -112235,7 +112235,7 @@ - + @@ -112249,7 +112249,7 @@ - + @@ -112312,7 +112312,7 @@ - + @@ -113522,26 +113522,26 @@ - + - + - + - + - + - + - + - + @@ -116150,7 +116150,7 @@ - + @@ -117120,13 +117120,13 @@ - + - + @@ -117151,7 +117151,7 @@ - + @@ -134370,7 +134370,7 @@ - + @@ -134391,7 +134391,7 @@ - + @@ -134399,7 +134399,7 @@ - + @@ -134489,7 +134489,7 @@ - + @@ -134528,7 +134528,7 @@ - + @@ -134539,7 +134539,7 @@ - + @@ -134555,14 +134555,14 @@ - + - + @@ -137637,157 +137637,157 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -137807,6 +137807,17 @@ + + + + + + + + + + + @@ -137951,7 +137962,7 @@ - + @@ -138120,6 +138131,9 @@ + + + @@ -138230,31 +138244,20 @@ - + - + - + - + - + - - - - - - - - - - - @@ -138285,13 +138288,13 @@ - + - + @@ -138299,11 +138302,11 @@ - + - + @@ -139180,12 +139183,12 @@ - - - + + + - + @@ -140343,25 +140346,25 @@ - - - - - - + + + + + + - + @@ -140848,7 +140851,7 @@ - + @@ -141321,7 +141324,7 @@ - + @@ -144264,45 +144267,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -144319,28 +144322,28 @@ - - + + - - + + - - + + - - + + - - + + - - + + @@ -145518,12 +145521,12 @@ - - + + - - + + @@ -145540,7 +145543,7 @@ - + @@ -145848,15 +145851,15 @@ - - + + - - - - - + + + + + @@ -146107,7 +146110,7 @@ - + @@ -147409,7 +147412,7 @@ - + @@ -148544,10 +148547,10 @@ - - - - + + + + @@ -149201,12 +149204,12 @@ - - - - - - + + + + + + @@ -149472,10 +149475,10 @@ - - - - + + + + @@ -149500,14 +149503,14 @@ - - + + - - - - + + + + @@ -150300,7 +150303,7 @@ - + @@ -150514,12 +150517,12 @@ - - - - - - + + + + + + @@ -150877,7 +150880,7 @@ - + @@ -150921,50 +150924,50 @@ - + - - - - - - - + + + + + + + - + - + - - + + - - + + - - + + - - - + + + - - - - - - + + + + + + - - + + @@ -153827,9 +153830,9 @@ - + - + @@ -158813,209 +158816,209 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -159177,9 +159180,9 @@ - + - + @@ -159197,103 +159200,103 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -159313,103 +159316,103 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -159611,7 +159614,7 @@ - + @@ -161346,75 +161349,75 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -163149,7 +163152,7 @@ - + @@ -164322,10 +164325,10 @@ - - - - + + + + @@ -164334,12 +164337,12 @@ - - + + - - + + @@ -165844,24 +165847,24 @@ - - - + + + - - - - - + + + + + - - - - - - + + + + + + @@ -166266,41 +166269,41 @@ - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + @@ -166425,9 +166428,9 @@ - - - + + + @@ -166466,7 +166469,7 @@ - + @@ -166735,7 +166738,7 @@ - + @@ -167454,16 +167457,16 @@ - + - + - + - + @@ -167476,8 +167479,8 @@ - - + + @@ -167645,33 +167648,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - + + @@ -167715,93 +167718,93 @@ - - - - + + + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -167908,7 +167911,7 @@ - + @@ -168015,7 +168018,7 @@ - + @@ -168034,7 +168037,7 @@ - + @@ -168063,7 +168066,7 @@ - + @@ -168099,7 +168102,7 @@ - + @@ -168127,7 +168130,7 @@ - + @@ -168878,7 +168881,7 @@ - + @@ -168886,7 +168889,7 @@ - + @@ -168894,7 +168897,7 @@ - + @@ -171132,10 +171135,6 @@ - - - - @@ -171160,7 +171159,7 @@ - + @@ -172413,22 +172412,22 @@ - - - - + + + + - - - - + + + + - - + + @@ -173631,7 +173630,7 @@ - + @@ -173795,7 +173794,7 @@ - + @@ -176991,7 +176990,7 @@ - + @@ -177631,27 +177630,27 @@ - - - - - + + + + + - - - - - - - + + + + + + + - - - - - + + + + + @@ -183564,131 +183563,131 @@ - - - - - + + + + + - - + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - + + + - - - - + + + + - - - - + + + + @@ -184370,35 +184369,35 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - + + + @@ -184782,7 +184781,7 @@ - + @@ -184808,6 +184807,10 @@ + + + + @@ -184817,7 +184820,7 @@ - + @@ -185134,14 +185137,14 @@ - - - + + + - - - + + + @@ -186537,11 +186540,11 @@ - + - + @@ -186643,12 +186646,12 @@ - + - + - + @@ -186685,27 +186688,27 @@ - + - + - + - + - + - + - + - + @@ -186718,8 +186721,8 @@ - - + + @@ -186765,13 +186768,13 @@ - - - - - - - + + + + + + + @@ -186783,12 +186786,12 @@ - - - - - - + + + + + + @@ -186798,13 +186801,13 @@ - - - + + + - - + + @@ -186852,12 +186855,12 @@ - + - + @@ -186867,35 +186870,35 @@ - + - + - + - + - - + + - - - + + + @@ -191056,19 +191059,19 @@ - - - - - - + + + + + + - - - - - + + + + + @@ -191078,16 +191081,16 @@ - - - - + + + + - - - - + + + + @@ -191096,69 +191099,69 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -191365,62 +191368,62 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + @@ -191442,18 +191445,18 @@ - - - - - + + + + + - - - - - + + + + + diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 5de2061a2ccd..7cf607b7583f 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -395,7 +395,6 @@ struct snd_pcm_runtime { wait_queue_head_t sleep; /* poll sleep */ wait_queue_head_t tsleep; /* transfer sleep */ struct fasync_struct *fasync; - struct mutex buffer_mutex; /* protect for buffer changes */ /* -- private section -- */ void *private_data; @@ -425,6 +424,9 @@ struct snd_pcm_runtime { /* -- OSS things -- */ struct snd_pcm_oss_runtime oss; #endif +#ifndef __GENKSYMS__ + struct mutex buffer_mutex; /* protect for buffer changes */ +#endif }; struct snd_pcm_group { /* keep linked substreams */