mbox series

[v2,00/10] topology: decode: Various fixes

Message ID 1594026363-30276-1-git-send-email-piotrx.maziarz@linux.intel.com (mailing list archive)
Headers show
Series topology: decode: Various fixes | expand

Message

Piotr Maziarz July 6, 2020, 9:05 a.m. UTC
This series fixes various problems with topology decoding mechanism.
Some of the problems were critical like improper memory management or
infinite loops that were causing undefined behaviour or program crashes,
while other resulted in losing some data during conversion.

Bugs found while testing with Intel SST topologies.

Changelog:
v2:
  -Divide into more patches, critical fixes are in separate patches now
  -More specific descriptions
  -Fix a typo UML to UCM
  -Add error reporting in topology: decode: fix channel map memory
   allocation
  -Remove goto again in topology: Make buffer for saving dynamic size
   for better readability

Piotr Maziarz (10):
  topology: decode: Fix channel map memory allocation
  topology: decode: Fix infinite loop in decoding enum control
  topology: decode: Remove decoding  values for enum control
  topology: decode: Add enum control texts as separate element
  topology: decode: Fix printing texts section
  topology: decode: Change declaration of enum decoding function
  topology: decode: Fix decoding PCM formats and rates
  topology: decode: Print sig_bits field in PCM capabilities section
  topology: decode: Add DAI name printing
  topology: Make buffer for saving dynamic size

 src/topology/ctl.c        | 51 ++++++++++++++++++++++-------------------------
 src/topology/dapm.c       |  3 +--
 src/topology/pcm.c        | 11 +++++++---
 src/topology/save.c       | 34 ++++++++++++++++++++++++++-----
 src/topology/text.c       |  2 +-
 src/topology/tplg_local.h |  2 +-
 6 files changed, 64 insertions(+), 39 deletions(-)

Comments

Pierre-Louis Bossart July 6, 2020, 8:01 p.m. UTC | #1
On 7/6/20 4:05 AM, Piotr Maziarz wrote:
> This series fixes various problems with topology decoding mechanism.
> Some of the problems were critical like improper memory management or
> infinite loops that were causing undefined behaviour or program crashes,
> while other resulted in losing some data during conversion.
> 
> Bugs found while testing with Intel SST topologies.
> 
> Changelog:
> v2:
>    -Divide into more patches, critical fixes are in separate patches now
>    -More specific descriptions
>    -Fix a typo UML to UCM

That fix makes it even more confusing, I get that a UCM file can set 
values for controls defined in a topology file, but 'decoding to UCM' 
leaves me wondering what you are referring to.

Also you may want to remove all the Gerrit ChangeId before sending to 
the mailing list.

>    -Add error reporting in topology: decode: fix channel map memory
>     allocation
>    -Remove goto again in topology: Make buffer for saving dynamic size
>     for better readability
> 
> Piotr Maziarz (10):
>    topology: decode: Fix channel map memory allocation
>    topology: decode: Fix infinite loop in decoding enum control
>    topology: decode: Remove decoding  values for enum control
>    topology: decode: Add enum control texts as separate element
>    topology: decode: Fix printing texts section
>    topology: decode: Change declaration of enum decoding function
>    topology: decode: Fix decoding PCM formats and rates
>    topology: decode: Print sig_bits field in PCM capabilities section
>    topology: decode: Add DAI name printing
>    topology: Make buffer for saving dynamic size
> 
>   src/topology/ctl.c        | 51 ++++++++++++++++++++++-------------------------
>   src/topology/dapm.c       |  3 +--
>   src/topology/pcm.c        | 11 +++++++---
>   src/topology/save.c       | 34 ++++++++++++++++++++++++++-----
>   src/topology/text.c       |  2 +-
>   src/topology/tplg_local.h |  2 +-
>   6 files changed, 64 insertions(+), 39 deletions(-)
>
Piotr Maziarz July 14, 2020, 12:13 p.m. UTC | #2
On 2020-07-06 22:01, Pierre-Louis Bossart wrote:
> 
> 
> On 7/6/20 4:05 AM, Piotr Maziarz wrote:
>> This series fixes various problems with topology decoding mechanism.
>> Some of the problems were critical like improper memory management or
>> infinite loops that were causing undefined behaviour or program crashes,
>> while other resulted in losing some data during conversion.
>>
>> Bugs found while testing with Intel SST topologies.
>>
>> Changelog:
>> v2:
>>    -Divide into more patches, critical fixes are in separate patches now
>>    -More specific descriptions
>>    -Fix a typo UML to UCM
> 
> That fix makes it even more confusing, I get that a UCM file can set 
> values for controls defined in a topology file, but 'decoding to UCM' 
> leaves me wondering what you are referring to.
> 

I meant standard ALSA configuration file format that is used also by UCM 
files. I'll change it for more clarity.

> Also you may want to remove all the Gerrit ChangeId before sending to 
> the mailing list.
> 
>>    -Add error reporting in topology: decode: fix channel map memory
>>     allocation
>>    -Remove goto again in topology: Make buffer for saving dynamic size
>>     for better readability
>>
>> Piotr Maziarz (10):
>>    topology: decode: Fix channel map memory allocation
>>    topology: decode: Fix infinite loop in decoding enum control
>>    topology: decode: Remove decoding  values for enum control
>>    topology: decode: Add enum control texts as separate element
>>    topology: decode: Fix printing texts section
>>    topology: decode: Change declaration of enum decoding function
>>    topology: decode: Fix decoding PCM formats and rates
>>    topology: decode: Print sig_bits field in PCM capabilities section
>>    topology: decode: Add DAI name printing
>>    topology: Make buffer for saving dynamic size
>>
>>   src/topology/ctl.c        | 51 
>> ++++++++++++++++++++++-------------------------
>>   src/topology/dapm.c       |  3 +--
>>   src/topology/pcm.c        | 11 +++++++---
>>   src/topology/save.c       | 34 ++++++++++++++++++++++++++-----
>>   src/topology/text.c       |  2 +-
>>   src/topology/tplg_local.h |  2 +-
>>   6 files changed, 64 insertions(+), 39 deletions(-)
>>