]> www.infradead.org Git - users/hch/misc.git/commitdiff
9p: fix /sys/fs/9p/caches overwriting itself
authorRandall P. Embry <rpembry@gmail.com>
Fri, 26 Sep 2025 09:27:30 +0000 (18:27 +0900)
committerDominique Martinet <asmadeus@codewreck.org>
Sat, 27 Sep 2025 12:44:36 +0000 (21:44 +0900)
caches_show() overwrote its buffer on each iteration,
so only the last cache tag was visible in sysfs output.

Properly append with snprintf(buf + count, …).

Signed-off-by: Randall P. Embry <rpembry@gmail.com>
Message-ID: <20250926-v9fs_misc-v1-2-a8b3907fc04d@codewreck.org>
Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
fs/9p/v9fs.c

index 01e70a464b6039231df272e43b4ebdd3b5afb967..4d289c56578fb15e45d8e94a264977898973cb31 100644 (file)
@@ -560,7 +560,7 @@ static ssize_t caches_show(struct kobject *kobj,
        spin_lock(&v9fs_sessionlist_lock);
        list_for_each_entry(v9ses, &v9fs_sessionlist, slist) {
                if (v9ses->cachetag) {
-                       n = snprintf(buf, limit, "%s\n", v9ses->cachetag);
+                       n = snprintf(buf + count, limit, "%s\n", v9ses->cachetag);
                        if (n < 0) {
                                count = n;
                                break;