]> www.infradead.org Git - users/hch/misc.git/commitdiff
collect_paths(): constify the return value
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 24 Aug 2025 23:34:37 +0000 (19:34 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 16 Sep 2025 01:26:44 +0000 (21:26 -0400)
callers have no business modifying the paths they get

Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namespace.c
include/linux/mount.h

index 346e577073bb49d96c209d249fccd148d1d0c2e4..cf8dbf0741f0c437e5dac1a0216e4d8a057ed3cc 100644 (file)
@@ -2300,7 +2300,7 @@ static inline bool extend_array(struct path **res, struct path **to_free,
        return p;
 }
 
-struct path *collect_paths(const struct path *path,
+const struct path *collect_paths(const struct path *path,
                              struct path *prealloc, unsigned count)
 {
        struct mount *root = real_mount(path->mnt);
@@ -2334,7 +2334,7 @@ struct path *collect_paths(const struct path *path,
        return res;
 }
 
-void drop_collected_paths(const struct path *paths, struct path *prealloc)
+void drop_collected_paths(const struct path *paths, const struct path *prealloc)
 {
        for (const struct path *p = paths; p->mnt; p++)
                path_put(p);
index c09032463b36ef6603e217d038a782ebb304fd2f..18e4b97f8a98d5e888562e127d93ba390542e4fb 100644 (file)
@@ -104,8 +104,8 @@ extern int may_umount_tree(struct vfsmount *);
 extern int may_umount(struct vfsmount *);
 int do_mount(const char *, const char __user *,
                     const char *, unsigned long, void *);
-extern struct path *collect_paths(const struct path *, struct path *, unsigned);
-extern void drop_collected_paths(const struct path *, struct path *);
+extern const struct path *collect_paths(const struct path *, struct path *, unsigned);
+extern void drop_collected_paths(const struct path *, const struct path *);
 extern void kern_unmount_array(struct vfsmount *mnt[], unsigned int num);
 
 extern int cifs_root_data(char **dev, char **opts);