Re: man page for syscall delete_module is outdated

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 19.02.2024 14:56, Alejandro Colomar wrote:
Hi,

On Mon, Feb 19, 2024 at 11:17:29AM +0300, Александр Офицеров wrote:
Found out that man page for delete_module syscall is outdated.
The behaviour described there doesn't match to code, specifically for
unloading module if its have no refcnt. Parameter O_NONBLOCK described in
man doesn't exist anymore in kernel versions 3.13+, which is quite old, only
O_TRUNC parameter present for actual kernel version, O_NONBLOCK does
nothing.
I've also opened an issue on bugzilla:
https://bugzilla.kernel.org/show_bug.cgi?id=218489

Would you mind suggesting a patch?  Also, would you mind showing your
findings in the kernel code?

See also:
<https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING>
<https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING.d/bugs>
<https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING.d/patches>
<https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING.d/mail>

Have a lovely day!
Alex


Sure!
O_NONBLOCK used in "try_stop_module" function, which is invoked by syscall delete_module, here is the code of this function for kernel version 3.12.74:
https://elixir.bootlin.com/linux/v3.12.74/source/kernel/module.c#L775

However, in later kernels, this parameter disappeared.
Also, here is the code for 3.13:
https://elixir.bootlin.com/linux/v3.13/source/kernel/module.c#L767

In recent kernels, 6.7.5 for example, this parameter also absent:
https://elixir.bootlin.com/linux/v6.7.5/source/kernel/module/main.c#L637

I'll make patch for man tomorrow.




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux