kmod: update to 12.

This commit is contained in:
Juan RP 2012-12-05 09:04:23 +01:00
parent 8bdceff747
commit 74f8807da7
3 changed files with 3 additions and 75 deletions

View File

@ -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

View File

@ -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

View File

@ -1,7 +1,7 @@
# Template file for 'kmod'
pkgname=kmod
version=11
revision=2
version=12
revision=1
build_style=gnu-configure
configure_args="--with-zlib --with-xz"
makedepends="pkg-config zlib-devel liblzma-devel libxslt"
@ -13,7 +13,7 @@ maintainer="Juan RP <xtraeme@gmail.com>"
license="GPL-2"
homepage="http://git.profusion.mobi/cgit.cgi/kmod.git"
distfiles="${KERNEL_SITE}/utils/kernel/kmod/kmod-${version}.tar.xz"
checksum=28604e153833571ff6ebf34ad1722d3aca4d3d1760ad069a1f06d8fe5efd1de9
checksum=c6189dd8c5a1e8d9224e8506bd188c0cd5dfa119fd6b7e5869b3640cbe8bf92f
long_desc="
kmod is a set of tools to handle common tasks with Linux kernel modules like
insert, remove, list, check properties, resolve dependencies and aliases.