Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp6881293yba; Wed, 1 May 2019 23:24:43 -0700 (PDT) X-Google-Smtp-Source: APXvYqx0QMOZXvg6bshh2BBcQVRpUL+Vuk0gUNcGAm4M4n8pAy9IpfuClPHljuvy5ZducRO6r55A X-Received: by 2002:aa7:8ad2:: with SMTP id b18mr2311475pfd.232.1556778283537; Wed, 01 May 2019 23:24:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556778283; cv=none; d=google.com; s=arc-20160816; b=kFE77LpnvIm82X8KXfsYJ6/wwEr5aeh0qtPYW9z0XvpJWbYLKdO9ua0AYTrr8tGYMI BM/43m6sy162VYHgTUqJLWKSR3OhPTXaxujGYDy415Ery3iz+N780Rnq3YgX/nQnBiMW V3wOpJrGOXh0xgYkToqZgVEJ4Xc5OndJZqwRumu2P0eaLL0a5ySEvwEpipnEoq4ff0xm fd870cLHfgaUK939se4CK6WgUAV/xjmdA9B2chgsDcw0zOgRDPPqTYYFCJnBr40H0lSF Ocllsduzb+XEh2TZHiUycvH8dNzC9lsr6mi9EoDWygeBvq3hwwsO0ldAlOIN+N73GC/Z 0Vxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=k56mmNJm2c37muwGSNyw5prel5SUd23hcD0vEkYllYY=; b=a/VU5C1iY3dBEkiCY+FdHthf6ZjGWhi2roXBmc94RLtI/MfAV9faILoWRppMScoARW e8LwdgSNSyKNtCScdobWGV6l3Wq9RbpxcSACoGdUObC2UMnfFbX6lPRG0l/pSgWBquh1 dhOwK7GoeohnJbkxd2eG/Xdh8EyzazyHLNAMKxi0nAXiRGLgonqvzKno+bMW/1dy1lWA EWgb1i+RXE3Dfzbvj96ldIjSe+g5Ll06j5ozvL3A6QqmENGgXhgI8QIrHpThzRvg/CQf jsShyvWOfzNFY9qrduPUrj8i2avf8crQRtKGf5oCw8DP8EkQuuzy+4U6iqPU7RzxJwkk nVCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OUxx+AAH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d12si10850635pgi.36.2019.05.01.23.24.27; Wed, 01 May 2019 23:24:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OUxx+AAH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726335AbfEBGWT (ORCPT + 99 others); Thu, 2 May 2019 02:22:19 -0400 Received: from mail-it1-f196.google.com ([209.85.166.196]:55119 "EHLO mail-it1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725764AbfEBGWS (ORCPT ); Thu, 2 May 2019 02:22:18 -0400 Received: by mail-it1-f196.google.com with SMTP id a190so1381374ite.4; Wed, 01 May 2019 23:22:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=k56mmNJm2c37muwGSNyw5prel5SUd23hcD0vEkYllYY=; b=OUxx+AAHpV80+7jWx8f1+E7itJj9D1rgHeIv5/3VMm7TKAnaU1bHWCA0kR/Uu4B/N0 YiDM2kOhNwjBsVDh7yPbvcSscs4wrg/XbXz1H/w3lDdnJU4TQ9QwedxsTFe/Bbjt18D3 JRn/qzW0ooD8Rl7s9nAI0qgl8XU1Fhb9EsRc0VNWcSWwmT5yQ/Ep3gbO5ZmDWB/2TOjs 56aGZ16FpdQ10TxCUNbdRMfiLjvkeIGo1brUr0GBhS/X+j6ZJRXFbl8XXTiVI/tpSorx HgJ21xXoiQgpOYV/KzFy4OYZm4ZtO8AhUMxPfwPWagYl7mDnLgavitYf7mYuADYjNy/N 5KRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=k56mmNJm2c37muwGSNyw5prel5SUd23hcD0vEkYllYY=; b=MIyo4SDSGi/WvE33ca1hznAocUQEWoDqMwzG+5wsQ8x40U+aElZTVV6cC1Cay8TR+M KI654MWkZ+5cI6RqMrG+Fq+ijr0oCojrjuLS0dpAbm2IDNcKuG9jFI2I+ue5JVnChLwO tF/tdKd5JmbtCLlErt2pO87fridJB/nnsFlLngNnYFi+fn084SQYS+K8xx6ur+tiKdlM 3j3klGWMGeanQkoCtACPslOEvMj4G9tKlM9s/4LcW4uco0583l+ldyM/HjsKxet/i4+3 vnZeub/YcYzhfV/b7z9ZKnk6B2BWAGdpsF2bWqrrs9w2MbbNAwK9oKxCkxQDuimTJ87C 5cLw== X-Gm-Message-State: APjAAAVC7lf9nWQ7pU6RjkY1B7DsjoFlcku1nJgZzzMxboY5YwajECx/ hZAeysXcmv0Kj+IDOSlrwExVawlnhycTOLvuTg== X-Received: by 2002:a05:660c:38e:: with SMTP id x14mr1138760itj.146.1556778137619; Wed, 01 May 2019 23:22:17 -0700 (PDT) MIME-Version: 1.0 References: <1556087581-14513-1-git-send-email-kernelfans@gmail.com> <10dc5468-6cd9-85c7-ba66-1dfa5aa922b7@suse.com> In-Reply-To: From: Pingfan Liu Date: Thu, 2 May 2019 14:22:06 +0800 Message-ID: Subject: Re: [PATCHv2] kernel/crash: make parse_crashkernel()'s return value more indicant To: Matthias Brugger Cc: LKML , Rich Felker , linux-ia64@vger.kernel.org, Julien Thierry , Yangtao Li , Benjamin Herrenschmidt , Palmer Dabbelt , Heiko Carstens , x86@kernel.org, linux-mips@vger.kernel.org, Paul Mackerras , "H. Peter Anvin" , linux-s390@vger.kernel.org, Florian Fainelli , Yoshinori Sato , linux-sh@vger.kernel.org, Michael Ellerman , David Hildenbrand , Russell King , Ingo Molnar , linux-arm-kernel@lists.infradead.org, Catalin Marinas , James Hogan , Dave Young , Fenghua Yu , Will Deacon , linuxppc-dev@lists.ozlabs.org, Ananth N Mavinakayanahalli , Borislav Petkov , Stefan Agner , Thomas Gleixner , Hari Bathini , Jens Axboe , Tony Luck , Baoquan He , Ard Biesheuvel , Robin Murphy , Greg Kroah-Hartman , Ralf Baechle , Thomas Bogendoerfer , Paul Burton , Johannes Weiner , Martin Schwidefsky , Andrew Morton , Logan Gunthorpe , Greg Hackmann Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 25, 2019 at 4:20 PM Pingfan Liu wrote: > > On Wed, Apr 24, 2019 at 4:31 PM Matthias Brugger wrote: > > > > > [...] > > > @@ -139,6 +141,8 @@ static int __init parse_crashkernel_simple(char *cmdline, > > > pr_warn("crashkernel: unrecognized char: %c\n", *cur); > > > return -EINVAL; > > > } > > > + if (*crash_size == 0) > > > + return -EINVAL; > > > > This covers the case where I pass an argument like "crashkernel=0M" ? > > Can't we fix that by using kstrtoull() in memparse and check if the return value > > is < 0? In that case we could return without updating the retptr and we will be > > fine. After a series of work, I suddenly realized that it can not be done like this way. "0M" causes kstrtoull() to return -EINVAL, but this is caused by "M", not "0". If passing "0" to kstrtoull(), it will return 0 on success. > > > It seems that kstrtoull() treats 0M as invalid parameter, while > simple_strtoull() does not. > My careless going through the code. And I tested with a valid value "256M" using kstrtoull(), it also returned -EINVAL. So I think there is no way to distinguish 0 from a positive value inside this basic math function. Do I miss anything? Thanks and regards, Pingfan