Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jun 2013 18:27:06 +0400
From:      Daniil Cherednik <dcherednik@roshianokatachi.com>
To:        <freebsd-hackers@freebsd.org>
Subject:   panic in =?UTF-8?Q?g=5Fio=5Fschedule=5Fdown?=
Message-ID:  <cf2e58dacfe7d1baaff894f3a2965e20@roshianokatachi.com>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hello. I have got panic, see attached file
We are using FreeBSD 8.3-amd64 but this part of code wasn`t modified in 
HEAD
part of disassembled code:

ffffffff803d88b8:       4c 8b 43 18             mov    0x18(%rbx),%r8
ffffffff803d88bc:       89 c6                   mov    %eax,%esi
ffffffff803d88be:       4c 89 c2                mov    %r8,%rdx
ffffffff803d88c1:       4c 89 c0                mov    %r8,%rax
ffffffff803d88c4:       48 c1 fa 3f             sar    $0x3f,%rdx
ffffffff803d88c8:       48 f7 fe                idiv   %rsi
ffffffff803d88cb:       48 85 d2                test   %rdx,%rdx
ffffffff803d88ce:       0f 85 29 01 00 00       jne    ffffffff803d89fd 
<g_io_schedule_down+0x21d>
ffffffff803d88d4:       48 8b 93 90 00 00 00    mov    0x90(%rbx),%rdx
ffffffff803d88db:       48 89 d0                mov    %rdx,%rax
ffffffff803d88de:       48 c1 fa 3f             sar    $0x3f,%rdx
ffffffff803d88e2:       48 f7 fe                idiv   %rsi
ffffffff803d88e5:       48 85 d2                test   %rdx,%rdx
ffffffff803d88e8:       0f 85 0f 01 00 00       jne    ffffffff803d89fd 
<g_io_schedule_down+0x21d>
ffffffff803d88ee:       4d 85 c0                test   %r8,%r8
ffffffff803d88f1:       78 05                   js     ffffffff803d88f8 
<g_io_schedule_down+0x118>
ffffffff803d88f3:       4d 39 c1                cmp    %r8,%r9
ffffffff803d88f6:       7d 60                   jge    ffffffff803d8958 
<g_io_schedule_down+0x178>
ffffffff803d88f8:       be 05 00 00 00          mov    $0x5,%esi
ffffffff803d88fd:       66                      data16
ffffffff803d88fe:       66                      data16
ffffffff803d88ff:       90                      nop
ffffffff803d8900:       48 89 df                mov    %rbx,%rdi
ffffffff803d8903:       e8 68 f7 ff ff          callq  ffffffff803d8070 
<g_io_deliver>
ffffffff803d8908:       e9 e3 fe ff ff          jmpq   ffffffff803d87f0 
<g_io_schedule_down+0x10>
ffffffff803d890d:       66                      data16
ffffffff803d890e:       66                      data16
ffffffff803d890f:       90                      nop
ffffffff803d8910:       44 8b 5a 34             mov    0x34(%rdx),%r11d
ffffffff803d8914:       45 85 db                test   %r11d,%r11d

g_io_check function was inlined and quite good optimized. But it look 
like we have possibility to get access to wrong address in 
g_io_check(struct bio *bp) function here:

         if (cp->acr == 0)
                return (EPERM);
         break;
case BIO_WRITE:
case BIO_DELETE:
case BIO_FLUSH:
        if (cp->acw == 0)
                return (EPERM);
        break;
default:
return (EPERM);

for example in g_io_deliver we have additional checking:

cp = bp->bio_from;
if (cp == NULL) {
         bp->bio_error = error;
         bp->bio_done(bp);
         return;
}

also in this function we have KASSERTed bp and pp. So the question is 
in which case bio_from can be equal to null? Do we have to do some 
additional checks in g_io_check?










[-- Attachment #2 --]
GIF89aM			





   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~!Created with GIMP,MH*\ȰCPRʐ3j܈@CIɆ%²s˗AœI͛eɳgM;JѣHӧPJJ5$ӓWfMח]v,ѲfLx$ZoK]qK%߿
V#`V;L壑z{9̝CM:DtiR?06mafnnh`W8G^;Kw/s'?~8wޱDe,lk9BOCmx~)|D 2~Xxdp )5h>=F@K.\"%R"DQBc
$"O~CFI':&gXwc]d()laVyQgrIYwyᣣh9'uVӜZ[Ui^joȟwFb{
\G>
iF'Ϭو,⁚u
&ܯhUފ.xhbohJdGҙ
ވT*Zm~P&NQR
h1E`(j쀏I-n/8R9`~XǣO1*s<1>	m~'v`m
iʾp}Nt/|b 4C`<&r~|t
==A*1CSpwWҨ.}Y
fGFX>f4=[~"~Lp}co/>-*_#mZ+.&/>&sR*$&q7Ʊ-oGb?C.B->:-s
Azu΀ρG8
iQx$҅
*=\1Aa;Ȁcc.Z`D19i."R6TnLA2}oC"4װD! u0h,lЊVw'c@Y
ްLƺET ߈-n֯>v#tX<;VqGSEED[GM,f>Cf%Q{TrS8\+0~Ns=5{lwd$JmA"Ea2pKL)Ĩ618KG<̈L%3o2	دv>	7CN5Q5v)v<Xе
t\w3\E	Gtūm`OIq4rW3A%/BK"(Ļ
^vD%AcX."P(2T	+O%vr-hfkZ*T֧©(?LUJlQm6;V~*J^lp}DS	άMؒd	浬IZ&	Vluko{(`XCݪ)Ɯz2d9R?X[$TWM뵪
3W|P6{1v[.YFT@KZQanpthQWiNzp]=?} J9v'&NzEz5H	x[󕯑cM7a*bx*j~!CBFkGW0;Ԑư–Ɂa?R	a|mnU)P}tߔc@N)U4:d*U<nٛPϲ|ȟ:dRy*iƜJm:\A}-vEJ٬,*p^v̐2Y*hL:2Xz64
lp[)1FiTv>yX$-8Ji_r8cjw,1j6ђW1f%0'nZjEtG
c-aL6Z82JdFcfƷPc{۴_@8ł+#`}}Dhpx,e,/ۿT&kJ0ff;wPC"9I8
 eX##4ΕXdxIHj>:-eՊGA
NiLS	J%u5gX
nwwosd<kڐ/ܰNt"'t
-G+ὑi0'xAd9	FO`DBKg8ۡjY|>.2nAT+?u#<Ϋ芪7tqM.YO&qR{L7zn$r믎[_YJҮAc~~|}Elm-_uQ$}`pee'LQ.mE2H$ݱ):@7dıQ(([8ngTUV.<SwUVUEjb%PeEV`uX#5lZ'a74Q>.MǠ< YSIsXU&mu1[*Ue]EnTBMyV
C8~5t~Z?(nf#ȕh\:7BH[B_VTHX"R5#(Cv{8e)0_G_^fEW`Qy]m7o42b	SB(vH"z=sO8!z<fٕd–9yQViccGg#)I-4T<agc}''ȍ~6^͒Hz4ō?6BVb[)3%Dn4n2lcG^~G"Bp++FD,D>$y$Rm!gc2@s%fLĐG0:!K >0v@7b:9<Lh2.C
z}<؇Ruj4'x|J)!<(v$R?{AdZkwQq#$C7h9t8Q}}s!S";\Y@oNdQQrtPydYxÆ
7)h|rrRM8cy-nZ')CC%#}rsGa	ƃ:h}yRmT}Y[(TqAQw÷)4(~*-I66m	IOd/B~LT@vVL	EPo'EsׅyƞR	7ukgAYU:B}
k_!ZsttDt5ohQpYE1VUHu4amZ#Svms>e2qVhVzC@Z*RuyXؘإ"a:tdc\TR
`ZY)a(qolJ[!szYjx*}|^J*1!ʦBOAj4zAZX1ڪJx!zazi*úźڧeaɺ:Jz:!ڭ*
:zڦкzʪ1A]Uq2e!ӥeIe[]+rLvE27f7e	ҥqj}b	+q&1.iZYQB/@d=և'EYEqHLaBKh^Vxnu* ۰g566Mo+0{^Bdz꧅Y	@D46#I!@-k~c^RBk]PPsRhH`?(TkR	y˗F?{6G"`W&1aٹxc<1R;@2AO
(0(6Ѩp!:oWmRy۠'yQu*T;;s)S$*'3zq	玳<rt<M')ԕ`DypItwo$oFک6{oKᮑ3ZB		o]afJ
OPt-,skj5n(P+Ft32%F)769w ?JJqѫaʱR4ɠ|K~>ElUliE5$O%)°S֚y4h7N6} htCk	4Pl*V	~E!sj5AG,5Jue/1Y7d:l	M[„T6~s~C˰}LYpjw{A~ %#+dᲟψeE&\nzJ,Z|1M*ƌӌa9U!xKL<Y(^8~Nkx
;QFyѬz*1$.WQ0I+˻eT۬L7)cf)(gT9-TB8\A}䫾W,:	[z&S?+3CM[=<]](Y܉-@ZML*b|:Q
x\{ИVAD]
y\6m{JxO`U&y(Ժ4h*ZVE:6g,EiД@IW]bJ3"шn]ݺLؼ]1qh#۲!e[
e5=3$k1zP׽=OvdXcZ=^)+RÀWe
cxb}N<mMK;C뺐qXfC%Sm;\ĸHxS;~òvEJ6%ԫ֐P}b"tfL@m1wƠqѧZ)q}Q}Y'w-yg=JBcC9Y[[_=yy[~CnZ\vMq~+4nƞn]KJ5]eŤB04xjX.ʷXP8*ku}"UXH8\۾.@H
@(ۄb[f8s^3Q!>܎><."j+*ݮ͢,E.RK$-}'VBߡ&Kng k
OEkGHvL;}70UDkK3Q7(~sn,gr&YB)Y%ޖ76+`7Lȗ16-S/NW湿\b&و|A8[T 1թPRٝ>Y)췫g˝
gMwr~J?,,byrq@T,1|(UٳxBNJ˸z:GWg̛|ZwJ[܍?'ٓ`D:ꗿv>#7e?;x\k\դ Ykdf}6S[D2fD/zJU뛾nDc|>>|zHР
:dPD-^ĘQƇ	Dhȃ	/HW#ّ$>LC#)TaIVltS{zN
͋0#˨G)PU*Ьd=KG|IBc:@ir\!hqFŋ|#>J?V6ϗ	{qe|@Vgǭ%v[DMqEr(뱭nMՙ\xW?=Yԍ<7][/ig;Zo6Lp4bE>O3싍nȿ@r/3P(L@8PB
*("4K8ULq+Q(tEhШ;	>b<OH14"$\,""'Zr"@$\Ҳ)ܒI/"Ȃɯ̋3b*DMC5PFÇ=͡m Cc§O0+0,+K-5Ҭ0F>53ǾHDƑ<Q*RG%VaIUXGZinS/"
̼aQ5zjՍlhY| @`qw /owCpK5W}06DyQOpc4JLxSRKRc~]mJJ<6Nç}Qpc _Uf\_dhfJ+ht$(掻8l7Pl0$[Mk)\݃i%g!0fqY5_W\cJalٺa!7ܣcborF!?+-n{UQKY|FWݞy*:ӕrnF3usKVKj<l,L۱Gk{so5-gVٻ\^-:LйW
79{g As&&ћ %}t`֮rQE <xGCXc,2N㳆
)0A
%|(@rh0*9&8Fz$\=ck+-v.M"
Øİ&-rʔ1/𨏌rU ~&<HB<JQμ5$$sqNxH$h#͈A6XL3yo&|GE8/C8mR*H6qNGKVn$j03`NfĬ/)Jҙ#|٘D?
QS6J\JVYʜ:qԙpz˄R lrӞ'D(4@OfyCjLA:2jz(wJrT&B-jM]w8mpES꼕b<*ZխԄ4ճ@ќ_{$La
	ֵU&Ujx"ᤷt@)Zj6>b/m_BFjCA@Z9xGLlYLR~.^JnսZ-e64+Ng}n3+iH̔q'q3ֶouR5
,}V`8Y|J][a6ΊR9tk%EvщU;LLR"匫Mw%G$uRLt{]~	JOųd%$Zz||̶@;1AI5\S?omUAye@C{pjJ_"YBj%>pٶ.
ĘT&yEu
>V~MZX\ehe4s}(Z:{dOD
CW,H,$\
=9@%=@J"3^ {do"_L4tIQI4K@D&Ҕu.j^zי!s3uO)Q'=ul64+ܿzg=U%u^{_vFRgR:_{ɿLyۤȡsIy
&df(A@G2f
3}۫Ʒ%Tڹr%$v>Ɇamp	@:IElGXi $gL*#XW#
<ܥz-Xgrw2GRO>
08:4-f-k>.8YˆN#Cxy5{Z9m󌶛cY|nV%b\L>;2cg82	wq]7!KwiIUTcK|8`W}>Do=&on&3]E.C1a/;'>L9Bԁ3.LJkK42K1@ȫ@
?~=j[<q\k-6R*'Qː,k3#Arس‹42=[4j$,=k4(\9B#
C5-B[7tT)е\"'1ꊯ TQ1W;%e56a:*ЫX%\/F;4e+5fDb3!^,/m6V
'mo'y&QL9QyZ2LWLMV#ëKڷ8{K@08|)JAF6Lb\p*ssvӿ4r,cū+e!
:I+
Qk'1	2 1902v~YzHt&{:bH#dF:G0q
*KKH컝-it5\¿Rɻ%Û3TB/3A콚ۍ.4{p<1$IѱZB`ë
Ҟx1[
I_K)-csʹHប@/t	
w>.ҡ$\B>`!t̫!!s
M
Iz=/?"%1>J9L`Bӂ#,M+4
y18H	ӳHx
5;yc@M	u`[1\@q,9zLyē+d+<3о,̮ :WTA;"/;M0J&	GGkt/3KRoh!p3JQ|XdN2*!lܢ	2䈶,IZD e$ڀ;<#')яcя$|z`!%jkc
›b@HP
+Y40
+
3Ez55]3Tc4oR!r85}$֌R/%N5#Y
h<UYTPU'AcEdcHjTܧ
A(î&^=lL>AuU0#7V/COǠ	JS5S>-P#`CiL|)0RI
~HS4HX97Y<d݈aW.ӽ@#.]Y9(ՁLnU؅-
121iPCk-g}@FI=%=0-ۙ;L=XCI	F4Q)9
1eXEʂL-ҵ<YiZ:$CPZP2m$>ʛ
U%F͉RqHi%9pZaDEpti}%KpĠȉytN|p1M}C۲΃5<23!PQJ9zX{B˳)YRܬA<
#<O2PQt"]敕9[Xp=I0T
Cѽ]HTd2URY)DJٳpUH_")6-	JM4=PsG)kk,|"a`Ud7єweYXj@W/5!6	G:N;fFg=፮t;'^{4;;Q'eIgSyPqWSHyb,.R%%q'zG70)7`}ߔ[<cvȾcfVu2c5.RAׅ=F˿^Ҕ#KXeJ@d
(PՅJ!VڔA,XŝD
f|:+FDA^ACA|ڨ˕DW`06ݢ8īE*X\ӼWe
&ܠU1Ɓ̉[]!lƕgZF	d\(
.
׼f?mnۄ֖@$xYM*
4[f⬖D1H4)aɫ1ft՛*]iwjSA ;߾@=WtDN3^&Hf]e.6B
Sfc8&m_KD
]ǭWQ~)Jq0X"bu^Mitx-H
A3Hkd}	eWbZf(&I⤐t0kq_:h#ȈFי0`F%ŸXRCDSHn͎5nVR_&
<.N&`*`M&-\5ki-
zmN%ip+	N	aק@%gqVCG=J:Тc}q^)5j~O4VcH]Rn_b n2X.KRIjFqn
H4?ϲ&;©+nrw6bGp=|C*6sdT0
gK5cJ=#;de\diPR^EM:ī}~jY2=k#`;1|߼}|Y?I	Ml4[Q0BP]h/,g5?syvOHou~o{zfЖ"d_G$S;|II<
Z
SȀn0R6_h2NpyxSV'3WP_a3xJ_).cxF"č?iIye2>NERʲD)r	3$!B/]!#r`aM.6Z^I0z=WnA{w{^	LY+
iM-Zuގϛq<Cg'ߛ]mazyXkDJgOџfl2-]k)–c_WLQG+<2?}w?RWyeyJx p?xL|Gᷰ}JrE/÷
7	N HG~*!,h „
2laA4`"E-Q"G5HdG)%.02>+Cxr2B'Р
C
-j(ҤJ2m)T.GⳠV9])E^Z,dNj5,VS`]Y6Zt{AZwO'/fĊ3FJ1Ȓ'SJ|4JDL0bc5vlw];3Nu7ߏ/n8]K44>qa-bulx*_wO'yӯo~%Qs	vUf^yvw'Mzf#!!'"|$5!ju$օ9(V/sZjb]tۋYa6ڃDuah"ӓMJ9{}-PMzdI(Y˕Q9&Ee\FGSi&y깧Ov7_*Q<^(YУ|BERrg\
Vlig[kYT$b?$>Tfԫ)T4GzEP"
͚X~#QSr\Kl]TR$U.wGa(R5ފ
<0X`*B=ƫk|T|G!M&UT$eCYFTYL1&hΜ>]!XUX+g
-V[☐b-a&;('V]eHh^&X[tKʊ~1K6HYGaJTsF7߆6}RO5rrDv]H\rg$yS̝Vv4r-5hE[TՂv~kOKf;c\`cl=CK!_g`#o͍;K-kiIi>;¹zj,z3-V%:M"WIQ\s-]×j'#stF	f
W+Qduː
lʋ9d* kmb[ND.r)H5\a7ՎMrDZŌI:HC 	U[XE\E=H"ѬH_*+R5#(F$iI27cQgG
fJ %rM"3!!HG
e,I=J&-cs3AZKB% lT:_最1˸$o}+ icڭ=es%ȼft	˾$$d$x8LL~";'%ifR_ב橨ͽC\	́B=娕TDҿ];3odߕeY%Eϗ[Gvy<l6XUΏnBGFFбgm@ÔšTa_3"iF2 `b-rLS5
c
e{]HX!{BJ	^=h}^V
2zp*vNXT
5Ga0R9x嗁83gL׶c{ܧTF)n$"VXиvtZ:PrG^t4GFpai-FaU8N+Ie&G[Bޮ=l\e1J'WI 16P4s)>KeQc0Fp+=5XߵA#yq?@J}8+yi9*US
]"4z5Md/TpA%y)׽-IKxx>zI:GOM@rdJ=VNSJU]K.l'KV9G۳DXUGC+JL sdgCªEIi^YCWJ.SGhqFv|#K.EZ6_:ɂ/yΎ!evD#X,p,v0iڳr8MFAm+m0[hnk>b1Ζ!bXY+?7TK^;-N9vƧ(|8r	srCg;{sn+ӦM|El݆&kb&[\<ڥ`f+|h	(>DwB;*Ā_ˡei!qDlM]ܹ}_XAc0+?1'kF0HMYِ?!2fLZ'kш؃&Fv޲{8D=S,WzWLt@z-Q]5Xv$Rk~ձe=U/P~ܸg'\sr>wOq:PM@ʍ5Zؐ0U,
Eوi<Y]a^A`_{Ti`aE6J]EW`c eW!p]=yB\WQ=T\u\Zh!(a9!bᑄV!AZ1ZR
BTaS@]hۻy[d[9ӮA!q%nL%HMܖxRd"#Ovq%:%Mmp"&b%S,F@aU1?+#22x-lQ1DɃ5z%H䈣VLB
wdc}KVŠEdXZXqb26=6exf<OAGYr]##'.>
ApYX,$w1wdc,ΒOt\DKii$>ML-h`TA
{Gq%K}	b@SYt$ea@=01\	(QdpXb	ZXHHUp۾\V,Zğ'ܡlOYjcr۸
1IXebݬD\c mSE#Cp<4BJŹfbC	JsaE!%prc	tS]{PpS#	+Du3Qgv6$ae%ꅇ,}RIsÎuML9`ɈHA\_*oRXuCW<̉T߆ԊT\E:'wjM^!Vc' O6fԧk]ƉLJO`GC)fZ$ki0a}K<ԆVDvJK\MRiu(^Ũieda.E
d<!^^)RffHuE݅[ƕ=G6*dE

	(T(Wb5%>(&٦V'V*E*l>PN,V&\j#2E嚥\o>!^Z\(ѥL\ZIu!
&ܖH:uk	Q]&%"U>f%-۰f+ZAB],	檈]Jv"<\)!`q*fej
jkJ9
3Eg-LԄ,"-P62(t
Ɯy0Jg
\0.g*xVĈM
`ЂPF6(=<x]|y^rnaU6*JuVMBJ;fVnx|\-V_W`Zr)-"2ٍv
mFmXQ%ιc#ib>%YUHjGcEu.-)ڝ&;rN$)P|NdbłIHv(GهEp	x)^x.QVe1d@%\(0Nes# &"쪐 nا^Zdea"QX*oc-hZΥZ!kmZdZZnz+ZmZD!G6w񿥰22MА۰L,vLgzUf\Eqگǫ'4>o~6qpNHG0L<gҥew,ڒs1z#uvD-|S;A#$/)-e#3HU\ۇFU8VpWLJ+M n]9z^)ir
FNHn/PsYxi?-rNَrH%3cƥΘp
)&4H->]ҲAX:|R<
z e5ݘ؏90>(p`R^%s`I4d>LRHYKp_#Ùb!F0J1"=?H6BtLW4p^r1iPlI.`QRzq#&U[#SHlɴCTg2¢\܊`m!m/Y=5a?ji5ۤVrt&?cob'e;dL3<]C/+oaOU/y	r-I)+-Gh_aE.TZh1:]`%V_Q3og42@Ԫ$t)"hp掝n/mv5"2QTy</N=7~UoWTp
N7_o0=ߩ;sBog##}˷bXv'
 FV,e4wn(xhp媑⸆
2V5P_8&V`FJ1&V­"^S}dxy1X9
MJ[ӵ1!"9eNRy9ђ5ɔ5p:jkZӔ \RLNVQyNhaNjdGPŅ:Tښrہ]K.V-hFHtHxNzOyX>غebMwsn71:.-GjW{BGeg//V[fd3b1@b7No{#|^t?5@uux2(ӱ4@;Ҷ{jqNr
]\;t<2v
hyo9|ؼ4><>ͻ
г|+2p	45:"C6VT-e] r{YFu=6|2x)(]wzU}DXSه={A]ٽfK4:J|FaH
ر3
Wp&lӆ>
oT=m粽-_o{ǠnT▖Ϯ^iE.48½Y@[$I`g$fRoMYiDu@8z{Xe#!@"$=y `O^<>8Q~2DLTeJ\D0L`Aԅ\RZ_"U	@˘0Mj%>2e괨P{Ju`IϚ-/Sc϶Ũ"BEYRaSk⻛Kd΅Q_M|`LM0hV\:ķ+VbM5e]x^iim|;Jh'`9_];@n府e!PJ[~(t3nArW;U괈oax|,hm )$~҈ 	i@|
\>
%,ѾkBcqd9
1p;%I#
Io1yD2TQƉ(({:H+ª̠#6L))5ʦ	72)1Qk4$Ȭ3/g
˾̌=&Ӑ 4"7DŽ?ł#	c
UKIg5R(-J)(aŴ;iZ;Ue//c]YQ	2vW(Mr5eXrSu]e?PqOjqUCLY_mu-Ϩ"1B/3qYTj/1X9xb\=6PI.78dQnf-}ɼf].裑NZ饙n駡N+ˀxsS
#bS-\SjFZnᆚk ֐^i&r#6[6+[)1GćR/鶝D-t7U ] BZQWͰv[mOww^xsouv)R.Ag(tzƺ{/y?_Woo./Ěw:tMݷm~ Qn.] F+G1,)'PһѺrO$WTAn`a(-l	R
Ouխp:Ę_D
#bZ#`w"֔j;@7pAU

~,i@̣*ڧd[!پh1F+ͦ
ֈEA1
#{EB䂌_b;,Al#Ubpʥ41<M Iʉ8#ISIA?dKHu
z*#)Û ?eNh肨		jVI1EqૣC‰h&fR=,ZK(NA_ꓟĈh֓jud
ɦ0tSn%3j1A72nkG!LAK{e\Q:V@#T\fjRirT6;m^Z߄wJG%?z$S'#S(tv*L@d!A
>0b`Wٛb\H@+p16z%j '79@Hzt)#(>
{ܣ#hάOXtz=RC	d?ZQ#!z5evRxPO1ĤFq!BDZm\kǥr[e
Y'n+IwqEHۮzVwF
d8Seow~^<svt8DDq̯t!
IfeNw8RlFRV"OޮR=j])0(R"w$#M!@WWĔRW/Sfzu`K6M#fhf,ҙA.qb({ .9K)C{{9W1Nы~{ї1y1N71qsQ#ܬ<ew	C".GѫfZ&PBTsY3^^cZrB$yX[:ؑK(u]Zlzdk2@!tS/jq;LaODO#i|`˼C}f)#'K@׀#7Dꗘ%uAsNOS3S/9\5k6pTS|-Լ%q۶Vsܒ3]~mejx+ |o+ai_t-ٿ}|mUɇfQtէ2ͷ
md kuB&.kΚy3_^_+rn)ozO/&;65=g*FUAuP;sxaRh|o*5x@tEY}ou<7%"{ӫݒuIQU^%,+Y|y]v褥^ϠnVe7A"8Y%mŽ	Z7(~dX<&<j<vL(e8b$0@xe["e)DpLU@W.$BxsƭmȬ,*F8~bԘMc Δ!,FI,$
Y"Ii^'Rlzdb
p~H'aHd$$^B
hAf)ڄNƒjMŋ.#JJn*j֞K.b"ET\CipZ
HaFP-PW(#;i&b?=uHadq9Є
B!(j_2$gJS1-#n L:p1TóƉ*B1-#lg+˂jtj"F=bE40)2d-#o1Mb"$(o±`G&0&d1Jp=z+uQ!R*rx.r(&zo7g@l@<)&IjJp*/c
n*	IC/v`R"9p\ -	lUBl
xؐzD%R_,(Fv&%DlʪՊiR.%%ZiiHJTv<㇐NhSbf(|58r0)-P&#
˭p13qZFx"x:P:.n5s/	eR)m>3<P:Kd=Mפ-^L)t.Bt4=9f冮^2$Țq2?o޾)a=\D,A# 4gpF%VqHDQNr @(f޾nLIFI\`Jc,--xn@
=PLWbe4ܞ|;hc? @dV<3=bg*"h!&XBi .@Tq/TVKui2JjvAMI*FTS{&M*aIa~N&z&&AfOn5WM1ᶘ	(4tTBoiR>"F2)/e+2Xd[K]2(v,2耬
Dh&mث*R)=ʄ@sJ\.^!I-	_`cB4)%TV#3F!M:4F!Q3"B&oڴel/W#LnfGb0RteK"ӯ/	gQvCcdOU	ydImms\Ք$?o
nBA
	nMSAi͖BeI:kpCl	dIB#D1,F%.j1VlD^SF;Ֆrp1)Sp#R*"tbf7o+h*HТ,pK"B!up#z3bP9ctb/Fv7lj7Ő7Sqd]fn.RxL
q޶GIoE*<D1>t%qҞ0pDˉVN7U;
J_56Q+Kk'
Z$lo"8H'x®Ԛhno`u0QQ`s&RZvG_.#HE@<d2G"bOM%R
T4I)*K$Hr9{YtSEQ'B#,rA*v+H Es	W!̃ShwBklݧ$'f%/$w!Ƞ3l9ڲw}WA6T/ekyL8@m}+|RRÕ2uXu|cP^6zB'kY H'KebPfq,[5"xx.
Wadž@|e%-6?Y98D1gk{ǀ]+CBxd_UF5M!@8Ü[/kEE"~$yH%XfV!(ڇ_ِOB[zڅb_V`8`j#0we@Ũ1nWLS#kqچrh$瘶4pepo.F)R	+љrWZs,ԍ}CXfʱ02yR1PUprF[އSM{($Ź$TqzDF60w}P[~+OG<"[E))@_$%{T'M:Qh""wr`ѢKceh{2Ǧp<B#:oTװt3tb-#I'։zCZCeMm;Bq'Q7|ի=MOFe[7V$|{T-p7-\c@+8.FwC/&L]'Z—)Al<-xvHW8`"cW03Zk{4AzEz~8VȠ~E,$7\eg|Ǎن7ۨiwH?dFpmo\zv]d;o-`gUzB;Of"kOuyarϢ CB;8:#Hp <S"y)xP
ux&ٚCqz`OQzŴX
v*}Mکx)<P@=<攛߹Wy1}}cI&{'8`"naH3OKk9<Ws},}!(U9V{m~~ UO}CuwOY5[to9&"hN$uHEò\U;oSict2q7u8t|9ARϢc=77º-$vtc⻬CNOt5vyu.%{DR:ZŕDZd}O괨;RJ"d@(k:(<N	>SkyEk_KzT	X|}Bhn'nPf,}Yv7On2ܿy5y K~Sm*fd.G0ʭxMe<I}<|m@|= xā
9DaCzH0Ì!-bg*;yGD,䔘2ogĞ2DgP&mZs`@ULAqaGk˧&1:ᖜoAVD-Q&n*_! ocT:(Ғ$@X9լ[~M.46KaiZ5j_ε5ȰAo+6FVGqnЋ?νzĦGn=^ki5"et[wWr$}1VzY]{hCfdՔCܡUO-7݈c:>&ێ}v^Rwf7&#H֣!$;.$J&lQe|)ff89j$IXp"
wTF矆i(k"Z>裒VɤiS [Z3}ya&!΄lj奪UhZκ:ٓXg5Y[Mlʞ)Q>-e^U_W18'O)j4R^ʕ}}PDI(ZGV/R)qz4Eܶ۠)7AYtB$mĭ9+LC9K1kOujgZ6}}|fZːM\yfM$aiȽVy^pYUnOu<sW+CnJ3$_H#
'_unjT$%;LD7]x*jXK}dJ߀}[5l]׹yS-"<i֩YyA3SbnI"7L>uyga+FtqW:~,Oe:Z
ǕR$I՗眃~Oou$u!Pjf>z"t(8l7lbBO:"R*A(I: knFS	Ep,<T_CP˚aac<KIe(JZ'\?
YV+^$4q(0,QYpqC'#Z,kadx#416ո)AdSwTzwT*xHUR"+YI.Β:)E=23$mai՗8򸗠)0[Q/B@F`uӈ@@!T$*ɓ)xt2$cJХdO,63ʅL!0؇TLz>ϯ)gj'OA
][0hVJuPX3
-ŒbfgWיc
ԯn,3B=HAU2(J'4hNꁔ
fh)IUÐ5MmYqqFq*b{A+^`Ӌ".x<RM@9MXN`@M
}W^ Wdq5!%,%uz	
ZX -WMx4hvg?IV
þv!j!IJԠ2Km=*rdn3
K,u`ZY]D23(X_.%b.mqT+h._90_jˎ|2jn\ 宅^&SN%"ynjąuPQM]8H#]aL!ȄGM]0:T3^sHuTX!G#s'8*fSuWIZ>l<*,i(Pa
09[3;c#f9"bV\C+?śeW:d=BLL45dVbҠf#( -IԬ^eGhՒh\YmΑD
TBPuyd+{>؟I$f6C-=ZM3\m/_3OU{cٽn& ;

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cf2e58dacfe7d1baaff894f3a2965e20>