2017-08-26 17:42:05

by Arvind Yadav

[permalink] [raw]
Subject: [PATCH] mm/zswap: constify struct kernel_param_ops uses

kernel_param_ops are not supposed to change at runtime. All functions
working with kernel_param_ops provided by <linux/moduleparam.h> work
with const kernel_param_ops. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <[email protected]>
---
mm/zswap.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mm/zswap.c b/mm/zswap.c
index d39581a..030fbf9 100644
--- a/mm/zswap.c
+++ b/mm/zswap.c
@@ -82,7 +82,7 @@ static u64 zswap_duplicate_entry;
static bool zswap_enabled;
static int zswap_enabled_param_set(const char *,
const struct kernel_param *);
-static struct kernel_param_ops zswap_enabled_param_ops = {
+static const struct kernel_param_ops zswap_enabled_param_ops = {
.set = zswap_enabled_param_set,
.get = param_get_bool,
};
@@ -93,7 +93,7 @@ module_param_cb(enabled, &zswap_enabled_param_ops, &zswap_enabled, 0644);
static char *zswap_compressor = ZSWAP_COMPRESSOR_DEFAULT;
static int zswap_compressor_param_set(const char *,
const struct kernel_param *);
-static struct kernel_param_ops zswap_compressor_param_ops = {
+static const struct kernel_param_ops zswap_compressor_param_ops = {
.set = zswap_compressor_param_set,
.get = param_get_charp,
.free = param_free_charp,
@@ -105,7 +105,7 @@ module_param_cb(compressor, &zswap_compressor_param_ops,
#define ZSWAP_ZPOOL_DEFAULT "zbud"
static char *zswap_zpool_type = ZSWAP_ZPOOL_DEFAULT;
static int zswap_zpool_param_set(const char *, const struct kernel_param *);
-static struct kernel_param_ops zswap_zpool_param_ops = {
+static const struct kernel_param_ops zswap_zpool_param_ops = {
.set = zswap_zpool_param_set,
.get = param_get_charp,
.free = param_free_charp,
--
2.7.4


2017-08-28 13:29:54

by Dan Streetman

[permalink] [raw]
Subject: Re: [PATCH] mm/zswap: constify struct kernel_param_ops uses

On Sat, Aug 26, 2017 at 1:41 PM, Arvind Yadav <[email protected]> wrote:
> kernel_param_ops are not supposed to change at runtime. All functions
> working with kernel_param_ops provided by <linux/moduleparam.h> work
> with const kernel_param_ops. So mark the non-const structs as const.
>
> Signed-off-by: Arvind Yadav <[email protected]>

Reviewed-by: Dan Streetman <[email protected]>

> ---
> mm/zswap.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/mm/zswap.c b/mm/zswap.c
> index d39581a..030fbf9 100644
> --- a/mm/zswap.c
> +++ b/mm/zswap.c
> @@ -82,7 +82,7 @@ static u64 zswap_duplicate_entry;
> static bool zswap_enabled;
> static int zswap_enabled_param_set(const char *,
> const struct kernel_param *);
> -static struct kernel_param_ops zswap_enabled_param_ops = {
> +static const struct kernel_param_ops zswap_enabled_param_ops = {
> .set = zswap_enabled_param_set,
> .get = param_get_bool,
> };
> @@ -93,7 +93,7 @@ module_param_cb(enabled, &zswap_enabled_param_ops, &zswap_enabled, 0644);
> static char *zswap_compressor = ZSWAP_COMPRESSOR_DEFAULT;
> static int zswap_compressor_param_set(const char *,
> const struct kernel_param *);
> -static struct kernel_param_ops zswap_compressor_param_ops = {
> +static const struct kernel_param_ops zswap_compressor_param_ops = {
> .set = zswap_compressor_param_set,
> .get = param_get_charp,
> .free = param_free_charp,
> @@ -105,7 +105,7 @@ module_param_cb(compressor, &zswap_compressor_param_ops,
> #define ZSWAP_ZPOOL_DEFAULT "zbud"
> static char *zswap_zpool_type = ZSWAP_ZPOOL_DEFAULT;
> static int zswap_zpool_param_set(const char *, const struct kernel_param *);
> -static struct kernel_param_ops zswap_zpool_param_ops = {
> +static const struct kernel_param_ops zswap_zpool_param_ops = {
> .set = zswap_zpool_param_set,
> .get = param_get_charp,
> .free = param_free_charp,
> --
> 2.7.4
>