diff options
| author | Dave Airlie <airlied@redhat.com> | 2024-04-22 14:35:22 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2024-04-22 14:35:52 +1000 |
| commit | 0208ca55aa9c9b997da1f5bc45c4e98916323f08 (patch) | |
| tree | e3130b2116f7738ac7cd79ad71698f545bb7db69 /fs/kernfs/file.c | |
| parent | Merge tag 'drm-misc-next-2024-04-19' of https://gitlab.freedesktop.org/drm/mi... (diff) | |
| parent | Linux 6.9-rc5 (diff) | |
| download | linux-0208ca55aa9c9b997da1f5bc45c4e98916323f08.tar.gz linux-0208ca55aa9c9b997da1f5bc45c4e98916323f08.zip | |
Backmerge tag 'v6.9-rc5' into drm-next
Linux 6.9-rc5
I've had a persistent msm failure on clang, and the fix is in fixes
so just pull it back to fix that.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'fs/kernfs/file.c')
| -rw-r--r-- | fs/kernfs/file.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index e9df2f87072c..8502ef68459b 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c @@ -636,11 +636,18 @@ static int kernfs_fop_open(struct inode *inode, struct file *file) * each file a separate locking class. Let's differentiate on * whether the file has mmap or not for now. * - * Both paths of the branch look the same. They're supposed to + * For similar reasons, writable and readonly files are given different + * lockdep key, because the writable file /sys/power/resume may call vfs + * lookup helpers for arbitrary paths and readonly files can be read by + * overlayfs from vfs helpers when sysfs is a lower layer of overalyfs. + * + * All three cases look the same. They're supposed to * look that way and give @of->mutex different static lockdep keys. */ if (has_mmap) mutex_init(&of->mutex); + else if (file->f_mode & FMODE_WRITE) + mutex_init(&of->mutex); else mutex_init(&of->mutex); |
