Re: [PATCH v3 09/14] ASoC: SOF: Add firmware, loader support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 20 Dec 2018 03:11:55 +0100,
Bard liao wrote:
> 
> 
> > Date: Wed, 12 Dec 2018 12:23:33 +0100
> > From: Takashi Iwai <tiwai@xxxxxxx>
> > To: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> > Cc: alsa-devel@xxxxxxxxxxxxxxxx, andriy.shevchenko@xxxxxxxxx, Daniel
> > 	Baluta <daniel.baluta@xxxxxxxxx>, liam.r.girdwood@xxxxxxxxxxxxxxx,
> > 	vkoul@xxxxxxxxxx, broonie@xxxxxxxxxx, Alan Cox <alan@xxxxxxxxxxxxxxx>,
> > 	sound-open-firmware@xxxxxxxxxxxxxxxx
> > Subject: Re:  [PATCH v3 09/14] ASoC: SOF: Add firmware
> > 	loader	support
> > Message-ID: <s5htvjjj8ei.wl-tiwai@xxxxxxx>
> > Content-Type: text/plain; charset=US-ASCII
> >
> > On Tue, 11 Dec 2018 22:23:13 +0100,
> > 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.

- Alignment of block->size;
  For some non-x86 platforms, the access to an unaligned address might
  be illegal.

Oh, and recently another thing is sometimes needed for avoiding
Spectre.  This can be covered by array_index_nospec().


> > Also how is the endianess guaranteed?
> 
> Did you mean we should guarantee the driver can work no
> matter what kernel's endianess is?
> ie. Use le32_to_cpu() to handle it?

Depends on the implementation.  IIRC, topology API refuses the data
in a different endianess by checking the magic number at beginning.


thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux