Re: [PATCH v2 02/31] ntsync: Introduce NTSYNC_IOC_CREATE_SEM.

From: Greg Kroah-Hartman
Date: Thu Mar 07 2024 - 17:12:25 EST


On Mon, Feb 19, 2024 at 04:38:04PM -0600, Elizabeth Figura wrote:
> This corresponds to the NT syscall NtCreateSemaphore().
>
> Semaphores are one of three types of object to be implemented in this driver,
> the others being mutexes and events.
>
> An NT semaphore contains a 32-bit counter, and is signaled and can be acquired
> when the counter is nonzero. The counter has a maximum value which is specified
> at creation time. The initial value of the semaphore is also specified at
> creation time. There are no restrictions on the maximum and initial value.
>
> Each object is exposed as an file, to which any number of fds may be opened.
> When all fds are closed, the object is deleted.
>
> Objects hold a pointer to the ntsync_device that created them. The device's
> reference count is driven by struct file.
>
> Signed-off-by: Elizabeth Figura <zfigura@xxxxxxxxxxxxxxx>

I want to take these, but I need someone who knows how to review
locking/sync primitives to give it a review to verify that it is working
properly within the kernel constraints we have here.

Anyone want to give it a review?

thanks,

greg k-h