diff options
| author | Alan Somers <asomers@FreeBSD.org> | 2025-10-26 00:37:02 +0000 |
|---|---|---|
| committer | Alan Somers <asomers@FreeBSD.org> | 2025-10-26 16:44:27 +0000 |
| commit | 5d42c8813976af484fd3e9a896c7839ba27ca764 (patch) | |
| tree | 065b9fa6b03ab90903c205b0f77beda8d66adb62 /sys/fs | |
| parent | 3559b8e98341d7087771516b1d8f9560a5c555b4 (diff) | |
Diffstat (limited to 'sys/fs')
| -rw-r--r-- | sys/fs/fuse/fuse_device.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/fs/fuse/fuse_device.c b/sys/fs/fuse/fuse_device.c index 75bc0357571f..cee477865c42 100644 --- a/sys/fs/fuse/fuse_device.c +++ b/sys/fs/fuse/fuse_device.c @@ -550,6 +550,13 @@ fuse_device_write(struct cdev *dev, struct uio *uio, int ioflag) } else if (ohead.unique == 0){ /* unique == 0 means asynchronous notification */ SDT_PROBE1(fusefs, , device, fuse_device_write_notify, &ohead); + if (data->mp == NULL) { + SDT_PROBE2(fusefs, , device, trace, 1, + "asynchronous notification before mount" + " or after unmount"); + return (EXTERROR(ENODEV, + "This FUSE session is not mounted")); + } mp = data->mp; vfs_ref(mp); err = vfs_busy(mp, 0); |
