Date: Sun, 14 Jun 2026 04:52:41 +0000 From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 59b0df3441a9 - main - linux_ntsync(9): check the file type before calling native ntsync(9) Message-ID: <6a2e3399.4190f.3c0fb3fe@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=59b0df3441a9c71580445fed579d4432dce95115 commit 59b0df3441a9c71580445fed579d4432dce95115 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2026-06-14 04:11:08 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2026-06-14 04:11:08 +0000 linux_ntsync(9): check the file type before calling native ntsync(9) Reported by: Alex S <iwtcex@gmail.com> Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/dev/ntsync/linux_ntsync.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/sys/dev/ntsync/linux_ntsync.c b/sys/dev/ntsync/linux_ntsync.c index 064e8c6aede9..3ba135275f44 100644 --- a/sys/dev/ntsync/linux_ntsync.c +++ b/sys/dev/ntsync/linux_ntsync.c @@ -231,6 +231,10 @@ linux_ntsync_ioctl(struct thread *td, struct linux_ioctl_args *args) } break; case LNTSYNC_IOC_SEM_RELEASE: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = copyin(data, &val, sizeof(val)); if (error == 0) { error = ntsync_sem_release(td, fp, &val); @@ -239,6 +243,10 @@ linux_ntsync_ioctl(struct thread *td, struct linux_ioctl_args *args) } break; case LNTSYNC_IOC_SEM_READ: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = ntsync_sem_read(td, fp, &sa); if (error == 0) { ntsync_sa_to_lsa(&lsa, &sa); @@ -246,6 +254,10 @@ linux_ntsync_ioctl(struct thread *td, struct linux_ioctl_args *args) } break; case LNTSYNC_IOC_MUTEX_UNLOCK: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = copyin(data, &lma, sizeof(lma)); ntsync_lma_to_ma(&ma, &lma); if (error == 0) { @@ -257,11 +269,19 @@ linux_ntsync_ioctl(struct thread *td, struct linux_ioctl_args *args) } break; case LNTSYNC_IOC_MUTEX_KILL: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = copyin(data, &val, sizeof(val)); if (error == 0) error = ntsync_mutex_kill(td, fp, val); break; case LNTSYNC_IOC_MUTEX_READ: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = ntsync_mutex_read(td, fp, &ma, &doco); if (doco) { ntsync_ma_to_lma(&lma, &ma); @@ -271,21 +291,37 @@ linux_ntsync_ioctl(struct thread *td, struct linux_ioctl_args *args) } break; case LNTSYNC_IOC_EVENT_SET: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = ntsync_event_set(td, fp, &val); if (error == 0) error = copyout(&val, data, sizeof(val)); break; case LNTSYNC_IOC_EVENT_RESET: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = ntsync_event_reset(td, fp, &val); if (error == 0) error = copyout(&val, data, sizeof(val)); break; case LNTSYNC_IOC_EVENT_PULSE: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = ntsync_event_pulse(td, fp, &val); if (error == 0) error = copyout(&val, data, sizeof(val)); break; case LNTSYNC_IOC_EVENT_READ: + if (fp->f_type != DTYPE_NTSYNC) { + error = ENOTTY; + break; + } error = ntsync_event_read(td, fp, &ea); if (error == 0) { ntsync_ea_to_lea(&lea, &ea);home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a2e3399.4190f.3c0fb3fe>
