[alsa-devel] [PATCH v3 09/14] ASoC: SOF: Add firmware, loader support

Bard liao yung-chuan.liao at linux.intel.com
Fri Dec 21 10:05:04 CET 2018


On 12/20/2018 11:07 PM, Pierre-Louis Bossart wrote:
>
>>>>> + snd_sof_dsp_block_write(sdev, offset,
>>>>> +                    (void *)block + sizeof(*block),
>>>>> +                    block->size);
>>>>> +
>>>>> +        /* next block */
>>>>> +        block = (void *)block + sizeof(*block) + block->size;
>>>> This may lead to an unaligned access.
>>> Did you mean we should double check the block->size to
>>> prevent access to an invalid address?
>> You need two types of checks for the given data:
>> - The bounce check of block->size;
>>    We need to avoid out-of-bounce access.
> s/bounce/bounds ?
>>
>> - Alignment of block->size;
>>    For some non-x86 platforms, the access to an unaligned address might
>>    be illegal.
>
> Maybe I am missing something but I don't see any sort of explicit 
> restriction on alignment in the SOF tools. it looks implicit based on 
> address offsets and bases.

Maybe get_unaligned() is good enough to avoid unaligned access?

>
> Liam, do you see any negative side effects if we enforce a 32-bit 
> alignment for all blocks (which essentially means all block sizes are 
> multiple of 4)? we can try and experiment but it's better if we have 
> an agreement on the design.
>
>


More information about the Alsa-devel mailing list