From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752749AbdHVXnF (ORCPT ); Tue, 22 Aug 2017 19:43:05 -0400 Received: from regular1.263xmail.com ([211.150.99.139]:54017 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752452AbdHVXnE (ORCPT ); Tue, 22 Aug 2017 19:43:04 -0400 X-263anti-spam: KSV:0;BIG:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ADDR-CHECKED4: 1 X-ABS-CHECKED: 1 X-SKE-CHECKED: 1 X-ANTISPAM-LEVEL: 2 X-RL-SENDER: jeffy.chen@rock-chips.com X-FST-TO: broonie@kernel.org X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: jeffy.chen@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Message-ID: <599CC17F.90806@rock-chips.com> Date: Wed, 23 Aug 2017 07:42:55 +0800 From: jeffy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20130126 Thunderbird/19.0 MIME-Version: 1.0 To: Mark Brown CC: linux-kernel@vger.kernel.org, tiwai@suse.de, dolinux.peng@gmail.com, Jaroslav Kysela , alsa-devel@alsa-project.org, Takashi Iwai , Liam Girdwood Subject: Re: [PATCH] ASoC: Add a sanity check before using dai driver name References: <20170822144512.12976-1-jeffy.chen@rock-chips.com> <20170822161756.5h6smkjz6kkvl5i7@sirena.org.uk> In-Reply-To: <20170822161756.5h6smkjz6kkvl5i7@sirena.org.uk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org hi Mark, On 08/23/2017 12:17 AM, Mark Brown wrote: > On Tue, Aug 22, 2017 at 10:45:12PM +0800, Jeffy Chen wrote: > >> - return dai; >> + if (!dlc->dai_name) >> + return dai; >> + if (!strcmp(dai->name, dlc->dai_name)) >> + return dai; > > You want (dlc->dai_name && !strcmp(dai->name, dlc->dai_name)) for this > to be equivalent don't you? i think the original check is allowing NULL dlc dai_name to be a match... so we basically did: reject when dlc dai_name is valid, but not match the dai name and my patch is: accept when dlc dai_name is invalid accept when match dai name accept when match dai driver name(only when it is valid) so it's a "if (a && b) reject" to "if (!a || !b) accept" case.. > >> + if (dai->driver->name && >> + !strcmp(dai->driver->name, dlc->dai_name)) >