From 3ee3a9df6da9e0079a07a869d6b91e882f65f86b Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Fri, 14 Oct 2016 21:12:36 +0900 Subject: [PATCH] sysfs: fix bitmask and bitmask list-view display bug --- executer/kernel/mcctrl/sysfs.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/executer/kernel/mcctrl/sysfs.c b/executer/kernel/mcctrl/sysfs.c index 93effb5d..93289d05 100644 --- a/executer/kernel/mcctrl/sysfs.c +++ b/executer/kernel/mcctrl/sysfs.c @@ -2095,9 +2095,16 @@ struct sysfsm_ops snooping_local_ops_s = { /**** local list ****/ static ssize_t snooping_local_show_pbl(struct sysfsm_ops *ops, void *instance, void *buf, size_t bufsize) { + size_t ret; const struct sysfsm_bitmap_param *p = instance; - return bitmap_scnlistprintf(buf, bufsize, p->ptr, p->nbits); + ret = bitmap_scnlistprintf(buf, bufsize, p->ptr, p->nbits); + if (ret < bufsize - 1) { + sprintf(buf + ret, "\n"); + return ret + 1; + } + + return 0; } /* snooping_local_show_pbl() */ struct sysfsm_ops snooping_local_ops_pbl = { @@ -2108,9 +2115,16 @@ struct sysfsm_ops snooping_local_ops_pbl = { /**** local map ****/ static ssize_t snooping_local_show_pb(struct sysfsm_ops *ops, void *instance, void *buf, size_t bufsize) { + size_t ret; const struct sysfsm_bitmap_param *p = instance; - return bitmap_scnprintf(buf, bufsize, p->ptr, p->nbits); + ret = bitmap_scnprintf(buf, bufsize, p->ptr, p->nbits); + if (ret < bufsize - 1) { + sprintf(buf + ret, "\n"); + return ret + 1; + } + + return 0; } /* snooping_local_show_pb() */ struct sysfsm_ops snooping_local_ops_pb = {