Remove support for SNDRV_CTL_ELEM_ACCESS_USER & minor fix
v2 cover Remove support for SNDRV_CTL_ELEM_ACCESS_USER & minor fix
From: Mengdong Lin <[email protected]>
There is no ABI change in this series.
Remove support for control flag SNDRV_CTL_ELEM_ACCESS_USER as Takashi Sakamoto suggested. Also fix 2 compiler warnings and add check before string cpy.
History:
v2: Revise commit messages.
Mengdong Lin (3):
topology: Remove support for control flag SNDRV_CTL_ELEM_ACCESS_USER
topology: Add ATTRIBUTE_UNUSED for unused parameters to fix compiler
warning
topology: Check address and length before string copy
src/topology/ctl.c | 1 - src/topology/pcm.c | 8 ++++---- src/topology/tplg_local.h | 3 +++ 3 files changed, 7 insertions(+), 5 deletions(-)
Signature · 1 line
2.5.0
PATCH v2 1/3 topology: Remove support for control flag SNDRV_CTL_ELEM_ACCESS_USER
From: Mengdong Lin <[email protected]>
This access flag is used to add controls from user space by ioctl. But topology only configures controls in user space and these controls will eventually be created by ASoC in kernel, so topology should not support this flag.
src/topology/ctl.c +0 -1
@@ -41,7 +41,6 @@ static const struct ctl_access_elem ctl_access[] = { {"lock", SNDRV_CTL_ELEM_ACCESS_LOCK}, {"owner", SNDRV_CTL_ELEM_ACCESS_OWNER}, {"tlv_callback", SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK}, - {"user", SNDRV_CTL_ELEM_ACCESS_USER}, };/* find CTL access strings and conver to values */
Signature · 1 line
2.5.0
PATCH v2 2/3 topology: Add ATTRIBUTE_UNUSED for unused parameters to fix compiler warning
In reply to [email protected]From: Mengdong Lin <[email protected]>
This commit adds ATTRIBUTE_UNUSED to the unused parameter 'tplg' for function tplg_parse_streams() and tplg_parse_fe_dai(). These two functions need to keep 'tplg' as ops for tplg_parse_compound().
The compiler warnings below are fixed:
pcm.c: In function 'tplg_parse_streams':
pcm.c:262:43: warning: unused parameter 'tplg' [-Wunused-parameter]
static int tplg_parse_streams(snd_tplg_t *tplg, snd_config_t *cfg,
^
pcm.c: In function 'tplg_parse_fe_dai':
pcm.c:324:42: warning: unused parameter 'tplg' [-Wunused-parameter]
static int tplg_parse_fe_dai(snd_tplg_t *tplg, snd_config_t *cfg,
src/topology/pcm.c +4 -4
@@ -259,8 +259,8 @@ int tplg_parse_stream_caps(snd_tplg_t *tplg, }/* Parse the caps and config of a pcm stream */ -static int tplg_parse_streams (snd_tplg_t *tplg,snd_config_t *cfg, -void *private) +static int tplg_parse_streams(snd_tplg_t *tplg ATTRIBUTE_UNUSED, +snd_config_t *cfg,void *private) {snd_config_iterator_t i, next;snd_config_t *n;
@@ -321,8 +321,8 @@ static int tplg_parse_streams(snd_tplg_t *tplg, snd_config_t *cfg, }/* Parse name and id of a front-end DAI (ie. cpu dai of a FE DAI link) */ -static int tplg_parse_fe_dai (snd_tplg_t *tplg,snd_config_t *cfg, -void *private) +static int tplg_parse_fe_dai(snd_tplg_t *tplg ATTRIBUTE_UNUSED, +snd_config_t *cfg,void *private) {struct tplg_elem *elem = private;struct snd_soc_tplg_pcm *pcm = elem->pcm;
Signature · 1 line
2.5.0
PATCH v2 3/3 topology: Check address and length before string copy
In reply to [email protected]From: Mengdong Lin <[email protected]>
elem_copy_text() is widely used for string copy in topology. Because some name fields are not mandatory for users, sometimes the source can be invalid and we should not do the copy. So we add check here.
src/topology/tplg_local.h +3 -0
@@ -253,6 +253,9 @@ struct tplg_elem* tplg_elem_new_common(snd_tplg_t *tplg,static inline void elem_copy_text (char *dest,const char *src,int len) { +if (!dest || !src || !len) +return ; +strncpy (dest, src, len); dest[len -1 ] =0 ; }
Signature · 1 line
2.5.0
Hi,
Quoted 17 lines · On Jul 20 2016 10:52, [email protected] wrote:
From: Mengdong Lin <[email protected]>
There is no ABI change in this series.
Remove support for control flag
SNDRV_CTL_ELEM_ACCESS_USERas Takashi Sakamoto suggested. Also fix 2 compiler warnings and add check before string cpy.History:
v2: Revise commit messages.Mengdong Lin (3):
topology: Remove support for control flagSNDRV_CTL_ELEM_ACCESS_USER
topology: AddATTRIBUTE_UNUSEDfor unused parameters to fix compiler
warning
topology: Check address and length before string copy
Quoted 4 lines
src/topology/ctl.c | 1 - src/topology/pcm.c | 8 ++++---- src/topology/tplg_local.h | 3 +++ 3 files changed, 7 insertions(+), 5 deletions(-)
But I believe that we can seek better ways for the purpose of third patch. For example, changing prototype of the function to return error code might help callers to handle errors appropriately.
Anyway, thanks for the first patch.
Regards
Takashi Sakamoto
Quoted 25 lines · Takashi Sakamoto
Hi,
Quoted 17 lines · On Jul 20 2016 10:52, [email protected] wrote:
From: Mengdong Lin <[email protected]>
There is no ABI change in this series.
Remove support for control flag
SNDRV_CTL_ELEM_ACCESS_USERas Takashi Sakamoto suggested. Also fix 2 compiler warnings and add check before string cpy.History:
v2: Revise commit messages.Mengdong Lin (3):
topology: Remove support for control flagSNDRV_CTL_ELEM_ACCESS_USER
topology: AddATTRIBUTE_UNUSEDfor unused parameters to fix compiler
warning
topology: Check address and length before string copyQuoted 4 lines
src/topology/ctl.c | 1 - src/topology/pcm.c | 8 ++++---- src/topology/tplg_local.h | 3 +++ 3 files changed, 7 insertions(+), 5 deletions(-)
Quoted 8 lines
Reviewed-by Takashi Sakamoto <[email protected]>But I believe that we can seek better ways for the purpose of third patch. For example, changing prototype of the function to return error code might help callers to handle errors appropriately.
Anyway, thanks for the first patch.
The 3rd patch is to reduce checking on some optional fields elsewhere. We could drop this patch if we add check before calling elem_copy_text() and it will bring more code.
Thanks
Mengdong
Takashi Iwai
AppliedQuoted 9 lines · On Wed, 20 Jul 2016 03:52:23 +0200, [email protected] wrote:
From: Mengdong Lin <[email protected]>
There is no ABI change in this series.
Remove support for control flag
SNDRV_CTL_ELEM_ACCESS_USERas Takashi Sakamoto suggested. Also fix 2 compiler warnings and add check before string cpy.
Quoted 8 lines
History:
v2: Revise commit messages.Mengdong Lin (3):
topology: Remove support for control flagSNDRV_CTL_ELEM_ACCESS_USER
topology: AddATTRIBUTE_UNUSEDfor unused parameters to fix compiler
warning
topology: Check address and length before string copy
Applied all three patches now. Thanks.
Takashi