[alsa-devel] ALSA: Soc_compress open file node allows more than once
Vinod Koul
vinod.koul at intel.com
Mon Nov 27 06:50:20 CET 2017
On Thu, Nov 23, 2017 at 02:41:00PM +0100, Takashi Iwai wrote:
> On Thu, 23 Nov 2017 14:18:30 +0100,
> b_lkasam at codeaurora.org wrote:
> >
> > Hi ALSA team,
> > This is regarding compress offload framework file operations wrt open
> > system call.
> >
> > For open call to this driver currently allows for same node more than
> > once.
> >
> > This may result in memleak issues or data corruption if same node in
> > use by multiple instances.
>
> This only depends on the driver side implementation. There is no
> restriction in the core side, as the multiple open is possible
> depending on the hardware design and the driver implementation.
sounds right to me, also is the leak on core side or your driver?
>
> > can we have restriction to avoid open of same node using some refcount?
> >
> > we can either have refcount under compr->private_data and cross check
> > in below function before proceeding.
> > static int snd_compr_open(struct inode *inode, struct file *f)
> >
> > Please suggest accordingly.
>
> I'd suggest just to add an exclusive open check in the driver side.
> The open/close callbacks are protected via a mutex, so it can be a
> simple bool flag check.
>
> If the exclusive access is regarded as a common pattern, we can add
> some flag to snd_compr later and check it in the core, instead, too.
--
~Vinod
More information about the Alsa-devel
mailing list