]>
Commit | Line | Data |
---|---|---|
7ab88044 LDM |
1 | kmod 16 |
2 | ======= | |
3 | ||
8f67ab53 LDM |
4 | - Bug fixes: |
5 | - Fix usage of readdir_r() | |
36c4bb92 | 6 | - Add some missing checks for memory allocation errors |
8f67ab53 | 7 | |
7ab88044 LDM |
8 | - New features: |
9 | - Remove option from libkmod to allow waiting on module removal if | |
10 | the module is being used. It's dangerous since it can block the | |
11 | caller indefinitely. | |
8f67ab53 LDM |
12 | - Improve compatibility with musl libc |
13 | - Add fallback implementation for compilers without _Static_assert(), | |
14 | e.g. gcc < 4.6 | |
15 | - Minor optimizations to the hash table | |
16 | - Make depmod warn if a module has incorrect devname specification | |
36c4bb92 | 17 | - Use cleanup attribute |
7ab88044 | 18 | |
b3e19ce9 LDM |
19 | kmod 15 |
20 | ======= | |
21 | ||
22 | - Bug fixes: | |
23 | - kmod static-nodes doesn't fail if modules.devname isn't available | |
18811d22 LDM |
24 | - Fix getting boolean parameter from kernel cmdline in case the value |
25 | is omitted | |
26 | - Fix some mkdir_p() corner cases (used in testsuite and static-nodes) | |
b3e19ce9 LDM |
27 | |
28 | - New features: | |
29 | - kmod static-nodes creates parent directories if given a -o option | |
18811d22 LDM |
30 | - kmod binary statically links to libkmod - if distro is only interested |
31 | in the kmod tool (for example in an initrd) it can refrain from | |
32 | installing the library | |
33 | - Add shell completion for kmod tool | |
b3e19ce9 | 34 | |
3b38c7fc LDM |
35 | kmod 14 |
36 | ======= | |
37 | ||
38 | - Bug fixes: | |
39 | - Fix some format strings | |
40 | - Protect against NULL being passed around to index | |
41 | - Avoid calling syscall() with -1 when finit_module() is not available, | |
42 | since this doesn't always work | |
43 | - Fix not being able to remove alias due to checking the module's | |
44 | refcount | |
45 | - Minor fixes and refactors | |
46 | ||
47 | - New features: | |
48 | - Improve libkmod documentation, particularly on how flags are dealt | |
49 | with. | |
50 | - Remove ability to build a static libkmod | |
51 | - Add static-nodes command to kmod that parses modules.devname | |
52 | generating output in useful formats | |
53 | ||
abb910eb LDM |
54 | kmod 13 |
55 | ======= | |
56 | ||
57 | - Bug fixes: | |
58 | - Add the long option --symbol-prefix option to depmod (it was absent) | |
59 | and fix its behavior | |
60 | - Don't abort if there's a bogus line in configuration file like "alias | |
61 | psmouse off". Some distros are carrying this since the days of | |
62 | modutils | |
63 | ||
64 | - New features: | |
65 | - Add support for finit_module(2). If the module is load straight from | |
66 | the disk and without compression we use finit_module() syscall when | |
67 | available, falling back to init_module() otherwise | |
68 | - kmod_module_get_info() also returns the signature if the module is | |
69 | signed and modinfo uses it | |
70 | - Use secure_getenv if available | |
71 | - rmmod understands builtin modules, just like modprobe does | |
72 | - Improve compatibility with musl-libc | |
73 | - Test cases exit with success when receiving a signal if they are | |
74 | xfail tests | |
75 | ||
6feba028 LDM |
76 | kmod 12 |
77 | ======= | |
78 | ||
79 | - Bug fixes: | |
80 | - Fix removing vermagic from module when told to force load a module | |
81 | - Fix removing __versions section when told to force load a module: we | |
82 | need to mangle the section header, not the section. | |
83 | - modinfo no longer fails while loading a module from file when path | |
84 | contains ".ko" substring | |
85 | ||
c599606f LDM |
86 | kmod 11 |
87 | ======= | |
88 | ||
89 | - Improvements to testsuite: | |
90 | - Fix testsuite defining symbols twice on 32 bit systems | |
91 | - Allow to check generated files against correct ones | |
92 | ||
93 | - New features: | |
94 | - libkmod now keeps a file opened after the first call to | |
95 | kmod_module_get_{info,versions,symbols,dependency_symbols}. This | |
96 | reduces signficantly the amount of time depmod tool takes to | |
97 | execute. Particularly if compressed modules are used. | |
98 | - Remove --with-rootprefix from build system. It was not a great idea | |
99 | after all and should not be use since it causes more harm then | |
100 | benefits. | |
101 | - Hide --wait option on rmmod. This feature is being targeted for | |
102 | removal from kernel. rmmod still accepts this option, but it's hidden | |
7ab88044 | 103 | now: man page and usage() say nothing about it and if it's used, |
c599606f LDM |
104 | user will get a 10s sleep. This way we can check and help if anyone |
105 | is using this feature. | |
106 | - Refactor message logging on all tools, giving proper prefix, routing | |
107 | everything to syslog when asked for, etc. | |
108 | ||
109 | - Bug fixes: | |
110 | - Fix parsing of modules.order when using compressed modules | |
111 | - Usage messages go to stdout instead of stderr | |
112 | - Fix memory leak in hash implementation | |
113 | ||
40758602 LDM |
114 | kmod 10 |
115 | ======= | |
116 | ||
117 | - New features: | |
118 | - Read coresize from /sys if supported | |
119 | ||
a7fbae03 JE |
120 | - Add flag to kmod_module_probe_insert() to apply blacklisting during |
121 | probe only if mod is an alias. Now modprobe uses this flag by default. | |
40758602 | 122 | This is needed to fix a change in behavior regarding module-init-tools |
a7fbae03 | 123 | and ultimately makes us loading a blacklisted module. |
40758602 LDM |
124 | |
125 | - Better formatting in man pages | |
126 | ||
a7fbae03 | 127 | - Add option to disable building man pages at build time |
40758602 | 128 | |
a7fbae03 | 129 | - Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries |
40758602 LDM |
130 | |
131 | - Re-licensing testsuite as LGPL | |
132 | ||
62081c0f LDM |
133 | kmod 9 |
134 | ====== | |
135 | ||
a7fbae03 | 136 | - Improvements to the testsuite: |
62081c0f LDM |
137 | - Check for correct handling of softdep loops |
138 | - Check for correct handling of install command loops | |
139 | ||
140 | - Bug fixes: | |
141 | - Fix build with compilers that don't support --gc-sections | |
a7fbae03 JE |
142 | - Handle errors when dealing with gzipped modules |
143 | - depmod now handles errors while writing indices, so it doesn't end up | |
144 | with a corrupted index without telling the user | |
62081c0f | 145 | |
46684bc2 LDM |
146 | kmod 8 |
147 | ====== | |
148 | ||
149 | - No new features, small bug fixes only. | |
a7fbae03 | 150 | - Fix a bug in "modprobe -c" output: be compatible with |
46684bc2 LDM |
151 | module-init-tools |
152 | ||
a7fbae03 JE |
153 | - Give a useful error message when init_module fails due to bad |
154 | parameter or unknown symbols | |
46684bc2 LDM |
155 | |
156 | - Fix doc generation | |
157 | ||
8885ced0 LDM |
158 | kmod 7 |
159 | ====== | |
160 | ||
161 | - Re-order dirs for configuration files to match the change in systemd and | |
162 | udev: now the priority is: | |
163 | 1. /etc/modprobe.d | |
164 | 2. /run/modprobe.d | |
165 | 3. /lib/modprobe.d | |
166 | ||
a7fbae03 JE |
167 | - Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not |
168 | allowing the user to set his preferences. | |
8885ced0 LDM |
169 | |
170 | - Bug fixes: | |
171 | - Return same error codes of module-init-tools when removing modules | |
172 | with modprobe | |
173 | - Fix builtin output in "--show-depends" when target kernel is not the | |
174 | same of the running kernel | |
175 | - 'modprobe -r' always look at all command line arguments | |
176 | - Fix '-q' usage in modprobe | |
8885ced0 | 177 | |
26906fe7 LDM |
178 | kmod 6 |
179 | ====== | |
180 | ||
181 | - New API in libkmod: | |
182 | - kmod_module_apply_filter(): a generic function to apply filters in a | |
183 | list of modules. This deprecates the use of | |
184 | kmod_module_get_filtered_blacklist() | |
185 | ||
186 | - More tests in testsuite | |
187 | ||
188 | - Add compatibility with uClibc again | |
189 | ||
190 | - Lookup modules.builtin.bin to decide if a module is built in kernel | |
191 | ||
192 | - Downgrade some log messages so we don't annoy people with useless messages | |
193 | ||
194 | - Bug fixes: | |
195 | - Flag --ignore-loaded was not being properly handled | |
196 | - Infinite loop with softdeps | |
197 | - Infinite loop with dumb user configuration with install commands | |
198 | - Fix leak in index when there's a partial match | |
199 | ||
200 | - Move repository and tarballs to kernel.org | |
201 | ||
e479598b LDM |
202 | kmod 5 |
203 | ====== | |
204 | ||
205 | - Break libkmod's API to insert a module like modprobe does. It now accepts | |
206 | extra an extra argument to print its action and acceptable flags were | |
207 | sanitized. | |
208 | ||
209 | - Share more code between modprobe and libkmod: using the new version of | |
210 | kmod_module_probe_insert_module() it's possible to share a great amount of | |
211 | code between modprobe and libkmod | |
212 | ||
213 | - modprobe no longer works with paths: it only accepts module names and/or | |
214 | aliases now. | |
215 | ||
216 | - testsuite was added to repository, allowing automated tests to be run and | |
217 | easing the way bugs are reproduced. | |
218 | ||
219 | - modprobe: when dumping configuration ('-c' option) separate config | |
220 | and indexes by adding a commented line between them. | |
221 | ||
222 | - Fix bugs wrt normalizing aliases and module names | |
223 | ||
224 | - Fix bug wrt inserting an alias that resolves to multiple modules: we should | |
225 | not stop on the first error, but rather continue to try loading other | |
226 | modules. | |
227 | ||
228 | - Fix unaligned memory access in hash function, causing depmod to output wrong | |
229 | information in ARMv5 | |
230 | ||
231 | - Fix man page build and install: now they are only installed if tools are | |
232 | enabled | |
233 | ||
b53b7e32 LDM |
234 | kmod 4 |
235 | ====== | |
236 | ||
237 | - New APIs in libkmod to: | |
238 | - Get configuration lists: blacklists, install commands, remove | |
239 | commands, aliases, options and softdeps | |
240 | - Dump indexes | |
241 | ||
242 | - Several bugs fixed in libkmod, modprobe, depmod and modinfo | |
243 | ||
244 | - API documentation: if configure with run with --enable-gtk-doc, the API doc | |
245 | will be generated by make. Gtk-doc is required for that. | |
246 | ||
247 | - Man pages are built, which replace man pages from module-init-tools | |
248 | ||
249 | - 'include' and 'config' options in *.conf files were deprecated | |
250 | ||
251 | - configure is not run by autogen.sh. Instead, a common set of options is | |
252 | printed. If you are hacking on kmod, consider using bootstrap-configure | |
253 | script. | |
254 | ||
255 | - 'modprobe -c' works as expected now. As opposed to module-init-tools, it | |
256 | dumps the parsed configuration, not only the file contents. | |
257 | ||
b30a71b8 LDM |
258 | kmod 3 |
259 | ====== | |
260 | ||
261 | - New APIs in libkmod to: | |
262 | - Get symbols from module, parsing the ELF section | |
263 | - Get dependency symbols | |
264 | - Check if resources are still valid or if libkmod must be reloaded | |
265 | - Insert module like modprobe, checking (soft-)dependencies, commands, | |
266 | blacklist. It can run commands by itself and to call a callback | |
267 | function. | |
268 | ||
269 | - Support to load modules compressed with xz | |
270 | ||
271 | - Tools are now bundled together in a single tool called kmod. It can be | |
272 | called using symlinks with the same names as tools from module-init-tools. | |
273 | E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a | |
274 | 1:1 replacement of module-init-tools. | |
275 | ||
276 | - The only missing tool, depmod, was added to kmod together with the necessary | |
277 | APIs in libkmod. | |
278 | ||
279 | - If a program using libkmod runs for a long time, as for example udev, it must | |
280 | check if it doesn't have to re-load libkmod. A new helper function was added | |
281 | in libkmod to check if context is still valid and udev is already using it. | |
282 | ||
283 | - An 'unaligned access' bug was fixed. So those architecture that does not | |
284 | handle unaligned access can use kmod, too. | |
285 | ||
acc18b14 LDM |
286 | kmod 2 |
287 | ====== | |
288 | ||
289 | Some bugs fixed: the worst of them was with an infinite loop when an alias | |
290 | matched more than one module. | |
291 | ||
292 | - New APIs in libkmod to: | |
293 | - Get soft dependencies | |
294 | - Get info from module files parsing ELF | |
295 | - Get modversions from files parsing ELF | |
296 | ||
297 | - Support to load gzipped kernel modules: kmod can be compiled with support to | |
298 | gzipped modules by giving the --enable-zlib flag | |
299 | ||
300 | - Support to forcefully load modules, both vermagic and modversion | |
301 | ||
302 | - Support to force and nowait removal flags | |
303 | ||
304 | - Configuration files are parsed in the same order as modprobe: files are | |
305 | sorted alphabetically (independently of their dir) and files with the same | |
306 | name obey a precedence order | |
307 | ||
308 | - New tool: kmod-modinfo | |
309 | ||
310 | - kmod-modprobe gained several features to be a 1:1 replacement for modprobe. | |
311 | The only missing things are the options '--showconfig' and '-t / -l'. These | |
312 | last ones have been deprecated long ago and they will be removed from | |
313 | modprobe. A lot of effort has been put on kmod-modprobe to ensure it | |
314 | maintains compabitility with modprobe. | |
315 | ||
316 | - linux-modules@vger.kernel.org became the official mailing list for kmod | |
317 | ||
89eba7cb LDM |
318 | kmod 1 |
319 | ====== | |
ecd40ee4 | 320 | |
89eba7cb LDM |
321 | First version of kmod and its library, libkmod. |
322 | ||
323 | In the libkmod it's currently possible to: | |
324 | - List modules currently loaded | |
325 | - Get information about loaded modules such as initstate, refcount, | |
326 | holders, sections, address and size | |
327 | - Lookup modules by alias, module name or path | |
328 | - Insert modules: options from configuration and extra options can be | |
329 | passed, but flags are not implemented, yet | |
330 | - Remove modules | |
331 | - Filter list of modules using blacklist | |
332 | - For each module, get the its list of options and install/remove | |
333 | commands | |
334 | - Indexes can be loaded on startup to speedup lookups later | |
335 | ||
336 | Tools provided with the same set of options as in module-init-tools: | |
337 | - kmod-lsmod | |
338 | - kmod-insmod | |
339 | - kmod-rmmod | |
340 | - kmod-modprobe, with some functionality still missing (use of softdep, | |
341 | dump configuration, show modversions) |