From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58351335566; Thu, 28 May 2026 20:06:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.16 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779998789; cv=none; b=bOSvSbAYjNYujGEgv30RnKA9pgOjknOo1JxjNakwSMbddVwkku4DF9qLpwMCvAE5RPOVzZOQIN4hVRvcU4/Ctr31Kq3QR9ON8nFJQrIxpJjekAaRzgeT3XYFuDJOTo/+EhrgKi7KhSPlycO2fjOV+vt9bKnPw3VqEbxOd6/evXI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779998789; c=relaxed/simple; bh=OPwLlGa+LZEYicR+OR7g/UZyMEoDMmofYPdn5PM3XQ4=; h=Message-ID:Date:MIME-Version:Subject:To:References:From: In-Reply-To:Content-Type; b=vD4kZS9e7gxFD6FOAHU895VuzVqxb3qtvZ4SN0VL5YidjXHwSjqlfHr71wFQbEaQF/dI+CBgNWenFw+EAlMGcDOre7g2bEiuiLU71MKjsvDUyUmtcmQFZThdU7iBAZDz2aXOaQjsVhdBxczBVilCzRHkhyg5mcSGOcsAFyFUnZY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=nSYwJsRr; arc=none smtp.client-ip=192.198.163.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="nSYwJsRr" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1779998787; x=1811534787; h=message-id:date:mime-version:subject:to:references:from: in-reply-to:content-transfer-encoding; bh=OPwLlGa+LZEYicR+OR7g/UZyMEoDMmofYPdn5PM3XQ4=; b=nSYwJsRru7hVn/NcL18+rcclmQ7D2m7sE+ABi3Z0h79UI9vLCQ9ewuPJ 1iFcZiQRALLopq1UyuTX1bieWkbjPvRUKIDG1Azo8UQ14d5DrCK1W/7fB trY3k++D0Z5OkvLNb6gmAW+WRWiM+RzOeRWLqL2gXQJgrhL+BzH9bGEM0 uHg44zXhsiBWIIsLsvMm524gz+Ta+vgxa2XgAIXp+xRNFV4ixWTUQeMF0 NFeOpDdA32Do6Uhpeu2s57tdhO3GqOj5P+Zpx+V6qCFgZN1uBBdaltM9t YsrASrka1CzGubgOAknAqGV9qLbgDx7CQXTUzO2LId9v0rovG0oVZCsb3 A==; X-CSE-ConnectionGUID: BU1UihbpSoufdI7ZNNI20Q== X-CSE-MsgGUID: u6C/rf7nTbWwCGa9wOlgNA== X-IronPort-AV: E=McAfee;i="6800,10657,11800"; a="68387061" X-IronPort-AV: E=Sophos;i="6.24,174,1774335600"; d="scan'208";a="68387061" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2026 13:06:26 -0700 X-CSE-ConnectionGUID: 2EruNyLwRPK0egDF1IVcZQ== X-CSE-MsgGUID: oHCFenBmSrSpczK2WLOSOQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.24,174,1774335600"; d="scan'208";a="244466256" Received: from aduenasd-mobl5.amr.corp.intel.com (HELO [10.125.111.91]) ([10.125.111.91]) by fmviesa004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2026 13:06:26 -0700 Message-ID: Date: Thu, 28 May 2026 13:06:25 -0700 Precedence: bulk X-Mailing-List: dmaengine@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] dmaengine: ioatdma: use !kstrtoint(), not sscanf()!=-1 To: "Alexander A. Klimov" , Vinod Koul , Frank Li , =?UTF-8?Q?Thomas_Wei=C3=9Fschuh?= , Ujjal Singh , "open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM" , open list References: <20260526061321.6123-1-grandmaster@al2klimov.de> <20260526061321.6123-3-grandmaster@al2klimov.de> <9461e4b3-d42b-4550-a931-19532588bdbc@intel.com> <48fac400-4813-4b14-986d-8392c7faf936@al2klimov.de> Content-Language: en-US From: Dave Jiang In-Reply-To: <48fac400-4813-4b14-986d-8392c7faf936@al2klimov.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 5/26/26 11:06 AM, Alexander A. Klimov wrote: > > > On 5/26/26 16:49, Dave Jiang wrote: >> >> >> On 5/25/26 11:13 PM, Alexander A. Klimov wrote: >>> Depending on the user input, sscanf() may return 0 for 0 success. >>> But intr_coalesce_store() wants sscanf() to parse one number, >>> so expect 1 from sscanf(), not any int except -1. >>> >>> While on it, fix typo in %du by using just %d, >>> as this interface expects %d or %d\n. >>> Latter made scripts/checkpatch.pl complain, >>> so use kstrtoint() instead of sscanf(). >>> >>> Fixes: 268e2519f5b7 ("dmaengine: ioatdma: Add intr_coalesce sysfs entry") >>> Signed-off-by: Alexander A. Klimov >>> --- >>>   drivers/dma/ioat/sysfs.c | 2 +- >>>   1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/dma/ioat/sysfs.c b/drivers/dma/ioat/sysfs.c >>> index e796ddb5383f..f59df569956a 100644 >>> --- a/drivers/dma/ioat/sysfs.c >>> +++ b/drivers/dma/ioat/sysfs.c >>> @@ -144,7 +144,7 @@ size_t count) >>>       int intr_coalesce = 0; >>>       struct ioatdma_chan *ioat_chan = to_ioat_chan(c); >>>   -    if (sscanf(page, "%du", &intr_coalesce) != -1) { >>> +    if (!kstrtoint(page, 10, &intr_coalesce)) { >> >> looks good. We can probably use kstrtouint() since we are expecting a positive number always. > > This would break `return -EINVAL;` below Shouldn't we just drop the < 0 compare since it's no longer needed? > >> >> DJ >> >>>           if ((intr_coalesce < 0) || >>>               (intr_coalesce > IOAT_INTRDELAY_MASK)) >>>               return -EINVAL; >> >