import util-linux-2.32.1-24.el8

This commit is contained in:
CentOS Sources 2020-07-28 03:30:17 -04:00 committed by Stepan Oksanichenko
parent 4575e35fda
commit e699044b0a
15 changed files with 2323 additions and 2 deletions

View File

@ -0,0 +1,28 @@
From 6f16035b81cd7feca02d6df8eff1bb954ed7e58d Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 4 Sep 2018 14:30:37 +0200
Subject: [PATCH 29/32] lscpu: use the first VM from /proc/sysinfo
Addresses: https://github.com/karelzak/util-linux/issues/685
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1739443
Upstream: http://github.com/karelzak/util-linux/commit/350f5c8df2cb6edbfb5bae95f00a9fff446d236c
Signed-off-by: Karel Zak <kzak@redhat.com>
---
sys-utils/lscpu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index fd6d63bbf..1aa7bff4d 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -866,6 +866,7 @@ read_hypervisor(struct lscpu_desc *desc, struct lscpu_modifier *mod)
*(str--) = '\0';
while ((str = strstr(desc->hypervisor, " ")))
memmove(str, str + 1, strlen(str));
+ break;
}
fclose(fd);
}
--
2.21.0

View File

@ -0,0 +1,206 @@
From e10bdfc6cd623f02740cf2bcfd9867c56534c5e5 Mon Sep 17 00:00:00 2001
From: Radka Skvarilova <rskvaril@redhat.com>
Date: Sun, 22 Sep 2019 13:49:45 +0200
Subject: [PATCH 30/32] tests: lscpu s390 nested virtualization
Signed-off-by: Radka Skvarilova <rskvaril@redhat.com>
Addresses:https://bugzilla.redhat.com/show_bug.cgi?id=1739443
Upstream: http://github.com/karelzak/util-linux/commit/2062164894fffa314ecb7ac99dc6c98062484389
---
tests/expected/lscpu/lscpu-s390-nested-virt | 45 +++++++++++++++++++
tests/ts/lscpu/dumps/s390-nested-virt.tar.gz | Bin 0 -> 7199 bytes
2 files changed, 45 insertions(+)
create mode 100644 tests/expected/lscpu/lscpu-s390-nested-virt
create mode 100644 tests/ts/lscpu/dumps/s390-nested-virt.tar.gz
diff --git a/tests/expected/lscpu/lscpu-s390-nested-virt b/tests/expected/lscpu/lscpu-s390-nested-virt
new file mode 100644
index 000000000..2665fd8dc
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-s390-nested-virt
@@ -0,0 +1,45 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 2
+On-line CPU(s) list: 0,1
+Thread(s) per core: 1
+Core(s) per socket: 1
+Socket(s) per book: 1
+Book(s) per drawer: 1
+Drawer(s): 2
+NUMA node(s): 1
+Vendor ID: IBM/S390
+Machine type: 2964
+CPU dynamic MHz: 5000
+CPU static MHz: 5000
+BogoMIPS: 3033.00
+Hypervisor: KVM/Linux
+Hypervisor vendor: KVM
+Virtualization type: full
+Dispatching mode: horizontal
+L1d cache: 256 KiB
+L1i cache: 192 KiB
+L2d cache: 4 MiB
+L2i cache: 4 MiB
+L3 cache: 64 MiB
+L4 cache: 480 MiB
+NUMA node0 CPU(s): 0,1
+Vulnerability L1tf: Not affected
+Vulnerability Meltdown: Not affected
+Vulnerability Spec store bypass: Not affected
+Vulnerability Spectre v1: Mitigation; __user pointer sanitization
+Vulnerability Spectre v2: Mitigation; execute trampolines
+Flags: esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te vx
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2d,L2i
+0,0,0,0,,0,0,0,0
+1,1,1,0,,1,1,1,1
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2d,L2i
+0,0,0,0,,0,0,0,0
+1,1,1,0,,1,1,1,1
diff --git a/tests/ts/lscpu/dumps/s390-nested-virt.tar.gz b/tests/ts/lscpu/dumps/s390-nested-virt.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7992699925395ed8d33b1e1466b74fc1aa235268
GIT binary patch
literal 7199
zcmb7|dpK14zsFsYO}nPFYuZ%PMd^Z336(4*TcRer3sNpgD3MZbv80PMNo`w{G9oG0
zqzEx26v{10($JJUV=(5n*7}?^*}wgq^E~G{&vW`mYx%D4_jCJx-mecD^A|aJ^PPv}
z6bJ7eib<%-zkE8l+t#n8FlzI-@}kEz)axa}w(L)lt9PBsIIOAv%}zn7;nQdi5~WYu
zJ{neZKDMS$*w*%R=W)|!D?0w%vFL^?&s?4AW{mpAeg7e#;9SqG91c9*fS(3`-H^qX
z)Y3P;zr?$Q=%Hctr>gQ-q}<J=jcTt>_}aRkprjf_!Sec}n^BcIE<Kh$6ICsxLEF)U
z2h7a0<9p@z@7PR57h|28L}}W0O5H%8B+6(Z6dT=h7wg~7Q=C09oJMJ7jTe0DXWI)7
zU12V%Wt!c5QS{b3@66McpO(MBP294MAAfMJFVJ?NclGMH!1?dmh$FMR59xe+^rhRE
z?=*WZ)n-*&!3vg+y^ZevH4fBS4)0<PSA08Ca&+txQER-){-ExWmq%*9pA9T-wAFPz
zD~vs)lWhNVM~$ZLLX$_;MzgKgRw~SWI!j|+Hbtds4%dV$&t1%2T2*ZwVBITJU9LI%
zstPMIEb>O=O+sXSYPld#Gv=x#>uuQE8!Mw%zW>{Khm+}=AL~*n*W=aKaa>K@OPx!P
zguV%1Gi}4PWz*(N3z^$bNkO8j|F|199x+Se`nIt}`;Lxl^yalL86sWBl5d$`PJFZV
zNm+ZiQo9+&<F)*65~<AZ4%k&@W4%}G1HK<HvVNP}7gqPzBkSS6P6_*oI;?FS+lslC
z^S(yYitT^ix8WSoc{0>DG_(<Wdnrv<+B@2|r{LT;GbibN&LWDfXz9+mmd0#En&$Sm
zEj-#aS5)ftSUuFqkP!FnYwv4`m%ch~!XD3FsPyKgN-=XRIsK~bAP0z>p0SmlkLwX;
zO@+<E?c$u9y7mK%)cOocq;JwOt*!~J!luLSeP=^b&Oj0y&!vF4s=HYKfY!Q@x>n&>
zb%o^pf&LUq1pBnAcfeJ))LRVEyaF(6Pp&pe3IqnMY=o3fvB>ABC4(bBCXz0skmYlS
zi$wF(I?npN{KE=h6QA-xwGq-frF{BXr4A8&CUy|cZ^c%MW~Mr9ewKdOQ~W)bmQfv+
z`M!l$v}uz|+F<Zy+S9<78&@~`8k>w*Es7>W1S^T-8fkg)C5>7EnE3PN@{FKlTbixS
zfy8@Xn-%}6h;2*oNQt=oW4LRxyKSgZM@z+~wgEAe9^o~KYx~^;O1{4vT_)AJepS20
z{5hB1V{<^0-xU)e?Qck_kM=cbu1;>R=wTzei5qlT8?qBO46|tLpfP@QIGz~WXcMJ8
zx_e}~74>b_j2~F(hfVWg?;m~GQQ`PfVKvHR8nJ`V37aE{p2`RgrzGppx2|nz)#B2t
z-sv~R*+k?6;@Cm_udEpTjoW(rbfn1)zP445P3fjpdtH4~T~n47eq`s*7-iBMyPlmN
z!TC0~&#fA(+IUg0R$$j1jW_Z);Au~9@**tU%J<mMyY}72UbJ`awW?~C+uqgO`x{qj
zAhF`054Lpf*FCq@-=>^C<+yq_)|)qy7SwoQFR$0X^XdL>exr?jmgB`g3E2;khu^{d
z8B|@1YPMOH<I7wl;_mYx{y1E(IVSk#8#-RhObfE%>KR?l>U_R-S$N7?o7G%w#qhVs
zjvqW;NB3JlI&hmFU5g#K{Y!MH|Ev!+yZR3pw=h*JMtc3JDF<%nT<^EOcHC|Bh2xPd
z$F0K)Lh3brR?MF6_Vm8>`oG1~-L{z7f7)$uY=s8m^iaLueEkRJu}9RF-SqVPj(g2Y
z9$gNynJ!44`~_z>J=Cm3G+pq`@B{OId6+U?pr-%9s$n<1+_U6h35X<y6Sbj586VfG
z`mPAbyLPH$=<3*m6*2Z}T!eWScrj;^rQZgL>J))*!N6w91iJ7lD;tI7KRQ_WvxKq>
z2ey<Xl$mEGeP!%^&J~1i#Z`T{f$LAdpg*D^m~Mm>?NHL!93#p3&%TbEh}`{2!3Y}K
z5K^4C@ogOc*m!uJSuXLT#@Hb@I`C|Q#ej-bTu*7`#rR1D#85=Ry?qOEg04iYySqQ}
z(Sn@TLwG<*e}B)0>>`|xhUjqpvR$!}gfE~F(S#62{my+E!Q8eLw+!i9O}goSfAD|n
zJ1>%YemGg=yZ%^Fq;OwFeMWaH0|JFSPRQ96CK-2pTG3&txZFz6RGgz8>bU;T8tLr2
zAFrj8XIbMS`*$O}mO9Sn8K+|N`0Rxe;XTE}CZLr%vIZ>5{kbSI)Y>X6J4_&Z-@xMg
zYX}L??d34GUXO|7bfe~v$V;so30`?a;|uhn(OxAxSlZPj8i3$@CxtO7I&a5y(H`gD
z;KaE!3#F>oPxMj!Oz?etol7^O7-z!nk*?N)91c4e@7ot!XS+;iXQ}UoLdKT_%<fWJ
zP*)4{k>e3TaypeAq>>)@B<S~jbZ-BTGlJ3PIaPijcWoT0O*y<_XI_)`vLuPx<I^2T
z2NW7LvOC{E>Ulb5t~uq@!2HVnAbrp>EvGRZ<vqjWjDJl+RgdU}k1nX%4)zCrWN0|0
zWI;~wEq5G^BoLMP{r>7pacX-)#p1l<gFWc0kx?-XcTZ|Z`J+DsTy)=#r^L(>+c2)g
z@G2~qs`Yf|g-JyTb)YgVbH02DAvVy7Ib)pl(!Sklxx&O|?BN89H36~IMZmgv;((W7
zf_5w4f>E|bdmP#HVAi3~s0o6NZiF<2I=DIWMD4Gy{Nr?oApg_g?BCN`5RL4{&jc$9
zLO4AQh*G@JKVgO>`l#C}YC$9@uf~J_G=<+x!Q1sdq}K*;CKx^ZRiAgZzRQyv!l7AA
zbJ{EBG{A`6YcwyBh@I1Hteamn$IjgC?)$UNmv1Lch*)1iakv~93d7_k4?sVmdTw&&
zZ{GRD(!erWE1I71*|BIrwZP{Vj5+hy6<-$PEM*VyER(R?=k+0X>d)lVi+r8Cxv1_F
z!a`Akdb=7C4(5TQCm_@A!trPQtlDM)(q{&m+UpiHXzQfR@t&f4_yHU#y_%Nib-Y*J
z%LgtrPawbM5{#|Awv=#bF`^_Y)@y~(Azt!JwzAh}ltR$dL@R#9oxew!eVKCb^>(Pu
z{F0ep@bLFesn{tG^Qq)x6t&E6PHv$Zb@By5*fqw!^ydqRDXZ?q3$Miz&kuWZYg?Ys
zx_*BLSHoO!)|5IZii#zuHiw<zg(<jm5!|qs6;8F2J4+@%u5G!4TfwFZ`J_q_eWVkX
zmFp4-KeD$UZ6q()QC3QOz@0iWEhfaKTCkPJ5X~g$F*qw>xdk%22jT~uPMs%cDh=%R
zPkr#DQTlAV_kPQu_WZdX+31`_5Ha;v`0|j7Gi)sz7tLT2=$l3&CTxOpV&gc_z3{Bh
z=;INLq1HeY@1#h4JY_E;F(-BMIqDwa^K@{mYz%z^i{vG;LZIbCG#^pv1=(WSLx}D{
zZ^-r<97pO?=)R$Szmz3I&N&gXJ&fph7(*x@1j-shOCCoH`piKw6Q+HKpC8mE!td{H
z@f)OU-z=2=YZojc3%OmSYY?QccaC#j4|`g9E@2gJjz#&O*KY<BLW-mJp)2<~yIl81
z7S7JYX(88fCyz2B+S@e?y>Mtzdpk7aGy$RqRtgiSU&8PZD%HKwJ%-39g4vXA^vlCM
zg8oUVX)7!oMLbCJst&-^V$(bIptR&7FsCp@T15rImUZ!R&u+uC5zI+#kc*1fh7}U2
zqk3Qw9)i_&biZ;pCDZ-B8+|D!MAg3j;dW6ssrb_Xn#zN?%}O87VOp0W1Wsx<$ox!5
z=(lVZ)~6LY7hN~l*{avd=DC2fdeYBG=u9=8hEKaBpsDG>0J)UqR%;a9+_tM0$x56$
zK2+Ejb{1!Kqe^#EaIGyO`C+*kt~o$&%#J_G^xXSfn|5T)ciol#oRZ6dQktj%nZEQ9
z$8%7?@@_Tsb?lJ8`ohav&Zian2!@HU6P7OC{X+hQbp#*A77(*P3(!)c#}#O5FXrLb
zHiePq!zm5t)RTD_ZDrsUjHX&t1!@}3131(Hb^CcKqA~)7J8f~N!-|=j-rcZgu?5+-
zWbb^2&<oQW0tnmTw2Mio!V_Y^Af%7|cB)4vI_s*On5IegiROI}_eri@3Tb1={Z~Ye
z{--JyWeE1fLrR$mp(uq0&?+|}HcMntO{F>$aTonPZMq#g0_*=ApR(Y!BamzKh^6ub
ztsu7*$_V5d{46diPU(UQ30)-~&S(VVltD0)G88bfALPJ!9Bn{Uc9S<^0JQ^J^%(gH
z)SuXR4T8tvUJjIlMTJoqUhg(2Kr(^h42W7$6{-icMA#|Yf;9Sq7)CHHwN5yl@bxp4
z;^ZAzB0s?PZjK{@g|HYdOzGvEDC$R70Br(IE;k?!djKn1jHnKBktaaGQL=oH5dw{e
zW%5!ej4C0NC%^@>2oDq8t8yd_hjTJVNUMSxVJ1PE@mHAGN#^1c0y#gynj(TPlk1XD
z^(Vk0U12kT(}%I^HzdM#1>uzWVKbUtFir~4jfCKW$4%*4=_S{zHzA?bKsANj<Yy{n
zUP(~RGO{8M36OZ8)T2w}38bJe3+J^%1V&f;CvE;f8%2IbHiM7~fqwxg1Vzn@OIIF~
zJ<wlcG^GjtKYKp|%}>?nBOFBK5FtR+CJmGY0}+Aj22SSTK89kQP$7zzc|-OfVL!AF
zIF*5wVmI1BdS@p7xxv5QPChH+F>*g0{%5}%VE!{HE*NqHcu&aUC7qoN4_O<Uqv(oW
zbs%urQD!iC)T9d~vedf&Cx>5u8e>LKRqWtQLg_e%1wK5OwfJAJNk_ZHh~~W4EDby2
zx?Uo1T~?4#5^jUh3$O)^4^dr44;V#2++_;8Gz2F)1{gVhVOp`NKBG~!Z<k!JIkAut
zn)zx^$w<HXUi#A@n-->1$&?l=yOL|^alV4lq9Adf>SiV?_lJb_!zTCcL;K$iyMymO
z<pFD;)Bw=WKt1R}u%?ubPz`U6=*>7e+W|NH5zJ~z2U2q$vu}`kyw-H;qgql2tyX75
z@YjE?hO{B1M~$quPVm$C9~jZ#OfZIept3fuH5xj+nEhtsj`G(BI4g*_G;Bd`G~0%t
z2}dxxy7o8JvW7EDy0FxSV2y5-HE0Ye$ZddSD^ZJQLST%+MOCr`DvXjjw32dejQVdo
zE=389%BhwhDwBlZvqQY;)mBJ+J?3O7>#bWM?g1IIuYlYG{v}hgVa(-oGSg7EO8sbN
zmbcP=n?m##y9(>w!B~AFRPZr>^^@RFdXUy;oIlfz>_!6G+YF2+6|nl#^W(g$eer}J
zaHMZZVMq7nm2%xebYT*nCO`0#Av{c4OH5L}a8$?m2-OZ!NUhSS;B!{h#Q4}eceqi$
z{(zwVN1ud6l9<}9+cP|F-D*@dRG_YDLf1M~HrwZ~AD7E7fV6t_yUP^;suu2CSAC;2
zFMa@JPx#w><tQ2qArTNU#iU7qs9#brSfsV43D&MQ%oxh@oGJ<>TD8GpUp;C;2uJKH
z*)^C!yrMS`?scQnF5zsCPFI>?Xhd!kdw<=DbA{>?OO4mz$_f%KnUSk;dh+Ws!uLE;
zUxjX63^5l;A~^N`B!cQOB(iMirv}%K&VARqrj`9&0Y}tGrO9nZ3+uQZCOUs5?EC9$
zewNam0Vkz5aDR&_>}qBbX&DbZW=5C;^4$Y0O{F}81rng<6Z?nQdjkk96%XimsEijp
zlfBqR(5I8nRlC5@ej>0_j2OdtSqI$Mi+&=IDj<=BXRx^!jVF*q*rM=Rb~YGCm%bLK
zE|p^vY}FfNXC3Dm+#5$aCFqrZ7=kXLIpa=C$k;w36FGs^d*okRIf0J7O2;F>H9-3t
zJBoKWMay)byg@KgJahg4Ths0}CxE*BG|t2cwv02YInLBK9|=wy5p7aU(Dj|cq9FI9
zj1q>1NCAv)iu>7tk)oZ#33do|`<R%usB^L@zu4)HJ3X29;1aR<JK7+J7e_rOrk_2p
z&w^>&egP_3u?#;SUWU7#yvI7Ac8b|#&x27nxzo7S4;LbOic}O={O(eHm@L`vAV7W?
zG+##5{Bp?DpX}m0I6x0p%@m6msua@fMNoZWP~fDUVw}i0Q|`Cm#GP!HY?M<$Q1ll;
zE2#k}Q@&v<Y<0mWW03>)`Pasb?hQS|n)^LXIf)4~JX*n%ur14lY13a(PAZ?A7fcQi
zXDjs`tW%QT9JSoL+~2ZLI=sHF9m*mI&$4`$ObPvpOC!hnXY79M=Bf}-OfZD#=!OW0
zzG&JtwR7!)Dya7tG02U@5>_;hZtpxizHV4<_;3!?o(PM5^==e>@Y{Sb@|#~2EHfzk
zD23ZVzo9^qk4zS`CG6Kz?JU34LE6^q*yKA>DyM2B@v)pQ9J2ltI>A@gXpboBe`Nn+
z9!5g541dzW$}8;Ww7}Z!0=DX2-1>+Kvh|`eO>rjWN+vFB3*fY2IpgGz^4Ey2PR+TD
zO+5RniAfhoNhjA-p=3zOnit5#mW%u}$Z;IG2(n-&;r{;@5s;rJlI={U^FQ^IcMd1z
zQoTxk5Y?T8hfidLviY<+i0DCoYLQ<H>?X*XkDMwKvVsY=52==HQogHCNSaU{fqX}A
zkOf3i5~Z8ec8W?qpK2zBt#x4IOq1bAFT}|HBZLZ!uJVag{r_gU@1(IZnIvx%i34&3
zG6<H6|FR5uJ7u6S`3c!MCV4_iqRe}c-sOs;HBU0i<a_nVe3Bd$ei~>WQOlW$ucn5{
zu#r4nZ8C?>1TsF!93;4qT#yLcen!DT$|(Sf*omYBu8iP(!0F1rxhlud078RwD2^1{
zbScsem#hC9xGC}=LhSS(0Fc3!Ozlw_yZi%g<lyjcW@H#b0?H?d_*e7ERb*Qx3u-b7
z7szHHi*bcWMsB1Z|9Z|?3=!dzSs}-rNhXy=dyF-SQO6;8f&??>RPywPbX+(LW`weA
zEFzOfdOir-UZwI`T9wOJxz}oztS|i|7-R6@;6*#ok{6-{g?s;*@}_2Uv{qe8cn86y
zqicY1-V@6RBwnm(=ia?VusaD)Ebt1>_H?dGc;c1&=u|+?JnroMx?@Ins4+Vi`Xs;H
zxMI22>>g&?(t}_vaI<_mps%ZS8V?QG4PLpQzZzqE;6qRdzKl^LT7D-a)JR(x!TZ=k
z?dytfLT>BSXu?3(n}Ap2?1u?n&x;Vv@%29Y+Xlx3e1}V=y9CQhziKBB^>_Wf)#PO`
zF8U)R*4#HF?~wL4tSdeTeQs=78xgG)j#oQW57^&E95>#5vhURCtkw5VZK`Xk&bT&1
zDNvtLYBFDgSN|l^TaXlxioC*oA0zDS%pDFCi}6bK5pfSYpKlPFe(-V51UhuD!#hE5
z-ev!n8NEtgs#6s#-+x@-qa1s7{)Y0t2GQ)ZpC8&H37Qux_v9XW*HR;$Z`9--UOvG@
zN8Cg6k1gt$p}P1M+T)hj;ii~S$KNj~R9+sdq15rK_Gmt@l!%YKHC^p?26q4MyKOpS
zFG^{559{WcKJ%+R>R(W^BjNp>vju{>TJBCkgx1>1=E{XW#~1rp9c@0gbW9M+*?z&;
zC2`K+e0u%1gndpubJxx;oNs$%b?Uaopn0OU+}vH+ZRx5!#)gwmw|x(In7(ON<SW-#
z;f)3vwAG%G#cZz!e(pWTI%xO&_Idr`U;MJBvP<n|V!E_V&uK<&pV!Xt@?{f$oZ8nX
zy>ilSDEPQvdhzHIdew_fehzWdhp?ygHR<_H*HnYnEbAHb?&~xyc{O3f+*9uFTKMvF
zOWY$j`sKWp_@3SpdrSPL!EwhA;W@>7LNsed2X9orUF3O_dQMXBfb^7c)|`OTj?||=
z>JK)}W5Ln`KsT52lzut=IldpL$5-#qw2~ZQRlOi`T4AOL4LrQ7Q+}hHwZQ4)?>eWB
zZ5Tz?K12n%7Fl?;6s7wqJ~XS?Uw`UIsq5ZBhkVI{9p*~gl<uo8ne%#8e8wW1E$QKx
zRBx>kC5Jm0?<7`R3sCj!O{rZC<Uo%bBBt5RRdx`Yhmi=dCEgj&p@!G@0^|2RxZ(O9
z@xzlr3P!!ic_^SIfv0OWy2ppHAoXOefVS8&m#9!a`@`qk(BpLytW^jzWZRX&>Cd0~
zIIr9HSXh2}4>6kYz*oeOv?y08gcqc}7m0WhoN;$*01PN)0?WW#g1&9vQ@sVI5Kf_C
zL>l?0hn+7spQ(~U>losD5eLlqAfdy(%#t?GLy6<$L^6L29Lq3xwx$K4U*Zn3D=@?|
zMzb7aQ@m<8CnoBXaIMdn(-j^nxu34&C}%xS1E*Qw6P}-<!BVeULZ>@p$O&tK5Aoc8
zfs~KVRBB*Tt!u%>X>Vp~!pk@2x+z{wPlh4FCEgkQ=`U`fZ&mLb*y~xkKEqoj;5%~*
zIEoyZ8b$57IueL^y$@dA-1pFJKzVIq)g$6L&iXc!0}~a7_IHKP+K+Z0E%|!-<5&GN
zjw<3>&t*$l#oLY5zpl*rh#JY3yY@oXynfc^+#yH3=Th6Y4>g=<Ga>J8YcKlFT!$u~
zU}h$^s+Aj*!kGRmg5qdO&I&L3*^3Ul-?>~uq%5kE(CDVnT(u4M-CNUBNu%BUi2BJ!
zPh2=Jj;*RtaKQNx;WG2G9dMOuN8=8i|I6T(=e2y0NWti}1f_5D7?+p(_g_E(Hg(Yb
L#Syu9MY;b1+Xr6l
literal 0
HcmV?d00001
--
2.21.0

View File

@ -0,0 +1,43 @@
From 90d4faece26c328c40336a0e02b875515c503e30 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Mon, 19 Aug 2019 14:03:07 +0200
Subject: [PATCH 31/32] chfn: don't append extra tailing commas
# grep kzak /etc/passwd
kzak:x:1000:1000::/home/kzak:/bin/bash
# chfn kzak
...
grep kzak /etc/passwd
old version:
kzak:x:1000:1000:Karel Zak,,,,:/home/kzak:/bin/bash
fixed version:
kzak:x:1000:1000:Karel Zak:/home/kzak:/bin/bash
Reported-by: Filip Dvorak <fdvorak@redhat.com>
References: f723cbf544a7eac2927634f2cb6d802437a2d519
Upstream: http://github.com/karelzak/util-linux/commit/9210c0d225fd808da451d86055bf243a8b47a525
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1743555
Signed-off-by: Karel Zak <kzak@redhat.com>
---
login-utils/chfn.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/login-utils/chfn.c b/login-utils/chfn.c
index c5312fa0c..4f32604c5 100644
--- a/login-utils/chfn.c
+++ b/login-utils/chfn.c
@@ -377,7 +377,7 @@ static int save_new_data(struct chfn_control *ctl)
ctl->newf.other);
/* remove trailing empty fields (but not subfields of ctl->newf.other) */
- if (!ctl->newf.other) {
+ if (!ctl->newf.other || !*ctl->newf.other) {
while (len > 0 && gecos[len - 1] == ',')
len--;
gecos[len] = 0;
--
2.21.0

View File

@ -0,0 +1,83 @@
From 447b7d7222bf8cb3591d611aa51917bd4453f8d6 Mon Sep 17 00:00:00 2001
From: Radka Skvarilova <rskvaril@redhat.com>
Date: Mon, 16 Dec 2019 10:57:32 +0100
Subject: [PATCH 32/32] tests: add new test for chfn gecos
Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=1743555
Upstream: http://github.com/karelzak/util-linux/commit/02238bff663ce5fe823980d8119f3871cc348764
Upstream: http://github.com/karelzak/util-linux/commit/b2ef43864f24b1a9c0c67fe2a7177a5110da1b6e
Signed-off-by: Karel Zak <kzak@redhat.com>
---
tests/commands.sh | 1 +
tests/expected/chfn/gecos | 6 ++++++
tests/ts/chfn/gecos | 36 ++++++++++++++++++++++++++++++++++++
3 files changed, 43 insertions(+)
create mode 100644 tests/expected/chfn/gecos
create mode 100755 tests/ts/chfn/gecos
diff --git a/tests/commands.sh b/tests/commands.sh
index 93100caf6..b56381c9e 100644
--- a/tests/commands.sh
+++ b/tests/commands.sh
@@ -104,3 +104,4 @@ TS_CMD_UUIDPARSE=${TS_CMD_UUIDPARSE-"${ts_commandsdir}uuidparse"}
TS_CMD_WHEREIS=${TS_CMD_WHEREIS-"${ts_commandsdir}whereis"}
TS_CMD_WIPEFS=${TS_CMD_WIPEFS-"${ts_commandsdir}wipefs"}
TS_CMD_CHRT=${TS_CMD_CHRT-"${ts_commandsdir}chrt"}
+TS_CMD_CHFN=${TS_CMD_CHFN-"${ts_commandsdir}chfn"}
diff --git a/tests/expected/chfn/gecos b/tests/expected/chfn/gecos
new file mode 100644
index 000000000..af7b81b6c
--- /dev/null
+++ b/tests/expected/chfn/gecos
@@ -0,0 +1,6 @@
+Initialize user
+testuser_chfn_test:x:9899:9899::/home/testuser_chfn_test:/bin/bash
+Changing finger information for testuser_chfn_test.
+
+Finger information changed.
+testuser_chfn_test:x:9899:9899:test_gecos:/home/testuser_chfn_test:/bin/bash
diff --git a/tests/ts/chfn/gecos b/tests/ts/chfn/gecos
new file mode 100755
index 000000000..aad27d40a
--- /dev/null
+++ b/tests/ts/chfn/gecos
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2019 Radka Skvarilova <rskvaril@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="${0%/*}/../.."
+TS_DESC="gecos"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+ts_skip_nonroot
+ts_check_test_command "$TS_CMD_CHFN"
+ts_check_prog "useradd"
+ts_check_prog "userdel"
+
+ts_log "Initialize user"
+useradd -u 9899 --shell /bin/bash testuser_chfn_test
+grep testuser /etc/passwd >> $TS_OUTPUT
+$TS_CMD_CHFN -f test_gecos testuser_chfn_test >>$TS_OUTPUT
+grep testuser /etc/passwd >> $TS_OUTPUT
+userdel --remove testuser_chfn_test &> /dev/null
+ts_finalize
--
2.21.0

View File

@ -0,0 +1,83 @@
From b30f84e240bd60a23508797e33a4777cbaa50949 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 17 Dec 2019 10:53:47 +0100
Subject: [PATCH] tests: update lscpu test for RHEL8
The test is originally from upstream (~v2.35), but RHEL-8 uses older
version with a little different output -- RHEL-8 has no vulnerability
fields and it counts cache sizes in different way.
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1739443
Signed-off-by: Karel Zak <kzak@redhat.com>
---
tests/expected/lscpu/lscpu-s390-nested-virt | 57 ++++++++++-----------
1 file changed, 26 insertions(+), 31 deletions(-)
diff --git a/tests/expected/lscpu/lscpu-s390-nested-virt b/tests/expected/lscpu/lscpu-s390-nested-virt
index 2665fd8dc..a6ab04f0b 100644
--- a/tests/expected/lscpu/lscpu-s390-nested-virt
+++ b/tests/expected/lscpu/lscpu-s390-nested-virt
@@ -1,34 +1,29 @@
-CPU op-mode(s): 32-bit, 64-bit
-CPU(s): 2
-On-line CPU(s) list: 0,1
-Thread(s) per core: 1
-Core(s) per socket: 1
-Socket(s) per book: 1
-Book(s) per drawer: 1
-Drawer(s): 2
-NUMA node(s): 1
-Vendor ID: IBM/S390
-Machine type: 2964
-CPU dynamic MHz: 5000
-CPU static MHz: 5000
-BogoMIPS: 3033.00
-Hypervisor: KVM/Linux
-Hypervisor vendor: KVM
-Virtualization type: full
-Dispatching mode: horizontal
-L1d cache: 256 KiB
-L1i cache: 192 KiB
-L2d cache: 4 MiB
-L2i cache: 4 MiB
-L3 cache: 64 MiB
-L4 cache: 480 MiB
-NUMA node0 CPU(s): 0,1
-Vulnerability L1tf: Not affected
-Vulnerability Meltdown: Not affected
-Vulnerability Spec store bypass: Not affected
-Vulnerability Spectre v1: Mitigation; __user pointer sanitization
-Vulnerability Spectre v2: Mitigation; execute trampolines
-Flags: esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te vx
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 2
+On-line CPU(s) list: 0,1
+Thread(s) per core: 1
+Core(s) per socket: 1
+Socket(s) per book: 1
+Book(s) per drawer: 1
+Drawer(s): 2
+NUMA node(s): 1
+Vendor ID: IBM/S390
+Machine type: 2964
+CPU dynamic MHz: 5000
+CPU static MHz: 5000
+BogoMIPS: 3033.00
+Hypervisor: KVM/Linux
+Hypervisor vendor: KVM
+Virtualization type: full
+Dispatching mode: horizontal
+L1d cache: 128K
+L1i cache: 96K
+L2d cache: 2048K
+L2i cache: 2048K
+L3 cache: 65536K
+L4 cache: 491520K
+NUMA node0 CPU(s): 0,1
+Flags: esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te vx
# The following is the parsable format, which can be fed to other
# programs. Each different item in every column has an unique ID
--
2.21.0

View File

@ -0,0 +1,91 @@
From 60f97394878d8b540ee6a4fb9c9edaae2f90d0d0 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 17 Dec 2019 18:10:31 +0100
Subject: [PATCH] tests: (fdisk) make sure we use the same sizes for MD devices
It seems on some kernels MD can return error if the devices in RAID
have different size
# mdadm -q --create /dev/md8 --chunk=64 --level=0 --raid-devices=2 /dev/sda1 /dev/sda2
mdadm: RUN_ARRAY failed: Unknown error 524
# dmesg
...
[ 1485.148435] md/raid0:md8: cannot assemble multi-zone RAID0 with default_layout setting
[ 1485.152306] md/raid0: please set raid.default_layout to 1 or 2
[ 1485.154050] md: pers->run() failed ...
[ 1485.154104] md: md8 stopped.
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1784534
Signed-off-by: Karel Zak <kzak@redhat.com>
---
tests/expected/fdisk/align-512-4K-md | 12 ++++++------
tests/ts/fdisk/align-512-4K-md | 4 ++--
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/tests/expected/fdisk/align-512-4K-md b/tests/expected/fdisk/align-512-4K-md
index caca03154..3690c04c2 100644
--- a/tests/expected/fdisk/align-512-4K-md
+++ b/tests/expected/fdisk/align-512-4K-md
@@ -16,7 +16,7 @@ Created a new <removed>.
Command (m for help): Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
-Select (default p): Partition number (2-4, default 2): First sector (43008-102399, default 43008): Last sector, +sectors or +size{K,M,G,T,P} (43008-102399, default 102399):
+Select (default p): Partition number (2-4, default 2): First sector (51199-102399, default 51200): Last sector, +sectors or +size{K,M,G,T,P} (51200-102399, default 102399):
Created a new <removed>.
Command (m for help): Disk <removed>: 50 MiB, 52428800 bytes, 102400 sectors
@@ -27,8 +27,8 @@ Disklabel type: dos
Disk identifier: <removed>
Device Boot Start End Sectors Size Id Type
-<removed>1 2048 43007 40960 20M 83 Linux
-<removed>2 43008 102399 59392 29M 83 Linux
+<removed>1 2048 51198 49151 24M 83 Linux
+<removed>2 51200 100350 49151 24M 83 Linux
Command (m for help): The partition table has been altered.
Calling ioctl() to re-read partition table.
@@ -49,16 +49,16 @@ Created a new <removed>.
Command (m for help): Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
-Select (default p): Partition number (1-4, default 1): First sector (2048-100095, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-100095, default 100095):
+Select (default p): Partition number (1-4, default 1): First sector (2048-97791, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-97791, default 97791):
Created a new <removed>.
Command (m for help): Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
-Select (default p): Partition number (2-4, default 2): First sector (22528-100095, default 22528): Last sector, +sectors or +size{K,M,G,T,P} (22528-100095, default 100095):
+Select (default p): Partition number (2-4, default 2): First sector (22528-97791, default 22528): Last sector, +sectors or +size{K,M,G,T,P} (22528-97791, default 97791):
Created a new <removed>.
-Command (m for help): Disk <removed>: 48.9 MiB, 51249152 bytes, 100096 sectors
+Command (m for help): Disk <removed>: 47.8 MiB, 50069504 bytes, 97792 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 65536 bytes / <removed> bytes
diff --git a/tests/ts/fdisk/align-512-4K-md b/tests/ts/fdisk/align-512-4K-md
index 7f60a654f..68aaff0b7 100755
--- a/tests/ts/fdisk/align-512-4K-md
+++ b/tests/ts/fdisk/align-512-4K-md
@@ -41,12 +41,12 @@ n
p
1
-+20M
++49150
n
p
2
-
++49150
p
w
q
--
2.21.0

View File

@ -0,0 +1,80 @@
From 3fd5c8e78a9758a6fc9310485d2428e300ad3b63 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 11 Jun 2020 10:55:25 +0200
Subject: [PATCH 35/40] tests: mark MD tests with metadata v0.90 as KNOWN-FAIL
metadata v0.90 is deprecated thing and unsupported to create by some new
mdadm versions. It's possible to assemble this array (with
default_layout=1 on modprobe raid0), but impossible to create a new
one.
Upstream: http://github.com/karelzak/util-linux/commit/4ae96cf77b36660255d5870a4209480bbec47902
Upstream: http://github.com/karelzak/util-linux/commit/7519c3edab120b14623931d5ddb16fdc6e7cad5d
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1826251
Signed-off-by: Karel Zak <kzak@redhat.com>
---
tests/ts/blkid/md-raid0-whole | 3 +++
tests/ts/blkid/md-raid1-part | 3 +++
tests/ts/blkid/md-raid1-whole | 3 +++
tests/ts/fdisk/align-512-4K-md | 3 +++
4 files changed, 12 insertions(+)
diff --git a/tests/ts/blkid/md-raid0-whole b/tests/ts/blkid/md-raid0-whole
index 45c6ee55b..1f3fc2634 100755
--- a/tests/ts/blkid/md-raid0-whole
+++ b/tests/ts/blkid/md-raid0-whole
@@ -29,6 +29,9 @@ ts_skip_nonroot
ts_check_losetup
ts_check_prog "mdadm"
+# rhbz#182625: It can't create new raid0 with metadata 0.90 from mdadm-4.1-12.
+TS_KNOWN_FAIL="yes"
+
ts_log "Initialize devices"
IMGNAME="${TS_OUTDIR}/${TS_TESTNAME}"
diff --git a/tests/ts/blkid/md-raid1-part b/tests/ts/blkid/md-raid1-part
index 3fa6395b0..3d42aadb8 100755
--- a/tests/ts/blkid/md-raid1-part
+++ b/tests/ts/blkid/md-raid1-part
@@ -28,6 +28,9 @@ ts_check_test_command "$TS_CMD_BLKID"
ts_skip_nonroot
ts_check_prog "mdadm"
+# rhbz#182625: It can't create new raid0 with metadata 0.90 from mdadm-4.1-12.
+TS_KNOWN_FAIL="yes"
+
# set global variable TS_DEVICE
ts_scsi_debug_init dev_size_mb=51 sector_size=512
diff --git a/tests/ts/blkid/md-raid1-whole b/tests/ts/blkid/md-raid1-whole
index ddf4a6934..6eba9cc8e 100755
--- a/tests/ts/blkid/md-raid1-whole
+++ b/tests/ts/blkid/md-raid1-whole
@@ -29,6 +29,9 @@ ts_skip_nonroot
ts_check_losetup
ts_check_prog "mdadm"
+# rhbz#182625: It can't create new raid0 with metadata 0.90 from mdadm-4.1-12.
+TS_KNOWN_FAIL="yes"
+
ts_log "Initialize devices"
IMGNAME="${TS_OUTDIR}/${TS_TESTNAME}"
diff --git a/tests/ts/fdisk/align-512-4K-md b/tests/ts/fdisk/align-512-4K-md
index 68aaff0b7..0a8e09bc1 100755
--- a/tests/ts/fdisk/align-512-4K-md
+++ b/tests/ts/fdisk/align-512-4K-md
@@ -31,6 +31,9 @@ ts_check_test_command "$TS_CMD_FDISK"
ts_skip_nonroot
ts_check_prog "mdadm"
+# rhbz#182625: It can't create new raid0 with metadata 0.90 from mdadm-4.1-12.
+TS_KNOWN_FAIL="yes"
+
# set global variable TS_DEVICE
ts_scsi_debug_init dev_size_mb=50 sector_size=512 physblk_exp=3
DEVNAME=$(basename $TS_DEVICE)
--
2.25.4

View File

@ -0,0 +1,284 @@
From ae7b79ff8a7fb576c018bc9a7eaf9e135b7b553e Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 24 Apr 2018 10:57:48 +0200
Subject: [PATCH 36/40] libblkid: add BitLocker detection
Supported:
* WinVista version
* Win7 and later versions (based on NTFS)
* BitLockerToGo (for removable media; based on FAT32)
Unfortunately, it's without LABEL and UUID. It seems BitLocker does
not use volume_label and volume_serial stuff from NTFS header.
Upstream: http://github.com/karelzak/util-linux/commit/136f89ce5ed8cd159a1c56b5a775dada2363ecd3
Upstream: http://github.com/karelzak/util-linux/commit/47afae0caaa2b3440d6ac812079e3ada5f2aa0bd (bitlocker.c part)
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1812576
Addresses: https://github.com/karelzak/util-linux/issues/617
Signed-off-by: Karel Zak <kzak@redhat.com>
---
libblkid/src/Makemodule.am | 1 +
libblkid/src/superblocks/bitlocker.c | 191 +++++++++++++++++++++++++
libblkid/src/superblocks/superblocks.c | 1 +
libblkid/src/superblocks/superblocks.h | 3 +
libblkid/src/superblocks/vfat.c | 3 +
5 files changed, 199 insertions(+)
create mode 100644 libblkid/src/superblocks/bitlocker.c
diff --git a/libblkid/src/Makemodule.am b/libblkid/src/Makemodule.am
index 0e1c765fb..ea0230702 100644
--- a/libblkid/src/Makemodule.am
+++ b/libblkid/src/Makemodule.am
@@ -47,6 +47,7 @@ libblkid_la_SOURCES = \
libblkid/src/superblocks/bcache.c \
libblkid/src/superblocks/befs.c \
libblkid/src/superblocks/bfs.c \
+ libblkid/src/superblocks/bitlocker.c \
libblkid/src/superblocks/btrfs.c \
libblkid/src/superblocks/cramfs.c \
libblkid/src/superblocks/ddf_raid.c \
diff --git a/libblkid/src/superblocks/bitlocker.c b/libblkid/src/superblocks/bitlocker.c
new file mode 100644
index 000000000..111edf39b
--- /dev/null
+++ b/libblkid/src/superblocks/bitlocker.c
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2018 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+#define BDE_HDR_SIZE 512
+#define BDE_HDR_OFFSET 0
+
+struct bde_header_win7 {
+/* 0 */ unsigned char boot_entry_point[3];
+/* 3 */ unsigned char fs_signature[8];
+/* 11 */ unsigned char __dummy1[67 - 11];
+/* 67 */ uint32_t volume_serial; /* NTFS uses 64bit serial number */
+/* 71 */ unsigned char volume_label[11]; /* "NO NAME\x20\x20\x20\x20" only */
+/* 82 */ unsigned char __dummy2[160 - 82];
+/* 160 */ unsigned char guid[16]; /* BitLocker specific GUID */
+/* 176 */ uint64_t fve_metadata_offset;
+} __attribute__((packed));
+
+
+struct bde_header_togo {
+/* 0 */ unsigned char boot_entry_point[3];
+/* 3 */ unsigned char fs_signature[8];
+/* 11 */ unsigned char __dummy[424 - 11];
+/* 424 */ unsigned char guid[16];
+/* 440 */ uint64_t fve_metadata_offset;
+} __attribute__((packed));
+
+
+struct bde_fve_metadata {
+/* 0 */ unsigned char signature[8];
+/* 8 */ uint16_t size;
+/* 10 */ uint16_t version;
+};
+
+enum {
+ BDE_VERSION_VISTA = 0,
+ BDE_VERSION_WIN7,
+ BDE_VERSION_TOGO
+};
+
+#define BDE_MAGIC_VISTA "\xeb\x52\x90-FVE-FS-"
+#define BDE_MAGIC_WIN7 "\xeb\x58\x90-FVE-FS-"
+#define BDE_MAGIC_TOGO "\xeb\x58\x90MSWIN4.1"
+
+#define BDE_MAGIC_FVE "-FVE-FS-"
+
+static int get_bitlocker_type(const unsigned char *buf)
+{
+ size_t i;
+ static const char *map[] = {
+ [BDE_VERSION_VISTA] = BDE_MAGIC_VISTA,
+ [BDE_VERSION_WIN7] = BDE_MAGIC_WIN7,
+ [BDE_VERSION_TOGO] = BDE_MAGIC_TOGO
+ };
+
+ for (i = 0; i < ARRAY_SIZE(map); i++) {
+ if (memcmp(buf, map[i], 11) == 0)
+ return (int) i;
+ }
+
+ return -1;
+}
+
+/* Returns: < 0 error, 1 nothing, 0 success
+ */
+static int get_bitlocker_headers(blkid_probe pr,
+ int *type,
+ const unsigned char **buf_hdr,
+ const unsigned char **buf_fve)
+{
+
+ const unsigned char *buf;
+ const struct bde_fve_metadata *fve;
+ uint64_t off = 0;
+ int kind;
+
+ if (buf_hdr)
+ *buf_hdr = NULL;
+ if (buf_fve)
+ *buf_fve = NULL;
+ if (type)
+ *type = -1;
+
+ buf = blkid_probe_get_buffer(pr, BDE_HDR_OFFSET, BDE_HDR_SIZE);
+ if (!buf)
+ return errno ? -errno : 1;
+
+ kind = get_bitlocker_type(buf);
+
+ /* Check BitLocker header */
+ switch (kind) {
+ case BDE_VERSION_WIN7:
+ off = le64_to_cpu(((const struct bde_header_win7 *) buf)->fve_metadata_offset);
+ break;
+ case BDE_VERSION_TOGO:
+ off = le64_to_cpu(((const struct bde_header_togo *) buf)->fve_metadata_offset);
+ break;
+ case BDE_VERSION_VISTA:
+ goto done;
+ default:
+ goto nothing;
+ }
+
+ if (!off)
+ goto nothing;
+ if (buf_hdr)
+ *buf_hdr = buf;
+
+ /* Check Bitlocker FVE metadata header */
+ buf = blkid_probe_get_buffer(pr, off, sizeof(struct bde_fve_metadata));
+ if (!buf)
+ return errno ? -errno : 1;
+
+ fve = (const struct bde_fve_metadata *) buf;
+ if (memcmp(fve->signature, BDE_MAGIC_FVE, sizeof(fve->signature)) != 0)
+ goto nothing;
+ if (buf_fve)
+ *buf_fve = buf;
+done:
+ if (type)
+ *type = kind;
+ return 0;
+nothing:
+ return 1;
+}
+
+/*
+ * This is used by vFAT and NTFS prober to avoid collisions with bitlocker.
+ */
+int blkid_probe_is_bitlocker(blkid_probe pr)
+{
+ return get_bitlocker_headers(pr, NULL, NULL, NULL) == 0;
+}
+
+static int probe_bitlocker(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ const unsigned char *buf_fve = NULL;
+ const unsigned char *buf_hdr = NULL;
+ int rc, kind;
+
+ rc = get_bitlocker_headers(pr, &kind, &buf_hdr, &buf_fve);
+ if (rc)
+ return rc;
+
+ if (kind == BDE_VERSION_WIN7) {
+ const struct bde_header_win7 *hdr = (const struct bde_header_win7 *) buf_hdr;
+
+ /* Unfortunately, it seems volume_serial is always zero */
+ blkid_probe_sprintf_uuid(pr,
+ (const unsigned char *) &hdr->volume_serial,
+ sizeof(hdr->volume_serial),
+ "%016d", le32_to_cpu(hdr->volume_serial));
+ }
+
+ if (buf_fve) {
+ const struct bde_fve_metadata *fve = (const struct bde_fve_metadata *) buf_fve;
+
+ blkid_probe_sprintf_version(pr, "%d", fve->version);
+ }
+ return 0;
+}
+
+/* See header details:
+ * https://github.com/libyal/libbde/blob/master/documentation/BitLocker%20Drive%20Encryption%20(BDE)%20format.asciidoc
+ */
+const struct blkid_idinfo bitlocker_idinfo =
+{
+ .name = "BitLocker",
+ .usage = BLKID_USAGE_CRYPTO,
+ .probefunc = probe_bitlocker,
+ .magics =
+ {
+ { .magic = BDE_MAGIC_VISTA, .len = 11 },
+ { .magic = BDE_MAGIC_WIN7, .len = 11 },
+ { .magic = BDE_MAGIC_TOGO, .len = 11 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
index 076541d1a..6dfd2be64 100644
--- a/libblkid/src/superblocks/superblocks.c
+++ b/libblkid/src/superblocks/superblocks.c
@@ -115,6 +115,7 @@ static const struct blkid_idinfo *idinfos[] =
&ubi_idinfo,
&vdo_idinfo,
&stratis_idinfo,
+ &bitlocker_idinfo,
/* Filesystems */
&vfat_idinfo,
diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h
index 2723fb1d5..d677f85bc 100644
--- a/libblkid/src/superblocks/superblocks.h
+++ b/libblkid/src/superblocks/superblocks.h
@@ -81,6 +81,7 @@ extern const struct blkid_idinfo bcache_idinfo;
extern const struct blkid_idinfo mpool_idinfo;
extern const struct blkid_idinfo vdo_idinfo;
extern const struct blkid_idinfo stratis_idinfo;
+extern const struct blkid_idinfo bitlocker_idinfo;
/*
* superblock functions
@@ -105,4 +106,6 @@ extern int blkid_probe_set_id_label(blkid_probe pr, const char *name,
extern int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name,
unsigned char *data, size_t len, int enc);
+extern int blkid_probe_is_bitlocker(blkid_probe pr);
+
#endif /* _BLKID_SUPERBLOCKS_H */
diff --git a/libblkid/src/superblocks/vfat.c b/libblkid/src/superblocks/vfat.c
index 3aeba018a..29b3c501c 100644
--- a/libblkid/src/superblocks/vfat.c
+++ b/libblkid/src/superblocks/vfat.c
@@ -268,6 +268,9 @@ static int fat_valid_superblock(blkid_probe pr,
}
}
+ if (blkid_probe_is_bitlocker(pr))
+ return 0;
+
return 1; /* valid */
}
--
2.25.4

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
From 28b89361bf574af24c2f9c857d0e5f7c84e2787c Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 3 Sep 2019 15:10:35 +0200
Subject: [PATCH 38/40] libblkid: (xfs) fix sector size calculation
Reported-by: Anatoly Pugachev <matorola@gmail.com>
Upstream: http://github.com/karelzak/util-linux/commit/2771d40b88660a11306aa5d4e200fc0ebebfe315
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1817726
Signed-off-by: Karel Zak <kzak@redhat.com>
---
libblkid/src/superblocks/xfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c
index eb513ac3e..98e59ff7c 100644
--- a/libblkid/src/superblocks/xfs.c
+++ b/libblkid/src/superblocks/xfs.c
@@ -173,7 +173,7 @@ static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag)
blkid_probe_set_label(pr, (unsigned char *) xs->sb_fname,
sizeof(xs->sb_fname));
blkid_probe_set_uuid(pr, xs->sb_uuid);
- blkid_probe_set_block_size(pr, xs->sb_sectsize * 256);
+ blkid_probe_set_block_size(pr, be16_to_cpu(xs->sb_sectsize));
return 0;
}
--
2.25.4

View File

@ -0,0 +1,68 @@
From 54e3d1414e1a031d6f635f8fcbe273eecfd65560 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 5 Feb 2019 12:06:00 +0100
Subject: [PATCH 39/40] col: make flush_line() a little bit robust
The code is horrible. The core of the problem are signed integers
and no check for the limits.
This patch fixes c->c_column = cur_col; where c_column is "short"
and "cur_col" is int. Let's use "int" for all the variables. It's
really not perfect as for bigger lines it can segfault again...
The patch also removes some unnecessary static variables.
Upstream: http://github.com/karelzak/util-linux/commit/004356f05018e3bfcaddd2652846659a4d8481f3
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1803753
Addresses: https://github.com/karelzak/util-linux/issues/749
Signed-off-by: Karel Zak <kzak@redhat.com>
---
text-utils/col.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/text-utils/col.c b/text-utils/col.c
index 3d9e15d26..c2f8db64d 100644
--- a/text-utils/col.c
+++ b/text-utils/col.c
@@ -88,7 +88,7 @@ typedef char CSET;
typedef struct char_str {
#define CS_NORMAL 1
#define CS_ALTERNATE 2
- short c_column; /* column character is in */
+ int c_column; /* column character is in */
CSET c_set; /* character set (currently only 2) */
wchar_t c_char; /* character in question */
int c_width; /* character width */
@@ -476,8 +476,9 @@ void flush_line(LINE *l)
nchars = l->l_line_len;
if (l->l_needs_sort) {
- static CHAR *sorted;
- static int count_size, *count, i, save, sorted_size, tot;
+ static CHAR *sorted = NULL;
+ static int count_size = 0, *count = NULL, sorted_size = 0;
+ int i, tot;
/*
* Do an O(n) sort on l->l_line by column being careful to
@@ -494,7 +495,7 @@ void flush_line(LINE *l)
(unsigned)sizeof(int) * count_size);
}
memset(count, 0, sizeof(int) * l->l_max_col + 1);
- for (i = nchars, c = l->l_line; --i >= 0; c++)
+ for (i = nchars, c = l->l_line; c && --i >= 0; c++)
count[c->c_column]++;
/*
@@ -502,7 +503,7 @@ void flush_line(LINE *l)
* indices into new line.
*/
for (tot = 0, i = 0; i <= l->l_max_col; i++) {
- save = count[i];
+ int save = count[i];
count[i] = tot;
tot += save;
}
--
2.25.4

View File

@ -0,0 +1,49 @@
From 2cd5219da87274db251a7f836efe6ac724b70e53 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Wed, 11 Mar 2020 10:38:37 +0100
Subject: [PATCH 40/40] libmount: improve smb{2,3} support
It seems kernel can use smb3 as fstype in mountinfo.
Upstream: http://github.com/karelzak/util-linux/commit/36d80cb6c11b3064ed9fb29c7c8b101e3f266441
Upstream: http://github.com/karelzak/util-linux/commit/b7ff4134beea53688ab3c01484cf59b2ce2d9ce9
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1812118
Signed-off-by: Karel Zak <kzak@redhat.com>
---
libmount/src/tab.c | 5 ++++-
libmount/src/utils.c | 1 +
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/libmount/src/tab.c b/libmount/src/tab.c
index eb61dd33e..74d60df3d 100644
--- a/libmount/src/tab.c
+++ b/libmount/src/tab.c
@@ -1644,9 +1644,12 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
if (root) {
const char *fstype = mnt_fs_get_fstype(fs);
- if (fstype && strcmp(fstype, "cifs") == 0) {
+ if (fstype && (strcmp(fstype, "cifs") == 0
+ || strcmp(fstype, "smb3") == 0)) {
+
const char *unc_subdir = get_cifs_unc_subdir_path(src);
const char *path_on_fs = mnt_fs_get_root(fs);
+
if (!unc_subdir || !path_on_fs || !streq_paths(unc_subdir, path_on_fs))
continue;
} else {
diff --git a/libmount/src/utils.c b/libmount/src/utils.c
index 04e79f53f..e43588831 100644
--- a/libmount/src/utils.c
+++ b/libmount/src/utils.c
@@ -315,6 +315,7 @@ int mnt_fstype_is_pseudofs(const char *type)
int mnt_fstype_is_netfs(const char *type)
{
if (strcmp(type, "cifs") == 0 ||
+ strcmp(type, "smb3") == 0 ||
strcmp(type, "smbfs") == 0 ||
strncmp(type,"nfs", 3) == 0 ||
strcmp(type, "afs") == 0 ||
--
2.25.4

View File

@ -0,0 +1,65 @@
From 618aedc9e892b206492c1720bec261b043c66263 Mon Sep 17 00:00:00 2001
From: Roberto Bergantinos Corpas <rbergant@redhat.com>
Date: Mon, 27 Apr 2020 15:46:02 +0200
Subject: [PATCH] libmount: fix mount -a EBUSY for cifs
fstab:
//rhel73/myshare/sub/path /mnt cifs
after mount in mountinfo:
# grep cifs /proc/self/mountinfo
47 39 0:40 /sub/path /mnt rw,relatime shared:60 - cifs //rhel73/myshare/sub/path ...
^^^^^^^^^
or:
# grep cifs /proc/self/mountinfo
47 39 0:40 / /mnt rw,relatime shared:60 - cifs //rhel73/myshare/sub/path ...
^
That is so since on kernel cifs code, cifs_get_root (which returns the
entry associated with mnt_root) return s_root if
CIFS_MOUNT_USE_PREFIX_PATH is set, no questions asked.
This situation can occurr often on CIFS mounts, as CIFS servers limit
frequently scope of access to the root path.
[kzak@redhat.com: - add more info to the commit message,
- clean up variable names]
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1829245
Upstream: http://github.com/karelzak/util-linux/commit/31b3a523eca2fc7e5876ec5fd89094208fed0899
Signed-off-by: Roberto Bergantinos Corpas <rbergant@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
---
libmount/src/tab.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/libmount/src/tab.c b/libmount/src/tab.c
index 74d60df3d..cd97a1cb5 100644
--- a/libmount/src/tab.c
+++ b/libmount/src/tab.c
@@ -1644,13 +1644,14 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
if (root) {
const char *fstype = mnt_fs_get_fstype(fs);
- if (fstype && (strcmp(fstype, "cifs") == 0
- || strcmp(fstype, "smb3") == 0)) {
+ if (fstype && (strcmp(fstype, "cifs") == 0 ||
+ strcmp(fstype, "smb3") == 0)) {
- const char *unc_subdir = get_cifs_unc_subdir_path(src);
- const char *path_on_fs = mnt_fs_get_root(fs);
+ const char *sub = get_cifs_unc_subdir_path(src);
+ const char *r = mnt_fs_get_root(fs);
- if (!unc_subdir || !path_on_fs || !streq_paths(unc_subdir, path_on_fs))
+ if (!sub || !r || (!streq_paths(sub, r) &&
+ !streq_paths("/", r)))
continue;
} else {
const char *r = mnt_fs_get_root(fs);
--
2.25.4

View File

@ -0,0 +1,31 @@
From 0717177be22588d4e419de280eccd0eeafb15016 Mon Sep 17 00:00:00 2001
From: Rupesh Girase <rgirase@redhat.com>
Date: Thu, 18 Jun 2020 19:17:41 +0530
Subject: [PATCH] Manual pages: losetup.8: Fix "--direct-io" defaults
"--direct-io" option is "off" by default while configuring
loop device but it's mentioned "on" in man page.
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1848919
Upstream: http://github.com/karelzak/util-linux/commit/4bee67e2d1a78abc52e89c6eb71f0efc8a278ce9
Signed-off-by: Rupesh Girase <rgirase@redhat.com>
---
sys-utils/losetup.8 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-utils/losetup.8 b/sys-utils/losetup.8
index cdb9ed052..c87c231b6 100644
--- a/sys-utils/losetup.8
+++ b/sys-utils/losetup.8
@@ -130,7 +130,7 @@ Set up a read-only loop device.
.BR \-\-direct\-io [ =on | off ]
Enable or disable direct I/O for the backing file. The optional argument
can be either \fBon\fR or \fBoff\fR. If the argument is omitted, it defaults
-to \fBon\fR.
+to \fBoff\fR.
.TP
.BR \-v , " \-\-verbose"
Verbose mode.
--
2.25.4

View File

@ -2,7 +2,7 @@
Summary: A collection of basic system utilities
Name: util-linux
Version: 2.32.1
Release: 17%{?dist}
Release: 24%{?dist}
License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
Group: System Environment/Base
URL: http://en.wikipedia.org/wiki/Util-linux
@ -44,6 +44,7 @@ BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: bison
BuildRequires: git-core
### Sources
Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz
@ -148,6 +149,37 @@ Patch26: 0026-partx-document-d-vs.-nr-and-fix-test.patch
Patch27: 0027-libmount-improve-mountinfo-reliability.patch
Patch28: 0028-libmount-use-fmemopen-in-more-robust-way-coverity-sc.patch
### RHEL-8.2
###
# 1739443 - lscpu reports wrong hypervisor in nested virt on s390x
Patch29: 0029-lscpu-use-the-first-VM-from-proc-sysinfo.patch
Patch30: 0030-tests-lscpu-s390-nested-virtualization.patch
# 1743555 - command chfn adds some useless commas with GECOS information into /etc/password
Patch31: 0031-chfn-don-t-append-extra-tailing-commas.patch
Patch32: 0032-tests-add-new-test-for-chfn-gecos.patch
# 1739443 - lscpu reports wrong hypervisor in nested virt on s390x
Patch33: 0033-tests-update-lscpu-test-for-RHEL8.patch
# CI fix
Patch34: 0034-tests-fdisk-make-sure-we-use-the-same-sizes-for-MD-d.patch
### RHEL-8.3
###
# 1826251 - remove MD metadata 0.90 based tests from util-linux CI
Patch35: 0035-tests-mark-MD-tests-with-metadata-v0.90-as-KNOWN-FAI.patch
# 1812576 - RFE: Bitlocker detection for RHEL 8.3
Patch36: 0036-libblkid-add-BitLocker-detection.patch
# 1817726 - libblkid BLOCK_SIZE
Patch37: 0037-blkid-retport-block-size-of-a-filesystem.patch
Patch38: 0038-libblkid-xfs-fix-sector-size-calculation.patch
# 1803753 - col struct char_str c_column field should be of unsigned type and/or larger than 16 bit
Patch39: 0039-col-make-flush_line-a-little-bit-robust.patch
# 1812118 - mount -a always tries to mount smb3 share subdir despite being already mounted.
Patch40: 0040-libmount-improve-smb-2-3-support.patch
# 1829245 - mount -a tries to mount already mounted cifs shares when we cannot query up to root dir
Patch41: 0041-libmount-fix-mount-a-EBUSY-for-cifs.patch
# 1848919 - Update losetup man page to fix "--direct-io" defaults
Patch42: 0042-Manual-pages-losetup.8-Fix-direct-io-defaults.patch
%description
The util-linux package contains a large variety of low-level system
@ -329,7 +361,7 @@ chfn and chsh utilities with dependence on libuser
%prep
%autosetup -p1 -n %{name}-%{upstream_version}
%autosetup -p1 -Sgit -n %{name}-%{upstream_version}
%build
unset LINGUAS || :
@ -1013,6 +1045,34 @@ fi
%{_libdir}/python*/site-packages/libmount/
%changelog
* Fri Jun 26 2020 Karel Zak <kzak@redhat.com> 2.32.1-24
- fix #1848919 - Update losetup man page to fix "--direct-io" defaults
* Thu Jun 11 2020 Karel Zak <kzak@redhat.com> 2.32.1-23
- fix #1826251 - remove MD metadata 0.90 based tests from util-linux CI
- fix #1812576 - RFE: Bitlocker detection for RHEL 8.3
- fix #1817726 - add libblkid BLOCK_SIZE
- fix #1803753 - RHEL-8: col struct char_str c_column field should be of unsigned type and/or larger than 16 bit
- fix #1812118 - mount -a always tries to mount smb3 share subdir despite being already mounted
- fix #1824727 - util-linux: Include python3-libmount package in the release
- fix #1829245 - mount -a tries to mount already mounted cifs shares when we cannot query up to root dir
* Tue Dec 17 2019 Karel Zak <kzak@redhat.com> 2.32.1-22
- improve CI tests portability to rhel-8 kernel
* Tue Dec 17 2019 Karel Zak <kzak@redhat.com> 2.32.1-21
- add git to BuildRequires due to autosetup -Sgit
* Tue Dec 17 2019 Karel Zak <kzak@redhat.com> 2.32.1-20
- fix spec file typo
* Tue Dec 17 2019 Karel Zak <kzak@redhat.com> 2.32.1-19
- fix test for #1739443
* Mon Dec 16 2019 Karel Zak <kzak@redhat.com> 2.32.1-18
- fix #1739443 - lscpu reports wrong hypervisor in nested virt on s390x
- fix #1743555 - command chfn adds some useless commas with GECOS information into /etc/password
* Sat Sep 21 2019 Karel Zak <kzak@redhat.com> 2.32.1-17
- fix error path in mountinfo patch (#1751447)