From 74e8328d3f6901d6ba38a313965fe910c8411324 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Thu, 1 Nov 2018 07:25:25 +0530 Subject: all: fix the format string exceptions Currently, there are possibilities in few places, where a user-controlled (like filename, program parameter etc) string can be passed as 'fmt' for printf(), which can lead to segfault, if the user's string contains '%s', '%d' in it. While fixing it, makes sense to make the explicit check for such issues across the codebase, by making the format call properly. Fixes: CVE-2018-14661 Fixes: bz#1644763 Change-Id: Ib547293f2d9eb618594cbff0df3b9c800e88bde4 Signed-off-by: Amar Tumballi --- xlators/cluster/afr/src/afr-common.c | 4 ++-- xlators/cluster/dht/src/dht-shared.c | 2 +- xlators/cluster/ec/src/ec.c | 18 +++++++++--------- xlators/debug/trace/src/trace.c | 4 ++-- xlators/experimental/jbr-client/src/jbrc.c | 2 +- xlators/features/barrier/src/barrier.c | 4 ++-- xlators/features/gfid-access/src/gfid-access.c | 2 +- xlators/features/locks/src/posix.c | 10 +++++----- xlators/features/quota/src/quota.c | 2 +- xlators/features/shard/src/shard.c | 4 ++-- xlators/mgmt/glusterd/src/glusterd-quota.c | 2 +- xlators/mgmt/glusterd/src/glusterd-rebalance.c | 2 +- xlators/mgmt/glusterd/src/glusterd-statedump.c | 2 +- xlators/mount/fuse/src/fuse-bridge.c | 6 +++--- xlators/performance/io-cache/src/io-cache.c | 14 +++++++------- xlators/performance/io-threads/src/io-threads.c | 2 +- xlators/performance/md-cache/src/md-cache.c | 2 +- xlators/performance/nl-cache/src/nl-cache-helper.c | 6 +++--- xlators/performance/nl-cache/src/nl-cache.c | 2 +- xlators/performance/open-behind/src/open-behind.c | 6 +++--- xlators/performance/quick-read/src/quick-read.c | 18 ++++++++++-------- xlators/performance/read-ahead/src/read-ahead.c | 16 ++++++---------- xlators/performance/write-behind/src/write-behind.c | 12 ++++++------ xlators/playground/template/src/template.c | 2 +- xlators/protocol/client/src/client.c | 4 ++-- xlators/protocol/server/src/server.c | 2 +- xlators/storage/posix/src/posix-common.c | 6 +++--- 27 files changed, 77 insertions(+), 79 deletions(-) (limited to 'xlators') diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index 3a62df34aef..c27159a07af 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -4860,7 +4860,7 @@ afr_priv_dump(xlator_t *this) GF_ASSERT(priv); snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("child_count", "%u", priv->child_count); for (i = 0; i < priv->child_count; i++) { sprintf(key, "child_up[%d]", i); @@ -4897,7 +4897,7 @@ afr_priv_dump(xlator_t *this) gf_proc_dump_write("ta_child_up", "%d", priv->ta_child_up); gf_proc_dump_write("ta_bad_child_index", "%d", priv->ta_bad_child_index); - gf_proc_dump_write("ta_notify_dom_lock_offset", "%lld", + gf_proc_dump_write("ta_notify_dom_lock_offset", "%" PRId64, priv->ta_notify_dom_lock_offset); } diff --git a/xlators/cluster/dht/src/dht-shared.c b/xlators/cluster/dht/src/dht-shared.c index 8cccbc86f0f..0a7aa15e242 100644 --- a/xlators/cluster/dht/src/dht-shared.c +++ b/xlators/cluster/dht/src/dht-shared.c @@ -158,7 +158,7 @@ dht_priv_dump(xlator_t *this) gf_proc_dump_write(key, "%lf", conf->du_stats[i].avail_inodes); snprintf(key, sizeof(key), "du_stats[%d].log", i); - gf_proc_dump_write(key, "%lu", conf->du_stats[i].log); + gf_proc_dump_write(key, "%" PRIu32, conf->du_stats[i].log); } } diff --git a/xlators/cluster/ec/src/ec.c b/xlators/cluster/ec/src/ec.c index 00c374e7ca3..b56dd9ada3e 100644 --- a/xlators/cluster/ec/src/ec.c +++ b/xlators/cluster/ec/src/ec.c @@ -1380,7 +1380,7 @@ ec_dump_private(xlator_t *this) GF_ASSERT(ec); snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("up", "%u", ec->up); gf_proc_dump_write("nodes", "%u", ec->nodes); gf_proc_dump_write("redundancy", "%u", ec->redundancy); @@ -1400,21 +1400,21 @@ ec_dump_private(xlator_t *this) snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s.stats.stripe_cache", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); - gf_proc_dump_write("hits", "%llu", + gf_proc_dump_write("hits", "%" GF_PRI_ATOMIC, GF_ATOMIC_GET(ec->stats.stripe_cache.hits)); - gf_proc_dump_write("misses", "%llu", + gf_proc_dump_write("misses", "%" GF_PRI_ATOMIC, GF_ATOMIC_GET(ec->stats.stripe_cache.misses)); - gf_proc_dump_write("updates", "%llu", + gf_proc_dump_write("updates", "%" GF_PRI_ATOMIC, GF_ATOMIC_GET(ec->stats.stripe_cache.updates)); - gf_proc_dump_write("invalidations", "%llu", + gf_proc_dump_write("invalidations", "%" GF_PRI_ATOMIC, GF_ATOMIC_GET(ec->stats.stripe_cache.invals)); - gf_proc_dump_write("evicts", "%llu", + gf_proc_dump_write("evicts", "%" GF_PRI_ATOMIC, GF_ATOMIC_GET(ec->stats.stripe_cache.evicts)); - gf_proc_dump_write("allocations", "%llu", + gf_proc_dump_write("allocations", "%" GF_PRI_ATOMIC, GF_ATOMIC_GET(ec->stats.stripe_cache.allocs)); - gf_proc_dump_write("errors", "%llu", + gf_proc_dump_write("errors", "%" GF_PRI_ATOMIC, GF_ATOMIC_GET(ec->stats.stripe_cache.errors)); return 0; diff --git a/xlators/debug/trace/src/trace.c b/xlators/debug/trace/src/trace.c index ad8ca088777..0aca3a9a5bb 100644 --- a/xlators/debug/trace/src/trace.c +++ b/xlators/debug/trace/src/trace.c @@ -77,7 +77,7 @@ dump_history_trace(circular_buffer_t *cb, void *data) ".%" GF_PRI_SUSECONDS, cb->tv.tv_usec); gf_proc_dump_write("TIME", "%s", timestr); - gf_proc_dump_write("FOP", "%s\n", cb->data); + gf_proc_dump_write("FOP", "%s\n", (char *)cb->data); return 0; } @@ -3218,7 +3218,7 @@ trace_dump_history(xlator_t *this) // Is it ok to return silently if log-history option his off? if (conf && conf->log_history == _gf_true) { gf_proc_dump_build_key(key_prefix, "xlator.debug.trace", "history"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); eh_dump(this->history, NULL, dump_history_trace); } ret = 0; diff --git a/xlators/experimental/jbr-client/src/jbrc.c b/xlators/experimental/jbr-client/src/jbrc.c index 01c3020e117..28801ecc99f 100644 --- a/xlators/experimental/jbr-client/src/jbrc.c +++ b/xlators/experimental/jbr-client/src/jbrc.c @@ -283,7 +283,7 @@ jbrc_priv_dump(xlator_t *this) GF_VALIDATE_OR_GOTO(this->name, priv, out); snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("up_children", "%u", priv->up_children); diff --git a/xlators/features/barrier/src/barrier.c b/xlators/features/barrier/src/barrier.c index edecae1a55e..1c5c5ffdc22 100644 --- a/xlators/features/barrier/src/barrier.c +++ b/xlators/features/barrier/src/barrier.c @@ -721,7 +721,7 @@ __barrier_dump_queue(barrier_priv_t *priv) list_for_each_entry(stub, &priv->queue, list) { snprintf(key, sizeof(key), "stub.%d", i++); - gf_proc_dump_add_section(key); + gf_proc_dump_add_section("%s", key); barrier_dump_stub(stub, key); } @@ -745,7 +745,7 @@ barrier_dump_priv(xlator_t *this) return 0; gf_proc_dump_build_key(key, "xlator.features.barrier", "priv"); - gf_proc_dump_add_section(key); + gf_proc_dump_add_section("%s", key); LOCK(&priv->lock); { diff --git a/xlators/features/gfid-access/src/gfid-access.c b/xlators/features/gfid-access/src/gfid-access.c index 68768eebf4e..0cf7870856b 100644 --- a/xlators/features/gfid-access/src/gfid-access.c +++ b/xlators/features/gfid-access/src/gfid-access.c @@ -1365,7 +1365,7 @@ ga_dump_inodectx(xlator_t *this, inode_t *inode) if (ret == 0) { tmp_inode = (void *)(uintptr_t)value; gf_proc_dump_build_key(key_prefix, this->name, "inode"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("real-gfid", "%s", uuid_utoa(tmp_inode->gfid)); } diff --git a/xlators/features/locks/src/posix.c b/xlators/features/locks/src/posix.c index f08a22d4fc3..17f733a720e 100644 --- a/xlators/features/locks/src/posix.c +++ b/xlators/features/locks/src/posix.c @@ -3224,7 +3224,7 @@ __dump_entrylks(pl_inode_t *pl_inode) lock->connection_id, blocked, granted); } - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } @@ -3242,7 +3242,7 @@ __dump_entrylks(pl_inode_t *pl_inode) lkowner_utoa(&lock->owner), lock->client, lock->connection_id, blocked); - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } @@ -3286,7 +3286,7 @@ __dump_inodelks(pl_inode_t *pl_inode) lock->client, lock->connection_id, &lock->granted_time.tv_sec, &lock->blkd_time.tv_sec, _gf_true); - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } @@ -3299,7 +3299,7 @@ __dump_inodelks(pl_inode_t *pl_inode) pl_dump_lock(tmp, sizeof(tmp), &lock->user_flock, &lock->owner, lock->client, lock->connection_id, 0, &lock->blkd_time.tv_sec, _gf_false); - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } @@ -3334,7 +3334,7 @@ __dump_posixlks(pl_inode_t *pl_inode) lock->client, NULL, &lock->granted_time.tv_sec, &lock->blkd_time.tv_sec, (lock->blocked) ? _gf_false : _gf_true); - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } diff --git a/xlators/features/quota/src/quota.c b/xlators/features/quota/src/quota.c index 0b81e370e43..eb461f4ad22 100644 --- a/xlators/features/quota/src/quota.c +++ b/xlators/features/quota/src/quota.c @@ -5125,7 +5125,7 @@ quota_priv_dump(xlator_t *this) if (!priv) goto out; - gf_proc_dump_add_section("xlators.features.quota.priv", this->name); + gf_proc_dump_add_section("xlators.features.quota.priv"); ret = TRY_LOCK(&priv->lock); if (ret) diff --git a/xlators/features/shard/src/shard.c b/xlators/features/shard/src/shard.c index 79804bdeadd..b63236884d3 100644 --- a/xlators/features/shard/src/shard.c +++ b/xlators/features/shard/src/shard.c @@ -6759,12 +6759,12 @@ shard_priv_dump(xlator_t *this) priv = this->private; snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); str = gf_uint64_2human_readable(priv->block_size); gf_proc_dump_write("shard-block-size", "%s", str); gf_proc_dump_write("inode-count", "%d", priv->inode_count); gf_proc_dump_write("ilist_head", "%p", &priv->ilist_head); - gf_proc_dump_write("lru-max-limit", "%d", priv->lru_limit); + gf_proc_dump_write("lru-max-limit", "%" PRIu64, priv->lru_limit); GF_FREE(str); diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c index 014d3d55b98..fd500ca606e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-quota.c +++ b/xlators/mgmt/glusterd/src/glusterd-quota.c @@ -2173,7 +2173,7 @@ glusterd_op_stage_quota(dict_t *dict, char **op_errstr, dict_t *rsp_dict) gf_asprintf(op_errstr, "Hard-limit " "value out of range (0 - %" PRId64 "): %s", - hard_limit_str); + hard_limit, hard_limit_str); else gf_msg(this->name, GF_LOG_ERROR, errno, GD_MSG_CONVERSION_FAILED, diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c index 3046cc40f06..f90d3de9843 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c +++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c @@ -304,7 +304,7 @@ glusterd_handle_defrag_start(glusterd_volinfo_t *volinfo, char *op_errstr, runner_add_arg(&runner, "--pid-file"); runner_argprintf(&runner, "%s", pidfile); runner_add_arg(&runner, "-l"); - runner_argprintf(&runner, logfile); + runner_argprintf(&runner, "%s", logfile); if (volinfo->memory_accounting) runner_add_arg(&runner, "--mem-accounting"); if (dict_get_strn(priv->opts, GLUSTERD_LOCALTIME_LOGGING_KEY, diff --git a/xlators/mgmt/glusterd/src/glusterd-statedump.c b/xlators/mgmt/glusterd/src/glusterd-statedump.c index 1d10c629ed0..8c2786cb3f7 100644 --- a/xlators/mgmt/glusterd/src/glusterd-statedump.c +++ b/xlators/mgmt/glusterd/src/glusterd-statedump.c @@ -180,7 +180,7 @@ glusterd_dump_priv(xlator_t *this) return 0; gf_proc_dump_build_key(key, "xlator.glusterd", "priv"); - gf_proc_dump_add_section(key); + gf_proc_dump_add_section("%s", key); pthread_mutex_lock(&priv->mutex); { diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index d34f77cb7c1..75b91a43fb1 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -5290,7 +5290,7 @@ fuse_priv_dump(xlator_t *this) gf_proc_dump_write("proto_minor", "%u", private->proto_minor); gf_proc_dump_write("volfile", "%s", private->volfile ? private->volfile : "None"); - gf_proc_dump_write("volfile_size", "%d", private->volfile_size); + gf_proc_dump_write("volfile_size", "%" GF_PRI_SIZET, private->volfile_size); gf_proc_dump_write("mount_point", "%s", private->mount_point); gf_proc_dump_write("fuse_thread_started", "%d", (int)private->fuse_thread_started); @@ -5324,7 +5324,7 @@ fuse_history_dump(xlator_t *this) GF_VALIDATE_OR_GOTO(this->name, this->history, out); gf_proc_dump_build_key(key_prefix, "xlator.mount.fuse", "history"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); eh_dump(this->history, NULL, dump_history_fuse); ret = 0; @@ -5345,7 +5345,7 @@ dump_history_fuse(circular_buffer_t *cb, void *data) ".%" GF_PRI_SUSECONDS, cb->tv.tv_usec); gf_proc_dump_write("TIME", "%s", timestr); - gf_proc_dump_write("message", "%s\n", cb->data); + gf_proc_dump_write("message", "%s\n", (char *)cb->data); return 0; } diff --git a/xlators/performance/io-cache/src/io-cache.c b/xlators/performance/io-cache/src/io-cache.c index 6ffad7d1a64..380ba876cba 100644 --- a/xlators/performance/io-cache/src/io-cache.c +++ b/xlators/performance/io-cache/src/io-cache.c @@ -1868,7 +1868,7 @@ __ioc_page_dump(ioc_page_t *page, char *prefix) goto out; { gf_proc_dump_write("offset", "%" PRId64, page->offset); - gf_proc_dump_write("size", "%" PRId64, page->size); + gf_proc_dump_write("size", "%" GF_PRI_SIZET, page->size); gf_proc_dump_write("dirty", "%s", page->dirty ? "yes" : "no"); gf_proc_dump_write("ready", "%s", page->ready ? "yes" : "no"); ioc_page_waitq_dump(page, prefix); @@ -1962,7 +1962,7 @@ ioc_inode_dump(xlator_t *this, inode_t *inode) if (gf_uuid_is_null(ioc_inode->inode->gfid)) goto unlock; - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); section_added = _gf_true; __inode_path(ioc_inode->inode, NULL, &path); @@ -1985,7 +1985,7 @@ unlock: out: if (ret && ioc_inode) { if (section_added == _gf_false) - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("Unable to print the status of ioc_inode", "(Lock acquisition failed) %s", uuid_utoa(inode->gfid)); @@ -2009,7 +2009,7 @@ ioc_priv_dump(xlator_t *this) priv = this->private; gf_proc_dump_build_key(key_prefix, "io-cache", "priv"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); add_section = _gf_true; ret = pthread_mutex_trylock(&priv->table_lock); @@ -2021,8 +2021,8 @@ ioc_priv_dump(xlator_t *this) gf_proc_dump_write("cache_used", "%ld", priv->cache_used); gf_proc_dump_write("inode_count", "%u", priv->inode_count); gf_proc_dump_write("cache_timeout", "%u", priv->cache_timeout); - gf_proc_dump_write("min-file-size", "%u", priv->min_file_size); - gf_proc_dump_write("max-file-size", "%u", priv->max_file_size); + gf_proc_dump_write("min-file-size", "%" PRIu64, priv->min_file_size); + gf_proc_dump_write("max-file-size", "%" PRIu64, priv->max_file_size); } pthread_mutex_unlock(&priv->table_lock); out: @@ -2032,7 +2032,7 @@ out: "xlator." "performance.io-cache", "priv"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); } gf_proc_dump_write( "Unable to dump the state of private " diff --git a/xlators/performance/io-threads/src/io-threads.c b/xlators/performance/io-threads/src/io-threads.c index 7f1a34676d9..80d42ded5eb 100644 --- a/xlators/performance/io-threads/src/io-threads.c +++ b/xlators/performance/io-threads/src/io-threads.c @@ -937,7 +937,7 @@ iot_priv_dump(xlator_t *this) snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("maximum_threads_count", "%d", conf->max_count); gf_proc_dump_write("current_threads_count", "%d", conf->curr_count); diff --git a/xlators/performance/md-cache/src/md-cache.c b/xlators/performance/md-cache/src/md-cache.c index 700666957c1..bf4b6399549 100644 --- a/xlators/performance/md-cache/src/md-cache.c +++ b/xlators/performance/md-cache/src/md-cache.c @@ -3063,7 +3063,7 @@ mdc_priv_dump(xlator_t *this) conf = this->private; snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("stat_hit_count", "%" PRId64, GF_ATOMIC_GET(conf->mdc_counter.stat_hit)); diff --git a/xlators/performance/nl-cache/src/nl-cache-helper.c b/xlators/performance/nl-cache/src/nl-cache-helper.c index f2954a83228..279c023a5b1 100644 --- a/xlators/performance/nl-cache/src/nl-cache-helper.c +++ b/xlators/performance/nl-cache/src/nl-cache-helper.c @@ -1161,7 +1161,7 @@ nlc_dump_inodectx(xlator_t *this, inode_t *inode) if (!ret) { gf_proc_dump_build_key(key_prefix, "xlator.performance.nl-cache", "nlc_inode"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); __inode_path(inode, NULL, &path); if (path != NULL) { @@ -1176,14 +1176,14 @@ nlc_dump_inodectx(xlator_t *this, inode_t *inode) gf_proc_dump_write("state", "%" PRIu64, nlc_ctx->state); gf_proc_dump_write("timer", "%p", nlc_ctx->timer); - gf_proc_dump_write("cache-time", "%lld", nlc_ctx->cache_time); + gf_proc_dump_write("cache-time", "%" GF_PRI_TIME, nlc_ctx->cache_time); gf_proc_dump_write("cache-size", "%zu", nlc_ctx->cache_size); gf_proc_dump_write("refd-inodes", "%" PRIu64, nlc_ctx->refd_inodes); if (IS_PE_VALID(nlc_ctx->state)) list_for_each_entry_safe(pe, tmp, &nlc_ctx->pe, list) { - gf_proc_dump_write("pe", "%p, %s", pe, pe->inode, pe->name); + gf_proc_dump_write("pe", "%p, %p, %s", pe, pe->inode, pe->name); } if (IS_NE_VALID(nlc_ctx->state)) diff --git a/xlators/performance/nl-cache/src/nl-cache.c b/xlators/performance/nl-cache/src/nl-cache.c index efa54ee346b..02d6df55349 100644 --- a/xlators/performance/nl-cache/src/nl-cache.c +++ b/xlators/performance/nl-cache/src/nl-cache.c @@ -588,7 +588,7 @@ nlc_priv_dump(xlator_t *this) conf = this->private; snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("negative_lookup_hit_count", "%" PRId64, GF_ATOMIC_GET(conf->nlc_counter.nlc_hit)); diff --git a/xlators/performance/open-behind/src/open-behind.c b/xlators/performance/open-behind/src/open-behind.c index 8021fd07a2e..6164b3b046d 100644 --- a/xlators/performance/open-behind/src/open-behind.c +++ b/xlators/performance/open-behind/src/open-behind.c @@ -1130,7 +1130,7 @@ ob_priv_dump(xlator_t *this) gf_proc_dump_build_key(key_prefix, "xlator.performance.open-behind", "priv"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("use_anonymous_fd", "%d", conf->use_anonymous_fd); @@ -1160,14 +1160,14 @@ ob_fdctx_dump(xlator_t *this, fd_t *fd) gf_proc_dump_build_key(key_prefix, "xlator.performance.open-behind", "file"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("fd", "%p", fd); gf_proc_dump_write("open_frame", "%p", ob_fd->open_frame); if (ob_fd->open_frame) - gf_proc_dump_write("open_frame.root.unique", "%p", + gf_proc_dump_write("open_frame.root.unique", "%" PRIu64, ob_fd->open_frame->root->unique); gf_proc_dump_write("loc.path", "%s", ob_fd->loc.path); diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c index 21734607390..ea61a2ec302 100644 --- a/xlators/performance/quick-read/src/quick-read.c +++ b/xlators/performance/quick-read/src/quick-read.c @@ -1044,7 +1044,7 @@ qr_inodectx_dump(xlator_t *this, inode_t *inode) gf_proc_dump_build_key(key_prefix, "xlator.performance.quick-read", "inodectx"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("entire-file-cached", "%s", qr_inode->data ? "yes" : "no"); @@ -1088,9 +1088,9 @@ qr_priv_dump(xlator_t *this) gf_proc_dump_build_key(key_prefix, "xlator.performance.quick-read", "priv"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); - gf_proc_dump_write("max_file_size", "%d", conf->max_file_size); + gf_proc_dump_write("max_file_size", "%" PRIu64, conf->max_file_size); gf_proc_dump_write("cache_timeout", "%d", conf->cache_timeout); if (!table) { @@ -1106,11 +1106,13 @@ qr_priv_dump(xlator_t *this) } gf_proc_dump_write("total_files_cached", "%d", file_count); - gf_proc_dump_write("total_cache_used", "%d", total_size); - gf_proc_dump_write("cache-hit", "%" PRId64, priv->qr_counter.cache_hit); - gf_proc_dump_write("cache-miss", "%" PRId64, priv->qr_counter.cache_miss); - gf_proc_dump_write("cache-invalidations", "%" PRId64, - priv->qr_counter.file_data_invals); + gf_proc_dump_write("total_cache_used", "%" PRIu64, total_size); + gf_proc_dump_write("cache-hit", "%" GF_PRI_ATOMIC, + GF_ATOMIC_GET(priv->qr_counter.cache_hit)); + gf_proc_dump_write("cache-miss", "%" GF_PRI_ATOMIC, + GF_ATOMIC_GET(priv->qr_counter.cache_miss)); + gf_proc_dump_write("cache-invalidations", "%" GF_PRI_ATOMIC, + GF_ATOMIC_GET(priv->qr_counter.file_data_invals)); out: return 0; diff --git a/xlators/performance/read-ahead/src/read-ahead.c b/xlators/performance/read-ahead/src/read-ahead.c index 2fdb56479ab..c62bd1bb172 100644 --- a/xlators/performance/read-ahead/src/read-ahead.c +++ b/xlators/performance/read-ahead/src/read-ahead.c @@ -744,7 +744,7 @@ ra_page_dump(struct ra_page *page) gf_proc_dump_write("offset", "%" PRId64, page->offset); - gf_proc_dump_write("size", "%" PRId64, page->size); + gf_proc_dump_write("size", "%" GF_PRI_SIZET, page->size); gf_proc_dump_write("dirty", "%s", page->dirty ? "yes" : "no"); @@ -770,9 +770,6 @@ ra_fdctx_dump(xlator_t *this, fd_t *fd) int32_t ret = 0, i = 0; uint64_t tmp_file = 0; char *path = NULL; - char key[GF_DUMP_MAX_BUF_LEN] = { - 0, - }; char key_prefix[GF_DUMP_MAX_BUF_LEN] = { 0, }; @@ -787,7 +784,7 @@ ra_fdctx_dump(xlator_t *this, fd_t *fd) gf_proc_dump_build_key(key_prefix, "xlator.performance.read-ahead", "file"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); ret = __inode_path(fd->inode, NULL, &path); if (path != NULL) { @@ -812,8 +809,7 @@ ra_fdctx_dump(xlator_t *this, fd_t *fd) file->offset); for (page = file->pages.next; page != &file->pages; page = page->next) { - sprintf(key, "page[%d]", i); - gf_proc_dump_write(key, "%p", page[i++]); + gf_proc_dump_write("page", "%d: %p", i++, (void *)page); ra_page_dump(page); } @@ -1040,14 +1036,14 @@ ra_priv_dump(xlator_t *this) gf_proc_dump_build_key(key_prefix, "xlator.performance.read-ahead", "priv"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); add_section = _gf_true; ret = pthread_mutex_trylock(&conf->conf_lock); if (ret) goto out; { - gf_proc_dump_write("page_size", "%d", conf->page_size); + gf_proc_dump_write("page_size", "%" PRIu64, conf->page_size); gf_proc_dump_write("page_count", "%d", conf->page_count); gf_proc_dump_write("force_atime_update", "%d", conf->force_atime_update); @@ -1058,7 +1054,7 @@ ra_priv_dump(xlator_t *this) out: if (ret && conf) { if (add_section == _gf_false) - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("Unable to dump priv", "(Lock acquisition failed) %s", this->name); diff --git a/xlators/performance/write-behind/src/write-behind.c b/xlators/performance/write-behind/src/write-behind.c index 473c8e9320a..b46a42f300f 100644 --- a/xlators/performance/write-behind/src/write-behind.c +++ b/xlators/performance/write-behind/src/write-behind.c @@ -2843,10 +2843,10 @@ wb_priv_dump(xlator_t *this) gf_proc_dump_build_key(key_prefix, "xlator.performance.write-behind", "priv"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); - gf_proc_dump_write("aggregate_size", "%d", conf->aggregate_size); - gf_proc_dump_write("window_size", "%d", conf->window_size); + gf_proc_dump_write("aggregate_size", "%" PRIu64, conf->aggregate_size); + gf_proc_dump_write("window_size", "%" PRIu64, conf->window_size); gf_proc_dump_write("flush_behind", "%d", conf->flush_behind); gf_proc_dump_write("trickling_writes", "%d", conf->trickling_writes); @@ -2873,7 +2873,7 @@ __wb_dump_requests(struct list_head *head, char *prefix) gf_proc_dump_build_key(key_prefix, key, "%s", (char *)gf_fop_list[req->fop]); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("unique", "%" PRIu64, req->unique); @@ -2884,7 +2884,7 @@ __wb_dump_requests(struct list_head *head, char *prefix) else gf_proc_dump_write("wound", "no"); - gf_proc_dump_write("generation-number", "%d", req->gen); + gf_proc_dump_write("generation-number", "%" PRIu64, req->gen); gf_proc_dump_write("req->op_ret", "%d", req->op_ret); gf_proc_dump_write("req->op_errno", "%d", req->op_errno); @@ -2946,7 +2946,7 @@ wb_inode_dump(xlator_t *this, inode_t *inode) gf_proc_dump_build_key(key_prefix, "xlator.performance.write-behind", "wb_inode"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); __inode_path(inode, NULL, &path); if (path != NULL) { diff --git a/xlators/playground/template/src/template.c b/xlators/playground/template/src/template.c index 4a9e8d2e6f3..e96374e0302 100644 --- a/xlators/playground/template/src/template.c +++ b/xlators/playground/template/src/template.c @@ -50,7 +50,7 @@ template_priv(xlator_t *this) template_private_t *priv = NULL; priv = this->private; - gf_proc_dump_write("template.dummy", "%lu", priv->dummy); + gf_proc_dump_write("template.dummy", "%" PRId32, priv->dummy); return 0; } diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index ffb0a6df656..c5bf28dcfb6 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -2796,13 +2796,13 @@ client_priv_dump(xlator_t *this) gf_proc_dump_build_key(key_prefix, "xlator.protocol.client", "%s.priv", this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); pthread_spin_lock(&conf->fd_lock); list_for_each_entry(tmp, &conf->saved_fds, sfd_pos) { sprintf(key, "fd.%d.remote_fd", i); - gf_proc_dump_write(key, "%d", tmp->remote_fd); + gf_proc_dump_write(key, "%" PRId64, tmp->remote_fd); client_fd_lk_ctx_dump(this, tmp->lk_ctx, i); i++; } diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index 4ec6fe8049a..8416b42b659 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -247,7 +247,7 @@ server_priv(xlator_t *this) return 0; gf_proc_dump_build_key(key, "xlator.protocol.server", "priv"); - gf_proc_dump_add_section(key); + gf_proc_dump_add_section("%s", key); ret = pthread_mutex_trylock(&conf->mutex); if (ret != 0) diff --git a/xlators/storage/posix/src/posix-common.c b/xlators/storage/posix/src/posix-common.c index 03cb532e2c5..3642d475cb5 100644 --- a/xlators/storage/posix/src/posix-common.c +++ b/xlators/storage/posix/src/posix-common.c @@ -112,7 +112,7 @@ posix_priv(xlator_t *this) (void)snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); if (!this) return 0; @@ -124,8 +124,8 @@ posix_priv(xlator_t *this) gf_proc_dump_write("base_path", "%s", priv->base_path); gf_proc_dump_write("base_path_length", "%d", priv->base_path_length); - gf_proc_dump_write("max_read", "%d", priv->read_value); - gf_proc_dump_write("max_write", "%d", priv->write_value); + gf_proc_dump_write("max_read", "%" PRId64, priv->read_value); + gf_proc_dump_write("max_write", "%" PRId64, priv->write_value); gf_proc_dump_write("nr_files", "%ld", priv->nr_files); return 0; -- cgit