summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-07-27 14:36:51 +0100
committerMark Brown <broonie@kernel.org>2026-07-27 14:36:51 +0100
commitc8ce27a61a6600d3ac17f624541d102e9a3a6194 (patch)
tree09ebf2b8451f9e3dbbbce45218eea18395222f87 /fs
parentf30c5ad920238df797890e01f58d31ea19ed9d50 (diff)
parent0e6f8ccd4618afdb504d5c56fe2fea1a2cd5d86a (diff)
downloadlinux-next-c8ce27a61a6600d3ac17f624541d102e9a3a6194.tar.gz
linux-next-c8ce27a61a6600d3ac17f624541d102e9a3a6194.zip
Merge branch 'driver-core-next' of https://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core.git
# Conflicts: # drivers/gpu/drm/xe/xe_i2c.c # drivers/gpu/nova-core/gpu.rs # include/linux/platform_device.h
Diffstat (limited to 'fs')
-rw-r--r--fs/debugfs/file.c3
-rw-r--r--fs/debugfs/inode.c5
-rw-r--r--fs/kernfs/dir.c4
-rw-r--r--fs/kernfs/symlink.c2
4 files changed, 9 insertions, 5 deletions
diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c
index edd6aafbfbaa..08de6652a4f3 100644
--- a/fs/debugfs/file.c
+++ b/fs/debugfs/file.c
@@ -273,7 +273,8 @@ static int debugfs_locked_down(struct inode *inode,
(!real_fops ||
(!real_fops->unlocked_ioctl &&
!real_fops->compat_ioctl &&
- !real_fops->mmap)))
+ !real_fops->mmap &&
+ !real_fops->mmap_prepare)))
return 0;
if (security_locked_down(LOCKDOWN_DEBUGFS))
diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
index 4598142355b9..e054e62919ec 100644
--- a/fs/debugfs/inode.c
+++ b/fs/debugfs/inode.c
@@ -368,8 +368,11 @@ static struct dentry *debugfs_start_creating(const char *name,
if (!debugfs_enabled)
return ERR_PTR(-EPERM);
- if (!debugfs_initialized())
+ if (!debugfs_initialized()) {
+ pr_err("Unable to create file '%s', debugfs is not initialized yet\n",
+ name);
return ERR_PTR(-ENOENT);
+ }
pr_debug("creating file '%s'\n", name);
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
index 97d9d227b66d..82bbaeb326aa 100644
--- a/fs/kernfs/dir.c
+++ b/fs/kernfs/dir.c
@@ -330,8 +330,8 @@ static unsigned int kernfs_name_hash(const char *name,
const struct ns_common *ns)
{
unsigned long hash = init_name_hash(kernfs_ns_id(ns));
- unsigned int len = strlen(name);
- while (len--)
+
+ while (*name)
hash = partial_name_hash(*name++, hash);
hash = end_name_hash(hash);
hash &= 0x7fffffffU;
diff --git a/fs/kernfs/symlink.c b/fs/kernfs/symlink.c
index 0bd8a2143723..90e2b3221b83 100644
--- a/fs/kernfs/symlink.c
+++ b/fs/kernfs/symlink.c
@@ -73,7 +73,7 @@ static int kernfs_get_target_path(struct kernfs_node *parent,
if ((s - path) + 3 >= PATH_MAX)
return -ENAMETOOLONG;
- strcpy(s, "../");
+ memcpy(s, "../", 4);
s += 3;
base = kernfs_parent(base);
}