Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp2918299imm; Wed, 16 May 2018 23:40:54 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpNDYbaUtEmwX9Fpchdn2nTe9cCPGZAHuNavuFJG35a2gKw85S5a/UhZ4xzLicSddMwBMYP X-Received: by 2002:a62:9c93:: with SMTP id u19-v6mr4099852pfk.74.1526539254849; Wed, 16 May 2018 23:40:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526539254; cv=none; d=google.com; s=arc-20160816; b=gu7ibDJ5uxJnIMpOSod1H78bKzf6DFLYd5Codjfcj8LbKA0RnGsvnh0oG0Qz9Nus0U v/CDlnnWsQ4VkIrweMPzz6/hut7kaDOypB84eEiuWWMv67ASnO+RwwJrjSy6fZu7FfBP 6Kba0W+wnCUMW81em8hxxClF2WEMTV9tENJtZFSZg/uW47txnYQHGthwvVTlOgyBik3f F+nKQH3iRksGNf4g/OrvDTNBjymnlUvpBfnZPKAXOovs0jEUXI4V5zfziNofY/3MGyGW jVfCtlq4qx/ngXskSObT//s1dwx5gF7jgZ5eLOcSREA8PC9/LCHSgZKRMndwYHKt2m11 puUg== 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 :references:in-reply-to:mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=svV5v4nyr20YJNYqNMCEKK3UejXep4vEM0essAkv9+8=; b=MLWQ53sbJRltD2cBYwIzA8NAEl/bp1tAKzHI008HjCangVJ41ImknKgX+HvblUPlDA SbvwaGsdUYv/ZQ6o9UyKMGuxESot3dpO0w9efhpjs2iksMxayqHUIk4egw72KiAJvUap spMEKZ4PW8HTv74CTbKo/1RbxmTItODmtMqXdjRvYw8CFXJo+uzARecJ2uP/O6BWMi74 cj23mIr2KIMDq5ssdLnd50pZtofHuQAx7KAdirqq+tcSI0KU4UPxjF8OXqlwPLASxses 3/Unlxm2tACUniGldDXBWEYHHUn27gTWQaNuBp2yBGbi2evgCMholBb2BEXSu4AHzJzV NxPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@google.com header.s=20161025 header.b=WCtzNFfV; dkim=fail header.i=@chromium.org header.s=google header.b=Lfzvj74N; 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=fail (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t6-v6si4561252pfg.114.2018.05.16.23.40.40; Wed, 16 May 2018 23:40:54 -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=fail header.i=@google.com header.s=20161025 header.b=WCtzNFfV; dkim=fail header.i=@chromium.org header.s=google header.b=Lfzvj74N; 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=fail (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752312AbeEQGi7 (ORCPT + 99 others); Thu, 17 May 2018 02:38:59 -0400 Received: from mail-vk0-f68.google.com ([209.85.213.68]:33640 "EHLO mail-vk0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751468AbeEQGi5 (ORCPT ); Thu, 17 May 2018 02:38:57 -0400 Received: by mail-vk0-f68.google.com with SMTP id q189-v6so2033969vkb.0 for ; Wed, 16 May 2018 23:38:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=svV5v4nyr20YJNYqNMCEKK3UejXep4vEM0essAkv9+8=; b=WCtzNFfVQqgRQlE8HCmSrIcPrAtzsbMFM4L2UKmBkW00zyUlSgIOZhc++jV8wQUQQa uDC1Eoxjn0zHrH0RljhTxc/HtUVg9uQ4awvYeFpxY5gFclJTi8De0Is3jzr75+imlatW 4ZKHjQ2xJ4CFjXai1zOdqE6IiOCVG8NoHuHE4AH4/pQ1iyTy8ouMQVaOlGfvV9LKc5PS 56f1T+a6OoMZWr7S0XFHfAnWjjfjMUovj73iEBUDihMpIG4NrO/7NNdd9Z9dEB20eWyR p8qkX0jYHRSbVBWoZTfX/buQAGXsghlKY0OESi2omKU3P9RmWKmHjxOEjgcEXcRZwIf/ 1mqg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=svV5v4nyr20YJNYqNMCEKK3UejXep4vEM0essAkv9+8=; b=Lfzvj74NTE4fN2DjdF+fr5rJbHD7v3vW+4Mk2k7woG/g9+GA12VmTbWk2J0zDJcMt3 SuPSC3s0TKOgTPSBkS1ysYh+Vw2zGHRyqvfxz81+hrJjXM6vKUjCwOsmTBUalZLD4tO+ GkCYFvfpQxtQFDG05SQr+svMevrgGDP5YOAXU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=svV5v4nyr20YJNYqNMCEKK3UejXep4vEM0essAkv9+8=; b=TQQmvs39gOgx23flNfgqGFk1qqoIizawbGloXmwMAMsUmHsky+Ok9Q/kqD6PipanOv zHZRhbTk06ygmwFw3A8v70W68BUKIg4pkgCtf6+ZdM/FX3Tf/8eFSNc6p31dRJDj+7UG jJHGOr4ilTd5umHDQiHBxND5qV0qahE4eLTSVSFm+T2OayQ8zPFo6Dlf7VKerAnfRAlE QL7yDKHZweA2NZz7EPirxDvZrfZ5TZ6W84k4Kch/MUWxB8oqDeWdwb8Bj3RViRZ0bJey Yy9ToTdhrDeMYgEO/U8SHFDY7pGrAUmYWgVEDm+fYk2R5pZ2LCyK95h+wwu2o4QbQue6 SUwg== X-Gm-Message-State: ALKqPwdWtvDKfsPcx4fF+kW8kPP+ZXZMGZX7XaGw8Db528ZU6oZiIlpN 1JN6WK1hA3cEZ/q3qBqD1YDasprL9eQg537e06vhDw== X-Received: by 2002:a1f:72cf:: with SMTP id n198-v6mr3214743vkc.149.1526539136559; Wed, 16 May 2018 23:38:56 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a1f:bd1:0:0:0:0:0 with HTTP; Wed, 16 May 2018 23:38:55 -0700 (PDT) In-Reply-To: <1526537830-22606-16-git-send-email-yamada.masahiro@socionext.com> References: <1526537830-22606-1-git-send-email-yamada.masahiro@socionext.com> <1526537830-22606-16-git-send-email-yamada.masahiro@socionext.com> From: Kees Cook Date: Wed, 16 May 2018 23:38:55 -0700 X-Google-Sender-Auth: NwZDLa6DQgPJyFoc8PHjDAS1dUE Message-ID: Subject: Re: [PATCH v4 15/31] kconfig: add 'info', 'warning', and 'error' built-in functions To: Masahiro Yamada Cc: linux-kbuild , Linus Torvalds , Sam Ravnborg , Ulf Magnusson , "Luis R . Rodriguez" , LKML , Nicholas Piggin , Emese Revfy , X86 ML 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, May 16, 2018 at 11:16 PM, Masahiro Yamada wrote: > Add 'info', 'warning', and 'error' functions as in Make. > > They print messages during parsing Kconfig files. 'error' will be > useful to terminate the parsing immediately in fatal cases. > > Signed-off-by: Masahiro Yamada Reviewed-by: Kees Cook -Kees > --- > > Changes in v4: > - Add 'error' function > > Changes in v3: None > Changes in v2: None > > scripts/kconfig/preprocess.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/scripts/kconfig/preprocess.c b/scripts/kconfig/preprocess.c > index 47b32dc..591bcf7 100644 > --- a/scripts/kconfig/preprocess.c > +++ b/scripts/kconfig/preprocess.c > @@ -104,6 +104,20 @@ struct function { > char *(*func)(int argc, char *argv[], int old_argc, char *old_argv[]); > }; > > +static char *do_error(int argc, char *argv[], int old_argc, char *old_argv[]) > +{ > + pperror("%s", argv[0]); > + > + return NULL; > +} > + > +static char *do_info(int argc, char *argv[], int old_argc, char *old_argv[]) > +{ > + printf("%s\n", argv[0]); > + > + return xstrdup(""); > +} > + > static char *do_shell(int argc, char *argv[], int old_argc, char *old_argv[]) > { > FILE *p; > @@ -144,9 +158,19 @@ static char *do_shell(int argc, char *argv[], int old_argc, char *old_argv[]) > return xstrdup(buf); > } > > +static char *do_warning(int argc, char *argv[], int old_argc, char *old_argv[]) > +{ > + fprintf(stderr, "%s:%d: %s\n", current_file->name, yylineno, argv[0]); > + > + return xstrdup(""); > +} > + > static const struct function function_table[] = { > /* Name MIN MAX EXP? Function */ > + { "error", 1, 1, true, do_error }, > + { "info", 1, 1, true, do_info }, > { "shell", 1, 1, true, do_shell }, > + { "warning", 1, 1, true, do_warning }, > }; > > #define FUNCTION_MAX_ARGS 16 > -- > 2.7.4 > -- Kees Cook Pixel Security