kmod: update to 12.
This commit is contained in:
parent
8bdceff747
commit
74f8807da7
3 changed files with 3 additions and 75 deletions
|
@ -1,42 +0,0 @@
|
||||||
From 06294621a944e4611e15ce8201df80870e052e7d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lucas De Marchi <lucas.demarchi@profusion.mobi>
|
|
||||||
Date: Fri, 16 Nov 2012 11:35:30 -0200
|
|
||||||
Subject: [PATCH 1/2] depmod: fix hash lookup by relpath instead of uncrelpath
|
|
||||||
|
|
||||||
We index modules in depmod by it's uncompressed relative path, not
|
|
||||||
relative path. We didn't notice this bug before since this function is
|
|
||||||
only triggered if we release a module to be replaced by one of higher
|
|
||||||
priority.
|
|
||||||
|
|
||||||
Also fix a leftover log message referring to relpath instead of
|
|
||||||
uncrelpath.
|
|
||||||
---
|
|
||||||
tools/depmod.c | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tools/depmod.c b/tools/depmod.c
|
|
||||||
index cc9346f..aafe66b 100644
|
|
||||||
--- tools/depmod.c
|
|
||||||
+++ tools/depmod.c
|
|
||||||
@@ -1114,7 +1114,7 @@ static int depmod_module_add(struct depmod *depmod, struct kmod_module *kmod)
|
|
||||||
mod->uncrelpath, mod);
|
|
||||||
if (err < 0) {
|
|
||||||
ERR("hash_add_unique %s: %s\n",
|
|
||||||
- mod->relpath, strerror(-err));
|
|
||||||
+ mod->uncrelpath, strerror(-err));
|
|
||||||
hash_del(depmod->modules_by_name, mod->modname);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
@@ -1134,8 +1134,8 @@ static int depmod_module_del(struct depmod *depmod, struct mod *mod)
|
|
||||||
{
|
|
||||||
DBG("del %p kmod=%p, path=%s\n", mod, mod->kmod, mod->path);
|
|
||||||
|
|
||||||
- if (mod->relpath != NULL)
|
|
||||||
- hash_del(depmod->modules_by_uncrelpath, mod->relpath);
|
|
||||||
+ if (mod->uncrelpath != NULL)
|
|
||||||
+ hash_del(depmod->modules_by_uncrelpath, mod->uncrelpath);
|
|
||||||
|
|
||||||
hash_del(depmod->modules_by_name, mod->modname);
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.0
|
|
|
@ -1,30 +0,0 @@
|
||||||
From 02c64df3c2b33880b18d3f4aba9fa8e48e5ca904 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lucas De Marchi <lucas.demarchi@profusion.mobi>
|
|
||||||
Date: Fri, 16 Nov 2012 12:05:42 -0200
|
|
||||||
Subject: [PATCH 2/2] depmod: fix asserting mod->kmod == NULL
|
|
||||||
|
|
||||||
If we are replacing a lower priority module (due to its location), we
|
|
||||||
already created a kmod_module, but didn't open the file for reading its
|
|
||||||
symbols. This means mod->kmod won't be NULL, and this is just ok. Since
|
|
||||||
all the functions freeing stuff below the previous assert already takes
|
|
||||||
NULL into consideration, it's safe to just unref mod->kmod and let the
|
|
||||||
right thing happens.
|
|
||||||
---
|
|
||||||
tools/depmod.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tools/depmod.c b/tools/depmod.c
|
|
||||||
index aafe66b..7bbdcd3 100644
|
|
||||||
--- tools/depmod.c
|
|
||||||
+++ tools/depmod.c
|
|
||||||
@@ -977,7 +977,7 @@ static void mod_free(struct mod *mod)
|
|
||||||
{
|
|
||||||
DBG("free %p kmod=%p, path=%s\n", mod, mod->kmod, mod->path);
|
|
||||||
array_free_array(&mod->deps);
|
|
||||||
- assert(mod->kmod == NULL);
|
|
||||||
+ kmod_module_unref(mod->kmod);
|
|
||||||
kmod_module_info_free_list(mod->info_list);
|
|
||||||
kmod_module_dependency_symbols_free_list(mod->dep_sym_list);
|
|
||||||
free(mod->uncrelpath);
|
|
||||||
--
|
|
||||||
1.8.0
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'kmod'
|
# Template file for 'kmod'
|
||||||
pkgname=kmod
|
pkgname=kmod
|
||||||
version=11
|
version=12
|
||||||
revision=2
|
revision=1
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--with-zlib --with-xz"
|
configure_args="--with-zlib --with-xz"
|
||||||
makedepends="pkg-config zlib-devel liblzma-devel libxslt"
|
makedepends="pkg-config zlib-devel liblzma-devel libxslt"
|
||||||
|
@ -13,7 +13,7 @@ maintainer="Juan RP <xtraeme@gmail.com>"
|
||||||
license="GPL-2"
|
license="GPL-2"
|
||||||
homepage="http://git.profusion.mobi/cgit.cgi/kmod.git"
|
homepage="http://git.profusion.mobi/cgit.cgi/kmod.git"
|
||||||
distfiles="${KERNEL_SITE}/utils/kernel/kmod/kmod-${version}.tar.xz"
|
distfiles="${KERNEL_SITE}/utils/kernel/kmod/kmod-${version}.tar.xz"
|
||||||
checksum=28604e153833571ff6ebf34ad1722d3aca4d3d1760ad069a1f06d8fe5efd1de9
|
checksum=c6189dd8c5a1e8d9224e8506bd188c0cd5dfa119fd6b7e5869b3640cbe8bf92f
|
||||||
long_desc="
|
long_desc="
|
||||||
kmod is a set of tools to handle common tasks with Linux kernel modules like
|
kmod is a set of tools to handle common tasks with Linux kernel modules like
|
||||||
insert, remove, list, check properties, resolve dependencies and aliases.
|
insert, remove, list, check properties, resolve dependencies and aliases.
|
||||||
|
|
Loading…
Reference in a new issue