<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/modutils/modutils.c, branch long_paths</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=long_paths</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=long_paths'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2025-08-02T05:18:56+00:00</updated>
<entry>
<title>ftpd: code shrink, move replace_char() to libbb</title>
<updated>2025-08-02T05:18:56+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-08-02T05:18:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=91d8b4eb5c770dfcc05f74dd0bd7b3fabc236530'/>
<id>urn:sha1:91d8b4eb5c770dfcc05f74dd0bd7b3fabc236530</id>
<content type='text'>
function                                             old     new   delta
modprobe_main                                        803     804      +1
escape_text                                          127     122      -5
replace                                               18       -     -18
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 1/-23)             Total: -22 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>modprobe: call finit_module with MODULE_INIT_COMPRESSED_FILE if module name doesn't end with .ko</title>
<updated>2023-03-31T11:15:58+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2023-03-31T11:15:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=af5277f883e8fc2e0236aa9ecc5115ecaffd0ccb'/>
<id>urn:sha1:af5277f883e8fc2e0236aa9ecc5115ecaffd0ccb</id>
<content type='text'>
IOW: if name doesn't end with .ko, assume it's .gz/.xz or similar,
and ask kernel to uncompress it.

If finit_module(MODULE_INIT_COMPRESSED_FILE) fails, retry with
finit_module(0).

function                                             old     new   delta
bb_init_module                                       151     197     +46

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>libbb: create and use mmap() helpers</title>
<updated>2020-12-14T17:25:28+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2020-12-14T17:25:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=fd3c512f88d43e6633bd3c3110cfa0bb321adaa8'/>
<id>urn:sha1:fd3c512f88d43e6633bd3c3110cfa0bb321adaa8</id>
<content type='text'>
function                                             old     new   delta
mmap_anon                                              -      22     +22
mmap_read                                              -      21     +21
xmmap_anon                                             -      16     +16
rpm_gettags                                          465     447     -18
bb_full_fd_action                                    498     480     -18
uevent_main                                          337     310     -27
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 0/3 up/down: 59/-63)             Total: -4 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>modutils: delete unused replace_underscores()</title>
<updated>2017-06-28T17:10:29+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2017-06-28T17:10:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ae2b9f286c985394410aec19b12c1ebecfbe20f6'/>
<id>urn:sha1:ae2b9f286c985394410aec19b12c1ebecfbe20f6</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>cmdline module options can be disabled on "big" modutils</title>
<updated>2017-02-01T09:14:05+00:00</updated>
<author>
<name>Kang-Che Sung</name>
<email>explorer09@gmail.com</email>
</author>
<published>2017-01-31T13:09:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b1d6a2c6247bae0b9f1903ba0e0d16c56f4ef556'/>
<id>urn:sha1:b1d6a2c6247bae0b9f1903ba0e0d16c56f4ef556</id>
<content type='text'>
Allow module options on command line to be disabled on "big" modutils.

Config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is renamed to
FEATURE_CMDLINE_MODULE_OPTIONS and no longer depends on !MODPROBE_SMALL

(I'm not sure if disabling this is useful on "big" modutils, but at
least the macro can serve as a marker and ensure both implementations
of same feature have consistent behavior.)

Signed-off-by: Kang-Che Sung &lt;explorer09@gmail.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>modutils: remove special handling of uClibc</title>
<updated>2017-01-04T12:32:09+00:00</updated>
<author>
<name>Waldemar Brodkorb</name>
<email>wbx@openadk.org</email>
</author>
<published>2016-12-26T19:07:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=9c083f599a9924ad04855ce94439598e75424ad9'/>
<id>urn:sha1:9c083f599a9924ad04855ce94439598e75424ad9</id>
<content type='text'>
Commit 3a45b87ac36f (modutils: support finit_module syscall) introduced
macro finit_module. But it is not defined for uClibc.

The compilation for busybox fails for MIPS with:
With uClibc, we get following build errors:

  modutils/lib.a(modutils.o): In function `bb_init_module':
  modutils.c:(.text.bb_init_module+0x94): undefined reference to `finit_module'
  modutils.c:(.text.bb_init_module+0xa0): undefined reference to `finit_module'

We can just use syscall() without any need for the
uClibc wrappers.

Newer versions of uClibc-ng (&gt;1.0.20) will remove the
module syscall wrappers.

Found via Buildroot autobuilders:
http://autobuild.buildroot.net/results/556/55655daef23788fb3967f801ec8b79e9bed7122b/build-end.log

function                                             old     new   delta
bb_delete_module                                      26      32      +6
bb_init_module                                        90      95      +5
delete_module                                         37       -     -37
init_module                                           53       -     -53
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 2/0 up/down: 11/-90)            Total: -79 bytes

Reported-by: Rahul Bedarkar &lt;rahul.bedarkar@imgtec.com&gt;
Signed-off-by: Waldemar Brodkorb &lt;wbx@openadk.org&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>modutils: support finit_module syscall</title>
<updated>2016-09-15T10:16:33+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@chromium.org</email>
</author>
<published>2016-09-15T10:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3a45b87ac36f60962d6d19c592813e186a9e82e6'/>
<id>urn:sha1:3a45b87ac36f60962d6d19c592813e186a9e82e6</id>
<content type='text'>
On some systems like Chromium OS, loading modules from non-verified
filesystems is denied.  Only finit_module is allowed because an open
fd is passed which can be checked against a verified location.

Change the module loading code to first attempt finit_module and if
that fails for whatever reason, fall back to the existing logic.

On x86_64, this adds ~80 bytes to modutils/modutils.o and ~68 bytes
to modutils/modprobe-small.o.

Signed-off-by: Mike Frysinger &lt;vapier@chromium.org&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>modutils: fix build error with !DEPMOD</title>
<updated>2015-11-06T14:50:28+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2015-11-06T14:50:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=196e400441652946b9c7ad7bc2d78c73885f2359'/>
<id>urn:sha1:196e400441652946b9c7ad7bc2d78c73885f2359</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>modutils: merge module_entry and module_info to common</title>
<updated>2015-11-05T17:54:55+00:00</updated>
<author>
<name>Timo Teräs</name>
<email>timo.teras@iki.fi</email>
</author>
<published>2015-11-05T17:54:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=48dc80bbba994eee24ed94ae4532a1cce76d7cb7'/>
<id>urn:sha1:48dc80bbba994eee24ed94ae4532a1cce76d7cb7</id>
<content type='text'>
This merges the in-memory module info structures of modprobe
and depmod. This allows sharing hashing by modulename code
improving depmod runtime with almost factor of 2x.

function                                             old     new   delta
get_or_add_modentry                                    -      17     +17
do_modprobe                                          590     601     +11
moddb_get_or_create                                    -      10     +10
load_modules_dep                                     195     205     +10
moddb_get                                              -       7      +7
add_probe                                             81      78      -3
modprobe_main                                        721     714      -7
depmod_main                                          553     543     -10
config_file_action                                   434     421     -13
helper_get_module                                    160     144     -16
parse_module                                         343     320     -23
order_dep_list                                       105      82     -23
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 2/7 up/down: 55/-95)            Total: -40 bytes

Signed-off-by: Timo Teräs &lt;timo.teras@iki.fi&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>rmmod: fix bad error message</title>
<updated>2015-10-24T02:17:04+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2015-10-24T02:17:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=cd13974b201972ffb605e243f63f674e95b99e5c'/>
<id>urn:sha1:cd13974b201972ffb605e243f63f674e95b99e5c</id>
<content type='text'>
    Before:

    &gt;# busybox_old rmmod gtrhfhdfghdf
    rmmod: can't unload 'gtrhfhdfghdf': unknown symbol in module, or unknown parameter

    After:

    &gt;# busybox rmmod gtrhfhdfghdf
    rmmod: can't unload module 'gtrhfhdfghdf': No such file or directory

function                                             old     new   delta
modprobe_main                                        726     721      -5
do_modprobe                                          599     590      -9
rmmod_main                                           187     169     -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-32)             Total: -32 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
