Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1781687yba; Thu, 25 Apr 2019 05:44:59 -0700 (PDT) X-Google-Smtp-Source: APXvYqzgxW/WgdYcsT+tqj29WQ+QRmZwq1WpBlW2GikE9gVMlVePitd0ScnAb64nIUIryKjrLTMg X-Received: by 2002:a65:424d:: with SMTP id d13mr36974352pgq.318.1556196299427; Thu, 25 Apr 2019 05:44:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556196299; cv=none; d=google.com; s=arc-20160816; b=uAavZGqH+K6Kj5ZmevIr1QtxUnaDZv/w4lLs3O176yzztH/K/OaAX8W8ULtjz5WhP8 MeOw7Ium6c7go2dUjUWIsuvddjmhxQWmlCEYUQnYmq90qVemzg9ZVSKJv55fFMyQ4ApZ +ad+G+7V7PGDRyYKRIEP3M3FA+PqNT+hGznggzYugrKzhQIhQWDBM8shpOENph2V2Y6+ ZMcspk7XEfB0TREnqIZPbXQgSSu4bfaLvhvaJvIxlZKuP+nyIPdzigk1RUSJGlSTqfqA DOka1ljh0GUiDrIeTm7m9WduBY8W6nl8Vx7QkC7RK+Rn4HZPz3netaWhFL2eEx45Zsx6 /F8A== 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=rnJZSZFnULCRsZrHYmQhLyhrB7ogDN8kv1Uyzro7gws=; b=AEJfmaG1PwxqKfGslylexSkZuTWJqKWAer3XhmvV8hsHkbGPnHVyT/ASLm+IxVjczy J4LHxoFukeqN5YPLDYbYq6okPhRjuRqFnx1hWSKBH5tPOOnpusfVFrQc7rypUWjzzlmO 5atrWCwyLvXwUp7wfnl9wWgL+IuLSRCAL+KDmvnE/oollSD5jLMVDxNKpg29yUGFBqQt DV9whjFraTYtP9oB7A1rWIOc8ZfCy82AMytGbEkN17qKes+OOUU86Xu9GLlH0DP9ap/w PhKJOF0FUrlvVQ1a4Ohyr06sKihZIPTpM5RqZgDlX7JYn1Mf5T8slGVvjFixu/avDcUD L85Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tGBxc+Yz; 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 f19si477524pfn.236.2019.04.25.05.44.44; Thu, 25 Apr 2019 05:44:59 -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=tGBxc+Yz; 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 S1729264AbfDYIVK (ORCPT + 99 others); Thu, 25 Apr 2019 04:21:10 -0400 Received: from mail-io1-f68.google.com ([209.85.166.68]:34426 "EHLO mail-io1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725951AbfDYIVJ (ORCPT ); Thu, 25 Apr 2019 04:21:09 -0400 Received: by mail-io1-f68.google.com with SMTP id h26so3456017ioj.1; Thu, 25 Apr 2019 01:21:08 -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=rnJZSZFnULCRsZrHYmQhLyhrB7ogDN8kv1Uyzro7gws=; b=tGBxc+YzDWpHYkIvmCSgRz956C16OLgKkbIcmhzC+1xXoGO6zp3loSiQ7dXl+7dO+q 9StlZmvfbiUnPNYQCH6g6kNLO/fcc9I9e6HlaKBYOH4O0skD4iSsKeo0vtbuRwZitAhS sx3eh3uobQKJ9ACBEilhlzVsxOJK2STZm67gzsaxAdNGfexgEMp+EEh/Gjpsgrzc3FBJ EBzN73jWiZOYyCgq4sejX8cT1j0yr8PLJZbUjiwQReQQgjGWuq4qkSNdY9hdmMlxGQaB xS6VTR8IHc7sS24lufmtVw2KfS2/pkns3U9hws2n8C14h18FNCMJkWO26IVJOUOfll6v BY0g== 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=rnJZSZFnULCRsZrHYmQhLyhrB7ogDN8kv1Uyzro7gws=; b=CzAaK2uxRKK5jVAw2uPFbdBOTuoNNG8UCWf0tTrv8mxVUt2JbN68vk9rkJUlMDhSxb AOhj6ANHrZ4QmIq02dP84SPCvNk3akGHmb2Ly0mJlkz+w7cUrHPYG7gOVI5HLh5DKBEz Gu6ABQvx+T291YDmVTixOqE2Q+qMpapQyQZTVQqJAAYa8vUj48Xw1I77nNGgsojcfo2M STFcQY31SScZ9HDRttsl4wBmPfyNS94d5+ekdHxOOXvtQ0JH+na3feOPFZLXWGGsSmoT /+RpNnQpyAueraAxEwvTfsInO4yHU//zRvqsn6ZKZqH/fRlrIOpqum5D9Yq8e4a6Q0Kt ARbw== X-Gm-Message-State: APjAAAUekyz/WnMX7ujoIJAQ1BVUxMEpagjmkpUOiu+xAkJloa2MeQSC f+qQIRQy3V6d+IWJowfgJz2TOBTTbGGpXiQSmQ== X-Received: by 2002:a6b:b54b:: with SMTP id e72mr645706iof.106.1556180468500; Thu, 25 Apr 2019 01:21:08 -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: <10dc5468-6cd9-85c7-ba66-1dfa5aa922b7@suse.com> From: Pingfan Liu Date: Thu, 25 Apr 2019 16:20:57 +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 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. > It seems that kstrtoull() treats 0M as invalid parameter, while simple_strtoull() does not. If changed like your suggestion, then all the callers of memparse() will treats 0M as invalid parameter. This affects many components besides kexec. Not sure this can be done or not. Regards, Pingfan > > > > return 0; > > } > > @@ -181,6 +185,8 @@ static int __init parse_crashkernel_suffix(char *cmdline, > > pr_warn("crashkernel: unrecognized char: %c\n", *cur); > > return -EINVAL; > > } > > + if (*crash_size == 0) > > + return -EINVAL; > > Same here. > > > > > return 0; > > } > > @@ -266,6 +272,8 @@ static int __init __parse_crashkernel(char *cmdline, > > /* > > * That function is the entry point for command line parsing and should be > > * called from the arch-specific code. > > + * On success 0. On error for either syntax error or crash_size=0, -EINVAL is > > + * returned. > > */ > > int __init parse_crashkernel(char *cmdline, > > unsigned long long system_ram, > >