diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2012-02-17 16:22:58 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2012-02-17 16:22:58 -0300 |
commit | 184903e07aa7b573b0acf162424afc969c07bd4b (patch) | |
tree | 538ba187cfb866efc3e1bb23be668882b8a5bb44 /core/kmod | |
parent | 3138d10936c63dc6444ac0dc55dd08b722b82309 (diff) | |
parent | 68998b64e2d81f7e77184b7f23ee141da1d0e2ff (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community-testing/hostapd/PKGBUILD
community-testing/hostapd/config.bz2
community-testing/hostapd/hostap_allow-linking-with-libnl-3.2.patch
community-testing/hostapd/hostapd
community-testing/hostapd/hostapd.conf.d
community-testing/hostapd/hostapd.install
community-testing/ipvsadm/PKGBUILD
community-testing/ipvsadm/ipvsadm.conf
community-testing/ipvsadm/ipvsadm.rc
community-testing/ipvsadm/ipvsadm.rules
community-testing/keepalived/PKGBUILD
community-testing/keepalived/ip_vs_moved.patch
community-testing/keepalived/keepalived.conf
community-testing/keepalived/keepalived.rc
community-testing/knemo/PKGBUILD
community-testing/knemo/knemo.install
community-testing/simh/LICENSE
community-testing/simh/PKGBUILD
community-testing/simh/simh.install
community/fityk/PKGBUILD
community/ruby-gtk2/PKGBUILD
community/sage-mathematics/PKGBUILD
community/xylib/PKGBUILD
core/kmod/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch
extra/kradio/PKGBUILD
extra/phonon-gstreamer/PKGBUILD
extra/phonon-vlc/PKGBUILD
testing/bluez/PKGBUILD
testing/bluez/bluetooth.conf.d
testing/bluez/fix-a2dp.patch
testing/bluez/rc.bluetooth
testing/crda/PKGBUILD
testing/crda/crda.install
testing/crda/crda.rc
testing/crda/libnl32.patch
testing/iw/PKGBUILD
testing/kismet/PKGBUILD
testing/kismet/kismet.changelog
testing/kismet/kismet.install
testing/libnl/PKGBUILD
testing/libnl1/PKGBUILD
testing/libnl1/fix-compilation.patch
testing/libpcap/PKGBUILD
testing/libpcap/libnl32.patch
testing/net-snmp/PKGBUILD
testing/net-snmp/libnl32.patch
testing/net-snmp/snmpd.confd
testing/net-snmp/snmpd.rc
testing/networkmanager/NetworkManager.conf
testing/networkmanager/PKGBUILD
testing/networkmanager/disable_set_hostname.patch
testing/networkmanager/networkmanager.install
testing/ntrack/PKGBUILD
testing/ntrack/libnl3.patch
testing/wpa_supplicant/PKGBUILD
testing/wpa_supplicant/config
testing/wpa_supplicant/dbus.patch
testing/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch
Diffstat (limited to 'core/kmod')
-rw-r--r-- | core/kmod/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch | 39 | ||||
-rw-r--r-- | core/kmod/PKGBUILD | 15 |
2 files changed, 50 insertions, 4 deletions
diff --git a/core/kmod/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch b/core/kmod/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch new file mode 100644 index 000000000..95e7f859a --- /dev/null +++ b/core/kmod/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch @@ -0,0 +1,39 @@ +From 8cd0f9e4f9f5c093136a7a2c0c2998b9dd203161 Mon Sep 17 00:00:00 2001 +From: Lucas De Marchi <lucas.demarchi@profusion.mobi> +Date: Sat, 11 Feb 2012 19:45:29 -0200 +Subject: [PATCH] libkmod-module: probe: fix infinite loop with softdeps + +If a softdep depends on a module in the dependency list of the module +being inserted, we would enter and infinite loop. + +Move the "mod->visited = true" assignment to the proper place, hoping it +didn't break other use cases. This is a bug that comes and goes every +now and then. Since we have a testsuite now, a test for this should be +written. +--- + libkmod/libkmod-module.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c +index b5eb7c9..835896f 100644 +--- a/libkmod/libkmod-module.c ++++ b/libkmod/libkmod-module.c +@@ -1013,7 +1013,6 @@ static int __kmod_module_fill_softdep(struct kmod_module *mod, + goto fail; + } + *list = l; +- mod->visited = true; + mod->ignorecmd = (pre != NULL || post != NULL); + + kmod_list_foreach(l, post) { +@@ -1043,6 +1042,7 @@ static int __kmod_module_get_probe_list(struct kmod_module *mod, + mod->name); + return 0; + } ++ mod->visited = true; + + dep = kmod_module_get_dependencies(mod); + kmod_list_foreach(l, dep) { +-- +1.7.9 + diff --git a/core/kmod/PKGBUILD b/core/kmod/PKGBUILD index 85d74af1f..b9e69d59f 100644 --- a/core/kmod/PKGBUILD +++ b/core/kmod/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 150108 2012-02-12 15:37:16Z dreisner $ +# $Id: PKGBUILD 150335 2012-02-16 23:20:12Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> pkgname=kmod pkgver=5 -pkgrel=2 +pkgrel=4 pkgdesc="Linux kernel module handling" arch=('i686' 'x86_64' 'mips64el') url="http://git.profusion.mobi/cgit.cgi/kmod.git" @@ -15,9 +15,11 @@ conflicts=('module-init-tools') replaces=('module-init-tools') source=("http://packages.profusion.mobi/$pkgname/$pkgname-$pkgver.tar.xz" '0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch' + '0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch' "depmod-search.conf") md5sums=('b271c2ec54aba1c67bda63c8579d8c15' '81545a1509b43008f85c03fb980f0e86' + '662a85dbe420f04c1ef24f9cd4e4c990' '4b8cbcbc54b9029c99fd730e257d4436') build() { @@ -26,7 +28,10 @@ build() { # fix modprobe --show-depends failures on loaded modules patch -Np1 <"$srcdir/0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch" - CFLAGS+=' -g -O0' ./configure \ + # fix infinite loop with softdeps + patch -Np1 <"$srcdir/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch" + + ./configure \ --sysconfdir=/etc \ --with-rootprefix= \ --with-zlib @@ -46,7 +51,9 @@ package() { # add symlinks to kmod ln -s ../usr/bin/kmod "$pkgdir/sbin/modprobe" - for tool in {dep,ins,ls,rm}mod modinfo; do + ln -s ../usr/bin/kmod "$pkgdir/sbin/depmod" + + for tool in {ins,ls,rm}mod modinfo; do ln -s kmod "$pkgdir/usr/bin/$tool" done |