Skip to contentSkip to conversation

Remove support for SNDRV_CTL_ELEM_ACCESS_USER & minor fix

PATCH Applied [email protected] 3 participants 7 messages Jul 20, 2016

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index 592dded..54f8e44 100644
@@ -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
#2 lore raw

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
index 281e6ef..0a90cb9 100644
@@ -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
#3 lore raw

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
index 4d79aa7..cfde4cc 100644
@@ -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
Reviewed-by on the v2 series
#4 lore raw
In reply to [email protected]

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_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

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

#5 lore raw
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_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

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(-)
Quoted 8 lines

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

Applied
#6 lore raw
In reply to [email protected]
Quoted 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_USER as 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 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

Applied all three patches now. Thanks.

Takashi