[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1488160439-7140-2-git-send-email-nobuhiro.iwamatsu.kw@hitachi.com>
Date: Mon, 27 Feb 2017 10:53:55 +0900
From: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.kw@...achi.com>
To: Anton Vorontsov <anton@...msg.org>,
Colin Cross <ccross@...roid.com>,
Kees Cook <keescook@...omium.org>,
Tony Luck <tony.luck@...el.com>
Cc: linux-kernel@...r.kernel.org,
Nobuhiro Iwamatsu <nobuhiro.iwamatsu.kw@...achi.com>,
Hiraku Toyooka <hiraku.toyooka.gu@...achi.com>,
Mark Salyzyn <salyzyn@...roid.com>,
Seiji Aguchi <seiji.aguchi.tr@...achi.com>,
Shuah Khan <shuahkh@....samsung.com>
Subject: [PATCH v5 1/5] pstore: Change parameter of ramoops_free_przs()
This commit changes parameter of ramoops_free_przs() from
struct ramoops_context * into struct persistent_ram_zone * in order to
make it available for all prz array.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.kw@...achi.com>
Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@...achi.com>
Cc: Anton Vorontsov <anton@...msg.org>
Cc: Colin Cross <ccross@...roid.com>
Cc: Kees Cook <keescook@...omium.org>
Cc: Mark Salyzyn <salyzyn@...roid.com>
Cc: Seiji Aguchi <seiji.aguchi.tr@...achi.com>
Cc: Shuah Khan <shuahkh@....samsung.com>
Cc: Tony Luck <tony.luck@...el.com>
V5:
- No chnages.
V4:
- Rebase
V3:
- Split patch.
- Rebase.
---
fs/pstore/ram.c | 35 +++++++++++++++++------------------
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 1d887efaaf71..8ad2d6d8cec2 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -508,26 +508,16 @@ static struct ramoops_context oops_cxt = {
},
};
-static void ramoops_free_przs(struct ramoops_context *cxt)
+static void ramoops_free_przs(struct persistent_ram_zone **przs)
{
int i;
- /* Free dump PRZs */
- if (cxt->dprzs) {
- for (i = 0; i < cxt->max_dump_cnt; i++)
- persistent_ram_free(cxt->dprzs[i]);
-
- kfree(cxt->dprzs);
- cxt->max_dump_cnt = 0;
- }
+ if (!przs)
+ return;
- /* Free ftrace PRZs */
- if (cxt->fprzs) {
- for (i = 0; i < cxt->max_ftrace_cnt; i++)
- persistent_ram_free(cxt->fprzs[i]);
- kfree(cxt->fprzs);
- cxt->max_ftrace_cnt = 0;
- }
+ for (i = 0; !IS_ERR_OR_NULL(przs[i]); i++)
+ persistent_ram_free(przs[i]);
+ kfree(przs);
}
static int ramoops_init_przs(const char *name,
@@ -863,10 +853,13 @@ static int ramoops_probe(struct platform_device *pdev)
cxt->pstore.bufsize = 0;
persistent_ram_free(cxt->mprz);
fail_init_mprz:
+ cxt->max_ftrace_cnt = 0;
+ ramoops_free_przs(cxt->fprzs);
fail_init_fprz:
persistent_ram_free(cxt->cprz);
fail_init_cprz:
- ramoops_free_przs(cxt);
+ cxt->max_dump_cnt = 0;
+ ramoops_free_przs(cxt->dprzs);
fail_out:
return err;
}
@@ -882,7 +875,13 @@ static int ramoops_remove(struct platform_device *pdev)
persistent_ram_free(cxt->mprz);
persistent_ram_free(cxt->cprz);
- ramoops_free_przs(cxt);
+
+ /* Free ftrace PRZs */
+ cxt->max_ftrace_cnt = 0;
+ ramoops_free_przs(cxt->fprzs);
+ /* Free dump PRZs */
+ cxt->max_dump_cnt = 0;
+ ramoops_free_przs(cxt->dprzs);
return 0;
}
--
2.11.0
Powered by blists - more mailing lists