lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 14 May 2016 17:13:42 +0200 From: Takashi Iwai <tiwai@...e.de> To: Robert Jarzmik <robert.jarzmik@...e.fr> Cc: "Haojian Zhuang" <haojian.zhuang@...il.com>, "Liam Girdwood" <lgirdwood@...il.com>, "Mark Brown" <broonie@...nel.org>, "Jaroslav Kysela" <perex@...ex.cz>, "Daniel Mack" <daniel@...que.org>, <alsa-devel@...a-project.org>, <linux-arm-kernel@...ts.infradead.org>, <patches@...nsource.wolfsonmicro.com>, <linux-kernel@...r.kernel.org> Subject: Re: [RFC PATCH 2/7] ALSA: ac97: add an ac97 bus On Sat, 14 May 2016 11:50:50 +0200, Robert Jarzmik wrote: > >> +unsigned int ac97_bus_scan_one(struct ac97_controller *ac97, > >> + int codec_num) > >> +{ > >> + struct ac97_codec_device codec; > >> + unsigned short vid1, vid2; > >> + int ret; > >> + > >> + codec.dev = *ac97->dev; > >> + codec.num = codec_num; > >> + ret = ac97->ops->read(&codec, AC97_VENDOR_ID1); > >> + vid1 = (ret & 0xffff); > >> + if (ret < 0) > >> + return 0; > > > > Hmm. This looks pretty hackish and dangerous. > You mean returning 0 even if the read failed, right ? No, my concern is that it's creating a dummy codec object temporarily on the stack just by copying some fields and calling the ops with it. (And actually the current code may work wrongly because lack of zero-clear of the object.) IMO, a cleaner way would be to define the ops passed with both controller and codec objects as arguments, and pass NULL codec here. Takashi
Powered by blists - more mailing lists