Previously, modprobe would exit silently and status 0 when the module
indicies went missing, such as in the case of replacing your currently
running kernel without rebooting. This is easily confused with success,
since modprobe is normally quiet about its work. Catch the failure from
kmod_load_resources and notify the user.
This requires adding builtin files to the modprobe test subdirectories
to ensure that tests continue to pass.
---
.../lib/modules/3.5.4-1-ARCH/modules.builtin.bin | Bin 0 -> 5115 bytes
.../lib/modules/4.4.4/modules.builtin.bin | Bin 0 -> 5115 bytes
.../show-depends/lib/modules/4.4.4/modules.builtin.bin | Bin 0 -> 5115 bytes
.../softdep-loop/lib/modules/4.4.4/modules.builtin.bin | Bin 0 -> 5115 bytes
tools/modprobe.c | 6 +++++-
5 files changed, 5 insertions(+), 1 deletion(-)
create mode 100644
testsuite/rootfs-pristine/test-depmod/modules-order-compressed/lib/modules/3.5.4-1-ARCH/modules.builtin.bin
create mode 100644
testsuite/rootfs-pristine/test-modprobe/install-cmd-loop/lib/modules/4.4.4/modules.builtin.bin
create mode 100644
testsuite/rootfs-pristine/test-modprobe/show-depends/lib/modules/4.4.4/modules.builtin.bin
create mode 100644
testsuite/rootfs-pristine/test-modprobe/softdep-loop/lib/modules/4.4.4/modules.builtin.bin
diff --git
a/testsuite/rootfs-pristine/test-depmod/modules-order-compressed/lib/modules/3.5.4-1-ARCH/modules.builtin.bin
b/testsuite/rootfs-pristine/test-depmod/modules-order-compressed/lib/modules/3.5.4-1-ARCH/modules.builtin.bin
new file mode 100644
index
0000000000000000000000000000000000000000..9a11ac74e8719f47bfc1ba18182fe677d37733e9
GIT binary patch
literal 5115
zcmdT|TWB0r82;04l1-CMHhqv55k|2}^`T8nVu}|63RV!o2NA*cbmq+L?yz&q%xuyW
zszJdU1+gHazN{2MAH*tHL9h(^Aczlr5foqcK~xkK@dhI5cXl$n|4ueGNquM!oSpOE
zzVn~kfBv&)hkt#DcF=%EyMORQi%<sC4@q17rtRt3gMws`5RED3R!Ty&*Qtw|<pfr!
z3{yn2+q66@v}Ko`pA&O4U9x&SA$nZVmr@d<)3&g^*m4w1>V)t#qE{8YostlJuSfV@
z-i~$NMkD&mwDqduuXz{fvTnsBL_!0nI&8i!Q^K^QZ}N$CT`R_Pin_HDb+Nn^V0@tH
z%@pWfs2gmFV!slxB{3QaQCqCgG#a?GMFTIZHZ0#(-^~=*eVx#bJ*fL+-Lb2+Sed1R
zueh;r?TBp)$7W({sjF&)KzKvZ+bys^=f(Jau^)m)J3iEHNT2K{&3GE^Ec(HU9$LC$
zrK7MNC$uE<+pQW7BPC#W-j_k3eT20=Vf&G+S!^AQMRapA)7k15_^;@;XS2EUDt47^
zlQ{*s=6dd^U=tShbfnWH<uNMU*kMfF0(l7}wWy$AQWU4E2P}>_b!i7RzFqaGri@bU
z#coqy2HsIrSMl-%{KxXV&C;+vRb`P#xEdAuF8sw1f%F@6Qs0A^On-q24_?eFlOLnO
z0l9*{@5wm-=eJ3Nhbtj=%bN-nEC16*=#c%L$ut@~shf`NS?l*+Btk3loh80{?ZrvQ
zZ{ZXUO=dtFeWA0T%Rt{DZBdhKlUs{?hx%b$VLNn2S!Xj2>t+t^ts1V2p-o>G&^^r&
zR9mB=_uC;o?FO8*A+aTgugYs*3cWzX*ZQ#@vs;(VgKTIteA9OE;p=K<i}rKAhl>P&
zDom&2;W1R2EgJq7dVhArp}UM=CZwZBZ2mnKy$t^t6^F7;^52Atd-FU+gMXkhH9hY(
z97U$SRP#xI*}nFQD&(dbE(Xvc?Bx~}w|QoZuRB#=82mQr&3gpt5>Ec2x=U!JaByb2
z+q0-4V#T`QSZq>yuI<q8YMTxK?pE|h1@Z@CnnQFQIk1t=<-*r!<VYhHvS+%iph+W7
zY}Unub{)WtAeDZ)u1oCBnO0bRV+f|_y3O`+CFyCjYXNhD*tu)fFxfuySR$CqTHW^1
z7(LUO!f+{}(Vo-LqS1HE{L$r!qpl_?U4U8)>+iNQY0&>YV!j%r2O5o~a9aUd(@kjX
zRu*u5H^5E9ju%qgJj=&(#Dv{x)HBuzc=QGDxJhGoak^g{mQVHLXFOn>(^<^X10_iZ
zDVNB>w3V*Ol>2=l-!F9}a9z7bWSKndveZb&-Y?C<=4d~x|Kh>MMLih@q3sJ<4gCgl
zRhK;f^sE@Sd%eAbN-dzK<IyALWaQ7!&mIy}s?Ss$2{MqWjt?qUzXI8A3$d>BNsCH9
z_S0z6`1Q7l6ryTJak!#XQtWk0YdGoarK=(vz+YALr54~k-y6QF?Wq|58OUo>q54Rh
zQb^Zl`_PM9H2zQChlD1|s8>g}aD8@t_fk$SY<4=)eHgb7dmi{=^a4#R``A%RFLgL1
z8_Dd%Dz^msd3}0zPOQ6PSJ)A*#Ig}ae%Qs5%CCD-A8yjbrx_yXuUK1U3!Rcsd8lFV
z*xqw52I-M4-w(Y<tkBgR5%DLgV`1f4b|LL1mD>lT(*qhXMzkwG6Nui&axY~cZ!c^4
zV_2-MrSJA+5IuL8&6dp|Q9}pc<U0L>)2f}&WWkJ}`CeYqk8V-<vpl~^ljVbl)I(ha
zdKmG%I-e4=O{iY{3Mn1dEJEMpqj}^jmBv_J*oyDaf32TB_-7s4z~4O;rzg9fKhY%G
z*U#i~;^7a68NA$Xz-#PFJVp+qUeKs`8<NrnzV9MwIE5SUS&c?N(r65|^t49fIIQD!
fd{tsV8cp1+QF#yQOBzkyo{bOf^QxWD?$7@Pu#3b{
literal 0
HcmV?d00001
diff --git
a/testsuite/rootfs-pristine/test-modprobe/install-cmd-loop/lib/modules/4.4.4/modules.builtin.bin
b/testsuite/rootfs-pristine/test-modprobe/install-cmd-loop/lib/modules/4.4.4/modules.builtin.bin
new file mode 100644
index
0000000000000000000000000000000000000000..9a11ac74e8719f47bfc1ba18182fe677d37733e9
GIT binary patch
literal 5115
zcmdT|TWB0r82;04l1-CMHhqv55k|2}^`T8nVu}|63RV!o2NA*cbmq+L?yz&q%xuyW
zszJdU1+gHazN{2MAH*tHL9h(^Aczlr5foqcK~xkK@dhI5cXl$n|4ueGNquM!oSpOE
zzVn~kfBv&)hkt#DcF=%EyMORQi%<sC4@q17rtRt3gMws`5RED3R!Ty&*Qtw|<pfr!
z3{yn2+q66@v}Ko`pA&O4U9x&SA$nZVmr@d<)3&g^*m4w1>V)t#qE{8YostlJuSfV@
z-i~$NMkD&mwDqduuXz{fvTnsBL_!0nI&8i!Q^K^QZ}N$CT`R_Pin_HDb+Nn^V0@tH
z%@pWfs2gmFV!slxB{3QaQCqCgG#a?GMFTIZHZ0#(-^~=*eVx#bJ*fL+-Lb2+Sed1R
zueh;r?TBp)$7W({sjF&)KzKvZ+bys^=f(Jau^)m)J3iEHNT2K{&3GE^Ec(HU9$LC$
zrK7MNC$uE<+pQW7BPC#W-j_k3eT20=Vf&G+S!^AQMRapA)7k15_^;@;XS2EUDt47^
zlQ{*s=6dd^U=tShbfnWH<uNMU*kMfF0(l7}wWy$AQWU4E2P}>_b!i7RzFqaGri@bU
z#coqy2HsIrSMl-%{KxXV&C;+vRb`P#xEdAuF8sw1f%F@6Qs0A^On-q24_?eFlOLnO
z0l9*{@5wm-=eJ3Nhbtj=%bN-nEC16*=#c%L$ut@~shf`NS?l*+Btk3loh80{?ZrvQ
zZ{ZXUO=dtFeWA0T%Rt{DZBdhKlUs{?hx%b$VLNn2S!Xj2>t+t^ts1V2p-o>G&^^r&
zR9mB=_uC;o?FO8*A+aTgugYs*3cWzX*ZQ#@vs;(VgKTIteA9OE;p=K<i}rKAhl>P&
zDom&2;W1R2EgJq7dVhArp}UM=CZwZBZ2mnKy$t^t6^F7;^52Atd-FU+gMXkhH9hY(
z97U$SRP#xI*}nFQD&(dbE(Xvc?Bx~}w|QoZuRB#=82mQr&3gpt5>Ec2x=U!JaByb2
z+q0-4V#T`QSZq>yuI<q8YMTxK?pE|h1@Z@CnnQFQIk1t=<-*r!<VYhHvS+%iph+W7
zY}Unub{)WtAeDZ)u1oCBnO0bRV+f|_y3O`+CFyCjYXNhD*tu)fFxfuySR$CqTHW^1
z7(LUO!f+{}(Vo-LqS1HE{L$r!qpl_?U4U8)>+iNQY0&>YV!j%r2O5o~a9aUd(@kjX
zRu*u5H^5E9ju%qgJj=&(#Dv{x)HBuzc=QGDxJhGoak^g{mQVHLXFOn>(^<^X10_iZ
zDVNB>w3V*Ol>2=l-!F9}a9z7bWSKndveZb&-Y?C<=4d~x|Kh>MMLih@q3sJ<4gCgl
zRhK;f^sE@Sd%eAbN-dzK<IyALWaQ7!&mIy}s?Ss$2{MqWjt?qUzXI8A3$d>BNsCH9
z_S0z6`1Q7l6ryTJak!#XQtWk0YdGoarK=(vz+YALr54~k-y6QF?Wq|58OUo>q54Rh
zQb^Zl`_PM9H2zQChlD1|s8>g}aD8@t_fk$SY<4=)eHgb7dmi{=^a4#R``A%RFLgL1
z8_Dd%Dz^msd3}0zPOQ6PSJ)A*#Ig}ae%Qs5%CCD-A8yjbrx_yXuUK1U3!Rcsd8lFV
z*xqw52I-M4-w(Y<tkBgR5%DLgV`1f4b|LL1mD>lT(*qhXMzkwG6Nui&axY~cZ!c^4
zV_2-MrSJA+5IuL8&6dp|Q9}pc<U0L>)2f}&WWkJ}`CeYqk8V-<vpl~^ljVbl)I(ha
zdKmG%I-e4=O{iY{3Mn1dEJEMpqj}^jmBv_J*oyDaf32TB_-7s4z~4O;rzg9fKhY%G
z*U#i~;^7a68NA$Xz-#PFJVp+qUeKs`8<NrnzV9MwIE5SUS&c?N(r65|^t49fIIQD!
fd{tsV8cp1+QF#yQOBzkyo{bOf^QxWD?$7@Pu#3b{
literal 0
HcmV?d00001
diff --git
a/testsuite/rootfs-pristine/test-modprobe/show-depends/lib/modules/4.4.4/modules.builtin.bin
b/testsuite/rootfs-pristine/test-modprobe/show-depends/lib/modules/4.4.4/modules.builtin.bin
new file mode 100644
index
0000000000000000000000000000000000000000..9a11ac74e8719f47bfc1ba18182fe677d37733e9
GIT binary patch
literal 5115
zcmdT|TWB0r82;04l1-CMHhqv55k|2}^`T8nVu}|63RV!o2NA*cbmq+L?yz&q%xuyW
zszJdU1+gHazN{2MAH*tHL9h(^Aczlr5foqcK~xkK@dhI5cXl$n|4ueGNquM!oSpOE
zzVn~kfBv&)hkt#DcF=%EyMORQi%<sC4@q17rtRt3gMws`5RED3R!Ty&*Qtw|<pfr!
z3{yn2+q66@v}Ko`pA&O4U9x&SA$nZVmr@d<)3&g^*m4w1>V)t#qE{8YostlJuSfV@
z-i~$NMkD&mwDqduuXz{fvTnsBL_!0nI&8i!Q^K^QZ}N$CT`R_Pin_HDb+Nn^V0@tH
z%@pWfs2gmFV!slxB{3QaQCqCgG#a?GMFTIZHZ0#(-^~=*eVx#bJ*fL+-Lb2+Sed1R
zueh;r?TBp)$7W({sjF&)KzKvZ+bys^=f(Jau^)m)J3iEHNT2K{&3GE^Ec(HU9$LC$
zrK7MNC$uE<+pQW7BPC#W-j_k3eT20=Vf&G+S!^AQMRapA)7k15_^;@;XS2EUDt47^
zlQ{*s=6dd^U=tShbfnWH<uNMU*kMfF0(l7}wWy$AQWU4E2P}>_b!i7RzFqaGri@bU
z#coqy2HsIrSMl-%{KxXV&C;+vRb`P#xEdAuF8sw1f%F@6Qs0A^On-q24_?eFlOLnO
z0l9*{@5wm-=eJ3Nhbtj=%bN-nEC16*=#c%L$ut@~shf`NS?l*+Btk3loh80{?ZrvQ
zZ{ZXUO=dtFeWA0T%Rt{DZBdhKlUs{?hx%b$VLNn2S!Xj2>t+t^ts1V2p-o>G&^^r&
zR9mB=_uC;o?FO8*A+aTgugYs*3cWzX*ZQ#@vs;(VgKTIteA9OE;p=K<i}rKAhl>P&
zDom&2;W1R2EgJq7dVhArp}UM=CZwZBZ2mnKy$t^t6^F7;^52Atd-FU+gMXkhH9hY(
z97U$SRP#xI*}nFQD&(dbE(Xvc?Bx~}w|QoZuRB#=82mQr&3gpt5>Ec2x=U!JaByb2
z+q0-4V#T`QSZq>yuI<q8YMTxK?pE|h1@Z@CnnQFQIk1t=<-*r!<VYhHvS+%iph+W7
zY}Unub{)WtAeDZ)u1oCBnO0bRV+f|_y3O`+CFyCjYXNhD*tu)fFxfuySR$CqTHW^1
z7(LUO!f+{}(Vo-LqS1HE{L$r!qpl_?U4U8)>+iNQY0&>YV!j%r2O5o~a9aUd(@kjX
zRu*u5H^5E9ju%qgJj=&(#Dv{x)HBuzc=QGDxJhGoak^g{mQVHLXFOn>(^<^X10_iZ
zDVNB>w3V*Ol>2=l-!F9}a9z7bWSKndveZb&-Y?C<=4d~x|Kh>MMLih@q3sJ<4gCgl
zRhK;f^sE@Sd%eAbN-dzK<IyALWaQ7!&mIy}s?Ss$2{MqWjt?qUzXI8A3$d>BNsCH9
z_S0z6`1Q7l6ryTJak!#XQtWk0YdGoarK=(vz+YALr54~k-y6QF?Wq|58OUo>q54Rh
zQb^Zl`_PM9H2zQChlD1|s8>g}aD8@t_fk$SY<4=)eHgb7dmi{=^a4#R``A%RFLgL1
z8_Dd%Dz^msd3}0zPOQ6PSJ)A*#Ig}ae%Qs5%CCD-A8yjbrx_yXuUK1U3!Rcsd8lFV
z*xqw52I-M4-w(Y<tkBgR5%DLgV`1f4b|LL1mD>lT(*qhXMzkwG6Nui&axY~cZ!c^4
zV_2-MrSJA+5IuL8&6dp|Q9}pc<U0L>)2f}&WWkJ}`CeYqk8V-<vpl~^ljVbl)I(ha
zdKmG%I-e4=O{iY{3Mn1dEJEMpqj}^jmBv_J*oyDaf32TB_-7s4z~4O;rzg9fKhY%G
z*U#i~;^7a68NA$Xz-#PFJVp+qUeKs`8<NrnzV9MwIE5SUS&c?N(r65|^t49fIIQD!
fd{tsV8cp1+QF#yQOBzkyo{bOf^QxWD?$7@Pu#3b{
literal 0
HcmV?d00001
diff --git
a/testsuite/rootfs-pristine/test-modprobe/softdep-loop/lib/modules/4.4.4/modules.builtin.bin
b/testsuite/rootfs-pristine/test-modprobe/softdep-loop/lib/modules/4.4.4/modules.builtin.bin
new file mode 100644
index
0000000000000000000000000000000000000000..9a11ac74e8719f47bfc1ba18182fe677d37733e9
GIT binary patch
literal 5115
zcmdT|TWB0r82;04l1-CMHhqv55k|2}^`T8nVu}|63RV!o2NA*cbmq+L?yz&q%xuyW
zszJdU1+gHazN{2MAH*tHL9h(^Aczlr5foqcK~xkK@dhI5cXl$n|4ueGNquM!oSpOE
zzVn~kfBv&)hkt#DcF=%EyMORQi%<sC4@q17rtRt3gMws`5RED3R!Ty&*Qtw|<pfr!
z3{yn2+q66@v}Ko`pA&O4U9x&SA$nZVmr@d<)3&g^*m4w1>V)t#qE{8YostlJuSfV@
z-i~$NMkD&mwDqduuXz{fvTnsBL_!0nI&8i!Q^K^QZ}N$CT`R_Pin_HDb+Nn^V0@tH
z%@pWfs2gmFV!slxB{3QaQCqCgG#a?GMFTIZHZ0#(-^~=*eVx#bJ*fL+-Lb2+Sed1R
zueh;r?TBp)$7W({sjF&)KzKvZ+bys^=f(Jau^)m)J3iEHNT2K{&3GE^Ec(HU9$LC$
zrK7MNC$uE<+pQW7BPC#W-j_k3eT20=Vf&G+S!^AQMRapA)7k15_^;@;XS2EUDt47^
zlQ{*s=6dd^U=tShbfnWH<uNMU*kMfF0(l7}wWy$AQWU4E2P}>_b!i7RzFqaGri@bU
z#coqy2HsIrSMl-%{KxXV&C;+vRb`P#xEdAuF8sw1f%F@6Qs0A^On-q24_?eFlOLnO
z0l9*{@5wm-=eJ3Nhbtj=%bN-nEC16*=#c%L$ut@~shf`NS?l*+Btk3loh80{?ZrvQ
zZ{ZXUO=dtFeWA0T%Rt{DZBdhKlUs{?hx%b$VLNn2S!Xj2>t+t^ts1V2p-o>G&^^r&
zR9mB=_uC;o?FO8*A+aTgugYs*3cWzX*ZQ#@vs;(VgKTIteA9OE;p=K<i}rKAhl>P&
zDom&2;W1R2EgJq7dVhArp}UM=CZwZBZ2mnKy$t^t6^F7;^52Atd-FU+gMXkhH9hY(
z97U$SRP#xI*}nFQD&(dbE(Xvc?Bx~}w|QoZuRB#=82mQr&3gpt5>Ec2x=U!JaByb2
z+q0-4V#T`QSZq>yuI<q8YMTxK?pE|h1@Z@CnnQFQIk1t=<-*r!<VYhHvS+%iph+W7
zY}Unub{)WtAeDZ)u1oCBnO0bRV+f|_y3O`+CFyCjYXNhD*tu)fFxfuySR$CqTHW^1
z7(LUO!f+{}(Vo-LqS1HE{L$r!qpl_?U4U8)>+iNQY0&>YV!j%r2O5o~a9aUd(@kjX
zRu*u5H^5E9ju%qgJj=&(#Dv{x)HBuzc=QGDxJhGoak^g{mQVHLXFOn>(^<^X10_iZ
zDVNB>w3V*Ol>2=l-!F9}a9z7bWSKndveZb&-Y?C<=4d~x|Kh>MMLih@q3sJ<4gCgl
zRhK;f^sE@Sd%eAbN-dzK<IyALWaQ7!&mIy}s?Ss$2{MqWjt?qUzXI8A3$d>BNsCH9
z_S0z6`1Q7l6ryTJak!#XQtWk0YdGoarK=(vz+YALr54~k-y6QF?Wq|58OUo>q54Rh
zQb^Zl`_PM9H2zQChlD1|s8>g}aD8@t_fk$SY<4=)eHgb7dmi{=^a4#R``A%RFLgL1
z8_Dd%Dz^msd3}0zPOQ6PSJ)A*#Ig}ae%Qs5%CCD-A8yjbrx_yXuUK1U3!Rcsd8lFV
z*xqw52I-M4-w(Y<tkBgR5%DLgV`1f4b|LL1mD>lT(*qhXMzkwG6Nui&axY~cZ!c^4
zV_2-MrSJA+5IuL8&6dp|Q9}pc<U0L>)2f}&WWkJ}`CeYqk8V-<vpl~^ljVbl)I(ha
zdKmG%I-e4=O{iY{3Mn1dEJEMpqj}^jmBv_J*oyDaf32TB_-7s4z~4O;rzg9fKhY%G
z*U#i~;^7a68NA$Xz-#PFJVp+qUeKs`8<NrnzV9MwIE5SUS&c?N(r65|^t49fIIQD!
fd{tsV8cp1+QF#yQOBzkyo{bOf^QxWD?$7@Pu#3b{
literal 0
HcmV?d00001
diff --git a/tools/modprobe.c b/tools/modprobe.c
index 64674b0..ad2517a 100644
--- a/tools/modprobe.c
+++ b/tools/modprobe.c
@@ -900,7 +900,11 @@ static int do_modprobe(int argc, char **orig_argv)
log_setup_kmod_log(ctx, verbose);
- kmod_load_resources(ctx);
+ err = kmod_load_resources(ctx);
+ if (err < 0) {
+ ERR("Failed to load module indicies: %s\n", strerror(-err));
+ goto done;
+ }
if (do_show_config)
err = show_config(ctx);
--
1.8.1.1
--
To unsubscribe from this list: send the line "unsubscribe linux-modules" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html