Thread (34 messages) 34 messages, 4 authors, 2024-12-12

Re: [PATCH v6 00/28] NT synchronization primitive driver

From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2024-12-09 20:25:00
Also in: linux-doc, linux-kselftest, lkml

On Mon, Dec 9, 2024, at 19:58, Elizabeth Figura wrote:
== Previous versions ==

No changes were made from v5 other than rebasing on top of the 6.13-rc1
char-misc-next tree.

I would like to repeat a question from the last round of review, though. Two
changes were suggested related to API design, which I did not make because the
APIs in question were already released in upstream Linux. However, the driver is
also completely nonfunctional and hidden behind BROKEN, so would this be
acceptable anyway? The changes in question are:
If it was impossible to use the driver, there is no regression.
I feel the entire point of marking it as broken was to be able
to add that type of change.
* rename NTSYNC_IOC_SEM_POST to NTSYNC_IOC_SEM_RELEASE (matching the NT
  terminology instead of POSIX),
No objections my me on either name.
* change object creation ioctls to return the fds directly in the return value
  instead of through the args struct. I would also still appreciate a
  clarification on the advice in [1], which is why I didn't do this in the first
  place.

  [1] https://docs.kernel.org/driver-api/ioctl.html#return-code
The git log tells me that I have written that, but I don't remember
why I put that in, maybe someone else suggested it.

My feeling right now is that returning a file descriptor number
as a small positive integer from the ioctl() return code makes
sense. On the other hand, returning pointers, negative signed
integers or large (> 32bit) 'unsigned long' values can cause
a number of issues, so I would avoid all those the same way we
discourage passing those integers as a literal 'arg' into ioctl()
instead of going through a pointer.

So either way, this looks good to me. I also looked through the
series again to double-check that you avoid the usual common
problems we list in Documentation/driver-api/ioctl.rst, and
I found this is all fine.

So with or without the two changes you listed:

Acked-by: Arnd Bergmann <arnd@arndb.de>

      Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help