From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FDACC43381 for ; Thu, 21 Mar 2019 16:32:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EF7E521916 for ; Thu, 21 Mar 2019 16:32:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="cuPhabid" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728598AbfCUQcC (ORCPT ); Thu, 21 Mar 2019 12:32:02 -0400 Received: from mail-vs1-f65.google.com ([209.85.217.65]:44745 "EHLO mail-vs1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726787AbfCUQcB (ORCPT ); Thu, 21 Mar 2019 12:32:01 -0400 Received: by mail-vs1-f65.google.com with SMTP id j184so4024538vsd.11 for ; Thu, 21 Mar 2019 09:32:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vLLYpkhwyVCGB47ykaKDlKMTohTTzEK3L6YjFwu//CE=; b=cuPhabidKRd2ljsGTLkhICoT0iyC+EYQ1qxgBV5Z6QDSKstTtD8PGGTmJRhaIJaxXu LNe2J/QZto2E5FPiT+J1xuty+IJ+XVMXGf9x20Z3xNdqFLY662wqCPGJIDjslBevhgSA 6d7OHDc+fOI/ZNuIFaymSv7f5Yiv0qO1snzzs= 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=vLLYpkhwyVCGB47ykaKDlKMTohTTzEK3L6YjFwu//CE=; b=YBYFrTYFMtq7/Djl1U5PFuTvSgBAuI+c3DBM6wWOpuYl0mS0yUv7dpzPG/OFoKNnkO GPfyvh7ltpXGbSbTJmU9dcWxEdu9u78eGpKvX/jwv06nZyOQ5973mC5lZsjcOxLVX1Xj IOwZPoYKNTgbA45ms500Fg+HsC1netcru7g3HNEhTFLmXZgTfbsFGEO1aeSQU+DN9N15 p4rsVMYk4FIgbkX6dXHBAE7SuY0fD9x4M0ciVT694lkuJNO6HH+BM7pFpBnDQbrL7VaW 1o37YZ+Ui4mqNg/2M+BcY3/iAiHMlNeRjUROQ49lD6f+MP9Ux2NOpQUdRMc4R53HTot9 2t1Q== X-Gm-Message-State: APjAAAUOh/6zj8t7HuqMrYpbyuuaSNuoNUx4bb17tx/ojNjY7YjgT7dy WCkUMppxwuOwUpfzjBlDwNKwXOP7OC6/AA== X-Google-Smtp-Source: APXvYqzabgJyGoTv8aggdIJwcf6erWTDvk27vagP98KmrvSZldpqKNAXkOf5P/9odmNLqSv1WWg+Sw== X-Received: by 2002:a67:8588:: with SMTP id h130mr2493133vsd.11.1553185920100; Thu, 21 Mar 2019 09:32:00 -0700 (PDT) Received: from mail-ua1-f41.google.com (mail-ua1-f41.google.com. [209.85.222.41]) by smtp.gmail.com with ESMTPSA id 7sm2459679uay.7.2019.03.21.09.31.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Mar 2019 09:31:58 -0700 (PDT) Received: by mail-ua1-f41.google.com with SMTP id s26so2115194uao.9 for ; Thu, 21 Mar 2019 09:31:58 -0700 (PDT) X-Received: by 2002:ab0:6294:: with SMTP id z20mr2435390uao.134.1553185917786; Thu, 21 Mar 2019 09:31:57 -0700 (PDT) MIME-Version: 1.0 References: <155316885201.29437.3428987891437242750.stgit@warthog.procyon.org.uk> <155316888615.29437.17558157678296689830.stgit@warthog.procyon.org.uk> In-Reply-To: <155316888615.29437.17558157678296689830.stgit@warthog.procyon.org.uk> From: Kees Cook Date: Thu, 21 Mar 2019 09:31:46 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 4/8] vfs: Convert pstore to fs_context To: David Howells Cc: Al Viro , Anton Vorontsov , Colin Cross , Tony Luck , "linux-fsdevel@vger.kernel.org" , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org On Thu, Mar 21, 2019 at 4:48 AM David Howells wrote: > > Signed-off-by: David Howells > cc: Kees Cook > cc: Anton Vorontsov > cc: Colin Cross > cc: Tony Luck Thanks for doing this conversion! Acked-by: Kees Cook Some questions/nits below: > +static int pstore_parse_param(struct fs_context *fc, struct fs_parameter *param) > +{ > + struct pstore_fs_context *ctx = fc->fs_private; > + struct fs_parse_result result; > + int opt; > + > + opt = fs_parse(fc, &pstore_fs_parameters, param, &result); > + if (opt < 0) > + return opt; > + > + switch (opt) { > + case Opt_kmsg_bytes: > + ctx->kmsg_bytes = result.uint_32; > + break; > + } > > - while ((p = strsep(&options, ",")) != NULL) { > - int token; > + return 0; > +} > > - if (!*p) > - continue; > +static void pstore_apply_param(struct fs_context *fc) > +{ > + struct pstore_fs_context *ctx = fc->fs_private; > > - token = match_token(p, tokens, args); > - switch (token) { > - case Opt_kmsg_bytes: > - if (!match_int(&args[0], &option)) > - pstore_set_kmsg_bytes(option); > - break; > - } > - } > + pstore_set_kmsg_bytes(ctx->kmsg_bytes); > } Why the separation between parse and apply now? Is this due to the reconfigure calls? (i.e. why not call pstore_set_kmsg_bytes() in pstore_parse_param()? > @@ -416,14 +423,38 @@ static int pstore_fill_super(struct super_block *sb, void *data, int silent) > return -ENOMEM; > > pstore_get_records(0); > - > return 0; > } I prefer to keep a blank before "return", but no need to drop this unless it gets a respin. Thanks again! -- Kees Cook