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