From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C78078F3A; Mon, 19 Oct 2026 02:10:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.19 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792375850; cv=none; b=CZddfszsU1IDZbd9YuolTnI2QTMjTGmseQrXtwjneqqPN22wuUnqHWEs1bzX9VYJw8yC5QVv73tdhQRVrgzTgauiBT3sq7S+IjTAtScSQLCsgjU1hbACoAoXrMeS3aMErLL/kLNmT9b6o1FDswkv9iiNevZgLF//NPGkOUroCC0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792375850; c=relaxed/simple; bh=ezelkDvrqOAKN1Ge69QT9p8OP46rXVlW/Rkw5DjOyXU=; h=Content-Type:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To; b=mS+G6iZgQjp1sAYkUKSD25pdCh0FOl5HhCnmpBLZl3XRlSbnt1o0F9PU3ZIfZ15Bz3rwsVCGl7onu5LQn86QMPRgZh3EaTERDyUUfm1Isq78O7XB11qlSqlQbWFSTc9FNun9fNWUDG9h3C/m5iFFVpOQhPNweHuwncmJmCzsqts= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=jan.koester@gmx.net header.b=tN/zmqLd; arc=none smtp.client-ip=212.227.15.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=jan.koester@gmx.net header.b="tN/zmqLd" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1792375832; x=1792980632; i=jan.koester@gmx.net; bh=3Emn6f3XLcD7DHReYwTozWfv5O3AxMMYYQjEwTwyyI8=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:To:Cc:References:From:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=tN/zmqLd6WOm0tBXvkg9xyxOE9jTzc5KAatih3ECkBAj4YnYS4N8Sin/Tca1DTbJ YJshBT5kaXw2ROgl5qghlBvai523Ubg12Wgifd7Uui4wqGpID9YeYQn1OcdB3PrZI t5Ey7TTUf9Q1dqWn9NjEgre9P9dqwfbSM6R0oa1kbu2quYWmH474c4QEMylpsnk0C +7hXL8Jah77lLC/LB7YxukrNjvBNzLk7tx5qsBWslMcP+/H+lXW/iJuhzs8TUo4UD aLWZVz1PIJXn6hUar6a/pkc5CVuVsCQOnh4Z1jdcHtX+lf03GwVtcROZbGkYaWw7p 1pNgH/wQSI+PJ7lmYg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MpUZ4-1wp07H3jfo-00fzUY; Mon, 19 Oct 2026 04:10:32 +0200 Content-Type: multipart/mixed; boundary="------------KKSAO7YPFe0rwYoCb4kkrxnV" Message-ID: Date: Mon, 19 Oct 2026 04:10:28 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 09/41] uidgid: let kuid_t and kgid_t hold a UUID or a GUID To: Eric Biggers Cc: Christian Brauner , Alexander Viro , "Serge E. Hallyn" , Jan Kara , "Theodore Y. Ts'o" , Paul Moore , Arnd Bergmann , linux-fsdevel@vger.kernel.org, linux-api@vger.kernel.org, linux-security-module@vger.kernel.org, linux-arch@vger.kernel.org, linux-ext4@vger.kernel.org, linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, netdev@vger.kernel.org, audit@vger.kernel.org, keyrings@vger.kernel.org, linux-kernel@vger.kernel.org References: <9c17a1f7f82b953e6f4d9e17f4ca19d5220d7f2b.1792346472.git.jan.koester@gmx.net> <20261018210222.GA9623@quark> Content-Language: en-US From: Jan Koester In-Reply-To: <20261018210222.GA9623@quark> X-Provags-ID: V03:K1:KdzwXDIYmysfjUxqLs0HFeRRNS16Sk8kNq5oO8u2Q7/mM2fGk/N Ec7BjTrpNW1Z2wrWKVIojB4/iKWf1bpMITQjJovlZj95p5gRmF3tgo1rCUGaNsAfz+3fo7n qtc8J3Beysoo6LtCggX2ot6wInrMU+zGIyH2HCnhXel4eL+rCEa1Rck7N2TkaX6TsNDkrAH qauHAU2fCtlOu18s7wteQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ILDzrsinit8=;gdr87WBfagGG7ptZT+HemSmizEX PQ5xFonWVCUthzBgTo9Gd3vCGxI6lEM7l77rRvlHsylhrFmHUcA8sy8jOWSR7aeVFLstx4HCb XAmYvgk9tHKTtUeCQ9/rJdOS59mx1pM0ZgngMcCstLhS8AjhM68k5toyiYCDqQDbF3/8SNWpB baHmP9x396H+nxyDacH4Z7rqQlsspSQySP25JmiFi9VWdiZF+yPWke3XzIwdJWU7Ws/KSn0uf ioGFvzGAxe2/Ag9Y3m5G0pMyNYp24nWTeTuFbdfBsecCMGaBlnbGfPmXQ6MPZ9x8GRSJImkNI D1a9rG4k0DXVfVgiAyUkP03qkYSP9H+X6apArwrjUym/CPmf0BVOvgpHdDfgPQpjQlOxOaOiM ofq8f7JK1RZ/E/VYMa0h+pKK2LshVOIVM5QJVMheZCjqNT7jeYEJai0bzTg4rKfdG11ixxmmx 0E3Pzxqh341sJb//oxTIXW1x4CV/k23ZtYBES4rkG0dD8rQSv3hD2PuuDGcHbOCXQG/aegoF9 MxGANsuY5t8fu4pLq2mmKkyUGgedwfpwer3KpmaKR/y8mnVGDAdcZ84rF7D9XuCrzyzLbBbyC 3c/enVk08KUzQaqnNRDG9HsSqlnT3VCQycxUpzgrURA9xfPnPdjXQl7l+UxlJ9P/WzFpOoRR5 zRnEFPVz48wSn4a8tADgdOGy881BkhVUm0Kdn4oKem2p7hRc2iJZ9mF064cOYla5vx39sjx3k 2HxpQgJwDmZ84+OwDkYzBLzO52JTmPvtx22O99O7OhIKvz/54BAp3t1TsSQa1pQlOxV3wRm2e Sw5QEBbQJyFgNX6YI9CbEYr9qceWNyN6Ezxnhw1K+ncnUgakueu99tgS51QTpwugZBgilF1eL BksYu3454KD9kSm04rvOLe3clZ2HAocX/UIBFyywAxuvRzyTgki/N8vAKZn3RAF2G76fgAKkp PZs1v7CDAZFk571Avk9d2R1+6EUMCZyqFkhd3lepwEsNTICz5ePY0mXsCtn1azyTnxw1XjETu rgHdtSt2QMqwAPs4qGz8Xac3lprvadeuF+Silk+rucftRxsPPMs7rbiCQ8CW1LGRn82h2oE2C v/WzlTiw1B5CGogcjeB8eTiBYFn0UF8GSikmloyCMzakforrKnaGSyvkI5n0no1WPBE+j70gw cBBah33tMd5hzWSQSuNfCy8Stkedsm5AUkNTxEYIjQuWx4q1XAZyRkELESQyCHX8aYoa2e2Rh dNcXPdzxDnl+D6FMqRAG+O0qPTkuuh5/xObZ4841zzcA0moIRbSUROTe5rsUAMs4eLmehHnLA dg007MB0lFcDpq9xAzZyeqKvL0uofO1155dtp1PY//UAS/iNSYu5hOEYtdRz+jNIimIEJZQfV MOxTY4LHwqf+O8oHEikwJHI2by15/iOl1oQxMDxxuvOXBEzkkOaF17eW9n8aDWgmJ/5CJ4Pmt TVr5Aw8gcLx5prgEZxTyqpfeksqgpd5+XslhAnJMat79wa2qTBAcH11JswvtEQngWrsGPhqwZ oKVltzUTrIcbAqIFDRstUzgreL40YKA0aVLMn4b8F9/n0h3Zg7sTojd3+XTn38ckPQcfPKryv WEgCs/W85GPOD5+DOVicTX7cL/V0g8hYY6FTkV21po8vltJjtqzL207ZxY9h9QltC8nTVoyS6 1hyuuNgqXFFsQ2lPuxpe79WWJ6U67KsFmiLG98cQY/ToEE9OrDuozpq3PfxzX/0oNw3xMUVL8 CkufEw5ISSQVC5h37x8bwSjqeBHsvLOmUJB5HaVLFKKSSDyqmr4eN74LgynrpbXlfTM08N1fM np+Ei2C1aR62OG9hd7G28RXc0mEBGkrGocGPezrMet5rPL24FPvqlAQqLWAR9iV2DKrh1Et2s ENdEgEYxCjUDUfvJ/nWkD8j0nCQDN4HBBDMWgc+jSFbEDEB+epe8B0UfXWDkpd+7LZkma00UO egRfAb/rpukIR4QwOMI/xRTtEfrZCZjOsfOgsnqbAEsST6tVgDNpciZ/oaPuJT/YWpK9Z7Vj6 YEE32kBJkIJ8cFQlF9InYImr1C5bJCzzEsGMJqwm7ZDZDgmfrTI4Z1z7av3zHtgk4/XvjybnN GFHtHor3V0uVqYj5vW2p2IKrnYufhu3QN1UoaiwUzrFKGPjgy67f7vVch+FBE+cM6SCKlPhK8 rSGLSRX2UvSDhVcGDckhi5QuLHrwcLy3IOjjFr8YS4oCH4Mtks/lfvu5lTC9VI37uq8Uhg4LB ykRZMTpss/ZuqJw83AxnTN3FyoLr4DkhTG6EqM/PgCaWMQB6WYHV9K+ZG8bH0Efau+rZqru4i 8qdY/3ZW9lB/JAEcZLbNzTKgZAiZ42WIEcCDrdXxYTWypB4aiiIH0X4iSHR3pwQb1v6HmObDo rW2pPfCfFwa8OHKfSLyo1ZoHNrafeTPoMPnmy3/YEcXqQf2mHFNDM7cnb9C+CLuVBPrz3ABW+ S7g4WOz3byedTu2mtuwqcPWIaWTPz1Xv6/BeKhUWy6bw2q3epZTRo8YK7l+hxbwoplF7DaEE8 r5uTrVQihK9jFHAKWcIU0b+xP8fR2kBQYOKHDzFLfoU840ApOACpVsko2egBcDI3JulezyYG5 s8K91dqMgbacVV8WTjDn+kvjswoarOjB7V7eTJ2iv56cwiDdG6nL0TJm++tdWpqOsPePdsCYy GIjr2GBOGOzji4G5BO4JT4tyy2IAOpEIZGIxRHaw7FDHdgutO5oZGjzPBRu/tBP+1WCtmDbBo mh/6TUj+TbavkVW5gpR+oIp7yTjIDWEnWQDPMJecnnJGGV2V9ltjVPQxKXwgp7i4cQ2VY3ckv x8owU0MsHfnXDk6FcAvBg2ivGszdobFKtFqHHJ2leLFW1nsTjLYLTgexWXPfefzk4GuS9jvby FKpUEcnyyV7rYSm1vtoh27krEQi9BDAfxFxu/nqb4Q5ZJzjBrOnrZCyToB89R3jdfkxsbclSi LTUedfeMqh/rnu+r59pi64FkZecY8OU+npu3YSsqB7Xh1k7pTDPyjDk42MNSXsVYysspdf1o9 ZOQkqfCr9GSTB7KMWLuk0CwGFhgnkgM67i5Oh9c4fuah5+zpUEiwbibJFIMPSYtDKN94LAtz3 Tx1AjkR5SwPBNICpniz3uWJIlEtayMGLoWdJTj+YIlrdtQz1lgrq7SRd7PsfibV1Nqtcz6QQ/ 8MhobgCu7FiC7iwU4PIcqIAyv9UVzHFax0LuZuux25c3IhR+FG9L6LLEYnVBJ8E4Xeyd/cAh3 MgUYzg2dZX4+IsLXAgP2+2yNDR0kmHOndKoiMTIhcgkkJM3nBBRHf6hwfxyulmYrcAmpV8njZ ammpHCawvc1dWPCIYuRGx8oJf227BPfhUAJvFu7BKHSN+hMWCg2FyTrXgkcsXEaKuYJyA13Dz bJir5KieGnTu32T537jpZGE+ybOsY7PFqlrjqBsqqVfTe0HsmYgSTk4sYnoqlnms7Y9iKxw/m H4n36+3ozsRcv4qdZ51yYNdUD/wPdpR3qR8sgRtrJ5ZIyBPqSNoLOwU4B4cb5hjLj5AdYCjAs 6h6juxmqTPaRUVpjrzjgMzHEPcCONwEXTVJvTpexewzCPitdT9tWKdl24aeATJHFG/RZqVGV0 vhCiF1k5wZJBxEiQNmF7xv+CUwlhZurxW+bGKiuFxclrZDXm0nkxG6XHfiGZCqQB/Lps5E+m4 K5iUYXuAH9EdsKdMwNUYAWcj73n7Qs7q2lkVvRzw8BjCLdtcTvteJihusy2Qmqo74BZLIdeQq ylWvx057CiodTGTjqSRIz4f9OqOtol+0YbnupX8n8tciPS8D713D1FZvdFyaRtLWd6pEQEc2V CLi3+FLBNVpxrdP7frI9hzlw3fsCqR+X7I00z57Qkp170t5iv//4d7xAG4RInfRVy603w0C6/ EqW1FMwDtXCz06lGzYGJSGbwF3KKzg6s3HbylS6JnX/d/fTSeOib/M4imqF5M/MCZgFxpjY+b oinZJDt6iuv2b/XhyzfT5O06ncpPK/ewQB6fAPYuJzWpIwW1VoYVwfGHejR23EChMuC4g/+Yo C84Qp+Up5k836KrEP4+nbLd72JX7YSMnMXAHUMlyq10Fx+SULIEf52pz/cEyCccF+5sNtQVXO C7GNjHux0ER/bSD+rp64UkfhpVoqv+CqFRF/1tc14zXYfp5vg4hIRi9b8tNZxOH9i2RiMmgL8 70w4nv0XnmNjDvYxwJzbiJtvFUR62tSAQ1I05BkfJZEBgKFkGJBIsa4yX4NYsU8mEbLw8ZdIY r6camRCy8G28Dt0YYC0i5qgS8DHZ4x3oxLuAcGgF0QlEZK1aGTk8ChwdfJXwE2SrjsxgET/1Y WnqKIQX8pQeCQN5TaWyDNCGJS2scLmsIvg/vwpNg9kaLAim3MuhNYqvzfDhmSKDZ96/hmZVSS 4H5mT5rmcYCepegAN1RDtjLYwZbQa4LM+YWFQuL4jE/zPhx8HdgcqsZssH8KUsMz8LCHkRwB+ StVNOtoF2Sh5tqniMoG969UbeObXVgoMSZmmhdm9/N8de5gxbLk+o76cuJOYFL+16kT48f0Ub ZYD+331YxzzhpeCKlJ3WwySMpdbRI0X7Ov3USkqaXIfZHZTVaTo2mKbaOP+khHZjm29/QOli+ 28Q/5t2YOviUM+5ZdCOq8XbrRQx/1ghRDOXjM1lX2iq7vnpy7+HyO99aEPqk217mCCBPzNTic otxIG1KYNo91/MtW0L3gPqYMnZru0XbzqYi0iB8ETHXjMHjU2pEeCDlVCNuAn4pfrJFLkh/P6 gRkf9UNXfdNHUCk9/hWOfIBF9amieg+ZgGXhFIjxV1ixvAegrCkafHGk3KDpbAfGCHB9PFe3o +fJ/7fGzX2ZEk1fUpFavkZkggV14o8pDqDmGVY8t0I1TgNFa8is9WerE/4LdfS9ebFr94teb3 sOcDk5RSdYl/gwMbOiTzwFZeL8eOVkmgAtu0IYR3p7tk4gpWBPRVQ2mFOdWhvSLPASxy+thtB SiVVeooYgLL/M/VSLB7KmZ7JH/WX9wH8/TRJyzkQ7I0oCqlngwCxtq6Pe+qYfL6k11RoVxyjY 6NE4t8WEATkXTxYSCrcvSsOKP8TeHL0qiDWYqCnI6RGH8bEjXHcoL0yGd4x+zA0PqVJOgX4lC zM3niegqrCx87aHdTJTvzukGIsJ7tg6thLSHEm2K5TaC5XlTJZrnqmjj199RZDVSGQd1I+pYB PNA+OKXhZt6R/uuLWQUsT/DvsZairAs2UYOh3jdS4nLcUnkd9OY7l4nLIVCUAXgCYQ3FsCc9l CDqiMLdVnNVC/uyd1lXL5ckF4PU5lu92lpIdB3qiV47klyjwyCTElqEB37TpdPvty8q5OSg1J vjiC9c/TaMs5r26ml9ylAMwCe67BxY6xqRqHeHc09PaegR3WC9y0i1U9ywBBW3VDP9x+G8Sag Z3ThIPwQlcXg9O9rbqZYQTWw3pmrEPHsHjszACbdePtnoXB0WX/ufrIt4q1yvCoTEST3jkIJQ 7qKI4ROy4+aVNO+Z676rcPMChyXO3HN27yvpJntOS4+hHWkeWBcL8h7T8wqv8O5zarGLDV6Ke iERtGBd56szGQY6NUTxc8Y3DGP1OHaKFuWkmOKIzeSoK+2r6SzB/zSeNKNrKCWSxNDgKRffXy ZFZGQ0V1XkKqabiw5LTdOHC4cDFQdEhQNyOP6wqbwfrRZwEKyJ29qmNFLu0M8Y6cCRLhjQ7ye jca7R4P2+6cHrblK97lQHIRWX8BqHL5zeNLjlH6Wexo19dsOovZH51buEJMR9TG1prn2kKKS9 AcIO3ke24sfI7HxoFSq1V2Eh1WywDuRT2JDD9lKzTx+9Ek0h7rQuF7gv+lDm7ILbdOKCKGt/n M7UG1tzT5MPKYqpLYKnMyjbXRerrFkWOQa//fERlPv/q0bT9sjYoZWvGzdfmETeq44KSWn/mW LE77O3HMJu/1xMX7ECP8R4LtGvWHliPJAMt6uZt/jQRG2nbvtewt7xVDBK+I7j1BkhzYI8N5X j+3x8JdMXkbtP0poWbbqxxA+svcSLKgUPIQzhvG1Q8ymA0qt560xOU5XxX2j7woGC8z4dBtzT r5CJdOpVCk1Szr7GtffaOwbqBKS8Amh4Hbos45Gyr14rhvE+qazZpdNkbtfUOwvRaNrTdDW4b 380jXPxxy5Lw9LkxyYIW1IJswLYq61oBzheCOZYy5xeHs5zPjhvJJtOL8l5aODN6QVg1G9vX+ S0Jq4LjMN61U+24yBAB8hmVm0noL0cRA3pOCPda62ql6xtCFbQfc3sSqf6dLWVqUbjmW4diMe tg5HwVWdo96IXAz3Ru4uDKbVgIPlD0RT/6Gr3It3A3QaPFCP+VVACH6eqmvNZ4CYefWMivmgJ WrQRf4TJcK+h5d1HmKCKgzSYqL9ov0zeLaV8XHZ6vvZcX4FbfiN5vJupqG4N4pFPgj4IIB0/n hIdQW+hUuKeAiy4nRCRmeUVbhKJkEuSezMfYZ1IEZzNuvy7VMr3cRHraWivrxT9Cz+PwVVf1h WSzpmu5LI5ioWDbMGhxWpEOQJ8mSE5kgyIo4NQ3YM7rcL4x+Zwm3vHMvva8PMNAdtkZmOnMji gtpJdlBOCWIGYMbtccNpzGuD6HHESxNU2kqOQTJRzRpBtfcF2dBqi11/ZDi58GzPDjtlPcS/s hiJNb60cSbcEBgSq5q2daElJXNvnG8APXevSMwkUpt5V5ikwCm4EjIffUccXXGfoHIb8eJjZH 7dgUIidULwFn5SZpfWDOmUGdcXxuJdIia9hV1ND7slDNNUYlLX/wukhgH8IRUCHFYAsbTupKC ByjPn3PwwD2BERPDZCcHd3cYLOpVtHb5Xgs6T+fBNiELUaWTVit8oy2Us0afu1kW5NklkK0Ke uFvSpeAnaiBNcfZPdFcRvgcHJpfKBk5EgyQw== This is a multi-part message in MIME format. --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, here are all patches. I have problems to 42 mails with my provder sryy for= that. Am 18.10.26 um 23:02 schrieb Eric Biggers: > On Sun, Oct 18, 2026 at 08:01:30PM +0200, Jan Koester wrote: >> Make kuid_t and kgid_t (and vfsuid_t and vfsgid_t, which share their >> layout) tagged unions: a classic 32 bit id, an RFC 9562 UUID, or a >> Microsoft GUID. KID_LEGACY is 0, so zeroed memory still holds the root >> ids, and KUIDT_INIT()/KGIDT_INIT() keep building classic ids, so the >> bulk of the kernel needs no change. The member is renamed from val to >> legacy so the compiler finds code that peeks at it directly. >=20 > Most Linux systems aren't going to want this bloat to the core uid and > gid types. So if this is supported at all (unclear it's worth it...), > it will need to be controlled by a default-off kconfig option. >=20 > Side note: the subject line says the series contains 41 patches, but it > seems only 11 were actually sent. >=20 > - Eric --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0001-uuid-move-uuid_t-and-guid_t-into-linux-uuid_types.h.patch" Content-Disposition: attachment; filename*0="uid_r-0001-uuid-move-uuid_t-and-guid_t-into-linux-uuid_types"; filename*1=".h.patch" Content-Transfer-Encoding: base64 RnJvbSAyYzIxMWMzZmEyOWI3NWY5YTc1OTE1YTI5MWMyZWI0YWVmMDk3N2VkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA0OjQ2OjAyICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwMS80M10gdXVpZDogbW92ZSB1dWlkX3QgYW5kIGd1aWRfdCBpbnRvIDxsaW51eC91 dWlkX3R5cGVzLmg+Cgo8bGludXgvdXVpZC5oPiBwdWxscyBpbiA8bGludXgvc3RyaW5nLmg+ IGZvciBpdHMgaGVscGVycywgd2hpY2ggbWFrZXMgaXQKdW51c2FibGUgZnJvbSBoZWFkZXJz IGxvdyBpbiB0aGUgaW5jbHVkZSBjaGFpbi4gVGhlIG5leHQgcGF0Y2hlcyBlbWJlZApVVUlE cyBhbmQgR1VJRHMgaW4ga3VpZF90IGFuZCBrZ2lkX3QsIHdob3NlIDxsaW51eC91aWRnaWRf dHlwZXMuaD4gaXMKaW5jbHVkZWQgYnkgPGxpbnV4L3NjaGVkLmg+LgoKTW92ZSB0aGUgdHdv IHR5cGVzIGFuZCBVVUlEX1NJWkUgaW50byBhIGhlYWRlciBvZiB0aGVpciBvd24gdGhhdCBv bmx5Cm5lZWRzIDxsaW51eC90eXBlcy5oPi4gPGxpbnV4L3V1aWQuaD4gaW5jbHVkZXMgaXQs IHNvIG5vIHVzZXIgY2hhbmdlcy4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlLgoKQXNzaXN0ZWQt Ynk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBpbmNsdWRlL2xpbnV4L3V1aWQuaCAg ICAgICB8IDExICstLS0tLS0tLS0tCiBpbmNsdWRlL2xpbnV4L3V1aWRfdHlwZXMuaCB8IDIx ICsrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25z KCspLCAxMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4 L3V1aWRfdHlwZXMuaAoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvdXVpZC5oIGIvaW5j bHVkZS9saW51eC91dWlkLmgKaW5kZXggNDNkNGE3OWIyLi5jYmRhZjBjYTQgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbGludXgvdXVpZC5oCisrKyBiL2luY2x1ZGUvbGludXgvdXVpZC5oCkBA IC05LDE2ICs5LDcgQEAKICNkZWZpbmUgX0xJTlVYX1VVSURfSF8KIAogI2luY2x1ZGUgPGxp bnV4L3N0cmluZy5oPgotCi0jZGVmaW5lIFVVSURfU0laRSAxNgotCi10eXBlZGVmIHN0cnVj dCB7Ci0JX191OCBiW1VVSURfU0laRV07Ci19IGd1aWRfdDsKLQotdHlwZWRlZiBzdHJ1Y3Qg ewotCV9fdTggYltVVUlEX1NJWkVdOwotfSB1dWlkX3Q7CisjaW5jbHVkZSA8bGludXgvdXVp ZF90eXBlcy5oPgogCiAjZGVmaW5lIEdVSURfSU5JVChhLCBiLCBjLCBkMCwgZDEsIGQyLCBk MywgZDQsIGQ1LCBkNiwgZDcpCQkJXAogKChndWlkX3QpCQkJCQkJCQlcCmRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L3V1aWRfdHlwZXMuaCBiL2luY2x1ZGUvbGludXgvdXVpZF90eXBl cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMWU0NWI2OTU3Ci0t LSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC91dWlkX3R5cGVzLmgKQEAgLTAsMCAr MSwyMSBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLwor LyoKKyAqIFVVSUQvR1VJRCB0eXBlcywgd2l0aG91dCB0aGUgaGVscGVycyBvZiA8bGludXgv dXVpZC5oPiwgZm9yIGhlYWRlcnMKKyAqIGxvdyBpbiB0aGUgaW5jbHVkZSBjaGFpbiAoc3Vj aCBhcyA8bGludXgvdWlkZ2lkX3R5cGVzLmg+KQorICovCisjaWZuZGVmIF9MSU5VWF9VVUlE X1RZUEVTX0hfCisjZGVmaW5lIF9MSU5VWF9VVUlEX1RZUEVTX0hfCisKKyNpbmNsdWRlIDxs aW51eC90eXBlcy5oPgorCisjZGVmaW5lIFVVSURfU0laRSAxNgorCit0eXBlZGVmIHN0cnVj dCB7CisJX191OCBiW1VVSURfU0laRV07Cit9IGd1aWRfdDsKKwordHlwZWRlZiBzdHJ1Y3Qg eworCV9fdTggYltVVUlEX1NJWkVdOworfSB1dWlkX3Q7CisKKyNlbmRpZiAvKiBfTElOVVhf VVVJRF9UWVBFU19IXyAqLwo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0002-uapi-add-linux-uidgid_r.h-for-128-bit-capable-user-a.patch" Content-Disposition: attachment; filename*0="uid_r-0002-uapi-add-linux-uidgid_r.h-for-128-bit-capable-use"; filename*1="r-a.patch" Content-Transfer-Encoding: base64 RnJvbSAyZGU5YzZjNjk5MmZjNjNmY2RiY2I2OTUyNjRiNThkYmM4ZjVhYmY3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA0OjUzOjIzICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwMi80M10gdWFwaTogYWRkIDxsaW51eC91aWRnaWRfci5oPiBmb3IgMTI4IGJpdCBj YXBhYmxlIHVzZXIKIGFuZCBncm91cCBpZHMKClVzZXIgYW5kIGdyb3VwIGlkcyBhcmUgMzIg Yml0IG51bWJlcnMuIElkZW50aXRpZXMgdGhhdCBjb21lIGZyb20KZWxzZXdoZXJlIC0tIFVV SURzIGhhbmRlZCBvdXQgYnkgYSBkaXJlY3Rvcnkgc2VydmljZSwgb3IgdGhlIEdVSURzIG9m IGEKV2luZG93cyBkb21haW4gLS0gaGF2ZSB0byBiZSBzcXVlZXplZCBpbnRvIHRoYXQgcmFu Z2UgdGhyb3VnaCBtYXBwaW5nCnRhYmxlcyBrZXB0IGluIHVzZXJzcGFjZSwgYW5kIHRoZSBr ZXJuZWwgbmV2ZXIgc2VlcyB3aG8gYSBwcm9jZXNzIHJlYWxseQppcy4KCkFkZCBhIHRhZ2dl ZCBpZCBmb3IgYSBuZXcgZmFtaWx5IG9mIHN5c3RlbSBjYWxscyAobmFtZWQgYWZ0ZXIgdGhl CmNsYXNzaWMgb25lcyB3aXRoIGFuIF9yIHN1ZmZpeCk6IGEgY2xhc3NpYyAzMiBiaXQgaWQs IGFuIFJGQyA5NTYyCnZlcnNpb24gNCBVVUlELCBvciBhIE1pY3Jvc29mdCBHVUlEIGluIHRo ZSBieXRlIG9yZGVyIFdpbmRvd3Mgc3RvcmVzIGl0CmluLiBUeXBlIDAgaXMgIm5vIGlkIiwg c28gYSB6ZXJvLWluaXRpYWxpemVkIGlkIGlzIG5ldmVyIHJvb3QsIGFuZCBsZXRzCnRoZSBz ZXQqaWRfcigpIGNhbGxzIGV4cHJlc3MgInVuY2hhbmdlZCIgd2l0aG91dCBhIG1hZ2ljIG51 bWJlci4KClRoZSBzdHJ1Y3QgaGFzIG5vIDY0IGJpdCBtZW1iZXJzIGFuZCB0aGUgc2FtZSBs YXlvdXQgb24gYWxsIEFCSXMsIHNvCm5vbmUgb2YgdGhlIG5ldyBjYWxscyBuZWVkcyBhIGNv bXBhdCBlbnRyeSBwb2ludC4KCkFzc2lzdGVkLWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNS01 Ci0tLQogaW5jbHVkZS91YXBpL2xpbnV4L3VpZGdpZF9yLmggfCA0NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMo KykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3VhcGkvbGludXgvdWlkZ2lkX3IuaAoK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC91aWRnaWRfci5oIGIvaW5jbHVkZS91 YXBpL2xpbnV4L3VpZGdpZF9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi5jM2IxY2IyYWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3VhcGkvbGludXgv dWlkZ2lkX3IuaApAQCAtMCwwICsxLDQ1IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMCBXSVRIIExpbnV4LXN5c2NhbGwtbm90ZSAqLworLyoKKyAqIFVzZXIgYW5k IGdyb3VwIGlkcyBmb3IgdGhlICpfciBzeXN0ZW0gY2FsbHM6IGEgY2xhc3NpYyAzMiBiaXQg aWQsIGEKKyAqIFVVSUQgb3IgYSBNaWNyb3NvZnQgR1VJRC4KKyAqCisgKiBUaGUgY2xhc3Np YyBzeXN0ZW0gY2FsbHMgKGdldHVpZCgpLCBjaG93bigpLCAuLi4pIGtlZXAgdGhlaXIgMzIg Yml0CisgKiBpZHM7IGZvciBhbiBpZCB0aGF0IGhhcyBubyAzMiBiaXQgZm9ybSB0aGV5IHNl ZSB0aGUgb3ZlcmZsb3cgaWQKKyAqICgvcHJvYy9zeXMva2VybmVsL292ZXJmbG93dWlkIGFu ZCBvdmVyZmxvd2dpZCksIGxpa2UgdGhlIDE2IGJpdCBzeXN0ZW0KKyAqIGNhbGxzIGRvIGZv ciBpZHMgYWJvdmUgNjU1MzUuCisgKi8KKyNpZm5kZWYgX1VBUElfTElOVVhfVUlER0lEX1Jf SAorI2RlZmluZSBfVUFQSV9MSU5VWF9VSURHSURfUl9ICisKKyNpbmNsdWRlIDxsaW51eC90 eXBlcy5oPgorCisvKgorICogS2luZHMgb2YgaWQgKF9fa2VybmVsX3VpZF9yX3QudHlwZSku IEFuIGFsbC16ZXJvIGlkIGlzIFVJRF9SX05PTkUsIHNvIGEKKyAqIHplcm8taW5pdGlhbGl6 ZWQgaWQgbmV2ZXIgc3RhbmRzIGZvciByb290LgorICovCisjZGVmaW5lIFVJRF9SX05PTkUJ MAkvKiBubyBpZDogInVuY2hhbmdlZCIgb3IgIm5vdCBzZXQiICovCisjZGVmaW5lIFVJRF9S X0xFR0FDWQkxCS8qIGNsYXNzaWMgMzIgYml0IGlkIGluIC5sZWdhY3kgKi8KKyNkZWZpbmUg VUlEX1JfVVVJRAkyCS8qIFJGQyA5NTYyIFVVSUQsIHZlcnNpb24gNCwgaW4gLnV1aWQgKi8K KyNkZWZpbmUgVUlEX1JfR1VJRAkzCS8qIE1pY3Jvc29mdCBHVUlEIGluIC5ndWlkICovCisK KyNkZWZpbmUgVUlEX1JfU0laRQkxNgkvKiBieXRlcyBvZiAudXVpZCBhbmQgLmd1aWQgKi8K KworLyoKKyAqIC51dWlkIGhvbGRzIHRoZSBVVUlEIGluIG5ldHdvcmsgYnl0ZSBvcmRlciwg YXMgUkZDIDk1NjIgbGF5cyBpdCBvdXQuCisgKiAuZ3VpZCBob2xkcyB0aGUgR1VJRCBhcyBX aW5kb3dzIHN0b3JlcyBpdDogRGF0YTEsIERhdGEyIGFuZCBEYXRhMyBsaXR0bGUKKyAqIGVu ZGlhbiwgRGF0YTQgYXMgaXMuCisgKgorICogQnl0ZXMgcGFzdCB0aGUgbWVtYmVyIC50eXBl IHNlbGVjdHMgYXJlIHJlc2VydmVkIGFuZCBtdXN0IGJlIHplcm8uCisgKi8KK3R5cGVkZWYg c3RydWN0IF9fa2VybmVsX3VpZF9yIHsKKwlfX3UzMiB0eXBlOworCXVuaW9uIHsKKwkJX191 MzIgbGVnYWN5OworCQlfX3U4IHV1aWRbVUlEX1JfU0laRV07CisJCV9fdTggZ3VpZFtVSURf Ul9TSVpFXTsKKwl9OworfSBfX2tlcm5lbF91aWRfcl90OworCit0eXBlZGVmIF9fa2VybmVs X3VpZF9yX3QgX19rZXJuZWxfZ2lkX3JfdDsKKworI2VuZGlmIC8qIF9VQVBJX0xJTlVYX1VJ REdJRF9SX0ggKi8K --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0003-uidgid-add-uid_is_legacy-and-gid_is_legacy.patch" Content-Disposition: attachment; filename*0="uid_r-0003-uidgid-add-uid_is_legacy-and-gid_is_legacy.patch" Content-Transfer-Encoding: base64 RnJvbSAwOGUzNzYyMmFhNTkxZTRlZDcxOTE2MDgwZWZkY2ZhOGZiYmFmMjljIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjIwOjA5ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwMy80M10gdWlkZ2lkOiBhZGQgdWlkX2lzX2xlZ2FjeSgpIGFuZCBnaWRfaXNfbGVn YWN5KCkKClVzZXIgYW5kIGdyb3VwIGlkcyBhcmUgYWJvdXQgdG8gYmVjb21lIGFibGUgdG8g aG9sZCBhIFVVSUQgb3IgYSBHVUlECmJlc2lkZXMgYSBjbGFzc2ljIDMyIGJpdCBpZC4gQWRk IHRoZSBwcmVkaWNhdGVzIGNvZGUgdGhhdCBjYW4gb25seSBrZWVwCmEgY2xhc3NpYyBpZCAo aW4gMzIgYml0cyBvZiBhIGJ1ZmZlciwgZm9yIGluc3RhbmNlKSB0ZXN0cyB3aXRoLCBzbyBp dApjYW4gYmUgY29udmVydGVkIGJlZm9yZSB0aGUgdHlwZXMgY2hhbmdlLiBGb3Igbm93IGV2 ZXJ5IGlkIGlzIGEgY2xhc3NpYwpvbmUuCgpObyBmdW5jdGlvbmFsIGNoYW5nZS4KCkFzc2lz dGVkLWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogaW5jbHVkZS9saW51eC91aWRn aWQuaCB8IDE0ICsrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvdWlkZ2lkLmggYi9pbmNsdWRlL2xp bnV4L3VpZGdpZC5oCmluZGV4IDJkYzc2N2UwOC4uMTgyYzY4MjQ1IDEwMDY0NAotLS0gYS9p bmNsdWRlL2xpbnV4L3VpZGdpZC5oCisrKyBiL2luY2x1ZGUvbGludXgvdWlkZ2lkLmgKQEAg LTIyLDYgKzIyLDIwIEBAIHN0cnVjdCB1aWRfZ2lkX21hcDsKICNkZWZpbmUgS1VJRFRfSU5J VCh2YWx1ZSkgKGt1aWRfdCl7IHZhbHVlIH0KICNkZWZpbmUgS0dJRFRfSU5JVCh2YWx1ZSkg KGtnaWRfdCl7IHZhbHVlIH0KIAorLyoKKyAqIFdoZXRoZXIgYW4gaWQgaXMgYSBjbGFzc2lj IDMyIGJpdCBpZC4gQWxsIG9mIHRoZW0gYXJlIGZvciBub3c7IGNvZGUgdGhhdAorICogbmVl ZHMgb25lICh0byBzdG9yZSBpdCBpbiAzMiBiaXRzLCBmb3IgZXhhbXBsZSkgY2hlY2tzIHdp dGggdGhlc2UuCisgKi8KK3N0YXRpYyBpbmxpbmUgYm9vbCB1aWRfaXNfbGVnYWN5KGt1aWRf dCB1aWQpCit7CisJcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBnaWRf aXNfbGVnYWN5KGtnaWRfdCBnaWQpCit7CisJcmV0dXJuIHRydWU7Cit9CisKICNpZmRlZiBD T05GSUdfTVVMVElVU0VSCiBzdGF0aWMgaW5saW5lIHVpZF90IF9fa3VpZF92YWwoa3VpZF90 IHVpZCkKIHsK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0004-net-sock-read-sk_uid-through-a-seqcount.patch" Content-Disposition: attachment; filename="uid_r-0004-net-sock-read-sk_uid-through-a-seqcount.patch" Content-Transfer-Encoding: base64 RnJvbSBlZjE2MDgxMjZiMjBlNjQ1NjBkZGE0OTRlMjQyYTU5ZTAxZjI3NjcxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjIwOjA5ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwNC80M10gbmV0OiBzb2NrOiByZWFkIHNrX3VpZCB0aHJvdWdoIGEgc2VxY291bnQK CnNrX3VpZCBpcyByZWFkIHdpdGhvdXQgYSBsb2NrLCB3aXRoIFJFQURfT05DRSgpLCBieSB0 aGUgcm91dGluZyBsb29rdXBzCmFuZCB0aGUgcmV1c2Vwb3J0IGNoZWNrcywgd2hpbGUgc29j a2ZzX3NldGF0dHIoKSBtYXkgY2hhbmdlIGl0LiBUaGF0Cm9ubHkgd29ya3MgZm9yIGFzIGxv bmcgYXMgYSBrdWlkX3QgaXMgYSBzaW5nbGUgd29yZCwgd2hpY2ggaXQgd29uJ3QgYmUKb25j ZSBpZHMgY2FuIGJlIFVVSURzIGFuZCBHVUlEcy4KCkFkZCBza191aWRfc2VxIG5leHQgdG8g aXQ6IHdyaXRlcnMgYnVtcCBpdCBhcm91bmQgdGhlIHN0b3JlIGFuZCBob2xkCnNrX2NhbGxi YWNrX2xvY2sgKHNvY2tfZ3JhZnQoKSwgc29ja2ZzX3NldGF0dHIoKSkgb3Igb3duIHRoZSBz b2NrZXQKYWxvbmUgKHNvY2tfaW5pdF9kYXRhX3VpZCgpKTsgc2tfdWlkKCkgcmV0cmllcyB1 bnRpbCBpdCBzZWVzIGEgd2hvbGUKaWQuIHNrX2Nsb25lKCkgcmVhZHMgdGhlIHBhcmVudCdz IGlkIHRoZSBzYW1lIHdheSByYXRoZXIgdGhhbiByZWx5aW5nCm9uIHRoZSBjb3B5IG1hZGUg Ynkgc29ja19jb3B5KCkuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUtNQot LS0KIGluY2x1ZGUvbmV0L3NvY2suaCB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKyst LS0KIG5ldC9jb3JlL3NvY2suYyAgICB8ICA2ICsrKysrLQogbmV0L3NvY2tldC5jICAgICAg IHwgIDUgKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9zb2NrLmggYi9pbmNsdWRlL25l dC9zb2NrLmgKaW5kZXggNjBlYTU1ZGMxLi4wOTg2ZDk0NjYgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvbmV0L3NvY2suaAorKysgYi9pbmNsdWRlL25ldC9zb2NrLmgKQEAgLTI5NCw2ICsyOTQs OCBAQCBzdHJ1Y3Qgc2tfZmlsdGVyOwogICAqCUBza19hY2tfYmFja2xvZzogY3VycmVudCBs aXN0ZW4gYmFja2xvZwogICAqCUBza19tYXhfYWNrX2JhY2tsb2c6IGxpc3RlbiBiYWNrbG9n IHNldCBpbiBsaXN0ZW4oKQogICAqCUBza191aWQ6IHVzZXIgaWQgb2Ygb3duZXIKKyAgKglA c2tfdWlkX3NlcTogbWFrZXMgbG9ja2xlc3MgcmVhZHMgb2YgQHNrX3VpZCBzZWUgYSB3aG9s ZSBpZDsgd3JpdGVycworICAqCQkgICAgIGhvbGQgQHNrX2NhbGxiYWNrX2xvY2sKICAgKglA c2tfaW5vOiBpbm9kZSBudW1iZXIgKHplcm8gaWYgb3JwaGFuZWQpCiAgICoJQHNrX3ByZWZl cl9idXN5X3BvbGw6IHByZWZlciBidXN5cG9sbGluZyBvdmVyIHNvZnRpcnEgcHJvY2Vzc2lu ZwogICAqCUBza19idXN5X3BvbGxfYnVkZ2V0OiBuYXBpIHByb2Nlc3NpbmcgYnVkZ2V0IHdo ZW4gYnVzeXBvbGxpbmcKQEAgLTUwOSw2ICs1MTEsNyBAQCBzdHJ1Y3Qgc29jayB7CiAJdTMy CQkJc2tfcHJpb3JpdHk7CiAJdTMyCQkJc2tfbWFyazsKIAlrdWlkX3QJCQlza191aWQ7CisJ c2VxY291bnRfdAkJc2tfdWlkX3NlcTsKIAl1MTYJCQlza19wcm90b2NvbDsKIAl1MTYJCQlz a190eXBlOwogCXN0cnVjdCBkc3RfZW50cnkgX19yY3UJKnNrX2RzdF9jYWNoZTsKQEAgLTIx MDksMTEgKzIxMTIsMjMgQEAgc3RhdGljIGlubGluZSBpbnQgc2tfcnhfcXVldWVfZ2V0KGNv bnN0IHN0cnVjdCBzb2NrICpzaykKIAlyZXR1cm4gLTE7CiB9CiAKKy8qCisgKiBza191aWQg aXMgdG9vIGJpZyBmb3IgV1JJVEVfT05DRSgpOiB3cml0ZXJzIGhvbGQgc2tfY2FsbGJhY2tf bG9jayAob3Igb3duCisgKiB0aGUgc29ja2V0IGFsb25lLCBiZWZvcmUgaXQgaXMgcHVibGlz aGVkKSBhbmQgYnVtcCBza191aWRfc2VxIGFyb3VuZCB0aGUKKyAqIHN0b3JlLCBzbyBza191 aWQoKSBjYW4gcmVhZCBpdCB3aXRob3V0IGEgbG9jay4KKyAqLworc3RhdGljIGlubGluZSB2 b2lkIF9fc2tfc2V0X3VpZChzdHJ1Y3Qgc29jayAqc2ssIGt1aWRfdCB1aWQpCit7CisJd3Jp dGVfc2VxY291bnRfYmVnaW4oJnNrLT5za191aWRfc2VxKTsKKwlzay0+c2tfdWlkID0gdWlk OworCXdyaXRlX3NlcWNvdW50X2VuZCgmc2stPnNrX3VpZF9zZXEpOworfQorCiBzdGF0aWMg aW5saW5lIHZvaWQgc2tfc2V0X3NvY2tldChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2Nr ZXQgKnNvY2spCiB7CiAJV1JJVEVfT05DRShzay0+c2tfc29ja2V0LCBzb2NrKTsKIAlpZiAo c29jaykgewotCQlXUklURV9PTkNFKHNrLT5za191aWQsIFNPQ0tfSU5PREUoc29jayktPmlf dWlkKTsKKwkJX19za19zZXRfdWlkKHNrLCBTT0NLX0lOT0RFKHNvY2spLT5pX3VpZCk7CiAJ CVdSSVRFX09OQ0Uoc2stPnNrX2lubywgU09DS19JTk9ERShzb2NrKS0+aV9pbm8pOwogCX0g ZWxzZSB7CiAJCS8qIE5vdGU6IHNrX3VpZCBpcyB1bmNoYW5nZWQuICovCkBAIC0yMTYxLDgg KzIxNzYsMTUgQEAgc3RhdGljIGlubGluZSB1NjQgc29ja19pX2lubyhjb25zdCBzdHJ1Y3Qg c29jayAqc2spCiAKIHN0YXRpYyBpbmxpbmUga3VpZF90IHNrX3VpZChjb25zdCBzdHJ1Y3Qg c29jayAqc2spCiB7Ci0JLyogUGFpcmVkIHdpdGggV1JJVEVfT05DRSgpIGluIHNvY2tmc19z ZXRhdHRyKCkgKi8KLQlyZXR1cm4gUkVBRF9PTkNFKHNrLT5za191aWQpOworCXVuc2lnbmVk IGludCBzZXE7CisJa3VpZF90IHVpZDsKKworCS8qIFBhaXJlZCB3aXRoIF9fc2tfc2V0X3Vp ZCgpICovCisJZG8geworCQlzZXEgPSByZWFkX3NlcWNvdW50X2JlZ2luKCZzay0+c2tfdWlk X3NlcSk7CisJCXVpZCA9IHNrLT5za191aWQ7CisJfSB3aGlsZSAocmVhZF9zZXFjb3VudF9y ZXRyeSgmc2stPnNrX3VpZF9zZXEsIHNlcSkpOworCXJldHVybiB1aWQ7CiB9CiAKIHN0YXRp YyBpbmxpbmUga3VpZF90IHNvY2tfbmV0X3VpZChjb25zdCBzdHJ1Y3QgbmV0ICpuZXQsIGNv bnN0IHN0cnVjdCBzb2NrICpzaykKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NvY2suYyBiL25l dC9jb3JlL3NvY2suYwppbmRleCBlNDUwM2VhNmYuLmU4MTQ4MjhlNCAxMDA2NDQKLS0tIGEv bmV0L2NvcmUvc29jay5jCisrKyBiL25ldC9jb3JlL3NvY2suYwpAQCAtMjQ0OSw2ICsyNDQ5 LDcgQEAgc3RhdGljIHZvaWQgc2tfaW5pdF9jb21tb24oc3RydWN0IHNvY2sgKnNrKQogCXNr Yl9xdWV1ZV9oZWFkX2luaXQoJnNrLT5za19lcnJvcl9xdWV1ZSk7CiAKIAlyd2xvY2tfaW5p dCgmc2stPnNrX2NhbGxiYWNrX2xvY2spOworCXNlcWNvdW50X2luaXQoJnNrLT5za191aWRf c2VxKTsKIAlsb2NrZGVwX3NldF9jbGFzc19hbmRfbmFtZSgmc2stPnNrX3JlY2VpdmVfcXVl dWUubG9jaywKIAkJCWFmX3Jsb2NrX2tleXMgKyBzay0+c2tfZmFtaWx5LAogCQkJYWZfZmFt aWx5X3Jsb2NrX2tleV9zdHJpbmdzW3NrLT5za19mYW1pbHldKTsKQEAgLTI1MjYsNiArMjUy Nyw4IEBAIHN0cnVjdCBzb2NrICpza19jbG9uZShjb25zdCBzdHJ1Y3Qgc29jayAqc2ssIGNv bnN0IGdmcF90IHByaW9yaXR5LAogCiAJYXRvbWljX3NldCgmbmV3c2stPnNrX29tZW1fYWxs b2MsIDApOwogCXNrX2luaXRfY29tbW9uKG5ld3NrKTsKKwkvKiBzb2NrX2NvcHkoKSBtYXkg aGF2ZSBjYXVnaHQgYSBoYWxmIHdyaXR0ZW4gc2tfdWlkICovCisJbmV3c2stPnNrX3VpZCA9 IHNrX3VpZChzayk7CiAKIAluZXdzay0+c2tfZHN0X2NhY2hlCT0gTlVMTDsKIAluZXdzay0+ c2tfZHN0X3BlbmRpbmdfY29uZmlybSA9IDA7CkBAIC0zNzcwLDcgKzM3NzMsNyBAQCB2b2lk IHNvY2tfaW5pdF9kYXRhX3VpZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29jayAq c2ssIGt1aWRfdCB1aWQpCiAJfSBlbHNlIHsKIAkJUkNVX0lOSVRfUE9JTlRFUihzay0+c2tf d3EsIE5VTEwpOwogCX0KLQlzay0+c2tfdWlkCT0JdWlkOworCV9fc2tfc2V0X3VpZChzaywg dWlkKTsKIAogCXNrLT5za19zdGF0ZV9jaGFuZ2UJPQlzb2NrX2RlZl93YWtldXA7CiAJc2st PnNrX2RhdGFfcmVhZHkJPQlzb2NrX2RlZl9yZWFkYWJsZTsKQEAgLTQ2MTEsNiArNDYxNCw3 IEBAIHN0YXRpYyBpbnQgX19pbml0IHNvY2tfc3RydWN0X2NoZWNrKHZvaWQpCiAJQ0FDSEVM SU5FX0FTU0VSVF9HUk9VUF9NRU1CRVIoc3RydWN0IHNvY2ssIHNvY2tfcmVhZF90eCwgc2tf cHJpb3JpdHkpOwogCUNBQ0hFTElORV9BU1NFUlRfR1JPVVBfTUVNQkVSKHN0cnVjdCBzb2Nr LCBzb2NrX3JlYWRfdHgsIHNrX21hcmspOwogCUNBQ0hFTElORV9BU1NFUlRfR1JPVVBfTUVN QkVSKHN0cnVjdCBzb2NrLCBzb2NrX3JlYWRfdHgsIHNrX3VpZCk7CisJQ0FDSEVMSU5FX0FT U0VSVF9HUk9VUF9NRU1CRVIoc3RydWN0IHNvY2ssIHNvY2tfcmVhZF90eCwgc2tfdWlkX3Nl cSk7CiAJQ0FDSEVMSU5FX0FTU0VSVF9HUk9VUF9NRU1CRVIoc3RydWN0IHNvY2ssIHNvY2tf cmVhZF90eCwgc2tfcHJvdG9jb2wpOwogCUNBQ0hFTElORV9BU1NFUlRfR1JPVVBfTUVNQkVS KHN0cnVjdCBzb2NrLCBzb2NrX3JlYWRfdHgsIHNrX2RzdF9jYWNoZSk7CiAJQ0FDSEVMSU5F X0FTU0VSVF9HUk9VUF9NRU1CRVIoc3RydWN0IHNvY2ssIHNvY2tfcmVhZF90eCwgc2tfcm91 dGVfY2Fwcyk7CmRpZmYgLS1naXQgYS9uZXQvc29ja2V0LmMgYi9uZXQvc29ja2V0LmMKaW5k ZXggNjNjNjlhMGZhLi5hYmZhNzFlMDMgMTAwNjQ0Ci0tLSBhL25ldC9zb2NrZXQuYworKysg Yi9uZXQvc29ja2V0LmMKQEAgLTY1NCw4ICs2NTQsOSBAQCBzdGF0aWMgaW50IHNvY2tmc19z ZXRhdHRyKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLAogCQlzdHJ1Y3Qgc29ja2V0ICpzb2Nr ID0gU09DS0VUX0koZF9pbm9kZShkZW50cnkpKTsKIAogCQlpZiAoc29jay0+c2spIHsKLQkJ CS8qIFBhaXJlZCB3aXRoIFJFQURfT05DRSgpIGluIHNrX3VpZCgpICovCi0JCQlXUklURV9P TkNFKHNvY2stPnNrLT5za191aWQsIGlhdHRyLT5pYV91aWQpOworCQkJd3JpdGVfbG9ja19i aCgmc29jay0+c2stPnNrX2NhbGxiYWNrX2xvY2spOworCQkJX19za19zZXRfdWlkKHNvY2st PnNrLCBpYXR0ci0+aWFfdWlkKTsKKwkJCXdyaXRlX3VubG9ja19iaCgmc29jay0+c2stPnNr X2NhbGxiYWNrX2xvY2spOwogCQl9IGVsc2UgewogCQkJZXJyID0gLUVOT0VOVDsKIAkJfQo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0005-af_unix-keep-sender-ids-in-skb-cb-only-when-they-are.patch" Content-Disposition: attachment; filename*0="uid_r-0005-af_unix-keep-sender-ids-in-skb-cb-only-when-they-"; filename*1="are.patch" Content-Transfer-Encoding: base64 RnJvbSBiYzk5OTVlNzg0NDg3YjFhMDFhNjMyZmEwNWNjOTEzYzQ0YmVhMGIzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjIwOjEwICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwNS80M10gYWZfdW5peDoga2VlcCBzZW5kZXIgaWRzIGluIHNrYi0+Y2Igb25seSB3 aGVuIHRoZXkgYXJlCiBjbGFzc2ljIGlkcwoKdW5peF9za2JfcGFybXMgaGFzIHRvIGZpdCBp bnRvIHRoZSA0OCBieXRlcyBvZiBza2ItPmNiLiBXaXRoIGt1aWRfdCBhbmQKa2dpZF90IGdy b3dpbmcgdG8gaG9sZCBVVUlEcyBhbmQgR1VJRHMgdGhlIHR3byBvZiB0aGVtIGFsb25lIHdv dWxkIHRha2UKNDAgYnl0ZXMuCgpTdG9yZSBjbGFzc2ljIGlkcyBhcyAzMiBiaXQgdmFsdWVz IGFzIGJlZm9yZSwgYW5kIG9ubHkgZm9yIGEgVVVJRCBvcgpHVUlEIGFsbG9jYXRlIGEgc21h bGwgc3RydWN0IHVuaXhfc2tiX2lkcyBmb3IgYm90aCwgZnJlZWQgdG9nZXRoZXIgd2l0aAp0 aGUgcGlkIHJlZmVyZW5jZSBpbiB1bml4X2Rlc3RydWN0X3NjbSgpLiBBRl9VTklYIHNrYnMg Y2FycnlpbmcgYSBwaWQKcmVmZXJlbmNlIGFyZSBuZXZlciBjbG9uZWQsIHNvIHRoZSBwb2lu dGVyIGhhcyBhIHNpbmdsZSBvd25lci4KU2VuZGVycyB3aXRoIGNsYXNzaWMgaWRzIHNlZSBu byBjaGFuZ2UgYW5kIG5vIGFsbG9jYXRpb24uCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVk ZS1vcHVzLTUtNQotLS0KIG5ldC91bml4L2FmX3VuaXguYyB8IDUwICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIG5ldC91bml4L2FmX3VuaXguaCB8 IDExICsrKysrKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgOSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdW5peC9hZl91bml4LmMgYi9uZXQvdW5p eC9hZl91bml4LmMKaW5kZXggYzdhMDNiMDExLi5lN2FmOWY4NzAgMTAwNjQ0Ci0tLSBhL25l dC91bml4L2FmX3VuaXguYworKysgYi9uZXQvdW5peC9hZl91bml4LmMKQEAgLTE5NjIsMTEg KzE5NjIsNDYgQEAgc3RhdGljIHZvaWQgdW5peF9wZWVrX2ZkcyhzdHJ1Y3Qgc2NtX2Nvb2tp ZSAqc2NtLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXVuaXhfcGVla19mcGwoc2NtLT5mcCk7 CiB9CiAKKy8qCisgKiBUaGUgc2VuZGVyJ3MgaWRzLCBpbiB0aGUgc2tiIGl0c2VsZiBmb3Ig bGVnYWN5IGlkczsgVVVJRHMgYW5kIEdVSURzIGRvbid0CisgKiBmaXQgaW4gc2tiLT5jYiBh bmQgY29tZSBmcm9tIGFuIGFsbG9jYXRpb24sIGZyZWVkIHdpdGggdGhlIHBpZCByZWZlcmVu Y2UKKyAqIGluIHVuaXhfZGVzdHJ1Y3Rfc2NtKCkuCisgKi8KK3N0YXRpYyBpbnQgdW5peF9z a2Jfc2V0X2lkcyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBrdWlkX3QgdWlkLCBrZ2lkX3QgZ2lk KQoreworCXN0cnVjdCB1bml4X3NrYl9pZHMgKmlkcyA9IE5VTEw7CisKKwlpZiAoIXVpZF9p c19sZWdhY3kodWlkKSB8fCAhZ2lkX2lzX2xlZ2FjeShnaWQpKSB7CisJCWlkcyA9IGttYWxs b2Nfb2JqKCppZHMsIEdGUF9LRVJORUxfQUNDT1VOVCk7CisJCWlmICghaWRzKQorCQkJcmV0 dXJuIC1FTk9NRU07CisJCWlkcy0+dWlkID0gdWlkOworCQlpZHMtPmdpZCA9IGdpZDsKKwl9 CisJa2ZyZWUoVU5JWENCKHNrYikuaWRzKTsKKwlVTklYQ0Ioc2tiKS5pZHMgPSBpZHM7CisJ VU5JWENCKHNrYikudWlkID0gX19rdWlkX3ZhbCh1aWQpOworCVVOSVhDQihza2IpLmdpZCA9 IF9fa2dpZF92YWwoZ2lkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGt1aWRfdCB1bml4 X3NrYl91aWQoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3sKKwlyZXR1cm4gVU5JWENC KHNrYikuaWRzID8gVU5JWENCKHNrYikuaWRzLT51aWQgOiBLVUlEVF9JTklUKFVOSVhDQihz a2IpLnVpZCk7Cit9CisKK3N0YXRpYyBrZ2lkX3QgdW5peF9za2JfZ2lkKGNvbnN0IHN0cnVj dCBza19idWZmICpza2IpCit7CisJcmV0dXJuIFVOSVhDQihza2IpLmlkcyA/IFVOSVhDQihz a2IpLmlkcy0+Z2lkIDogS0dJRFRfSU5JVChVTklYQ0Ioc2tiKS5naWQpOworfQorCiBzdGF0 aWMgdm9pZCB1bml4X2Rlc3RydWN0X3NjbShzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogewogCXN0 cnVjdCBzY21fY29va2llIHNjbSA9IHt9OwogCiAJc3dhcChzY20ucGlkLCBVTklYQ0Ioc2ti KS5waWQpOworCWtmcmVlKFVOSVhDQihza2IpLmlkcyk7CisJVU5JWENCKHNrYikuaWRzID0g TlVMTDsKIAogCWlmIChVTklYQ0Ioc2tiKS5mcCkKIAkJdW5peF9kZXRhY2hfZmRzKCZzY20s IHNrYik7CkBAIC0xOTg1LDIwICsyMDIwLDIxIEBAIHN0YXRpYyBpbnQgdW5peF9zY21fdG9f c2tiKHN0cnVjdCBzY21fY29va2llICpzY20sIHN0cnVjdCBza19idWZmICpza2IsIGJvb2wg c2VuCiAJaW50IGVyciA9IDA7CiAKIAlVTklYQ0Ioc2tiKS5waWQgPSBnZXRfcGlkKHNjbS0+ cGlkKTsKLQlVTklYQ0Ioc2tiKS51aWQgPSBzY20tPmNyZWRzLnVpZDsKLQlVTklYQ0Ioc2ti KS5naWQgPSBzY20tPmNyZWRzLmdpZDsKIAlVTklYQ0Ioc2tiKS5mcCA9IE5VTEw7CisJc2ti LT5kZXN0cnVjdG9yID0gdW5peF93ZnJlZTsKKwllcnIgPSB1bml4X3NrYl9zZXRfaWRzKHNr Yiwgc2NtLT5jcmVkcy51aWQsIHNjbS0+Y3JlZHMuZ2lkKTsKKwlpZiAoZXJyKQorCQlyZXR1 cm4gZXJyOwogCXVuaXhfZ2V0X3NlY2RhdGEoc2NtLCBza2IpOwogCWlmIChzY20tPmZwICYm IHNlbmRfZmRzKQogCQllcnIgPSB1bml4X2F0dGFjaF9mZHMoc2NtLCBza2IpOwogCi0Jc2ti LT5kZXN0cnVjdG9yID0gdW5peF93ZnJlZTsKIAlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMg dm9pZCB1bml4X3NrYl90b19zY20oc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHNjbV9j b29raWUgKnNjbSkKIHsKLQlzY21fc2V0X2NyZWQoc2NtLCBVTklYQ0Ioc2tiKS5waWQsIFVO SVhDQihza2IpLnVpZCwgVU5JWENCKHNrYikuZ2lkKTsKKwlzY21fc2V0X2NyZWQoc2NtLCBV TklYQ0Ioc2tiKS5waWQsIHVuaXhfc2tiX3VpZChza2IpLCB1bml4X3NrYl9naWQoc2tiKSk7 CiAJdW5peF9zZXRfc2VjZGF0YShzY20sIHNrYik7CiB9CiAKQEAgLTIwMzIsNyArMjA2OCw3 IEBAIHN0YXRpYyBpbnQgdW5peF9tYXliZV9hZGRfY3JlZHMoc3RydWN0IHNrX2J1ZmYgKnNr YiwgY29uc3Qgc3RydWN0IHNvY2sgKnNrLAogCQkJcmV0dXJuIGVycjsKIAogCQlVTklYQ0Io c2tiKS5waWQgPSBnZXRfcGlkKHBpZCk7Ci0JCWN1cnJlbnRfdWlkX2dpZCgmVU5JWENCKHNr YikudWlkLCAmVU5JWENCKHNrYikuZ2lkKTsKKwkJcmV0dXJuIHVuaXhfc2tiX3NldF9pZHMo c2tiLCBjdXJyZW50X3VpZCgpLCBjdXJyZW50X2dpZCgpKTsKIAl9CiAKIAlyZXR1cm4gMDsK QEAgLTIwNDIsOCArMjA3OCw4IEBAIHN0YXRpYyBib29sIHVuaXhfc2tiX3NjbV9lcShzdHJ1 Y3Qgc2tfYnVmZiAqc2tiLAogCQkJICAgIHN0cnVjdCBzY21fY29va2llICpzY20pCiB7CiAJ cmV0dXJuIFVOSVhDQihza2IpLnBpZCA9PSBzY20tPnBpZCAmJgotCSAgICAgICB1aWRfZXEo VU5JWENCKHNrYikudWlkLCBzY20tPmNyZWRzLnVpZCkgJiYKLQkgICAgICAgZ2lkX2VxKFVO SVhDQihza2IpLmdpZCwgc2NtLT5jcmVkcy5naWQpICYmCisJICAgICAgIHVpZF9lcSh1bml4 X3NrYl91aWQoc2tiKSwgc2NtLT5jcmVkcy51aWQpICYmCisJICAgICAgIGdpZF9lcSh1bml4 X3NrYl9naWQoc2tiKSwgc2NtLT5jcmVkcy5naWQpICYmCiAJICAgICAgIHVuaXhfc2VjZGF0 YV9lcShzY20sIHNrYik7CiB9CiAKZGlmZiAtLWdpdCBhL25ldC91bml4L2FmX3VuaXguaCBi L25ldC91bml4L2FmX3VuaXguaAppbmRleCA4MTE5ZGJlZWYuLmU4NjFhNDMwYyAxMDA2NDQK LS0tIGEvbmV0L3VuaXgvYWZfdW5peC5oCisrKyBiL25ldC91bml4L2FmX3VuaXguaApAQCAt MTAsMTAgKzEwLDE3IEBACiAKIHN0cnVjdCBzb2NrICp1bml4X3BlZXJfZ2V0KHN0cnVjdCBz b2NrICpzayk7CiAKLXN0cnVjdCB1bml4X3NrYl9wYXJtcyB7Ci0Jc3RydWN0IHBpZAkJKnBp ZDsJCS8qIHNrYiBjcmVkZW50aWFscwkqLworLyogVGhlIHNlbmRlcidzIGlkcywgd2hlbiBl aXRoZXIgaXMgYSBVVUlEIG9yIEdVSUQgKi8KK3N0cnVjdCB1bml4X3NrYl9pZHMgewogCWt1 aWRfdAkJCXVpZDsKIAlrZ2lkX3QJCQlnaWQ7Cit9OworCitzdHJ1Y3QgdW5peF9za2JfcGFy bXMgeworCXN0cnVjdCBwaWQJCSpwaWQ7CQkvKiBza2IgY3JlZGVudGlhbHMJKi8KKwlzdHJ1 Y3QgdW5peF9za2JfaWRzCSppZHM7CQkvKiB1aWQgYW5kIGdpZCwgb3IgTlVMTAkqLworCXVp ZF90CQkJdWlkOwkJLyogZm9yIGlkcyBOVUxMOiBsZWdhY3kJKi8KKwlnaWRfdAkJCWdpZDsJ CS8qIHVpZCBhbmQgZ2lkCQkqLwogCXN0cnVjdCBzY21fZnBfbGlzdAkqZnA7CQkvKiBQYXNz ZWQgZmlsZXMJCSovCiAjaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksKIAl1MzIJCQlz ZWNpZDsJCS8qIFNlY3VyaXR5IElECQkqLwo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0006-netlink-keep-classic-sender-ids-in-skb-cb.patch" Content-Disposition: attachment; filename*0="uid_r-0006-netlink-keep-classic-sender-ids-in-skb-cb.patch" Content-Transfer-Encoding: base64 RnJvbSA1NjlkZjVjNWIyOGUyMmFiYmEyNDY1Mjg0MGJjZmIwNjQ2MGU4NmQ0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjIwOjEwICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwNi80M10gbmV0bGluazoga2VlcCBjbGFzc2ljIHNlbmRlciBpZHMgaW4gc2tiLT5j YgoKbmV0bGlua19za2JfcGFybXMgaGFzIHRvIGZpdCBpbnRvIHNrYi0+Y2IsIGFuZCBuZXRs aW5rIHNrYnMgYXJlIGNsb25lZAp0b2dldGhlciB3aXRoIGl0IGZvciBicm9hZGNhc3RzLCBz byB0aGVyZSBpcyBuZWl0aGVyIHJvb20gZm9yIGt1aWRfdAphbmQga2dpZF90IGhvbGRpbmcg VVVJRHMgbm9yIGEgc2luZ2xlIG93bmVyIGZvciBhbiBhbGxvY2F0aW9uLgoKU3RvcmUgdGhl IHNlbmRlciBpZHMgYXMgY2xhc3NpYyBrZXJuZWwgaWRzOiBhIFVVSUQgb3IgR1VJRCBiZWNv bWVzIC0xLAp3aGljaCByZWFjaGVzIHRoZSByZWNlaXZlciBvZiBTQ01fQ1JFREVOVElBTFMg YXMgdGhlIG92ZXJmbG93IGlkLiBUaGUKa2VybmVsJ3Mgb3duIHBlcm1pc3Npb24gY2hlY2tz IG9uIG5ldGxpbmsgbWVzc2FnZXMgdXNlIHRoZSBzb2NrZXQncwpmaWxlIGNyZWRlbnRpYWxz LCBub3QgdGhlc2UuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUtNQotLS0K IGluY2x1ZGUvbGludXgvbmV0bGluay5oICB8ICAyICstCiBpbmNsdWRlL25ldC9zY20uaCAg ICAgICAgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIva29iamVjdF91 ZXZlbnQuYyAgICAgfCAgOCArKysrLS0tLQogbmV0L25ldGxpbmsvYWZfbmV0bGluay5jIHwg IDQgKystLQogNCBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbmV0bGluay5oIGIvaW5jbHVkZS9s aW51eC9uZXRsaW5rLmgKaW5kZXggODgyZTljMWI2Li45OTljN2EzNTIgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvbGludXgvbmV0bGluay5oCisrKyBiL2luY2x1ZGUvbGludXgvbmV0bGluay5o CkBAIC0yMyw3ICsyMyw3IEBAIGVudW0gbmV0bGlua19za2JfZmxhZ3MgewogfTsKIAogc3Ry dWN0IG5ldGxpbmtfc2tiX3Bhcm1zIHsKLQlzdHJ1Y3Qgc2NtX2NyZWRzCWNyZWRzOwkJLyog U2tiIGNyZWRlbnRpYWxzCSovCisJc3RydWN0IHNjbV9jcmVkc19jbGFzc2ljIGNyZWRzOwkJ LyogU2tiIGNyZWRlbnRpYWxzCSovCiAJX191MzIJCQlwb3J0aWQ7CiAJX191MzIJCQlkc3Rf Z3JvdXA7CiAJX191MzIJCQlmbGFnczsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L3NjbS5o IGIvaW5jbHVkZS9uZXQvc2NtLmgKaW5kZXggYzUyNTE5NjY5Li5lOGEzMmYyZDUgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvbmV0L3NjbS5oCisrKyBiL2luY2x1ZGUvbmV0L3NjbS5oCkBAIC0y Myw2ICsyMywzNCBAQCBzdHJ1Y3Qgc2NtX2NyZWRzIHsKIAlrZ2lkX3QJZ2lkOwogfTsKIAor LyoKKyAqIFNlbmRlciBjcmVkZW50aWFscyBmb3Igc2tiLT5jYiBvZiBza2JzIHRoYXQgZ2V0 IGNsb25lZCBhbG9uZyB3aXRoIGl0CisgKiAobmV0bGluaywgYmx1ZXRvb3RoKTogbm8gcm9v bSBmb3Iga3VpZF90IGFuZCBrZ2lkX3QsIGFuZCBubyBzaW5nbGUgb3duZXIKKyAqIGZvciBh biBhbGxvY2F0aW9uLiBUaGUgaWRzIGFyZSBjbGFzc2ljIGtlcm5lbCBpZHM7IGEgVVVJRCBv ciBHVUlEIGJlY29tZXMKKyAqIC0xLCB3aGljaCB0aGUgcmVjZWl2ZXIgb2YgU0NNX0NSRURF TlRJQUxTIHNlZXMgYXMgdGhlIG92ZXJmbG93IGlkLgorICovCitzdHJ1Y3Qgc2NtX2NyZWRz X2NsYXNzaWMgeworCXUzMglwaWQ7CisJdWlkX3QJdWlkOworCWdpZF90CWdpZDsKK307CisK K3N0YXRpYyBpbmxpbmUgdm9pZCBzY21fY3JlZHNfdG9fY2xhc3NpYyhzdHJ1Y3Qgc2NtX2Ny ZWRzX2NsYXNzaWMgKmNsYXNzaWMsCisJCQkJCWNvbnN0IHN0cnVjdCBzY21fY3JlZHMgKmNy ZWRzKQoreworCWNsYXNzaWMtPnBpZCA9IGNyZWRzLT5waWQ7CisJY2xhc3NpYy0+dWlkID0g X19rdWlkX3ZhbChjcmVkcy0+dWlkKTsKKwljbGFzc2ljLT5naWQgPSBfX2tnaWRfdmFsKGNy ZWRzLT5naWQpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgc2NtX2NyZWRzX2Zyb21fY2xh c3NpYyhzdHJ1Y3Qgc2NtX2NyZWRzICpjcmVkcywKKwkJCQkJICBjb25zdCBzdHJ1Y3Qgc2Nt X2NyZWRzX2NsYXNzaWMgKmNsYXNzaWMpCit7CisJY3JlZHMtPnBpZCA9IGNsYXNzaWMtPnBp ZDsKKwljcmVkcy0+dWlkID0gS1VJRFRfSU5JVChjbGFzc2ljLT51aWQpOworCWNyZWRzLT5n aWQgPSBLR0lEVF9JTklUKGNsYXNzaWMtPmdpZCk7Cit9CisKICNpZmRlZiBDT05GSUdfVU5J WAogc3RydWN0IHVuaXhfZWRnZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL2tvYmplY3Rf dWV2ZW50LmMgYi9saWIva29iamVjdF91ZXZlbnQuYwppbmRleCBkZGJjNGQ3NDguLjhiNjMw NDQ4OCAxMDA2NDQKLS0tIGEvbGliL2tvYmplY3RfdWV2ZW50LmMKKysrIGIvbGliL2tvYmpl Y3RfdWV2ZW50LmMKQEAgLTI5Nyw4ICsyOTcsOCBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYg KmFsbG9jX3VldmVudF9za2Ioc3RydWN0IGtvYmpfdWV2ZW50X2VudiAqZW52LAogCXNrYl9w dXRfZGF0YShza2IsIGVudi0+YnVmLCBlbnYtPmJ1Zmxlbik7CiAKIAlwYXJtcyA9ICZORVRM SU5LX0NCKHNrYik7Ci0JcGFybXMtPmNyZWRzLnVpZCA9IEdMT0JBTF9ST09UX1VJRDsKLQlw YXJtcy0+Y3JlZHMuZ2lkID0gR0xPQkFMX1JPT1RfR0lEOworCXBhcm1zLT5jcmVkcy51aWQg PSBfX2t1aWRfdmFsKEdMT0JBTF9ST09UX1VJRCk7CisJcGFybXMtPmNyZWRzLmdpZCA9IF9f a2dpZF92YWwoR0xPQkFMX1JPT1RfR0lEKTsKIAlwYXJtcy0+ZHN0X2dyb3VwID0gMTsKIAlw YXJtcy0+cG9ydGlkID0gMDsKIApAQCAtMzYyLDEyICszNjIsMTIgQEAgc3RhdGljIGludCB1 ZXZlbnRfbmV0X2Jyb2FkY2FzdF90YWdnZWQoc3RydWN0IHNvY2sgKnVzaywKIAkJLyogZml4 IHVpZCAqLwogCQlyb290X3VpZCA9IG1ha2Vfa3VpZChvd25pbmdfdXNlcl9ucywgMCk7CiAJ CWlmICh1aWRfdmFsaWQocm9vdF91aWQpKQotCQkJcGFybXMtPmNyZWRzLnVpZCA9IHJvb3Rf dWlkOworCQkJcGFybXMtPmNyZWRzLnVpZCA9IF9fa3VpZF92YWwocm9vdF91aWQpOwogCiAJ CS8qIGZpeCBnaWQgKi8KIAkJcm9vdF9naWQgPSBtYWtlX2tnaWQob3duaW5nX3VzZXJfbnMs IDApOwogCQlpZiAoZ2lkX3ZhbGlkKHJvb3RfZ2lkKSkKLQkJCXBhcm1zLT5jcmVkcy5naWQg PSByb290X2dpZDsKKwkJCXBhcm1zLT5jcmVkcy5naWQgPSBfX2tnaWRfdmFsKHJvb3RfZ2lk KTsKIAl9CiAKIAlyZXQgPSBuZXRsaW5rX2Jyb2FkY2FzdCh1c2ssIHNrYiwgMCwgMSwgR0ZQ X0tFUk5FTCk7CmRpZmYgLS1naXQgYS9uZXQvbmV0bGluay9hZl9uZXRsaW5rLmMgYi9uZXQv bmV0bGluay9hZl9uZXRsaW5rLmMKaW5kZXggNzI4OGRlNzE1Li4yY2M1MWY1Y2QgMTAwNjQ0 Ci0tLSBhL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuYworKysgYi9uZXQvbmV0bGluay9hZl9u ZXRsaW5rLmMKQEAgLTE4OTcsNyArMTg5Nyw3IEBAIHN0YXRpYyBpbnQgbmV0bGlua19zZW5k bXNnKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywgc2l6ZV90IGxl bikKIAogCU5FVExJTktfQ0Ioc2tiKS5wb3J0aWQJPSBubGstPnBvcnRpZDsKIAlORVRMSU5L X0NCKHNrYikuZHN0X2dyb3VwID0gZHN0X2dyb3VwOwotCU5FVExJTktfQ0Ioc2tiKS5jcmVk cwk9IHNjbS5jcmVkczsKKwlzY21fY3JlZHNfdG9fY2xhc3NpYygmTkVUTElOS19DQihza2Ip LmNyZWRzLCAmc2NtLmNyZWRzKTsKIAlORVRMSU5LX0NCKHNrYikuZmxhZ3MJPSBuZXRsaW5r X3NrYl9mbGFnczsKIAogCWVyciA9IC1FRkFVTFQ7CkBAIC0xOTkwLDcgKzE5OTAsNyBAQCBz dGF0aWMgaW50IG5ldGxpbmtfcmVjdm1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qg bXNnaGRyICptc2csIHNpemVfdCBsZW4sCiAJCW5ldGxpbmtfY21zZ19saXN0ZW5fYWxsX25z aWQoc2ssIG1zZywgc2tiKTsKIAogCW1lbXNldCgmc2NtLCAwLCBzaXplb2Yoc2NtKSk7Ci0J c2NtLmNyZWRzID0gKk5FVExJTktfQ1JFRFMoc2tiKTsKKwlzY21fY3JlZHNfZnJvbV9jbGFz c2ljKCZzY20uY3JlZHMsIE5FVExJTktfQ1JFRFMoc2tiKSk7CiAJaWYgKGZsYWdzICYgTVNH X1RSVU5DKQogCQljb3BpZWQgPSBkYXRhX3NrYi0+bGVuOwogCg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0007-Bluetooth-keep-classic-sender-ids-in-skb-cb.patch" Content-Disposition: attachment; filename*0="uid_r-0007-Bluetooth-keep-classic-sender-ids-in-skb-cb.patch" Content-Transfer-Encoding: base64 RnJvbSBkNzk3MWI2Y2M2YjA5NGEwZDllNmM4NDRiMTUzZTQ1ZDQ0N2I5YTQ5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjI1OjQ4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwNy80M10gQmx1ZXRvb3RoOiBrZWVwIGNsYXNzaWMgc2VuZGVyIGlkcyBpbiBza2It PmNiCgpzdHJ1Y3QgYnRfc2tiX2NiIGhvbGRzIHRoZSBzZW5kZXIncyBzdHJ1Y3Qgc2NtX2Ny ZWRzIGZvciBIQ0kgc29ja2V0cywKd2hpY2ggbm8gbG9uZ2VyIGZpdHMgaW50byBza2ItPmNi IG5vdyB0aGF0IGt1aWRfdCBhbmQga2dpZF90IGNhbiBob2xkClVVSURzIGFuZCBHVUlEcy4g TGlrZSBuZXRsaW5rLCBrZWVwIHRoZW0gYXMgc3RydWN0IHNjbV9jcmVkc19jbGFzc2ljOgpj bGFzc2ljIGlkcyBhcyBiZWZvcmUsIHRoZSBvdmVyZmxvdyBpZCBmb3IgVVVJRCBhbmQgR1VJ RCBzZW5kZXJzLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBp bmNsdWRlL25ldC9ibHVldG9vdGgvYmx1ZXRvb3RoLmggfCAyICstCiBuZXQvYmx1ZXRvb3Ro L2hjaV9zb2NrLmMgICAgICAgICAgfCA4ICsrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDUg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25l dC9ibHVldG9vdGgvYmx1ZXRvb3RoLmggYi9pbmNsdWRlL25ldC9ibHVldG9vdGgvYmx1ZXRv b3RoLmgKaW5kZXggYjYyNGRhNTAyLi4yYzhmZTUwZjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv bmV0L2JsdWV0b290aC9ibHVldG9vdGguaAorKysgYi9pbmNsdWRlL25ldC9ibHVldG9vdGgv Ymx1ZXRvb3RoLmgKQEAgLTQ5Nyw3ICs0OTcsNyBAQCBzdHJ1Y3QgYnRfc2tiX2NiIHsKIAkJ c3RydWN0IGwyY2FwX2N0cmwgbDJjYXA7CiAJCXN0cnVjdCBoY2lfY3RybCBoY2k7CiAJCXN0 cnVjdCBtZ210X2N0cmwgbWdtdDsKLQkJc3RydWN0IHNjbV9jcmVkcyBjcmVkczsKKwkJc3Ry dWN0IHNjbV9jcmVkc19jbGFzc2ljIGNyZWRzOwogCX07CiB9OwogI2RlZmluZSBidF9jYihz a2IpICgoc3RydWN0IGJ0X3NrYl9jYiAqKSgoc2tiKS0+Y2IpKQpkaWZmIC0tZ2l0IGEvbmV0 L2JsdWV0b290aC9oY2lfc29jay5jIGIvbmV0L2JsdWV0b290aC9oY2lfc29jay5jCmluZGV4 IDgxMDY4YjU4NS4uOWY0MjJhZTVmIDEwMDY0NAotLS0gYS9uZXQvYmx1ZXRvb3RoL2hjaV9z b2NrLmMKKysrIGIvbmV0L2JsdWV0b290aC9oY2lfc29jay5jCkBAIC0yNzYsNyArMjc2LDcg QEAgdm9pZCBoY2lfc2VuZF90b19zb2NrKHN0cnVjdCBoY2lfZGV2ICpoZGV2LCBzdHJ1Y3Qg c2tfYnVmZiAqc2tiKQogCiBzdGF0aWMgdm9pZCBoY2lfc29ja19jb3B5X2NyZWRzKHN0cnVj dCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKIHsKLQlzdHJ1Y3Qgc2NtX2NyZWRz ICpjcmVkczsKKwlzdHJ1Y3Qgc2NtX2NyZWRzX2NsYXNzaWMgKmNyZWRzOwogCiAJaWYgKCFz ayB8fCBXQVJOX09OKCFza2IpKQogCQlyZXR1cm47CkBAIC0zMDAsOCArMzAwLDggQEAgc3Rh dGljIHZvaWQgaGNpX3NvY2tfY29weV9jcmVkcyhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBz a19idWZmICpza2IpCiAKIAljcmVkcy0+cGlkID0gcGlkX3Zucihzay0+c2tfcGVlcl9waWQp OwogCWlmIChzay0+c2tfcGVlcl9jcmVkKSB7Ci0JCWNyZWRzLT51aWQgPSBzay0+c2tfcGVl cl9jcmVkLT51aWQ7Ci0JCWNyZWRzLT5naWQgPSBzay0+c2tfcGVlcl9jcmVkLT5naWQ7CisJ CWNyZWRzLT51aWQgPSBfX2t1aWRfdmFsKHNrLT5za19wZWVyX2NyZWQtPnVpZCk7CisJCWNy ZWRzLT5naWQgPSBfX2tnaWRfdmFsKHNrLT5za19wZWVyX2NyZWQtPmdpZCk7CiAJfQogfQog CkBAIC0xNjE1LDcgKzE2MTUsNyBAQCBzdGF0aWMgaW50IGhjaV9zb2NrX3JlY3Ztc2coc3Ry dWN0IHNvY2tldCAqc29jaywgc3RydWN0IG1zZ2hkciAqbXNnLAogCX0KIAogCW1lbXNldCgm c2NtLCAwLCBzaXplb2Yoc2NtKSk7Ci0Jc2NtLmNyZWRzID0gYnRfY2Ioc2tiKS0+Y3JlZHM7 CisJc2NtX2NyZWRzX2Zyb21fY2xhc3NpYygmc2NtLmNyZWRzLCAmYnRfY2Ioc2tiKS0+Y3Jl ZHMpOwogCiAJc2tiX2ZyZWVfZGF0YWdyYW0oc2ssIHNrYik7CiAK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0008-smb-client-use-__kuid_val-for-the-unix-SIDs-of-the-c.patch" Content-Disposition: attachment; filename*0="uid_r-0008-smb-client-use-__kuid_val-for-the-unix-SIDs-of-th"; filename*1="e-c.patch" Content-Transfer-Encoding: base64 RnJvbSAyMjVhOTIyMTAwMmY1MmQwNWNlY2ZmZDk2YzA5YmI4M2ZiNGFiMjNmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjI1OjQ4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwOC80M10gc21iOiBjbGllbnQ6IHVzZSBfX2t1aWRfdmFsKCkgZm9yIHRoZSB1bml4 IFNJRHMgb2YgdGhlCiBjYWxsZXIKClRoZSBTLTEtNS04OC0xLTx1aWQ+IGFuZCBTLTEtNS04 OC0yLTxnaWQ+IFNJRHMgc2VudCB3aXRoIGEgY3JlYXRlCnJlcXVlc3QgdGFrZSB0aGUgcmF3 IGtlcm5lbCBpZHMgZnJvbSBrdWlkX3QudmFsLCB3aGljaCBpcyBnb25lIG5vdyB0aGF0CnRo ZSBpZHMgY2FuIGJlIFVVSURzIGFuZCBHVUlEcy4gVXNlIF9fa3VpZF92YWwoKS9fX2tnaWRf dmFsKCksIHRoZSBzYW1lCnZhbHVlIGZvciBjbGFzc2ljIGlkcyBhbmQgLTEgZm9yIHRoZSBv dGhlcnMsIHdoaWNoIGhhdmUgbm8gdW5peCBTSUQuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNs YXVkZS1vcHVzLTUtNQotLS0KIGZzL3NtYi9jbGllbnQvY2lmc2FjbC5jIHwgMiArLQogZnMv c21iL2NsaWVudC9zbWIycGR1LmMgfCA3ICsrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgNSBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZzL3NtYi9jbGll bnQvY2lmc2FjbC5jIGIvZnMvc21iL2NsaWVudC9jaWZzYWNsLmMKaW5kZXggYzVlNDdhODM1 Li43OGVkMjViMWYgMTAwNjQ0Ci0tLSBhL2ZzL3NtYi9jbGllbnQvY2lmc2FjbC5jCisrKyBi L2ZzL3NtYi9jbGllbnQvY2lmc2FjbC5jCkBAIC0xMDg2LDcgKzEwODYsNyBAQCB1bnNpZ25l ZCBpbnQgc2V0dXBfc3BlY2lhbF91c2VyX293bmVyX0FDRShzdHJ1Y3Qgc21iX2FjZSAqcG50 YWNlKQogCiAJcG50YWNlLT5zaWQuc3ViX2F1dGhbMF0gPSBzaWRfdW5peF9ORlNfdXNlcnMu c3ViX2F1dGhbMF07CiAJcG50YWNlLT5zaWQuc3ViX2F1dGhbMV0gPSBzaWRfdW5peF9ORlNf dXNlcnMuc3ViX2F1dGhbMV07Ci0JcG50YWNlLT5zaWQuc3ViX2F1dGhbMl0gPSBjcHVfdG9f bGUzMihjdXJyZW50X2ZzZ2lkKCkudmFsKTsKKwlwbnRhY2UtPnNpZC5zdWJfYXV0aFsyXSA9 IGNwdV90b19sZTMyKF9fa2dpZF92YWwoY3VycmVudF9mc2dpZCgpKSk7CiAKIAkvKiBzaXpl ID0gMSArIDEgKyAyICsgNCArIDEgKyAxICsgNiArIChwc2lkLT5udW1fc3ViYXV0aCo0KSAq LwogCXBudGFjZS0+c2l6ZSA9IGNwdV90b19sZTE2KGFjZV9zaXplKTsKZGlmZiAtLWdpdCBh L2ZzL3NtYi9jbGllbnQvc21iMnBkdS5jIGIvZnMvc21iL2NsaWVudC9zbWIycGR1LmMKaW5k ZXggY2ZlM2M0YjRhLi45NDFjYThhM2QgMTAwNjQ0Ci0tLSBhL2ZzL3NtYi9jbGllbnQvc21i MnBkdS5jCisrKyBiL2ZzL3NtYi9jbGllbnQvc21iMnBkdS5jCkBAIC0yNzMxLDcgKzI3MzEs NyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9vd25lcl9ncm91cF9zaWRzKGNoYXIgKmJ1ZikKIAlz aWRzLT5vd25lci5BdXRob3JpdHlbNV0gPSA1OwogCXNpZHMtPm93bmVyLlN1YkF1dGhvcml0 aWVzWzBdID0gY3B1X3RvX2xlMzIoODgpOwogCXNpZHMtPm93bmVyLlN1YkF1dGhvcml0aWVz WzFdID0gY3B1X3RvX2xlMzIoMSk7Ci0Jc2lkcy0+b3duZXIuU3ViQXV0aG9yaXRpZXNbMl0g PSBjcHVfdG9fbGUzMihjdXJyZW50X2ZzdWlkKCkudmFsKTsKKwlzaWRzLT5vd25lci5TdWJB dXRob3JpdGllc1syXSA9IGNwdV90b19sZTMyKF9fa3VpZF92YWwoY3VycmVudF9mc3VpZCgp KSk7CiAKIAkvKiBQb3B1bGF0ZSB0aGUgZ3JvdXAgb3duZXJzaGlwIGZpZWxkcyBTLTEtNS04 OC0yICovCiAJc2lkcy0+Z3JvdXAuUmV2aXNpb24gPSAxOwpAQCAtMjczOSw5ICsyNzM5LDEw IEBAIHN0YXRpYyB2b2lkIHNldHVwX293bmVyX2dyb3VwX3NpZHMoY2hhciAqYnVmKQogCXNp ZHMtPmdyb3VwLkF1dGhvcml0eVs1XSA9IDU7CiAJc2lkcy0+Z3JvdXAuU3ViQXV0aG9yaXRp ZXNbMF0gPSBjcHVfdG9fbGUzMig4OCk7CiAJc2lkcy0+Z3JvdXAuU3ViQXV0aG9yaXRpZXNb MV0gPSBjcHVfdG9fbGUzMigyKTsKLQlzaWRzLT5ncm91cC5TdWJBdXRob3JpdGllc1syXSA9 IGNwdV90b19sZTMyKGN1cnJlbnRfZnNnaWQoKS52YWwpOworCXNpZHMtPmdyb3VwLlN1YkF1 dGhvcml0aWVzWzJdID0gY3B1X3RvX2xlMzIoX19rZ2lkX3ZhbChjdXJyZW50X2ZzZ2lkKCkp KTsKIAotCWNpZnNfZGJnKEZZSSwgIm93bmVyIFMtMS01LTg4LTEtJWQsIGdyb3VwIFMtMS01 LTg4LTItJWRcbiIsIGN1cnJlbnRfZnN1aWQoKS52YWwsIGN1cnJlbnRfZnNnaWQoKS52YWwp OworCWNpZnNfZGJnKEZZSSwgIm93bmVyIFMtMS01LTg4LTEtJWQsIGdyb3VwIFMtMS01LTg4 LTItJWRcbiIsCisJCSBfX2t1aWRfdmFsKGN1cnJlbnRfZnN1aWQoKSksIF9fa2dpZF92YWwo Y3VycmVudF9mc2dpZCgpKSk7CiB9CiAKIC8qIFNlZSBNUy1TTUIyIDIuMi4xMy4yLjIgYW5k IE1TLURUWVAgMi40LjYgKi8K --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0009-uidgid-let-kuid_t-and-kgid_t-hold-a-UUID-or-a-GUID.patch" Content-Disposition: attachment; filename*0="uid_r-0009-uidgid-let-kuid_t-and-kgid_t-hold-a-UUID-or-a-GUI"; filename*1="D.patch" Content-Transfer-Encoding: base64 RnJvbSAwOTNjZGU4OTY5OTE3M2QzNjEwNTMwMGQyNmQ5MmEyZjRiZjU0NzVhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjIwOjMzICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwOS80M10gdWlkZ2lkOiBsZXQga3VpZF90IGFuZCBrZ2lkX3QgaG9sZCBhIFVVSUQg b3IgYSBHVUlECgpNYWtlIGt1aWRfdCBhbmQga2dpZF90IChhbmQgdmZzdWlkX3QgYW5kIHZm c2dpZF90LCB3aGljaCBzaGFyZSB0aGVpcgpsYXlvdXQpIHRhZ2dlZCB1bmlvbnM6IGEgY2xh c3NpYyAzMiBiaXQgaWQsIGFuIFJGQyA5NTYyIFVVSUQsIG9yIGEKTWljcm9zb2Z0IEdVSUQu IEtJRF9MRUdBQ1kgaXMgMCwgc28gemVyb2VkIG1lbW9yeSBzdGlsbCBob2xkcyB0aGUgcm9v dAppZHMsIGFuZCBLVUlEVF9JTklUKCkvS0dJRFRfSU5JVCgpIGtlZXAgYnVpbGRpbmcgY2xh c3NpYyBpZHMsIHNvIHRoZQpidWxrIG9mIHRoZSBrZXJuZWwgbmVlZHMgbm8gY2hhbmdlLiBU aGUgbWVtYmVyIGlzIHJlbmFtZWQgZnJvbSB2YWwgdG8KbGVnYWN5IHNvIHRoZSBjb21waWxl ciBmaW5kcyBjb2RlIHRoYXQgcGVla3MgYXQgaXQgZGlyZWN0bHkuCgpTZW1hbnRpY3Mgb2Yg dGhlIG5ldyBpZHM6CgotIFRoZXkgYXJlIG5vdCBpbiBhbnkgdWlkX21hcCBvciBnaWRfbWFw OiB0aGV5IGV4aXN0IGluIHRoZSBpbml0aWFsCiAgdXNlciBuYW1lc3BhY2Ugb25seS4ga3Vp ZF9oYXNfbWFwcGluZygpIGlzIGZhbHNlIGZvciB0aGVtIGluIGV2ZXJ5CiAgb3RoZXIgbmFt ZXNwYWNlLCBzbyBubyBjYXBhYmlsaXR5IGluIGEgY2hpbGQgbmFtZXNwYWNlIGdpdmVzCiAg cHJpdmlsZWdlIG92ZXIgdGhlbSwgYW5kIGZyb21fa3VpZCgpIGFuZCBmcmllbmRzIGdpdmUg LTEgKHRoZQogIG92ZXJmbG93IGlkIHdoZW4gbXVuZ2VkKSwgZXhhY3RseSBhcyBmb3IgYW55 IG90aGVyIGlkIHdpdGhvdXQgYQogIG1hcHBpbmcuIEFueXRoaW5nIHRoYXQgY2FuIG9ubHkg c3RvcmUgb3IgcmVwb3J0IGEgMzIgYml0IGlkIHRoZXJlYnkKICBhbHJlYWR5IHRyZWF0cyB0 aGVtIHNhZmVseS4KCi0gSWRtYXBwZWQgbW91bnRzIG1hcCBjbGFzc2ljIGlkczsgVVVJRHMg YW5kIEdVSURzIHBhc3MgdGhyb3VnaCB0aGVtCiAgdW5jaGFuZ2VkLCBhcyBsb25nIGFzIHRo ZSBmaWxlc3lzdGVtIGl0c2VsZiBpcyBpbiB0aGUgaW5pdGlhbCB1c2VyCiAgbmFtZXNwYWNl LgoKLSBJZHMgYXJlIG9yZGVyZWQgYnkga2luZCBmaXJzdCBhbmQgdmFsdWUgc2Vjb25kLCBz byBzb3J0ZWQgZ3JvdXAKICBsaXN0cywgYnNlYXJjaCgpIGFuZCByYW5nZSBjaGVja3MgYmV0 d2VlbiBjbGFzc2ljIGlkcyBrZWVwIHdvcmtpbmc6CiAgYSBVVUlEIG5ldmVyIGZhbGxzIGlu dG8gYSByYW5nZSBvZiBjbGFzc2ljIGlkcy4KCi0gX19rdWlkX3ZhbCgpIGFuZCBfX2tnaWRf dmFsKCkgc3RheSB0aGUgY2xhc3NpYyB2YWx1ZSBvZiBhIGNsYXNzaWMgaWQKICBhbmQgYXJl IC0xIGZvciB0aGUgb3RoZXJzOyBoYXNoIHRhYmxlcyBrZXllZCBieSBpZHMgKHVzZXJfc3Ry dWN0LAogIHVjb3VudHMpIHVzZSB0aGUgbmV3IGt1aWRfaGFzaCgpIGluc3RlYWQsIGFuZCB0 aGUgSU1BIHBvbGljeQogIGNvbXBhcmF0b3JzIHRoZSBuZXcgb3JkZXJpbmcuCgpUaGUgc3Ry dWN0cyBncm93IGZyb20gNCB0byAyMCBieXRlczogc3RydWN0IGNyZWQgYnkgMTI4IGJ5dGVz LCBzdHJ1Y3QKaW5vZGUgYnkgMzIgYnl0ZXMuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVk ZS1vcHVzLTUtNQotLS0KIGZzL21udF9pZG1hcHBpbmcuYyAgICAgICAgICAgICAgICAgIHwg IDE0ICsrKysKIGluY2x1ZGUvbGludXgvbW50X2lkbWFwcGluZy5oICAgICAgIHwgIDc0ICsr KysrKysrKysrKysrLS0tLS0KIGluY2x1ZGUvbGludXgvdWlkZ2lkLmggICAgICAgICAgICAg IHwgMTA5ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIGluY2x1ZGUvbGludXgvdWlk Z2lkX3R5cGVzLmggICAgICAgIHwgIDMyICsrKysrKystCiBrZXJuZWwvZ3JvdXBzLmMgICAg ICAgICAgICAgICAgICAgICB8ICAxNSArKy0tCiBrZXJuZWwvdWNvdW50LmMgICAgICAgICAg ICAgICAgICAgICB8ICAgMiArLQoga2VybmVsL3VzZXIuYyAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKy0KIGtlcm5lbC91c2VyX25hbWVzcGFjZS5jICAgICAgICAgICAgIHwgIDEw ICsrLQogbW0vb29tX2tpbGwuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNl Y3VyaXR5L2ludGVncml0eS9pbWEvaW1hX3BvbGljeS5jIHwgICA4ICstCiAxMCBmaWxlcyBj aGFuZ2VkLCAyMDkgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZnMvbW50X2lkbWFwcGluZy5jIGIvZnMvbW50X2lkbWFwcGluZy5jCmluZGV4IGNiNjFm YmRiNS4uYzM2ZTc0YTM3IDEwMDY0NAotLS0gYS9mcy9tbnRfaWRtYXBwaW5nLmMKKysrIGIv ZnMvbW50X2lkbWFwcGluZy5jCkBAIC04Nyw2ICs4NywxMCBAQCB2ZnN1aWRfdCBtYWtlX3Zm c3VpZChzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwKIAkJcmV0dXJuIFZGU1VJRFRfSU5JVChr dWlkKTsKIAlpZiAoaWRtYXAgPT0gJmludmFsaWRfbW50X2lkbWFwKQogCQlyZXR1cm4gSU5W QUxJRF9WRlNVSUQ7CisJLyogaWRtYXBwaW5ncyBtYXAgY2xhc3NpYyBpZHMgb25seTsgVVVJ RHMgYW5kIEdVSURzIHBhc3MgdW5jaGFuZ2VkICovCisJaWYgKCF1aWRfaXNfbGVnYWN5KGt1 aWQpKQorCQlyZXR1cm4ga3VpZF9oYXNfbWFwcGluZyhmc191c2VybnMsIGt1aWQpID8KKwkJ ICAgICAgIFZGU1VJRFRfSU5JVChrdWlkKSA6IElOVkFMSURfVkZTVUlEOwogCWlmIChpbml0 aWFsX2lkbWFwcGluZyhmc191c2VybnMpKQogCQl1aWQgPSBfX2t1aWRfdmFsKGt1aWQpOwog CWVsc2UKQEAgLTEyNiw2ICsxMzAsMTAgQEAgdmZzZ2lkX3QgbWFrZV92ZnNnaWQoc3RydWN0 IG1udF9pZG1hcCAqaWRtYXAsCiAJCXJldHVybiBWRlNHSURUX0lOSVQoa2dpZCk7CiAJaWYg KGlkbWFwID09ICZpbnZhbGlkX21udF9pZG1hcCkKIAkJcmV0dXJuIElOVkFMSURfVkZTR0lE OworCS8qIGlkbWFwcGluZ3MgbWFwIGNsYXNzaWMgaWRzIG9ubHk7IFVVSURzIGFuZCBHVUlE cyBwYXNzIHVuY2hhbmdlZCAqLworCWlmICghZ2lkX2lzX2xlZ2FjeShrZ2lkKSkKKwkJcmV0 dXJuIGtnaWRfaGFzX21hcHBpbmcoZnNfdXNlcm5zLCBrZ2lkKSA/CisJCSAgICAgICBWRlNH SURUX0lOSVQoa2dpZCkgOiBJTlZBTElEX1ZGU0dJRDsKIAlpZiAoaW5pdGlhbF9pZG1hcHBp bmcoZnNfdXNlcm5zKSkKIAkJZ2lkID0gX19rZ2lkX3ZhbChrZ2lkKTsKIAllbHNlCkBAIC0x NTYsNiArMTY0LDkgQEAga3VpZF90IGZyb21fdmZzdWlkKHN0cnVjdCBtbnRfaWRtYXAgKmlk bWFwLAogCQlyZXR1cm4gQVNfS1VJRFQodmZzdWlkKTsKIAlpZiAoaWRtYXAgPT0gJmludmFs aWRfbW50X2lkbWFwKQogCQlyZXR1cm4gSU5WQUxJRF9VSUQ7CisJaWYgKCF2ZnN1aWRfaXNf bGVnYWN5KHZmc3VpZCkpCisJCXJldHVybiBrdWlkX2hhc19tYXBwaW5nKGZzX3VzZXJucywg QVNfS1VJRFQodmZzdWlkKSkgPworCQkgICAgICAgQVNfS1VJRFQodmZzdWlkKSA6IElOVkFM SURfVUlEOwogCXVpZCA9IG1hcF9pZF91cCgmaWRtYXAtPnVpZF9tYXAsIF9fdmZzdWlkX3Zh bCh2ZnN1aWQpKTsKIAlpZiAodWlkID09ICh1aWRfdCktMSkKIAkJcmV0dXJuIElOVkFMSURf VUlEOwpAQCAtMTg1LDYgKzE5Niw5IEBAIGtnaWRfdCBmcm9tX3Zmc2dpZChzdHJ1Y3QgbW50 X2lkbWFwICppZG1hcCwKIAkJcmV0dXJuIEFTX0tHSURUKHZmc2dpZCk7CiAJaWYgKGlkbWFw ID09ICZpbnZhbGlkX21udF9pZG1hcCkKIAkJcmV0dXJuIElOVkFMSURfR0lEOworCWlmICgh dmZzZ2lkX2lzX2xlZ2FjeSh2ZnNnaWQpKQorCQlyZXR1cm4ga2dpZF9oYXNfbWFwcGluZyhm c191c2VybnMsIEFTX0tHSURUKHZmc2dpZCkpID8KKwkJICAgICAgIEFTX0tHSURUKHZmc2dp ZCkgOiBJTlZBTElEX0dJRDsKIAlnaWQgPSBtYXBfaWRfdXAoJmlkbWFwLT5naWRfbWFwLCBf X3Zmc2dpZF92YWwodmZzZ2lkKSk7CiAJaWYgKGdpZCA9PSAoZ2lkX3QpLTEpCiAJCXJldHVy biBJTlZBTElEX0dJRDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW50X2lkbWFwcGlu Zy5oIGIvaW5jbHVkZS9saW51eC9tbnRfaWRtYXBwaW5nLmgKaW5kZXggZTcxYTYwNzBhLi40 MGYwZjk5NGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW50X2lkbWFwcGluZy5oCisr KyBiL2luY2x1ZGUvbGludXgvbW50X2lkbWFwcGluZy5oCkBAIC0xMiwzMyArMTIsNTUgQEAg ZXh0ZXJuIHN0cnVjdCBtbnRfaWRtYXAgbm9wX21udF9pZG1hcDsKIGV4dGVybiBzdHJ1Y3Qg bW50X2lkbWFwIGludmFsaWRfbW50X2lkbWFwOwogZXh0ZXJuIHN0cnVjdCB1c2VyX25hbWVz cGFjZSBpbml0X3VzZXJfbnM7CiAKKy8qIExpa2Uga3VpZF90IGFuZCBrZ2lkX3Q6IGEgY2xh c3NpYyBpZCwgYSBVVUlEIG9yIGEgR1VJRCAqLwogdHlwZWRlZiBzdHJ1Y3QgewotCXVpZF90 IHZhbDsKKwl1MzIgdHlwZTsKKwl1bmlvbiB7CisJCXVpZF90IGxlZ2FjeTsKKwkJdXVpZF90 IHV1aWQ7CisJCWd1aWRfdCBndWlkOworCX07CiB9IHZmc3VpZF90OwogCiB0eXBlZGVmIHN0 cnVjdCB7Ci0JZ2lkX3QgdmFsOworCXUzMiB0eXBlOworCXVuaW9uIHsKKwkJZ2lkX3QgbGVn YWN5OworCQl1dWlkX3QgdXVpZDsKKwkJZ3VpZF90IGd1aWQ7CisJfTsKIH0gdmZzZ2lkX3Q7 CiAKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKHZmc3VpZF90KSA9PSBzaXplb2Yoa3VpZF90KSk7 CiBzdGF0aWNfYXNzZXJ0KHNpemVvZih2ZnNnaWRfdCkgPT0gc2l6ZW9mKGtnaWRfdCkpOwot c3RhdGljX2Fzc2VydChvZmZzZXRvZih2ZnN1aWRfdCwgdmFsKSA9PSBvZmZzZXRvZihrdWlk X3QsIHZhbCkpOwotc3RhdGljX2Fzc2VydChvZmZzZXRvZih2ZnNnaWRfdCwgdmFsKSA9PSBv ZmZzZXRvZihrZ2lkX3QsIHZhbCkpOworc3RhdGljX2Fzc2VydChvZmZzZXRvZih2ZnN1aWRf dCwgdXVpZCkgPT0gb2Zmc2V0b2Yoa3VpZF90LCB1dWlkKSk7CitzdGF0aWNfYXNzZXJ0KG9m ZnNldG9mKHZmc2dpZF90LCB1dWlkKSA9PSBvZmZzZXRvZihrZ2lkX3QsIHV1aWQpKTsKIAog c3RhdGljIGlubGluZSBib29sIGlzX3ZhbGlkX21udF9pZG1hcChjb25zdCBzdHJ1Y3QgbW50 X2lkbWFwICppZG1hcCkKIHsKIAlyZXR1cm4gaWRtYXAgIT0gJm5vcF9tbnRfaWRtYXAgJiYg aWRtYXAgIT0gJmludmFsaWRfbW50X2lkbWFwOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wg dmZzdWlkX2lzX2xlZ2FjeSh2ZnN1aWRfdCB1aWQpCit7CisJcmV0dXJuIHVpZC50eXBlID09 IEtJRF9MRUdBQ1k7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCB2ZnNnaWRfaXNfbGVnYWN5 KHZmc2dpZF90IGdpZCkKK3sKKwlyZXR1cm4gZ2lkLnR5cGUgPT0gS0lEX0xFR0FDWTsKK30K KworLyogVGhlIGNsYXNzaWMgdmFsdWUgb2YgYSBsZWdhY3kgaWQsIC0xIGZvciBhIFVVSUQg b3IgR1VJRCAqLwogI2lmZGVmIENPTkZJR19NVUxUSVVTRVIKIHN0YXRpYyBpbmxpbmUgdWlk X3QgX192ZnN1aWRfdmFsKHZmc3VpZF90IHVpZCkKIHsKLQlyZXR1cm4gdWlkLnZhbDsKKwly ZXR1cm4gdmZzdWlkX2lzX2xlZ2FjeSh1aWQpID8gdWlkLmxlZ2FjeSA6ICh1aWRfdCktMTsK IH0KIAogc3RhdGljIGlubGluZSBnaWRfdCBfX3Zmc2dpZF92YWwodmZzZ2lkX3QgZ2lkKQog ewotCXJldHVybiBnaWQudmFsOworCXJldHVybiB2ZnNnaWRfaXNfbGVnYWN5KGdpZCkgPyBn aWQubGVnYWN5IDogKGdpZF90KS0xOwogfQogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgdWlkX3Qg X192ZnN1aWRfdmFsKHZmc3VpZF90IHVpZCkKQEAgLTU0LDIyICs3NiwzNCBAQCBzdGF0aWMg aW5saW5lIGdpZF90IF9fdmZzZ2lkX3ZhbCh2ZnNnaWRfdCBnaWQpCiAKIHN0YXRpYyBpbmxp bmUgYm9vbCB2ZnN1aWRfdmFsaWQodmZzdWlkX3QgdWlkKQogewotCXJldHVybiBfX3Zmc3Vp ZF92YWwodWlkKSAhPSAodWlkX3QpLTE7CisJcmV0dXJuICF2ZnN1aWRfaXNfbGVnYWN5KHVp ZCkgfHwgX192ZnN1aWRfdmFsKHVpZCkgIT0gKHVpZF90KS0xOwogfQogCiBzdGF0aWMgaW5s aW5lIGJvb2wgdmZzZ2lkX3ZhbGlkKHZmc2dpZF90IGdpZCkKIHsKLQlyZXR1cm4gX192ZnNn aWRfdmFsKGdpZCkgIT0gKGdpZF90KS0xOworCXJldHVybiAhdmZzZ2lkX2lzX2xlZ2FjeShn aWQpIHx8IF9fdmZzZ2lkX3ZhbChnaWQpICE9IChnaWRfdCktMTsKK30KKworc3RhdGljIGlu bGluZSBpbnQgdmZzdWlkX2NtcCh2ZnN1aWRfdCBsZWZ0LCB2ZnN1aWRfdCByaWdodCkKK3sK KwlyZXR1cm4gX19raWRfY21wKGxlZnQudHlwZSwgbGVmdC5sZWdhY3ksIGxlZnQudXVpZC5i LAorCQkJIHJpZ2h0LnR5cGUsIHJpZ2h0LmxlZ2FjeSwgcmlnaHQudXVpZC5iKTsKK30KKwor c3RhdGljIGlubGluZSBpbnQgdmZzZ2lkX2NtcCh2ZnNnaWRfdCBsZWZ0LCB2ZnNnaWRfdCBy aWdodCkKK3sKKwlyZXR1cm4gX19raWRfY21wKGxlZnQudHlwZSwgbGVmdC5sZWdhY3ksIGxl ZnQudXVpZC5iLAorCQkJIHJpZ2h0LnR5cGUsIHJpZ2h0LmxlZ2FjeSwgcmlnaHQudXVpZC5i KTsKIH0KIAogc3RhdGljIGlubGluZSBib29sIHZmc3VpZF9lcSh2ZnN1aWRfdCBsZWZ0LCB2 ZnN1aWRfdCByaWdodCkKIHsKLQlyZXR1cm4gdmZzdWlkX3ZhbGlkKGxlZnQpICYmIF9fdmZz dWlkX3ZhbChsZWZ0KSA9PSBfX3Zmc3VpZF92YWwocmlnaHQpOworCXJldHVybiB2ZnN1aWRf dmFsaWQobGVmdCkgJiYgdmZzdWlkX2NtcChsZWZ0LCByaWdodCkgPT0gMDsKIH0KIAogc3Rh dGljIGlubGluZSBib29sIHZmc2dpZF9lcSh2ZnNnaWRfdCBsZWZ0LCB2ZnNnaWRfdCByaWdo dCkKIHsKLQlyZXR1cm4gdmZzZ2lkX3ZhbGlkKGxlZnQpICYmIF9fdmZzZ2lkX3ZhbChsZWZ0 KSA9PSBfX3Zmc2dpZF92YWwocmlnaHQpOworCXJldHVybiB2ZnNnaWRfdmFsaWQobGVmdCkg JiYgdmZzZ2lkX2NtcChsZWZ0LCByaWdodCkgPT0gMDsKIH0KIAogLyoqCkBAIC04NCw3ICsx MTgsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdmZzZ2lkX2VxKHZmc2dpZF90IGxlZnQsIHZm c2dpZF90IHJpZ2h0KQogICovCiBzdGF0aWMgaW5saW5lIGJvb2wgdmZzdWlkX2VxX2t1aWQo dmZzdWlkX3QgdmZzdWlkLCBrdWlkX3Qga3VpZCkKIHsKLQlyZXR1cm4gdmZzdWlkX3ZhbGlk KHZmc3VpZCkgJiYgX192ZnN1aWRfdmFsKHZmc3VpZCkgPT0gX19rdWlkX3ZhbChrdWlkKTsK KwlyZXR1cm4gdmZzdWlkX3ZhbGlkKHZmc3VpZCkgJiYKKwkgICAgICAgX19raWRfY21wKHZm c3VpZC50eXBlLCB2ZnN1aWQubGVnYWN5LCB2ZnN1aWQudXVpZC5iLAorCQkJIGt1aWQudHlw ZSwga3VpZC5sZWdhY3ksIGt1aWQudXVpZC5iKSA9PSAwOwogfQogCiAvKioKQEAgLTk5LDE1 ICsxMzUsMTcgQEAgc3RhdGljIGlubGluZSBib29sIHZmc3VpZF9lcV9rdWlkKHZmc3VpZF90 IHZmc3VpZCwga3VpZF90IGt1aWQpCiAgKi8KIHN0YXRpYyBpbmxpbmUgYm9vbCB2ZnNnaWRf ZXFfa2dpZCh2ZnNnaWRfdCB2ZnNnaWQsIGtnaWRfdCBrZ2lkKQogewotCXJldHVybiB2ZnNn aWRfdmFsaWQodmZzZ2lkKSAmJiBfX3Zmc2dpZF92YWwodmZzZ2lkKSA9PSBfX2tnaWRfdmFs KGtnaWQpOworCXJldHVybiB2ZnNnaWRfdmFsaWQodmZzZ2lkKSAmJgorCSAgICAgICBfX2tp ZF9jbXAodmZzZ2lkLnR5cGUsIHZmc2dpZC5sZWdhY3ksIHZmc2dpZC51dWlkLmIsCisJCQkg a2dpZC50eXBlLCBrZ2lkLmxlZ2FjeSwga2dpZC51dWlkLmIpID09IDA7CiB9CiAKIC8qCiAg KiB2ZnN7Zyx1fWlkcyBhcmUgY3JlYXRlZCBmcm9tIGt7Zyx1fWlkcy4KICAqIFdlIGRvbid0 IGFsbG93IHRoZW0gdG8gYmUgY3JlYXRlZCBmcm9tIHJlZ3VsYXIge3UsZ31pZC4KICAqLwot I2RlZmluZSBWRlNVSURUX0lOSVQodmFsKSAodmZzdWlkX3QpeyBfX2t1aWRfdmFsKHZhbCkg fQotI2RlZmluZSBWRlNHSURUX0lOSVQodmFsKSAodmZzZ2lkX3QpeyBfX2tnaWRfdmFsKHZh bCkgfQorI2RlZmluZSBWRlNVSURUX0lOSVQodmFsKSAodmZzdWlkX3QpeyAudHlwZSA9ICh2 YWwpLnR5cGUsIC51dWlkID0gKHZhbCkudXVpZCB9CisjZGVmaW5lIFZGU0dJRFRfSU5JVCh2 YWwpICh2ZnNnaWRfdCl7IC50eXBlID0gKHZhbCkudHlwZSwgLnV1aWQgPSAodmFsKS51dWlk IH0KIAogI2RlZmluZSBJTlZBTElEX1ZGU1VJRCBWRlNVSURUX0lOSVQoSU5WQUxJRF9VSUQp CiAjZGVmaW5lIElOVkFMSURfVkZTR0lEIFZGU0dJRFRfSU5JVChJTlZBTElEX0dJRCkKQEAg LTExNiw4ICsxNTQsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdmZzZ2lkX2VxX2tnaWQodmZz Z2lkX3QgdmZzZ2lkLCBrZ2lkX3Qga2dpZCkKICAqIEFsbG93IGEgdmZze2csdX1pZCB0byBi ZSB1c2VkIGFzIGEga3tnLHV9aWQgd2hlcmUgd2Ugd2FudCB0byBjb21wYXJlCiAgKiB3aGV0 aGVyIHRoZSBtYXBwZWQgdmFsdWUgaXMgaWRlbnRpY2FsIHRvIHZhbHVlIG9mIGEga3tnLHV9 aWQuCiAgKi8KLSNkZWZpbmUgQVNfS1VJRFQodmFsKSAoa3VpZF90KXsgX192ZnN1aWRfdmFs KHZhbCkgfQotI2RlZmluZSBBU19LR0lEVCh2YWwpIChrZ2lkX3QpeyBfX3Zmc2dpZF92YWwo dmFsKSB9CisjZGVmaW5lIEFTX0tVSURUKHZhbCkgKGt1aWRfdCl7IC50eXBlID0gKHZhbCku dHlwZSwgLnV1aWQgPSAodmFsKS51dWlkIH0KKyNkZWZpbmUgQVNfS0dJRFQodmFsKSAoa2dp ZF90KXsgLnR5cGUgPSAodmFsKS50eXBlLCAudXVpZCA9ICh2YWwpLnV1aWQgfQogCiBpbnQg dmZzZ2lkX2luX2dyb3VwX3AodmZzZ2lkX3QgdmZzZ2lkKTsKIApAQCAtMTU4LDcgKzE5Niw3 IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB2ZnN1aWRfaGFzX2ZzbWFwcGluZyhzdHJ1Y3QgbW50 X2lkbWFwICppZG1hcCwKIHN0YXRpYyBpbmxpbmUgYm9vbCB2ZnN1aWRfaGFzX21hcHBpbmco c3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2VybnMsCiAJCQkJICAgICAgdmZzdWlkX3QgdmZz dWlkKQogewotCXJldHVybiBmcm9tX2t1aWQodXNlcm5zLCBBU19LVUlEVCh2ZnN1aWQpKSAh PSAodWlkX3QpLTE7CisJcmV0dXJuIGt1aWRfaGFzX21hcHBpbmcodXNlcm5zLCBBU19LVUlE VCh2ZnN1aWQpKTsKIH0KIAogLyoqCkBAIC0xOTYsNyArMjM0LDcgQEAgc3RhdGljIGlubGlu ZSBib29sIHZmc2dpZF9oYXNfZnNtYXBwaW5nKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLAog c3RhdGljIGlubGluZSBib29sIHZmc2dpZF9oYXNfbWFwcGluZyhzdHJ1Y3QgdXNlcl9uYW1l c3BhY2UgKnVzZXJucywKIAkJCQkgICAgICB2ZnNnaWRfdCB2ZnNnaWQpCiB7Ci0JcmV0dXJu IGZyb21fa2dpZCh1c2VybnMsIEFTX0tHSURUKHZmc2dpZCkpICE9IChnaWRfdCktMTsKKwly ZXR1cm4ga2dpZF9oYXNfbWFwcGluZyh1c2VybnMsIEFTX0tHSURUKHZmc2dpZCkpOwogfQog CiAvKioKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvdWlkZ2lkLmggYi9pbmNsdWRlL2xp bnV4L3VpZGdpZC5oCmluZGV4IDE4MmM2ODI0NS4uZTFhZGI1MGQ1IDEwMDY0NAotLS0gYS9p bmNsdWRlL2xpbnV4L3VpZGdpZC5oCisrKyBiL2luY2x1ZGUvbGludXgvdWlkZ2lkLmgKQEAg LTE5LDMyICsxOSwzNyBAQCBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2U7CiBleHRlcm4gc3RydWN0 IHVzZXJfbmFtZXNwYWNlIGluaXRfdXNlcl9uczsKIHN0cnVjdCB1aWRfZ2lkX21hcDsKIAot I2RlZmluZSBLVUlEVF9JTklUKHZhbHVlKSAoa3VpZF90KXsgdmFsdWUgfQotI2RlZmluZSBL R0lEVF9JTklUKHZhbHVlKSAoa2dpZF90KXsgdmFsdWUgfQorI2RlZmluZSBLVUlEVF9JTklU KHZhbHVlKSAoa3VpZF90KXsgLnR5cGUgPSBLSURfTEVHQUNZLCAubGVnYWN5ID0gKHZhbHVl KSB9CisjZGVmaW5lIEtHSURUX0lOSVQodmFsdWUpIChrZ2lkX3QpeyAudHlwZSA9IEtJRF9M RUdBQ1ksIC5sZWdhY3kgPSAodmFsdWUpIH0KKworI2RlZmluZSBLVUlEVF9JTklUX1VVSUQo dmFsdWUpIChrdWlkX3QpeyAudHlwZSA9IEtJRF9VVUlELCAudXVpZCA9ICh2YWx1ZSkgfQor I2RlZmluZSBLR0lEVF9JTklUX1VVSUQodmFsdWUpIChrZ2lkX3QpeyAudHlwZSA9IEtJRF9V VUlELCAudXVpZCA9ICh2YWx1ZSkgfQorI2RlZmluZSBLVUlEVF9JTklUX0dVSUQodmFsdWUp IChrdWlkX3QpeyAudHlwZSA9IEtJRF9HVUlELCAuZ3VpZCA9ICh2YWx1ZSkgfQorI2RlZmlu ZSBLR0lEVF9JTklUX0dVSUQodmFsdWUpIChrZ2lkX3QpeyAudHlwZSA9IEtJRF9HVUlELCAu Z3VpZCA9ICh2YWx1ZSkgfQogCi0vKgotICogV2hldGhlciBhbiBpZCBpcyBhIGNsYXNzaWMg MzIgYml0IGlkLiBBbGwgb2YgdGhlbSBhcmUgZm9yIG5vdzsgY29kZSB0aGF0Ci0gKiBuZWVk cyBvbmUgKHRvIHN0b3JlIGl0IGluIDMyIGJpdHMsIGZvciBleGFtcGxlKSBjaGVja3Mgd2l0 aCB0aGVzZS4KLSAqLwogc3RhdGljIGlubGluZSBib29sIHVpZF9pc19sZWdhY3koa3VpZF90 IHVpZCkKIHsKLQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gdWlkLnR5cGUgPT0gS0lEX0xFR0FD WTsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGdpZF9pc19sZWdhY3koa2dpZF90IGdpZCkK IHsKLQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gZ2lkLnR5cGUgPT0gS0lEX0xFR0FDWTsKIH0K IAorLyoKKyAqIF9fa3VpZF92YWwoKSBhbmQgX19rZ2lkX3ZhbCgpIGFyZSB0aGUgY2xhc3Np YyB2YWx1ZSBvZiBhIGxlZ2FjeSBpZDsKKyAqIGEgVVVJRCBvciBHVUlEIGhhcyBub25lIGFu ZCBnaXZlcyAtMSwgd2hpY2ggaXMgbmV2ZXIgYSB2YWxpZCBpZC4KKyAqLwogI2lmZGVmIENP TkZJR19NVUxUSVVTRVIKIHN0YXRpYyBpbmxpbmUgdWlkX3QgX19rdWlkX3ZhbChrdWlkX3Qg dWlkKQogewotCXJldHVybiB1aWQudmFsOworCXJldHVybiB1aWRfaXNfbGVnYWN5KHVpZCkg PyB1aWQubGVnYWN5IDogKHVpZF90KS0xOwogfQogCiBzdGF0aWMgaW5saW5lIGdpZF90IF9f a2dpZF92YWwoa2dpZF90IGdpZCkKIHsKLQlyZXR1cm4gZ2lkLnZhbDsKKwlyZXR1cm4gZ2lk X2lzX2xlZ2FjeShnaWQpID8gZ2lkLmxlZ2FjeSA6IChnaWRfdCktMTsKIH0KICNlbHNlCiBz dGF0aWMgaW5saW5lIHVpZF90IF9fa3VpZF92YWwoa3VpZF90IHVpZCkKQEAgLTY0LDY0ICs2 OSwxMTUgQEAgc3RhdGljIGlubGluZSBnaWRfdCBfX2tnaWRfdmFsKGtnaWRfdCBnaWQpCiAj ZGVmaW5lIElOVkFMSURfVUlEIEtVSURUX0lOSVQoLTEpCiAjZGVmaW5lIElOVkFMSURfR0lE IEtHSURUX0lOSVQoLTEpCiAKKy8qCisgKiBJZHMgYXJlIG9yZGVyZWQgYnkga2luZCBmaXJz dCAobGVnYWN5IGlkcyBiZWZvcmUgVVVJRHMgYmVmb3JlIEdVSURzKSwKKyAqIHRoZW4gYnkg dmFsdWU6IG51bWVyaWNhbGx5IGZvciBsZWdhY3kgaWRzLCBieXRld2lzZSBmb3IgdGhlIG90 aGVycy4KKyAqIFRoYXQga2VlcHMgc29ydGVkIGlkIGFycmF5cyBhbmQgcmFuZ2UgY2hlY2tz IGJldHdlZW4gbGVnYWN5IGlkcworICogd29ya2luZzogYSBVVUlEIGlzIG5ldmVyIGluc2lk ZSBhIHJhbmdlIG9mIGxlZ2FjeSBpZHMuCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IF9fa2lk X2NtcCh1MzIgbHR5cGUsIHUzMiBsbGVnYWN5LCBjb25zdCB1OCAqbGIsCisJCQkgICAgdTMy IHJ0eXBlLCB1MzIgcmxlZ2FjeSwgY29uc3QgdTggKnJiKQoreworCWlmICghSVNfRU5BQkxF RChDT05GSUdfTVVMVElVU0VSKSkKKwkJcmV0dXJuIDA7CisJaWYgKGx0eXBlICE9IHJ0eXBl KQorCQlyZXR1cm4gbHR5cGUgPCBydHlwZSA/IC0xIDogMTsKKwlpZiAobHR5cGUgPT0gS0lE X0xFR0FDWSkKKwkJcmV0dXJuIGxsZWdhY3kgPT0gcmxlZ2FjeSA/IDAgOiBsbGVnYWN5IDwg cmxlZ2FjeSA/IC0xIDogMTsKKwlyZXR1cm4gX19idWlsdGluX21lbWNtcChsYiwgcmIsIFVV SURfU0laRSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHVpZF9jbXAoa3VpZF90IGxlZnQs IGt1aWRfdCByaWdodCkKK3sKKwlyZXR1cm4gX19raWRfY21wKGxlZnQudHlwZSwgbGVmdC5s ZWdhY3ksIGxlZnQudXVpZC5iLAorCQkJIHJpZ2h0LnR5cGUsIHJpZ2h0LmxlZ2FjeSwgcmln aHQudXVpZC5iKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgZ2lkX2NtcChrZ2lkX3QgbGVm dCwga2dpZF90IHJpZ2h0KQoreworCXJldHVybiBfX2tpZF9jbXAobGVmdC50eXBlLCBsZWZ0 LmxlZ2FjeSwgbGVmdC51dWlkLmIsCisJCQkgcmlnaHQudHlwZSwgcmlnaHQubGVnYWN5LCBy aWdodC51dWlkLmIpOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wgdWlkX2VxKGt1aWRfdCBs ZWZ0LCBrdWlkX3QgcmlnaHQpCiB7Ci0JcmV0dXJuIF9fa3VpZF92YWwobGVmdCkgPT0gX19r dWlkX3ZhbChyaWdodCk7CisJcmV0dXJuIHVpZF9jbXAobGVmdCwgcmlnaHQpID09IDA7CiB9 CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBnaWRfZXEoa2dpZF90IGxlZnQsIGtnaWRfdCByaWdo dCkKIHsKLQlyZXR1cm4gX19rZ2lkX3ZhbChsZWZ0KSA9PSBfX2tnaWRfdmFsKHJpZ2h0KTsK KwlyZXR1cm4gZ2lkX2NtcChsZWZ0LCByaWdodCkgPT0gMDsKIH0KIAogc3RhdGljIGlubGlu ZSBib29sIHVpZF9ndChrdWlkX3QgbGVmdCwga3VpZF90IHJpZ2h0KQogewotCXJldHVybiBf X2t1aWRfdmFsKGxlZnQpID4gX19rdWlkX3ZhbChyaWdodCk7CisJcmV0dXJuIHVpZF9jbXAo bGVmdCwgcmlnaHQpID4gMDsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGdpZF9ndChrZ2lk X3QgbGVmdCwga2dpZF90IHJpZ2h0KQogewotCXJldHVybiBfX2tnaWRfdmFsKGxlZnQpID4g X19rZ2lkX3ZhbChyaWdodCk7CisJcmV0dXJuIGdpZF9jbXAobGVmdCwgcmlnaHQpID4gMDsK IH0KIAogc3RhdGljIGlubGluZSBib29sIHVpZF9ndGUoa3VpZF90IGxlZnQsIGt1aWRfdCBy aWdodCkKIHsKLQlyZXR1cm4gX19rdWlkX3ZhbChsZWZ0KSA+PSBfX2t1aWRfdmFsKHJpZ2h0 KTsKKwlyZXR1cm4gdWlkX2NtcChsZWZ0LCByaWdodCkgPj0gMDsKIH0KIAogc3RhdGljIGlu bGluZSBib29sIGdpZF9ndGUoa2dpZF90IGxlZnQsIGtnaWRfdCByaWdodCkKIHsKLQlyZXR1 cm4gX19rZ2lkX3ZhbChsZWZ0KSA+PSBfX2tnaWRfdmFsKHJpZ2h0KTsKKwlyZXR1cm4gZ2lk X2NtcChsZWZ0LCByaWdodCkgPj0gMDsKIH0KIAogc3RhdGljIGlubGluZSBib29sIHVpZF9s dChrdWlkX3QgbGVmdCwga3VpZF90IHJpZ2h0KQogewotCXJldHVybiBfX2t1aWRfdmFsKGxl ZnQpIDwgX19rdWlkX3ZhbChyaWdodCk7CisJcmV0dXJuIHVpZF9jbXAobGVmdCwgcmlnaHQp IDwgMDsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGdpZF9sdChrZ2lkX3QgbGVmdCwga2dp ZF90IHJpZ2h0KQogewotCXJldHVybiBfX2tnaWRfdmFsKGxlZnQpIDwgX19rZ2lkX3ZhbChy aWdodCk7CisJcmV0dXJuIGdpZF9jbXAobGVmdCwgcmlnaHQpIDwgMDsKIH0KIAogc3RhdGlj IGlubGluZSBib29sIHVpZF9sdGUoa3VpZF90IGxlZnQsIGt1aWRfdCByaWdodCkKIHsKLQly ZXR1cm4gX19rdWlkX3ZhbChsZWZ0KSA8PSBfX2t1aWRfdmFsKHJpZ2h0KTsKKwlyZXR1cm4g dWlkX2NtcChsZWZ0LCByaWdodCkgPD0gMDsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGdp ZF9sdGUoa2dpZF90IGxlZnQsIGtnaWRfdCByaWdodCkKIHsKLQlyZXR1cm4gX19rZ2lkX3Zh bChsZWZ0KSA8PSBfX2tnaWRfdmFsKHJpZ2h0KTsKKwlyZXR1cm4gZ2lkX2NtcChsZWZ0LCBy aWdodCkgPD0gMDsKIH0KIAogc3RhdGljIGlubGluZSBib29sIHVpZF92YWxpZChrdWlkX3Qg dWlkKQogewotCXJldHVybiBfX2t1aWRfdmFsKHVpZCkgIT0gKHVpZF90KSAtMTsKKwlyZXR1 cm4gIXVpZF9pc19sZWdhY3kodWlkKSB8fCBfX2t1aWRfdmFsKHVpZCkgIT0gKHVpZF90KSAt MTsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGdpZF92YWxpZChrZ2lkX3QgZ2lkKQogewot CXJldHVybiBfX2tnaWRfdmFsKGdpZCkgIT0gKGdpZF90KSAtMTsKKwlyZXR1cm4gIWdpZF9p c19sZWdhY3koZ2lkKSB8fCBfX2tnaWRfdmFsKGdpZCkgIT0gKGdpZF90KSAtMTsKK30KKwor LyogQSBoYXNoIG9mIGFuIGlkLCBmb3IgaGFzaCB0YWJsZXMga2V5ZWQgYnkga3VpZF90IG9y IGtnaWRfdCAqLworc3RhdGljIGlubGluZSB1MzIgX19raWRfaGFzaCh1MzIgdHlwZSwgdTMy IGxlZ2FjeSwgY29uc3QgdTggKmIpCit7CisJdTMyIHdbNF07CisKKwlpZiAodHlwZSA9PSBL SURfTEVHQUNZKQorCQlyZXR1cm4gbGVnYWN5OworCV9fYnVpbHRpbl9tZW1jcHkodywgYiwg c2l6ZW9mKHcpKTsKKwlyZXR1cm4gd1swXSBeIHdbMV0gXiB3WzJdIF4gd1szXSBeIHR5cGU7 Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyIGt1aWRfaGFzaChrdWlkX3QgdWlkKQoreworCXJl dHVybiBfX2tpZF9oYXNoKHVpZC50eXBlLCBfX2t1aWRfdmFsKHVpZCksIHVpZC51dWlkLmIp OworfQorCitzdGF0aWMgaW5saW5lIHUzMiBrZ2lkX2hhc2goa2dpZF90IGdpZCkKK3sKKwly ZXR1cm4gX19raWRfaGFzaChnaWQudHlwZSwgX19rZ2lkX3ZhbChnaWQpLCBnaWQudXVpZC5i KTsKIH0KIAogI2lmZGVmIENPTkZJR19VU0VSX05TCkBAIC0xMzQsMTMgKzE5MCwyMiBAQCBl eHRlcm4gZ2lkX3QgZnJvbV9rZ2lkKHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqdG8sIGtnaWRf dCBnaWQpOwogZXh0ZXJuIHVpZF90IGZyb21fa3VpZF9tdW5nZWQoc3RydWN0IHVzZXJfbmFt ZXNwYWNlICp0bywga3VpZF90IHVpZCk7CiBleHRlcm4gZ2lkX3QgZnJvbV9rZ2lkX211bmdl ZChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnRvLCBrZ2lkX3QgZ2lkKTsKIAorLyoKKyAqIFVV SURzIGFuZCBHVUlEcyBhcmVuJ3QgaW4gYW55IG5hbWVzcGFjZSdzIHVpZF9tYXAgb3IgZ2lk X21hcDogdGhleQorICogZXhpc3QgaW4gdGhlIGluaXRpYWwgdXNlciBuYW1lc3BhY2Ugb25s eSwgYW5kIG5vYm9keSBoYXMgcHJpdmlsZWdlCisgKiBvdmVyIHRoZW0gdGhyb3VnaCBhIGNh cGFiaWxpdHkgaW4gYW5vdGhlciBvbmUuCisgKi8KIHN0YXRpYyBpbmxpbmUgYm9vbCBrdWlk X2hhc19tYXBwaW5nKHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqbnMsIGt1aWRfdCB1aWQpCiB7 CisJaWYgKCF1aWRfaXNfbGVnYWN5KHVpZCkpCisJCXJldHVybiBucyA9PSAmaW5pdF91c2Vy X25zOwogCXJldHVybiBmcm9tX2t1aWQobnMsIHVpZCkgIT0gKHVpZF90KSAtMTsKIH0KIAog c3RhdGljIGlubGluZSBib29sIGtnaWRfaGFzX21hcHBpbmcoc3RydWN0IHVzZXJfbmFtZXNw YWNlICpucywga2dpZF90IGdpZCkKIHsKKwlpZiAoIWdpZF9pc19sZWdhY3koZ2lkKSkKKwkJ cmV0dXJuIG5zID09ICZpbml0X3VzZXJfbnM7CiAJcmV0dXJuIGZyb21fa2dpZChucywgZ2lk KSAhPSAoZ2lkX3QpIC0xOwogfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3VpZGdp ZF90eXBlcy5oIGIvaW5jbHVkZS9saW51eC91aWRnaWRfdHlwZXMuaAppbmRleCBiMzVhYzQ5 NTUuLjBmNTk1ZDA3NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC91aWRnaWRfdHlwZXMu aAorKysgYi9pbmNsdWRlL2xpbnV4L3VpZGdpZF90eXBlcy5oCkBAIC0zLDEzICszLDQxIEBA CiAjZGVmaW5lIF9MSU5VWF9VSURHSURfVFlQRVNfSAogCiAjaW5jbHVkZSA8bGludXgvdHlw ZXMuaD4KKyNpbmNsdWRlIDxsaW51eC91dWlkX3R5cGVzLmg+CiAKKy8qCisgKiBLaW5kcyBv ZiBrdWlkX3QgYW5kIGtnaWRfdC4gS0lEX0xFR0FDWSBpcyAwLCBzbyB6ZXJvZWQgbWVtb3J5 IHN0aWxsCisgKiBob2xkcyBHTE9CQUxfUk9PVF9VSUQgYW5kIEdMT0JBTF9ST09UX0dJRCBh cyBpdCBkaWQgd2hlbiB0aGUgaWRzIHdlcmUKKyAqIHBsYWluIG51bWJlcnMuIFVzZXJzcGFj ZSBoYXMgaXRzIG93biBudW1iZXJpbmcgKFVJRF9SXyogaW4KKyAqIDx1YXBpL2xpbnV4L3Vp ZGdpZF9yLmg+KSwgaW4gd2hpY2ggemVybyBpcyAibm8gaWQiLgorICovCitlbnVtIGtpZF90 eXBlIHsKKwlLSURfTEVHQUNZID0gMCwJCS8qIGNsYXNzaWMgMzIgYml0IGlkIGluIC5sZWdh Y3kgKi8KKwlLSURfVVVJRCwJCS8qIFJGQyA5NTYyIFVVSUQgaW4gLnV1aWQgKi8KKwlLSURf R1VJRCwJCS8qIE1pY3Jvc29mdCBHVUlEIGluIC5ndWlkICovCit9OworCisvKgorICogT25s eSB0aGUgbWVtYmVyIC50eXBlIHNlbGVjdHMgaXMgbWVhbmluZ2Z1bDsgdGhlIGJ5dGVzIG9m IC51dWlkIHBhc3QKKyAqIC5sZWdhY3kgYXJlIHVuZGVmaW5lZCBmb3IgYSBLSURfTEVHQUNZ IGlkLiBDb3B5IHRoZSB3aG9sZSBzdHJ1Y3QgYW5kCisgKiB1c2UgdGhlIGhlbHBlcnMgb2Yg PGxpbnV4L3VpZGdpZC5oPiB0byBsb29rIGF0IGl0LgorICovCiB0eXBlZGVmIHN0cnVjdCB7 Ci0JdWlkX3QgdmFsOworCXUzMiB0eXBlOworCXVuaW9uIHsKKwkJdWlkX3QgbGVnYWN5Owor CQl1dWlkX3QgdXVpZDsKKwkJZ3VpZF90IGd1aWQ7CisJfTsKIH0ga3VpZF90OwogCiB0eXBl ZGVmIHN0cnVjdCB7Ci0JZ2lkX3QgdmFsOworCXUzMiB0eXBlOworCXVuaW9uIHsKKwkJZ2lk X3QgbGVnYWN5OworCQl1dWlkX3QgdXVpZDsKKwkJZ3VpZF90IGd1aWQ7CisJfTsKIH0ga2dp ZF90OwogCiAjZW5kaWYgLyogX0xJTlVYX1VJREdJRF9UWVBFU19IICovCmRpZmYgLS1naXQg YS9rZXJuZWwvZ3JvdXBzLmMgYi9rZXJuZWwvZ3JvdXBzLmMKaW5kZXggYjVlM2JlNmE2Li4z YWEwNjUxZDcgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9ncm91cHMuYworKysgYi9rZXJuZWwvZ3Jv dXBzLmMKQEAgLTczLDE4ICs3MywxNSBAQCBzdGF0aWMgaW50IGdyb3Vwc19mcm9tX3VzZXIo c3RydWN0IGdyb3VwX2luZm8gKmdyb3VwX2luZm8sCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRp YyBpbnQgZ2lkX2NtcChjb25zdCB2b2lkICpfYSwgY29uc3Qgdm9pZCAqX2IpCitzdGF0aWMg aW50IGdyb3Vwc19jbXAoY29uc3Qgdm9pZCAqX2EsIGNvbnN0IHZvaWQgKl9iKQogewotCWtn aWRfdCBhID0gKihrZ2lkX3QgKilfYTsKLQlrZ2lkX3QgYiA9ICooa2dpZF90ICopX2I7Ci0K LQlyZXR1cm4gZ2lkX2d0KGEsIGIpIC0gZ2lkX2x0KGEsIGIpOworCXJldHVybiBnaWRfY21w KCooa2dpZF90ICopX2EsICooa2dpZF90ICopX2IpOwogfQogCiB2b2lkIGdyb3Vwc19zb3J0 KHN0cnVjdCBncm91cF9pbmZvICpncm91cF9pbmZvKQogewogCXNvcnQoZ3JvdXBfaW5mby0+ Z2lkLCBncm91cF9pbmZvLT5uZ3JvdXBzLCBzaXplb2YoKmdyb3VwX2luZm8tPmdpZCksCi0J ICAgICBnaWRfY21wLCBOVUxMKTsKKwkgICAgIGdyb3Vwc19jbXAsIE5VTEwpOwogfQogRVhQ T1JUX1NZTUJPTChncm91cHNfc29ydCk7CiAKQEAgLTEwMCw5ICs5NywxMSBAQCBpbnQgZ3Jv dXBzX3NlYXJjaChjb25zdCBzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ3JvdXBfaW5mbywga2dpZF90 IGdycCkKIAlyaWdodCA9IGdyb3VwX2luZm8tPm5ncm91cHM7CiAJd2hpbGUgKGxlZnQgPCBy aWdodCkgewogCQl1bnNpZ25lZCBpbnQgbWlkID0gKGxlZnQrcmlnaHQpLzI7Ci0JCWlmIChn aWRfZ3QoZ3JwLCBncm91cF9pbmZvLT5naWRbbWlkXSkpCisJCWludCBjbXAgPSBnaWRfY21w KGdycCwgZ3JvdXBfaW5mby0+Z2lkW21pZF0pOworCisJCWlmIChjbXAgPiAwKQogCQkJbGVm dCA9IG1pZCArIDE7Ci0JCWVsc2UgaWYgKGdpZF9sdChncnAsIGdyb3VwX2luZm8tPmdpZFtt aWRdKSkKKwkJZWxzZSBpZiAoY21wIDwgMCkKIAkJCXJpZ2h0ID0gbWlkOwogCQllbHNlCiAJ CQlyZXR1cm4gMTsKZGlmZiAtLWdpdCBhL2tlcm5lbC91Y291bnQuYyBiL2tlcm5lbC91Y291 bnQuYwppbmRleCBkNmRjM2U4NTkuLjNjZjAzYWQ3YyAxMDA2NDQKLS0tIGEva2VybmVsL3Vj b3VudC5jCisrKyBiL2tlcm5lbC91Y291bnQuYwpAQCAtMjIsNyArMjIsNyBAQCBzdGF0aWMg c3RydWN0IGhsaXN0X251bGxzX2hlYWQgdWNvdW50c19oYXNodGFibGVbVUNPVU5UU19IQVNI VEFCTEVfRU5UUklFU10gPSB7CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHVjb3VudHNfbG9j ayk7CiAKICNkZWZpbmUgdWNvdW50c19oYXNoZm4obnMsIHVpZCkJCQkJCQlcCi0JaGFzaF9s b25nKCh1bnNpZ25lZCBsb25nKV9fa3VpZF92YWwodWlkKSArICh1bnNpZ25lZCBsb25nKShu cyksIFwKKwloYXNoX2xvbmcoKHVuc2lnbmVkIGxvbmcpa3VpZF9oYXNoKHVpZCkgKyAodW5z aWduZWQgbG9uZykobnMpLCBcCiAJCSAgVUNPVU5UU19IQVNIVEFCTEVfQklUUykKICNkZWZp bmUgdWNvdW50c19oYXNoZW50cnkobnMsIHVpZCkJXAogCSh1Y291bnRzX2hhc2h0YWJsZSAr IHVjb3VudHNfaGFzaGZuKG5zLCB1aWQpKQpkaWZmIC0tZ2l0IGEva2VybmVsL3VzZXIuYyBi L2tlcm5lbC91c2VyLmMKaW5kZXggN2FlZjRlNjc5Li4xMWEyMjZiZjggMTAwNjQ0Ci0tLSBh L2tlcm5lbC91c2VyLmMKKysrIGIva2VybmVsL3VzZXIuYwpAQCAtODgsNyArODgsNyBAQCBF WFBPUlRfU1lNQk9MX0dQTChpbml0X3VzZXJfbnMpOwogI2RlZmluZSBVSURIQVNIX1NaCSgx IDw8IFVJREhBU0hfQklUUykKICNkZWZpbmUgVUlESEFTSF9NQVNLCQkoVUlESEFTSF9TWiAt IDEpCiAjZGVmaW5lIF9fdWlkaGFzaGZuKHVpZCkJKCgodWlkID4+IFVJREhBU0hfQklUUykg KyB1aWQpICYgVUlESEFTSF9NQVNLKQotI2RlZmluZSB1aWRoYXNoZW50cnkodWlkKQkodWlk aGFzaF90YWJsZSArIF9fdWlkaGFzaGZuKChfX2t1aWRfdmFsKHVpZCkpKSkKKyNkZWZpbmUg dWlkaGFzaGVudHJ5KHVpZCkJKHVpZGhhc2hfdGFibGUgKyBfX3VpZGhhc2hmbihrdWlkX2hh c2godWlkKSkpCiAKIHN0YXRpYyBzdHJ1Y3Qga21lbV9jYWNoZSAqdWlkX2NhY2hlcDsKIHN0 YXRpYyBzdHJ1Y3QgaGxpc3RfaGVhZCB1aWRoYXNoX3RhYmxlW1VJREhBU0hfU1pdOwpkaWZm IC0tZ2l0IGEva2VybmVsL3VzZXJfbmFtZXNwYWNlLmMgYi9rZXJuZWwvdXNlcl9uYW1lc3Bh Y2UuYwppbmRleCAwYmVkNDYyZTkuLjg4ZmM4YmE1OCAxMDA2NDQKLS0tIGEva2VybmVsL3Vz ZXJfbmFtZXNwYWNlLmMKKysrIGIva2VybmVsL3VzZXJfbmFtZXNwYWNlLmMKQEAgLTQzNiwx MCArNDM2LDEzIEBAIEVYUE9SVF9TWU1CT0wobWFrZV9rdWlkKTsKICAqCiAgKglUaGVyZSBp cyBhbHdheXMgYSBtYXBwaW5nIGludG8gdGhlIGluaXRpYWwgdXNlcl9uYW1lc3BhY2UuCiAg KgotICoJSWYgQGt1aWQgaGFzIG5vIG1hcHBpbmcgaW4gQHRhcmcgKHVpZF90KS0xIGlzIHJl dHVybmVkLgorICoJSWYgQGt1aWQgaGFzIG5vIG1hcHBpbmcgaW4gQHRhcmcgKHVpZF90KS0x IGlzIHJldHVybmVkLiBBIFVVSUQgb3IKKyAqCUdVSUQgaGFzIG5vIGNsYXNzaWMgdWlkIGlu IGFueSB1c2VyIG5hbWVzcGFjZS4KICAqLwogdWlkX3QgZnJvbV9rdWlkKHN0cnVjdCB1c2Vy X25hbWVzcGFjZSAqdGFyZywga3VpZF90IGt1aWQpCiB7CisJaWYgKCF1aWRfaXNfbGVnYWN5 KGt1aWQpKQorCQlyZXR1cm4gKHVpZF90KSAtMTsKIAkvKiBNYXAgdGhlIHVpZCBmcm9tIGEg Z2xvYmFsIGtlcm5lbCB1aWQgKi8KIAlyZXR1cm4gbWFwX2lkX3VwKCZ0YXJnLT51aWRfbWFw LCBfX2t1aWRfdmFsKGt1aWQpKTsKIH0KQEAgLTUwNCwxMCArNTA3LDEzIEBAIEVYUE9SVF9T WU1CT0wobWFrZV9rZ2lkKTsKICAqCiAgKglUaGVyZSBpcyBhbHdheXMgYSBtYXBwaW5nIGlu dG8gdGhlIGluaXRpYWwgdXNlcl9uYW1lc3BhY2UuCiAgKgotICoJSWYgQGtnaWQgaGFzIG5v IG1hcHBpbmcgaW4gQHRhcmcgKGdpZF90KS0xIGlzIHJldHVybmVkLgorICoJSWYgQGtnaWQg aGFzIG5vIG1hcHBpbmcgaW4gQHRhcmcgKGdpZF90KS0xIGlzIHJldHVybmVkLiBBIFVVSUQg b3IKKyAqCUdVSUQgaGFzIG5vIGNsYXNzaWMgZ2lkIGluIGFueSB1c2VyIG5hbWVzcGFjZS4K ICAqLwogZ2lkX3QgZnJvbV9rZ2lkKHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqdGFyZywga2dp ZF90IGtnaWQpCiB7CisJaWYgKCFnaWRfaXNfbGVnYWN5KGtnaWQpKQorCQlyZXR1cm4gKGdp ZF90KSAtMTsKIAkvKiBNYXAgdGhlIGdpZCBmcm9tIGEgZ2xvYmFsIGtlcm5lbCBnaWQgKi8K IAlyZXR1cm4gbWFwX2lkX3VwKCZ0YXJnLT5naWRfbWFwLCBfX2tnaWRfdmFsKGtnaWQpKTsK IH0KZGlmZiAtLWdpdCBhL21tL29vbV9raWxsLmMgYi9tbS9vb21fa2lsbC5jCmluZGV4IDVm MzcyZjZlMi4uMmNlMzA3MjkzIDEwMDY0NAotLS0gYS9tbS9vb21fa2lsbC5jCisrKyBiL21t L29vbV9raWxsLmMKQEAgLTc3MSw3ICs3NzEsNyBAQCBzdGF0aWMgdm9pZCBtYXJrX29vbV92 aWN0aW0oc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiAJdGhhd19wcm9jZXNzKHRzayk7CiAJ YXRvbWljX2luYygmb29tX3ZpY3RpbXMpOwogCWNyZWQgPSBnZXRfdGFza19jcmVkKHRzayk7 Ci0JdHJhY2VfbWFya192aWN0aW0odHNrLCBjcmVkLT51aWQudmFsKTsKKwl0cmFjZV9tYXJr X3ZpY3RpbSh0c2ssIF9fa3VpZF92YWwoY3JlZC0+dWlkKSk7CiAJcHV0X2NyZWQoY3JlZCk7 CiB9CiAKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2ludGVncml0eS9pbWEvaW1hX3BvbGljeS5j IGIvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfcG9saWN5LmMKaW5kZXggYjFjMDEwZThl Li4zZWExN2M2YzAgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2ludGVncml0eS9pbWEvaW1hX3Bv bGljeS5jCisrKyBiL3NlY3VyaXR5L2ludGVncml0eS9pbWEvaW1hX3BvbGljeS5jCkBAIC03 OSwyMiArNzksMjIgQEAgc3RydWN0IGltYV9ydWxlX29wdF9saXN0IHsKICAqLwogc3RhdGlj IGlubGluZSBib29sIHZmc3VpZF9ndF9rdWlkKHZmc3VpZF90IHZmc3VpZCwga3VpZF90IGt1 aWQpCiB7Ci0JcmV0dXJuIF9fdmZzdWlkX3ZhbCh2ZnN1aWQpID4gX19rdWlkX3ZhbChrdWlk KTsKKwlyZXR1cm4gdmZzdWlkX2NtcCh2ZnN1aWQsIFZGU1VJRFRfSU5JVChrdWlkKSkgPiAw OwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgdmZzZ2lkX2d0X2tnaWQodmZzZ2lkX3QgdmZz Z2lkLCBrZ2lkX3Qga2dpZCkKIHsKLQlyZXR1cm4gX192ZnNnaWRfdmFsKHZmc2dpZCkgPiBf X2tnaWRfdmFsKGtnaWQpOworCXJldHVybiB2ZnNnaWRfY21wKHZmc2dpZCwgVkZTR0lEVF9J TklUKGtnaWQpKSA+IDA7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCB2ZnN1aWRfbHRfa3Vp ZCh2ZnN1aWRfdCB2ZnN1aWQsIGt1aWRfdCBrdWlkKQogewotCXJldHVybiBfX3Zmc3VpZF92 YWwodmZzdWlkKSA8IF9fa3VpZF92YWwoa3VpZCk7CisJcmV0dXJuIHZmc3VpZF9jbXAodmZz dWlkLCBWRlNVSURUX0lOSVQoa3VpZCkpIDwgMDsKIH0KIAogc3RhdGljIGlubGluZSBib29s IHZmc2dpZF9sdF9rZ2lkKHZmc2dpZF90IHZmc2dpZCwga2dpZF90IGtnaWQpCiB7Ci0JcmV0 dXJuIF9fdmZzZ2lkX3ZhbCh2ZnNnaWQpIDwgX19rZ2lkX3ZhbChrZ2lkKTsKKwlyZXR1cm4g dmZzZ2lkX2NtcCh2ZnNnaWQsIFZGU0dJRFRfSU5JVChrZ2lkKSkgPCAwOwogfQogCiBzdHJ1 Y3QgaW1hX3J1bGVfZW50cnkgewo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0010-uidgid-convert-between-kernel-ids-and-the-ids-of-the.patch" Content-Disposition: attachment; filename*0="uid_r-0010-uidgid-convert-between-kernel-ids-and-the-ids-of-"; filename*1="the.patch" Content-Transfer-Encoding: base64 RnJvbSAwNzFhNmU1ZDAyMWNjYjRmODQ4MDc2MWUxNDhiMDZjZTU4MTE0NzU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjIwOjMzICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxMC80M10gdWlkZ2lkOiBjb252ZXJ0IGJldHdlZW4ga2VybmVsIGlkcyBhbmQgdGhl IGlkcyBvZiB0aGUKICpfciBzeXN0ZW0gY2FsbHMKCkFkZCB0aGUgY29udmVyc2lvbnMgYmV0 d2VlbiBrdWlkX3Qva2dpZF90IGFuZCBfX2tlcm5lbF91aWRfcl90IHRoZSBuZXcKc3lzdGVt IGNhbGxzIG5lZWQ6IG1ha2Vfa3VpZF9yKCksIGZyb21fa3VpZF9yKCkgYW5kIHRoZSBuZXZl ciBmYWlsaW5nCmZyb21fa3VpZF9yX211bmdlZCgpIChhbmQgdGhlIGdpZCB2YXJpYW50cyks IGFuZCBnZXRfa3VpZF9yKCkgYW5kCnB1dF9rdWlkX3IoKSB0byBjb3B5IHRoZW0gZnJvbSBh bmQgdG8gdXNlcnNwYWNlLgoKZ2V0X2t1aWRfcigpIHJldHVybnMgSU5WQUxJRF9VSUQgZm9y ICJubyBpZCIgLS0gYSBOVUxMIHBvaW50ZXIsClVJRF9SX05PTkUsIG9yIGEgY2xhc3NpYyAt MSAtLSB3aGljaCB0aGUgc2V0KmlkX3IoKSBhbmQgY2hvd25fcigpIGNhbGxzCnRha2UgYXMg InVuY2hhbmdlZCIsIGxpa2UgdGhlIGNsYXNzaWMgY2FsbHMgdGFrZSAtMS4gSXQgcmVqZWN0 cwptYWxmb3JtZWQgaWRzOiB1bmtub3duIHR5cGVzLCBub256ZXJvIHJlc2VydmVkIGJ5dGVz LCBVVUlEcyBvdGhlciB0aGFuClJGQyA5NTYyIHZlcnNpb24gNCwgdGhlIG5pbCBHVUlELCBh bmQgVVVJRHMgb3IgR1VJRHMgZ2l2ZW4gZnJvbSBvdXRzaWRlCnRoZSBpbml0aWFsIHVzZXIg bmFtZXNwYWNlLgoKQWxzbyBhZGQga3VpZF9zdHIoKSBhbmQga2dpZF9zdHIoKSwgdGhlIHRl eHQgZm9ybSBvZiBhbiBpZCBmb3IgbG9ncyBhbmQKcHJvY2ZzOiBhIGNsYXNzaWMgaWQgaW4g ZGVjaW1hbCwgYSBVVUlEIGFzIHVzdWFsLCBhIEdVSUQgaW4gYnJhY2VzLgoKQXNzaXN0ZWQt Ynk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBpbmNsdWRlL2xpbnV4L3VpZGdpZC5o IHwgIDM1ICsrKysrCiBrZXJuZWwvTWFrZWZpbGUgICAgICAgIHwgICAxICsKIGtlcm5lbC91 aWRnaWRfci5jICAgICAgfCAzMjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMzU5IGluc2VydGlvbnMoKykKIGNyZWF0ZSBt b2RlIDEwMDY0NCBrZXJuZWwvdWlkZ2lkX3IuYwoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvdWlkZ2lkLmggYi9pbmNsdWRlL2xpbnV4L3VpZGdpZC5oCmluZGV4IGUxYWRiNTBkNS4u YWM3Nzg2Zjc2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3VpZGdpZC5oCisrKyBiL2lu Y2x1ZGUvbGludXgvdWlkZ2lkLmgKQEAgLTE4MCw2ICsxODAsMTcgQEAgc3RhdGljIGlubGlu ZSB1MzIga2dpZF9oYXNoKGtnaWRfdCBnaWQpCiAJcmV0dXJuIF9fa2lkX2hhc2goZ2lkLnR5 cGUsIF9fa2dpZF92YWwoZ2lkKSwgZ2lkLnV1aWQuYik7CiB9CiAKKy8qCisgKiBUaGUgdGV4 dCBmb3JtIG9mIGFuIGlkLCBmb3IgbG9ncyBhbmQgcHJvY2ZzOiBhIGxlZ2FjeSBpZCBhcyBh IGRlY2ltYWwKKyAqIG51bWJlciwgYSBVVUlEIGFzICJ4eHh4eHh4eC14eHh4LXh4eHgteHh4 eC14eHh4eHh4eHh4eHgiIGFuZCBhIEdVSUQgaW4KKyAqIGJyYWNlcywgInt4eHh4eHh4eC14 eHh4LXh4eHgteHh4eC14eHh4eHh4eHh4eHh9Ii4gS0lEX1NUUl9MRU4gaW5jbHVkZXMKKyAq IHRoZSB0ZXJtaW5hdGluZyBOVUwuCisgKi8KKyNkZWZpbmUgS0lEX1NUUl9MRU4gMzkKKwor Y2hhciAqa3VpZF9zdHIoa3VpZF90IHVpZCwgY2hhciBidWZbS0lEX1NUUl9MRU5dKTsKK2No YXIgKmtnaWRfc3RyKGtnaWRfdCBnaWQsIGNoYXIgYnVmW0tJRF9TVFJfTEVOXSk7CisKICNp ZmRlZiBDT05GSUdfVVNFUl9OUwogCiBleHRlcm4ga3VpZF90IG1ha2Vfa3VpZChzdHJ1Y3Qg dXNlcl9uYW1lc3BhY2UgKmZyb20sIHVpZF90IHVpZCk7CkBAIC0yNzcsNCArMjg4LDI4IEBA IHN0YXRpYyBpbmxpbmUgdTMyIG1hcF9pZF91cChzdHJ1Y3QgdWlkX2dpZF9tYXAgKm1hcCwg dTMyIGlkKQogfQogI2VuZGlmIC8qIENPTkZJR19VU0VSX05TICovCiAKKy8qCisgKiBDb252 ZXJzaW9uIGJldHdlZW4ga3VpZF90L2tnaWRfdCBhbmQgdGhlIGlkcyBvZiB0aGUgKl9yIHN5 c3RlbSBjYWxscworICogKDx1YXBpL2xpbnV4L3VpZGdpZF9yLmg+KSwgaW4ga2VybmVsL3Vp ZGdpZF9yLmMuCisgKi8KK3N0cnVjdCBfX2tlcm5lbF91aWRfcjsKKwora3VpZF90IG1ha2Vf a3VpZF9yKHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqZnJvbSwgY29uc3Qgc3RydWN0IF9fa2Vy bmVsX3VpZF9yICppZCk7CitrZ2lkX3QgbWFrZV9rZ2lkX3Ioc3RydWN0IHVzZXJfbmFtZXNw YWNlICpmcm9tLCBjb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgKmlkKTsKK2Jvb2wgZnJv bV9rdWlkX3Ioc3RydWN0IHVzZXJfbmFtZXNwYWNlICp0bywga3VpZF90IHVpZCwgc3RydWN0 IF9fa2VybmVsX3VpZF9yICppZCk7Citib29sIGZyb21fa2dpZF9yKHN0cnVjdCB1c2VyX25h bWVzcGFjZSAqdG8sIGtnaWRfdCBnaWQsIHN0cnVjdCBfX2tlcm5lbF91aWRfciAqaWQpOwor dm9pZCBmcm9tX2t1aWRfcl9tdW5nZWQoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp0bywga3Vp ZF90IHVpZCwKKwkJCXN0cnVjdCBfX2tlcm5lbF91aWRfciAqaWQpOwordm9pZCBmcm9tX2tn aWRfcl9tdW5nZWQoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp0bywga2dpZF90IGdpZCwKKwkJ CXN0cnVjdCBfX2tlcm5lbF91aWRfciAqaWQpOworCitpbnQgZ2V0X2t1aWRfcihzdHJ1Y3Qg dXNlcl9uYW1lc3BhY2UgKmZyb20sCisJICAgICAgIGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91 aWRfciBfX3VzZXIgKnVpZCwga3VpZF90ICprdWlkKTsKK2ludCBnZXRfa2dpZF9yKHN0cnVj dCB1c2VyX25hbWVzcGFjZSAqZnJvbSwKKwkgICAgICAgY29uc3Qgc3RydWN0IF9fa2VybmVs X3VpZF9yIF9fdXNlciAqZ2lkLCBrZ2lkX3QgKmtnaWQpOworaW50IHB1dF9rdWlkX3Ioc3Ry dWN0IHVzZXJfbmFtZXNwYWNlICp0bywga3VpZF90IGt1aWQsCisJICAgICAgIHN0cnVjdCBf X2tlcm5lbF91aWRfciBfX3VzZXIgKnVpZCk7CitpbnQgcHV0X2tnaWRfcihzdHJ1Y3QgdXNl cl9uYW1lc3BhY2UgKnRvLCBrZ2lkX3Qga2dpZCwKKwkgICAgICAgc3RydWN0IF9fa2VybmVs X3VpZF9yIF9fdXNlciAqZ2lkKTsKKwogI2VuZGlmIC8qIF9MSU5VWF9VSURHSURfSCAqLwpk aWZmIC0tZ2l0IGEva2VybmVsL01ha2VmaWxlIGIva2VybmVsL01ha2VmaWxlCmluZGV4IDFl MWEzMTY3My4uODEzZGRiZjExIDEwMDY0NAotLS0gYS9rZXJuZWwvTWFrZWZpbGUKKysrIGIv a2VybmVsL01ha2VmaWxlCkBAIC04OSw2ICs4OSw3IEBAIG9iai0kKENPTkZJR19CQUNLVFJB Q0VfU0VMRl9URVNUKSArPSBiYWNrdHJhY2V0ZXN0Lm8KIG9iai0kKENPTkZJR19DT01QQVQp ICs9IGNvbXBhdC5vCiBvYmotJChDT05GSUdfQ0dST1VQUykgKz0gY2dyb3VwLwogb2JqLSQo Q09ORklHX1VUU19OUykgKz0gdXRzbmFtZS5vCitvYmoteSArPSB1aWRnaWRfci5vCiBvYmot JChDT05GSUdfVVNFUl9OUykgKz0gdXNlcl9uYW1lc3BhY2Uubwogb2JqLSQoQ09ORklHX1BJ RF9OUykgKz0gcGlkX25hbWVzcGFjZS5vCiBvYmotJChDT05GSUdfSUtDT05GSUcpICs9IGNv bmZpZ3MubwpkaWZmIC0tZ2l0IGEva2VybmVsL3VpZGdpZF9yLmMgYi9rZXJuZWwvdWlkZ2lk X3IuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQ3MWFlY2RkYgot LS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC91aWRnaWRfci5jCkBAIC0wLDAgKzEsMzIzIEBA CisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvKgorICogQ29u dmVyc2lvbiBiZXR3ZWVuIGt1aWRfdC9rZ2lkX3QgYW5kIHRoZSBpZHMgb2YgdGhlICpfciBz eXN0ZW0gY2FsbHMKKyAqICg8dWFwaS9saW51eC91aWRnaWRfci5oPikuCisgKi8KKworI2lu Y2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2hpZ2h1aWQuaD4KKyNp bmNsdWRlIDxsaW51eC9zcHJpbnRmLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+Cisj aW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VpZGdpZC5oPgor I2luY2x1ZGUgPGxpbnV4L3VpZGdpZF9yLmg+CisjaW5jbHVkZSA8bGludXgvdXNlcl9uYW1l c3BhY2UuaD4KKworLyoKKyAqIFdoZXRoZXIgQGlkIGlzIHdlbGwgZm9ybWVkOiBhIGtub3du IHR5cGUsIHJlc2VydmVkIGJ5dGVzIHplcm8sIGEgVVVJRCBvZgorICogdmVyc2lvbiA0IHdp dGggdGhlIFJGQyA5NTYyIHZhcmlhbnQsIGEgR1VJRCBvdGhlciB0aGFuIHRoZSBuaWwgR1VJ RC4KKyAqLworc3RhdGljIGJvb2wga2lkX3JfdmFsaWQoY29uc3Qgc3RydWN0IF9fa2VybmVs X3VpZF9yICppZCkKK3sKKwlzd2l0Y2ggKGlkLT50eXBlKSB7CisJY2FzZSBVSURfUl9MRUdB Q1k6CisJCXJldHVybiAhbWVtY2hyX2ludihpZC0+dXVpZCArIHNpemVvZihpZC0+bGVnYWN5 KSwgMCwKKwkJCQkgICBVSURfUl9TSVpFIC0gc2l6ZW9mKGlkLT5sZWdhY3kpKTsKKwljYXNl IFVJRF9SX1VVSUQ6CisJCXJldHVybiAoaWQtPnV1aWRbNl0gPj4gNCkgPT0gNCAmJiAoaWQt PnV1aWRbOF0gJiAweGMwKSA9PSAweDgwOworCWNhc2UgVUlEX1JfR1VJRDoKKwkJcmV0dXJu IG1lbWNocl9pbnYoaWQtPmd1aWQsIDAsIFVJRF9SX1NJWkUpOworCX0KKwlyZXR1cm4gZmFs c2U7Cit9CisKKy8qCisgKiBUaGUga2luZCBhbmQgMTI4IGJpdCB2YWx1ZSBvZiBAaWQgZm9y IGEga3VpZF90IG9yIGtnaWRfdDsgZmFsc2UgaWYgaXQgaXMKKyAqIG5vIFVVSUQgb3IgR1VJ RCBvciBoYXMgbm8gbWFwcGluZyBpbiBAbnMuCisgKi8KK3N0YXRpYyBib29sIGtpZF9yX3Rv XzEyOChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKm5zLAorCQkJIGNvbnN0IHN0cnVjdCBfX2tl cm5lbF91aWRfciAqaWQsIHUzMiAqdHlwZSwgdXVpZF90ICpiKQoreworCWlmICgha2lkX3Jf dmFsaWQoaWQpIHx8IG5zICE9ICZpbml0X3VzZXJfbnMpCisJCXJldHVybiBmYWxzZTsKKwlp ZiAoaWQtPnR5cGUgPT0gVUlEX1JfVVVJRCkKKwkJKnR5cGUgPSBLSURfVVVJRDsKKwllbHNl IGlmIChpZC0+dHlwZSA9PSBVSURfUl9HVUlEKQorCQkqdHlwZSA9IEtJRF9HVUlEOworCWVs c2UKKwkJcmV0dXJuIGZhbHNlOworCW1lbWNweShiLT5iLCBpZC0+dXVpZCwgVUlEX1JfU0la RSk7CisJcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGtpZF8xMjhfdG9fcihzdHJ1 Y3QgdXNlcl9uYW1lc3BhY2UgKm5zLCB1MzIgdHlwZSwgY29uc3QgdXVpZF90ICpiLAorCQkJ IHN0cnVjdCBfX2tlcm5lbF91aWRfciAqaWQpCit7CisJaWYgKG5zICE9ICZpbml0X3VzZXJf bnMpCisJCXJldHVybiBmYWxzZTsKKwlpZC0+dHlwZSA9IHR5cGUgPT0gS0lEX1VVSUQgPyBV SURfUl9VVUlEIDogVUlEX1JfR1VJRDsKKwltZW1jcHkoaWQtPnV1aWQsIGItPmIsIFVJRF9S X1NJWkUpOworCXJldHVybiB0cnVlOworfQorCisvKioKKyAqIG1ha2Vfa3VpZF9yIC0gbWFw IGEgKl9yIHN5c3RlbSBjYWxsIHVpZCBpbnRvIGEga3VpZAorICogQGZyb206IHVzZXIgbmFt ZXNwYWNlIHRoZSB1aWQgaXMgaW4KKyAqIEBpZDogdGhlIHVpZAorICoKKyAqIFJldHVybjog dGhlIGt1aWQsIElOVkFMSURfVUlEIGlmIEBpZCBpcyBtYWxmb3JtZWQsIFVJRF9SX05PTkUg b3IgaGFzIG5vCisgKiBtYXBwaW5nIGluIEBmcm9tLgorICovCitrdWlkX3QgbWFrZV9rdWlk X3Ioc3RydWN0IHVzZXJfbmFtZXNwYWNlICpmcm9tLCBjb25zdCBzdHJ1Y3QgX19rZXJuZWxf dWlkX3IgKmlkKQoreworCWt1aWRfdCB1aWQgPSBJTlZBTElEX1VJRDsKKworCWlmIChpZC0+ dHlwZSA9PSBVSURfUl9MRUdBQ1kgJiYga2lkX3JfdmFsaWQoaWQpKQorCQlyZXR1cm4gbWFr ZV9rdWlkKGZyb20sIGlkLT5sZWdhY3kpOworCWlmICgha2lkX3JfdG9fMTI4KGZyb20sIGlk LCAmdWlkLnR5cGUsICZ1aWQudXVpZCkpCisJCXJldHVybiBJTlZBTElEX1VJRDsKKwlyZXR1 cm4gdWlkOworfQorRVhQT1JUX1NZTUJPTChtYWtlX2t1aWRfcik7CisKKy8qKgorICogbWFr ZV9rZ2lkX3IgLSBtYXAgYSAqX3Igc3lzdGVtIGNhbGwgZ2lkIGludG8gYSBrZ2lkCisgKiBA ZnJvbTogdXNlciBuYW1lc3BhY2UgdGhlIGdpZCBpcyBpbgorICogQGlkOiB0aGUgZ2lkCisg KgorICogUmV0dXJuOiB0aGUga2dpZCwgSU5WQUxJRF9HSUQgaWYgQGlkIGlzIG1hbGZvcm1l ZCwgVUlEX1JfTk9ORSBvciBoYXMgbm8KKyAqIG1hcHBpbmcgaW4gQGZyb20uCisgKi8KK2tn aWRfdCBtYWtlX2tnaWRfcihzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKmZyb20sIGNvbnN0IHN0 cnVjdCBfX2tlcm5lbF91aWRfciAqaWQpCit7CisJa2dpZF90IGdpZCA9IElOVkFMSURfR0lE OworCisJaWYgKGlkLT50eXBlID09IFVJRF9SX0xFR0FDWSAmJiBraWRfcl92YWxpZChpZCkp CisJCXJldHVybiBtYWtlX2tnaWQoZnJvbSwgaWQtPmxlZ2FjeSk7CisJaWYgKCFraWRfcl90 b18xMjgoZnJvbSwgaWQsICZnaWQudHlwZSwgJmdpZC51dWlkKSkKKwkJcmV0dXJuIElOVkFM SURfR0lEOworCXJldHVybiBnaWQ7Cit9CitFWFBPUlRfU1lNQk9MKG1ha2Vfa2dpZF9yKTsK KworLyoqCisgKiBmcm9tX2t1aWRfciAtIG1hcCBhIGt1aWQgaW50byBhICpfciBzeXN0ZW0g Y2FsbCB1aWQKKyAqIEB0bzogdXNlciBuYW1lc3BhY2UgdGhlIHVpZCBpcyB3YW50ZWQgaW4K KyAqIEB1aWQ6IHRoZSBrdWlkCisgKiBAaWQ6IHRoZSB1aWQsIGFsbCB6ZXJvIChVSURfUl9O T05FKSBpZiB0aGVyZSBpcyBubyBtYXBwaW5nCisgKgorICogUmV0dXJuOiB3aGV0aGVyIEB1 aWQgaGFzIGEgbWFwcGluZyBpbiBAdG8uCisgKi8KK2Jvb2wgZnJvbV9rdWlkX3Ioc3RydWN0 IHVzZXJfbmFtZXNwYWNlICp0bywga3VpZF90IHVpZCwgc3RydWN0IF9fa2VybmVsX3VpZF9y ICppZCkKK3sKKwltZW1zZXQoaWQsIDAsIHNpemVvZigqaWQpKTsKKwlpZiAodWlkX2lzX2xl Z2FjeSh1aWQpKSB7CisJCXVpZF90IHYgPSBmcm9tX2t1aWQodG8sIHVpZCk7CisKKwkJaWYg KHYgPT0gKHVpZF90KS0xKQorCQkJcmV0dXJuIGZhbHNlOworCQlpZC0+dHlwZSA9IFVJRF9S X0xFR0FDWTsKKwkJaWQtPmxlZ2FjeSA9IHY7CisJCXJldHVybiB0cnVlOworCX0KKwlyZXR1 cm4ga2lkXzEyOF90b19yKHRvLCB1aWQudHlwZSwgJnVpZC51dWlkLCBpZCk7Cit9CitFWFBP UlRfU1lNQk9MKGZyb21fa3VpZF9yKTsKKworLyoqCisgKiBmcm9tX2tnaWRfciAtIG1hcCBh IGtnaWQgaW50byBhICpfciBzeXN0ZW0gY2FsbCBnaWQKKyAqIEB0bzogdXNlciBuYW1lc3Bh Y2UgdGhlIGdpZCBpcyB3YW50ZWQgaW4KKyAqIEBnaWQ6IHRoZSBrZ2lkCisgKiBAaWQ6IHRo ZSBnaWQsIGFsbCB6ZXJvIChVSURfUl9OT05FKSBpZiB0aGVyZSBpcyBubyBtYXBwaW5nCisg KgorICogUmV0dXJuOiB3aGV0aGVyIEBnaWQgaGFzIGEgbWFwcGluZyBpbiBAdG8uCisgKi8K K2Jvb2wgZnJvbV9rZ2lkX3Ioc3RydWN0IHVzZXJfbmFtZXNwYWNlICp0bywga2dpZF90IGdp ZCwgc3RydWN0IF9fa2VybmVsX3VpZF9yICppZCkKK3sKKwltZW1zZXQoaWQsIDAsIHNpemVv ZigqaWQpKTsKKwlpZiAoZ2lkX2lzX2xlZ2FjeShnaWQpKSB7CisJCWdpZF90IHYgPSBmcm9t X2tnaWQodG8sIGdpZCk7CisKKwkJaWYgKHYgPT0gKGdpZF90KS0xKQorCQkJcmV0dXJuIGZh bHNlOworCQlpZC0+dHlwZSA9IFVJRF9SX0xFR0FDWTsKKwkJaWQtPmxlZ2FjeSA9IHY7CisJ CXJldHVybiB0cnVlOworCX0KKwlyZXR1cm4ga2lkXzEyOF90b19yKHRvLCBnaWQudHlwZSwg JmdpZC51dWlkLCBpZCk7Cit9CitFWFBPUlRfU1lNQk9MKGZyb21fa2dpZF9yKTsKKworLyoq CisgKiBmcm9tX2t1aWRfcl9tdW5nZWQgLSBtYXAgYSBrdWlkIGludG8gYSAqX3Igc3lzdGVt IGNhbGwgdWlkLCBuZXZlciBmYWlsaW5nCisgKiBAdG86IHVzZXIgbmFtZXNwYWNlIHRoZSB1 aWQgaXMgd2FudGVkIGluCisgKiBAdWlkOiB0aGUga3VpZAorICogQGlkOiB0aGUgdWlkLCBv dmVyZmxvd3VpZCBpZiBAdWlkIGhhcyBubyBtYXBwaW5nIGluIEB0bworICovCit2b2lkIGZy b21fa3VpZF9yX211bmdlZChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnRvLCBrdWlkX3QgdWlk LAorCQkJc3RydWN0IF9fa2VybmVsX3VpZF9yICppZCkKK3sKKwlpZiAoIWZyb21fa3VpZF9y KHRvLCB1aWQsIGlkKSkgeworCQlpZC0+dHlwZSA9IFVJRF9SX0xFR0FDWTsKKwkJaWQtPmxl Z2FjeSA9IG92ZXJmbG93dWlkOworCX0KK30KK0VYUE9SVF9TWU1CT0woZnJvbV9rdWlkX3Jf bXVuZ2VkKTsKKworLyoqCisgKiBmcm9tX2tnaWRfcl9tdW5nZWQgLSBtYXAgYSBrZ2lkIGlu dG8gYSAqX3Igc3lzdGVtIGNhbGwgZ2lkLCBuZXZlciBmYWlsaW5nCisgKiBAdG86IHVzZXIg bmFtZXNwYWNlIHRoZSBnaWQgaXMgd2FudGVkIGluCisgKiBAZ2lkOiB0aGUga2dpZAorICog QGlkOiB0aGUgZ2lkLCBvdmVyZmxvd2dpZCBpZiBAZ2lkIGhhcyBubyBtYXBwaW5nIGluIEB0 bworICovCit2b2lkIGZyb21fa2dpZF9yX211bmdlZChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2Ug KnRvLCBrZ2lkX3QgZ2lkLAorCQkJc3RydWN0IF9fa2VybmVsX3VpZF9yICppZCkKK3sKKwlp ZiAoIWZyb21fa2dpZF9yKHRvLCBnaWQsIGlkKSkgeworCQlpZC0+dHlwZSA9IFVJRF9SX0xF R0FDWTsKKwkJaWQtPmxlZ2FjeSA9IG92ZXJmbG93Z2lkOworCX0KK30KK0VYUE9SVF9TWU1C T0woZnJvbV9rZ2lkX3JfbXVuZ2VkKTsKKworLyoKKyAqICJObyBpZCIgZnJvbSB1c2Vyc3Bh Y2U6IG5vIHBvaW50ZXIsIFVJRF9SX05PTkUsIG9yIHRoZSBjbGFzc2ljIC0xLiBUaGUKKyAq IHNldCppZF9yKCkgYW5kIGNob3duX3IoKSBjYWxscyB0YWtlIGl0IGFzICJsZWF2ZSB1bmNo YW5nZWQiLgorICovCitzdGF0aWMgYm9vbCBraWRfcl9pc19ub25lKGNvbnN0IHN0cnVjdCBf X2tlcm5lbF91aWRfciAqaWQpCit7CisJcmV0dXJuIGlkLT50eXBlID09IFVJRF9SX05PTkUg fHwKKwkgICAgICAgKGlkLT50eXBlID09IFVJRF9SX0xFR0FDWSAmJiBpZC0+bGVnYWN5ID09 ICh1MzIpLTEpOworfQorCisvKioKKyAqIGdldF9rdWlkX3IgLSByZWFkIGEgdWlkIG9mIGEg Kl9yIHN5c3RlbSBjYWxsIGZyb20gdXNlcnNwYWNlCisgKiBAZnJvbTogdXNlciBuYW1lc3Bh Y2UgdGhlIHVpZCBpcyBpbgorICogQHVpZDogdGhlIHVpZCwgb3IgTlVMTAorICogQGt1aWQ6 IHRoZSBrdWlkLCBJTlZBTElEX1VJRCBmb3IgIm5vIGlkIiAoTlVMTCwgVUlEX1JfTk9ORSBv ciAtMSkKKyAqCisgKiBSZXR1cm46IDAsIC1FRkFVTFQsIG9yIC1FSU5WQUwgaWYgdGhlIHVp ZCBpcyBtYWxmb3JtZWQgb3IgaGFzIG5vIG1hcHBpbmcKKyAqIGluIEBmcm9tLgorICovCitp bnQgZ2V0X2t1aWRfcihzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKmZyb20sCisJICAgICAgIGNv bnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKnVpZCwga3VpZF90ICprdWlkKQor eworCXN0cnVjdCBfX2tlcm5lbF91aWRfciBpZDsKKworCSprdWlkID0gSU5WQUxJRF9VSUQ7 CisJaWYgKCF1aWQpCisJCXJldHVybiAwOworCWlmIChjb3B5X2Zyb21fdXNlcigmaWQsIHVp ZCwgc2l6ZW9mKGlkKSkpCisJCXJldHVybiAtRUZBVUxUOworCWlmIChraWRfcl9pc19ub25l KCZpZCkpCisJCXJldHVybiAwOworCSprdWlkID0gbWFrZV9rdWlkX3IoZnJvbSwgJmlkKTsK KwlyZXR1cm4gdWlkX3ZhbGlkKCprdWlkKSA/IDAgOiAtRUlOVkFMOworfQorRVhQT1JUX1NZ TUJPTChnZXRfa3VpZF9yKTsKKworLyoqCisgKiBnZXRfa2dpZF9yIC0gcmVhZCBhIGdpZCBv ZiBhICpfciBzeXN0ZW0gY2FsbCBmcm9tIHVzZXJzcGFjZQorICogQGZyb206IHVzZXIgbmFt ZXNwYWNlIHRoZSBnaWQgaXMgaW4KKyAqIEBnaWQ6IHRoZSBnaWQsIG9yIE5VTEwKKyAqIEBr Z2lkOiB0aGUga2dpZCwgSU5WQUxJRF9HSUQgZm9yICJubyBpZCIgKE5VTEwsIFVJRF9SX05P TkUgb3IgLTEpCisgKgorICogUmV0dXJuOiAwLCAtRUZBVUxULCBvciAtRUlOVkFMIGlmIHRo ZSBnaWQgaXMgbWFsZm9ybWVkIG9yIGhhcyBubyBtYXBwaW5nCisgKiBpbiBAZnJvbS4KKyAq LworaW50IGdldF9rZ2lkX3Ioc3RydWN0IHVzZXJfbmFtZXNwYWNlICpmcm9tLAorCSAgICAg ICBjb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpnaWQsIGtnaWRfdCAqa2dp ZCkKK3sKKwlzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgaWQ7CisKKwkqa2dpZCA9IElOVkFMSURf R0lEOworCWlmICghZ2lkKQorCQlyZXR1cm4gMDsKKwlpZiAoY29weV9mcm9tX3VzZXIoJmlk LCBnaWQsIHNpemVvZihpZCkpKQorCQlyZXR1cm4gLUVGQVVMVDsKKwlpZiAoa2lkX3JfaXNf bm9uZSgmaWQpKQorCQlyZXR1cm4gMDsKKwkqa2dpZCA9IG1ha2Vfa2dpZF9yKGZyb20sICZp ZCk7CisJcmV0dXJuIGdpZF92YWxpZCgqa2dpZCkgPyAwIDogLUVJTlZBTDsKK30KK0VYUE9S VF9TWU1CT0woZ2V0X2tnaWRfcik7CisKKy8qKgorICogcHV0X2t1aWRfciAtIHdyaXRlIGEg a3VpZCB0byB1c2Vyc3BhY2UgYXMgYSAqX3Igc3lzdGVtIGNhbGwgdWlkCisgKiBAdG86IHVz ZXIgbmFtZXNwYWNlIHRoZSB1aWQgaXMgd2FudGVkIGluCisgKiBAa3VpZDogdGhlIGt1aWQK KyAqIEB1aWQ6IHdoZXJlIHRvIHB1dCBpdCwgb3ZlcmZsb3d1aWQgaWYgQGt1aWQgaGFzIG5v IG1hcHBpbmcgaW4gQHRvCisgKgorICogUmV0dXJuOiAwIG9yIC1FRkFVTFQuCisgKi8KK2lu dCBwdXRfa3VpZF9yKHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqdG8sIGt1aWRfdCBrdWlkLAor CSAgICAgICBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICp1aWQpCit7CisJc3RydWN0 IF9fa2VybmVsX3VpZF9yIGlkOworCisJZnJvbV9rdWlkX3JfbXVuZ2VkKHRvLCBrdWlkLCAm aWQpOworCXJldHVybiBjb3B5X3RvX3VzZXIodWlkLCAmaWQsIHNpemVvZihpZCkpID8gLUVG QVVMVCA6IDA7Cit9CitFWFBPUlRfU1lNQk9MKHB1dF9rdWlkX3IpOworCisvKioKKyAqIHB1 dF9rZ2lkX3IgLSB3cml0ZSBhIGtnaWQgdG8gdXNlcnNwYWNlIGFzIGEgKl9yIHN5c3RlbSBj YWxsIGdpZAorICogQHRvOiB1c2VyIG5hbWVzcGFjZSB0aGUgZ2lkIGlzIHdhbnRlZCBpbgor ICogQGtnaWQ6IHRoZSBrZ2lkCisgKiBAZ2lkOiB3aGVyZSB0byBwdXQgaXQsIG92ZXJmbG93 Z2lkIGlmIEBrZ2lkIGhhcyBubyBtYXBwaW5nIGluIEB0bworICoKKyAqIFJldHVybjogMCBv ciAtRUZBVUxULgorICovCitpbnQgcHV0X2tnaWRfcihzdHJ1Y3QgdXNlcl9uYW1lc3BhY2Ug KnRvLCBrZ2lkX3Qga2dpZCwKKwkgICAgICAgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNl ciAqZ2lkKQoreworCXN0cnVjdCBfX2tlcm5lbF91aWRfciBpZDsKKworCWZyb21fa2dpZF9y X211bmdlZCh0bywga2dpZCwgJmlkKTsKKwlyZXR1cm4gY29weV90b191c2VyKGdpZCwgJmlk LCBzaXplb2YoaWQpKSA/IC1FRkFVTFQgOiAwOworfQorRVhQT1JUX1NZTUJPTChwdXRfa2dp ZF9yKTsKKworc3RhdGljIGNoYXIgKmtpZF9zdHIodTMyIHR5cGUsIHUzMiBsZWdhY3ksIGNv bnN0IHV1aWRfdCAqYiwgY2hhciAqYnVmKQoreworCXN3aXRjaCAodHlwZSkgeworCWNhc2Ug S0lEX0xFR0FDWToKKwkJc25wcmludGYoYnVmLCBLSURfU1RSX0xFTiwgIiV1IiwgbGVnYWN5 KTsKKwkJYnJlYWs7CisJY2FzZSBLSURfVVVJRDoKKwkJc25wcmludGYoYnVmLCBLSURfU1RS X0xFTiwgIiVwVWIiLCBiKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJc25wcmludGYoYnVm LCBLSURfU1RSX0xFTiwgInslcFVsfSIsIGIpOworCQlicmVhazsKKwl9CisJcmV0dXJuIGJ1 ZjsKK30KKworLyoqCisgKiBrdWlkX3N0ciAtIHRleHQgZm9ybSBvZiBhIGt1aWQsIGZvciBs b2dzIGFuZCBwcm9jZnMKKyAqIEB1aWQ6IHRoZSBrdWlkCisgKiBAYnVmOiBidWZmZXIgb2Yg S0lEX1NUUl9MRU4gYnl0ZXMKKyAqCisgKiBSZXR1cm46IEBidWYsIGhvbGRpbmcgQHVpZCBp biB0aGUgaW5pdGlhbCB1c2VyIG5hbWVzcGFjZTogYSBkZWNpbWFsCisgKiBudW1iZXIsIGEg VVVJRCwgb3IgYSBHVUlEIGluIGJyYWNlcy4KKyAqLworY2hhciAqa3VpZF9zdHIoa3VpZF90 IHVpZCwgY2hhciBidWZbS0lEX1NUUl9MRU5dKQoreworCXJldHVybiBraWRfc3RyKHVpZC50 eXBlLCBfX2t1aWRfdmFsKHVpZCksICZ1aWQudXVpZCwgYnVmKTsKK30KK0VYUE9SVF9TWU1C T0woa3VpZF9zdHIpOworCisvKioKKyAqIGtnaWRfc3RyIC0gdGV4dCBmb3JtIG9mIGEga2dp ZCwgZm9yIGxvZ3MgYW5kIHByb2NmcworICogQGdpZDogdGhlIGtnaWQKKyAqIEBidWY6IGJ1 ZmZlciBvZiBLSURfU1RSX0xFTiBieXRlcworICoKKyAqIFJldHVybjogQGJ1ZiwgaG9sZGlu ZyBAZ2lkIGluIHRoZSBpbml0aWFsIHVzZXIgbmFtZXNwYWNlOiBhIGRlY2ltYWwKKyAqIG51 bWJlciwgYSBVVUlELCBvciBhIEdVSUQgaW4gYnJhY2VzLgorICovCitjaGFyICprZ2lkX3N0 cihrZ2lkX3QgZ2lkLCBjaGFyIGJ1ZltLSURfU1RSX0xFTl0pCit7CisJcmV0dXJuIGtpZF9z dHIoZ2lkLnR5cGUsIF9fa2dpZF92YWwoZ2lkKSwgJmdpZC51dWlkLCBidWYpOworfQorRVhQ T1JUX1NZTUJPTChrZ2lkX3N0cik7Cg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0011-fscrypt-show-the-whole-uid-in-the-description-of-use.patch" Content-Disposition: attachment; filename*0="uid_r-0011-fscrypt-show-the-whole-uid-in-the-description-of-"; filename*1="use.patch" Content-Transfer-Encoding: base64 RnJvbSBmZjQwNTc0OWY0MTVlNjgyZmExY2U5OWM3ZGNiYTg3OTVmZTM1OTk3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjIwOjMzICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxMS80M10gZnNjcnlwdDogc2hvdyB0aGUgd2hvbGUgdWlkIGluIHRoZSBkZXNjcmlw dGlvbiBvZiB1c2VyCiBrZXkgY2xhaW1zCgpUaGUgIi5mc2NyeXB0IiBrZXlzIHRoYXQgYWNj b3VudCBhIG1hc3RlciBrZXkgdG8gYSB1c2VyIGFyZSBkZXNjcmliZWQKYXMgIjxpZGVudGlm aWVyPi51aWQuPHVpZD4iLiBGb3IgYSBVVUlEIG9yIEdVSUQgdWlkIHRoYXQgcHJpbnRlZCAt MTsKdXNlIGt1aWRfc3RyKCkgc28gL3Byb2Mva2V5cyBzaG93cyB3aG8gdGhlIGNsYWltIGJl bG9uZ3MgdG8uIExvb2t1cHMKY29tcGFyZSB0aGUga3VpZCBpdHNlbGYgYW5kIGFyZSBub3Qg YWZmZWN0ZWQuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUtNQotLS0KIGZz L2NyeXB0by9rZXlyaW5nLmMgfCA3ICsrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZnMvY3J5cHRvL2tleXJp bmcuYyBiL2ZzL2NyeXB0by9rZXlyaW5nLmMKaW5kZXggMzhiNzNlNzAzLi4xYjllODAyMjMg MTAwNjQ0Ci0tLSBhL2ZzL2NyeXB0by9rZXlyaW5nLmMKKysrIGIvZnMvY3J5cHRvL2tleXJp bmcuYwpAQCAtMTc4LDcgKzE3OCw3IEBAIHN0YXRpYyBzdHJ1Y3Qga2V5X3R5cGUga2V5X3R5 cGVfZnNjcnlwdF91c2VyID0gewogfTsKIAogI2RlZmluZSBGU0NSWVBUX01LX1VTRVJfREVT Q1JJUFRJT05fU0laRQlcCi0JKDIgKiBGU0NSWVBUX0tFWV9JREVOVElGSUVSX1NJWkUgKyBD T05TVF9TVFJMRU4oIi51aWQuIikgKyAxMCArIDEpCisJKDIgKiBGU0NSWVBUX0tFWV9JREVO VElGSUVSX1NJWkUgKyBDT05TVF9TVFJMRU4oIi51aWQuIikgKyBLSURfU1RSX0xFTikKIAog LyogQ3JlYXRlIC0+c19tYXN0ZXJfa2V5cyBpZiBuZWVkZWQuICBTeW5jaHJvbml6ZWQgYnkg ZnNjcnlwdF9hZGRfa2V5X211dGV4LiAqLwogc3RhdGljIGludCBhbGxvY2F0ZV9maWxlc3lz dGVtX2tleXJpbmcoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKQEAgLTMzOCwxMyArMzM4LDE0 IEBAIHN0YXRpYyBpbnQgYWRkX21hc3Rlcl9rZXlfdXNlcihzdHJ1Y3QgZnNjcnlwdF9tYXN0 ZXJfa2V5ICptaykKIHsKIAlrdWlkX3QgdWlkID0gY3VycmVudF9mc3VpZCgpOwogCWNoYXIg ZGVzY3JpcHRpb25bRlNDUllQVF9NS19VU0VSX0RFU0NSSVBUSU9OX1NJWkVdOworCWNoYXIg dWlkYnVmW0tJRF9TVFJfTEVOXTsKIAlzdHJ1Y3Qga2V5ICpxdW90YV9rZXk7CiAJc3RydWN0 IGZzY3J5cHRfbWFzdGVyX2tleV91c2VyICpta191c2VyOwogCWludCBlcnI7CiAKLQlzbnBy aW50ZihkZXNjcmlwdGlvbiwgc2l6ZW9mKGRlc2NyaXB0aW9uKSwgIiUqcGhOLnVpZC4ldSIs CisJc25wcmludGYoZGVzY3JpcHRpb24sIHNpemVvZihkZXNjcmlwdGlvbiksICIlKnBoTi51 aWQuJXMiLAogCQkgRlNDUllQVF9LRVlfSURFTlRJRklFUl9TSVpFLCBtay0+bWtfc3BlYy51 LmlkZW50aWZpZXIsCi0JCSBfX2t1aWRfdmFsKHVpZCkpOworCQkga3VpZF9zdHIodWlkLCB1 aWRidWYpKTsKIAlxdW90YV9rZXkgPSBrZXlfYWxsb2MoJmtleV90eXBlX2ZzY3J5cHRfdXNl ciwgZGVzY3JpcHRpb24sIHVpZCwKIAkJCSAgICAgIGN1cnJlbnRfZ2lkKCksIGN1cnJlbnRf Y3JlZCgpLAogCQkJICAgICAgS0VZX1BPU19TRUFSQ0ggfCBLRVlfVVNSX1ZJRVcsIDAsIE5V TEwpOwo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0012-keys-name-per-user-keyrings-of-UUID-and-GUID-users-b.patch" Content-Disposition: attachment; filename*0="uid_r-0012-keys-name-per-user-keyrings-of-UUID-and-GUID-user"; filename*1="s-b.patch" Content-Transfer-Encoding: base64 RnJvbSBmNjgzMzcyOTAxN2Q5NjllZWI3MDZjOGQwMjVjZWVjZmNiZDEwOWUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA2OjAxOjUyICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxMi80M10ga2V5czogbmFtZSBwZXItdXNlciBrZXlyaW5ncyBvZiBVVUlEIGFuZCBH VUlEIHVzZXJzIGJ5CiB0aGUgd2hvbGUgdWlkCgpUaGUgdXNlciBrZXlyaW5nLCB0aGUgdXNl ciBzZXNzaW9uIGtleXJpbmcgYW5kIHRoZSBwZXJzaXN0ZW50IGtleXJpbmcKYXJlIGZvdW5k IGJ5IG5hbWU6ICJfdWlkLjx1aWQ+IiwgIl91aWRfc2VzLjx1aWQ+IiBhbmQKIl9wZXJzaXN0 ZW50Ljx1aWQ+IiwgdGhlIHVpZCBpbiB0aGUgY2FsbGVyJ3MgdXNlciBuYW1lc3BhY2UuIEEg VVVJRCBvcgpHVUlEIHVpZCBoYXMgbm9uZSBhbmQgY29tZXMgb3V0IGFzIC0xLCBzbyBhbGwg c3VjaCB1c2VycyB3b3VsZCBmaW5kCmFuZCBzaGFyZSB0aGUgc2FtZSBrZXlyaW5ncyAtLSBl YWNoIG90aGVyJ3Mga2V5cy4KCk5hbWUgdGhlaXIga2V5cmluZ3MgYWZ0ZXIgdGhlIHRleHQg Zm9ybSBvZiB0aGUgdWlkIChrdWlkX3N0cigpKSwgd2hpY2gKaXMgdW5pcXVlOyBjbGFzc2lj IHVpZHMga2VlcCB0aGVpciBuYW1lcy4gSGFuZCByZXF1ZXN0LWtleSB0aGUgdGV4dApmb3Jt IGFzIHdlbGwgaW5zdGVhZCBvZiAtMS4KCkFsc28gYWRkIEtFWUNUTF9DSE9XTl9SLCBLRVlD VExfQ0hPV04gd2l0aCBfX2tlcm5lbF91aWRfcl90IGlkcywgc28ga2V5cwpjYW4gYmUgZ2l2 ZW4gdG8gVVVJRCBhbmQgR1VJRCB1c2VycyBhbmQgZ3JvdXBzLgoKQXNzaXN0ZWQtYnk6IENs YXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBpbmNsdWRlL3VhcGkvbGludXgva2V5Y3RsLmgg IHwgIDEgKwogc2VjdXJpdHkva2V5cy9jb21wYXQuYyAgICAgICB8ICAzICsrCiBzZWN1cml0 eS9rZXlzL2ludGVybmFsLmggICAgIHwgIDMgKysKIHNlY3VyaXR5L2tleXMva2V5Y3RsLmMg ICAgICAgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIHNlY3Vy aXR5L2tleXMvcGVyc2lzdGVudC5jICAgfCAxMSArKysrKy0tCiBzZWN1cml0eS9rZXlzL3By b2Nlc3Nfa2V5cy5jIHwgMzYgKysrKysrKysrKysrKysrLS0tLS0tCiBzZWN1cml0eS9rZXlz L3JlcXVlc3Rfa2V5LmMgIHwgMTIgKysrKystLQogNyBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNl cnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkv bGludXgva2V5Y3RsLmggYi9pbmNsdWRlL3VhcGkvbGludXgva2V5Y3RsLmgKaW5kZXggNGM4 ODg0ZWVhLi43M2VlMGNiN2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9rZXlj dGwuaAorKysgYi9pbmNsdWRlL3VhcGkvbGludXgva2V5Y3RsLmgKQEAgLTcwLDYgKzcwLDcg QEAKICNkZWZpbmUgS0VZQ1RMX01PVkUJCQkzMAkvKiBNb3ZlIGtleXMgYmV0d2VlbiBrZXly aW5ncyAqLwogI2RlZmluZSBLRVlDVExfQ0FQQUJJTElUSUVTCQkzMQkvKiBGaW5kIGNhcGFi aWxpdGllcyBvZiBrZXlyaW5ncyBzdWJzeXN0ZW0gKi8KICNkZWZpbmUgS0VZQ1RMX1dBVENI X0tFWQkJMzIJLyogV2F0Y2ggYSBrZXkgb3IgcmluZyBvZiBrZXlzIGZvciBjaGFuZ2VzICov CisjZGVmaW5lIEtFWUNUTF9DSE9XTl9SCQkJMzMJLyogc2V0IG93bmVyc2hpcCBvZiBhIGtl eSwgX19rZXJuZWxfdWlkX3JfdCBpZHMgKi8KIAogLyoga2V5Y3RsIHN0cnVjdHVyZXMgKi8K IHN0cnVjdCBrZXljdGxfZGhfcGFyYW1zIHsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2tleXMv Y29tcGF0LmMgYi9zZWN1cml0eS9rZXlzL2NvbXBhdC5jCmluZGV4IDE1NDVlZmRjYS4uYzdh Y2Y3ZGI1IDEwMDY0NAotLS0gYS9zZWN1cml0eS9rZXlzL2NvbXBhdC5jCisrKyBiL3NlY3Vy aXR5L2tleXMvY29tcGF0LmMKQEAgLTUyLDYgKzUyLDkgQEAgQ09NUEFUX1NZU0NBTExfREVG SU5FNShrZXljdGwsIHUzMiwgb3B0aW9uLAogCWNhc2UgS0VZQ1RMX0NIT1dOOgogCQlyZXR1 cm4ga2V5Y3RsX2Nob3duX2tleShhcmcyLCBhcmczLCBhcmc0KTsKIAorCWNhc2UgS0VZQ1RM X0NIT1dOX1I6CisJCXJldHVybiBrZXljdGxfY2hvd25fa2V5X3IoYXJnMiwgY29tcGF0X3B0 cihhcmczKSwgY29tcGF0X3B0cihhcmc0KSk7CisKIAljYXNlIEtFWUNUTF9TRVRQRVJNOgog CQlyZXR1cm4ga2V5Y3RsX3NldHBlcm1fa2V5KGFyZzIsIGFyZzMpOwogCmRpZmYgLS1naXQg YS9zZWN1cml0eS9rZXlzL2ludGVybmFsLmggYi9zZWN1cml0eS9rZXlzL2ludGVybmFsLmgK aW5kZXggYjdiNjIyYmMzLi42Mzg3NGZhNTMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2tleXMv aW50ZXJuYWwuaAorKysgYi9zZWN1cml0eS9rZXlzL2ludGVybmFsLmgKQEAgLTI0OSw2ICsy NDksOSBAQCBleHRlcm4gbG9uZyBrZXljdGxfa2V5cmluZ19zZWFyY2goa2V5X3NlcmlhbF90 LCBjb25zdCBjaGFyIF9fdXNlciAqLAogCQkJCSAgY29uc3QgY2hhciBfX3VzZXIgKiwga2V5 X3NlcmlhbF90KTsKIGV4dGVybiBsb25nIGtleWN0bF9yZWFkX2tleShrZXlfc2VyaWFsX3Qs IGNoYXIgX191c2VyICosIHNpemVfdCk7CiBleHRlcm4gbG9uZyBrZXljdGxfY2hvd25fa2V5 KGtleV9zZXJpYWxfdCwgdWlkX3QsIGdpZF90KTsKK2V4dGVybiBsb25nIGtleWN0bF9jaG93 bl9rZXlfcihrZXlfc2VyaWFsX3QgaWQsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IF9fa2Vy bmVsX3VpZF9yIF9fdXNlciAqdXNlciwKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgX19rZXJu ZWxfdWlkX3IgX191c2VyICpncm91cCk7CiBleHRlcm4gbG9uZyBrZXljdGxfc2V0cGVybV9r ZXkoa2V5X3NlcmlhbF90LCBrZXlfcGVybV90KTsKIGV4dGVybiBsb25nIGtleWN0bF9pbnN0 YW50aWF0ZV9rZXkoa2V5X3NlcmlhbF90LCBjb25zdCB2b2lkIF9fdXNlciAqLAogCQkJCSAg IHNpemVfdCwga2V5X3NlcmlhbF90KTsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2tleXMva2V5 Y3RsLmMgYi9zZWN1cml0eS9rZXlzL2tleWN0bC5jCmluZGV4IGQxNGFjZTg4ZS4uOTg0Yzlj NTRhIDEwMDY0NAotLS0gYS9zZWN1cml0eS9rZXlzL2tleWN0bC5jCisrKyBiL3NlY3VyaXR5 L2tleXMva2V5Y3RsLmMKQEAgLTk0NiwyNiArOTQ2LDE3IEBAIGxvbmcga2V5Y3RsX3JlYWRf a2V5KGtleV9zZXJpYWxfdCBrZXlpZCwgY2hhciBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90IGJ1 ZmxlbikKICAqCiAgKiBJZiBzdWNjZXNzZnVsLCAwIHdpbGwgYmUgcmV0dXJuZWQuCiAgKi8K LWxvbmcga2V5Y3RsX2Nob3duX2tleShrZXlfc2VyaWFsX3QgaWQsIHVpZF90IHVzZXIsIGdp ZF90IGdyb3VwKQorc3RhdGljIGxvbmcga2V5Y3RsX2Nob3duX2tpZChrZXlfc2VyaWFsX3Qg aWQsIGt1aWRfdCB1aWQsIGtnaWRfdCBnaWQpCiB7CiAJc3RydWN0IGtleV91c2VyICpuZXdv d25lciwgKnphcG93bmVyID0gTlVMTDsKIAlzdHJ1Y3Qga2V5ICprZXk7CiAJa2V5X3JlZl90 IGtleV9yZWY7CiAJbG9uZyByZXQ7Ci0Ja3VpZF90IHVpZDsKLQlrZ2lkX3QgZ2lkOwogCXVu c2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQl1aWQgPSBtYWtlX2t1aWQoY3VycmVudF91c2VyX25z KCksIHVzZXIpOwotCWdpZCA9IG1ha2Vfa2dpZChjdXJyZW50X3VzZXJfbnMoKSwgZ3JvdXAp OwotCXJldCA9IC1FSU5WQUw7Ci0JaWYgKCh1c2VyICE9ICh1aWRfdCkgLTEpICYmICF1aWRf dmFsaWQodWlkKSkKLQkJZ290byBlcnJvcjsKLQlpZiAoKGdyb3VwICE9IChnaWRfdCkgLTEp ICYmICFnaWRfdmFsaWQoZ2lkKSkKLQkJZ290byBlcnJvcjsKLQorCS8qIGludmFsaWQgaWRz IGxlYXZlIHRoZSBvd25lciBvciBncm91cCB1bmNoYW5nZWQgKi8KIAlyZXQgPSAwOwotCWlm ICh1c2VyID09ICh1aWRfdCkgLTEgJiYgZ3JvdXAgPT0gKGdpZF90KSAtMSkKKwlpZiAoIXVp ZF92YWxpZCh1aWQpICYmICFnaWRfdmFsaWQoZ2lkKSkKIAkJZ290byBlcnJvcjsKIAogCWtl eV9yZWYgPSBsb29rdXBfdXNlcl9rZXkoaWQsIEtFWV9MT09LVVBfQ1JFQVRFIHwgS0VZX0xP T0tVUF9QQVJUSUFMLApAQCAtOTg1LDEyICs5NzYsMTIgQEAgbG9uZyBrZXljdGxfY2hvd25f a2V5KGtleV9zZXJpYWxfdCBpZCwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXApCiAJCWJvb2wg aXNfcHJpdmlsZWdlZF9vcCA9IGZhbHNlOwogCiAJCS8qIG9ubHkgdGhlIHN5c2FkbWluIGNh biBjaG93biBhIGtleSB0byBzb21lIG90aGVyIFVJRCAqLwotCQlpZiAodXNlciAhPSAodWlk X3QpIC0xICYmICF1aWRfZXEoa2V5LT51aWQsIHVpZCkpCisJCWlmICh1aWRfdmFsaWQodWlk KSAmJiAhdWlkX2VxKGtleS0+dWlkLCB1aWQpKQogCQkJaXNfcHJpdmlsZWdlZF9vcCA9IHRy dWU7CiAKIAkJLyogb25seSB0aGUgc3lzYWRtaW4gY2FuIHNldCB0aGUga2V5J3MgR0lEIHRv IGEgZ3JvdXAgb3RoZXIKIAkJICogdGhhbiBvbmUgb2YgdGhvc2UgdGhhdCB0aGUgY3VycmVu dCBwcm9jZXNzIHN1YnNjcmliZXMgdG8gKi8KLQkJaWYgKGdyb3VwICE9IChnaWRfdCkgLTEg JiYgIWdpZF9lcShnaWQsIGtleS0+Z2lkKSAmJiAhaW5fZ3JvdXBfcChnaWQpKQorCQlpZiAo Z2lkX3ZhbGlkKGdpZCkgJiYgIWdpZF9lcShnaWQsIGtleS0+Z2lkKSAmJiAhaW5fZ3JvdXBf cChnaWQpKQogCQkJaXNfcHJpdmlsZWdlZF9vcCA9IHRydWU7CiAKIAkJaWYgKGlzX3ByaXZp bGVnZWRfb3AgJiYgIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCkBAIC05OTgsNyArOTg5LDcg QEAgbG9uZyBrZXljdGxfY2hvd25fa2V5KGtleV9zZXJpYWxfdCBpZCwgdWlkX3QgdXNlciwg Z2lkX3QgZ3JvdXApCiAJfQogCiAJLyogY2hhbmdlIHRoZSBVSUQgKi8KLQlpZiAodXNlciAh PSAodWlkX3QpIC0xICYmICF1aWRfZXEodWlkLCBrZXktPnVpZCkpIHsKKwlpZiAodWlkX3Zh bGlkKHVpZCkgJiYgIXVpZF9lcSh1aWQsIGtleS0+dWlkKSkgewogCQlyZXQgPSAtRU5PTUVN OwogCQluZXdvd25lciA9IGtleV91c2VyX2xvb2t1cCh1aWQpOwogCQlpZiAoIW5ld293bmVy KQpAQCAtMTA0Miw3ICsxMDMzLDcgQEAgbG9uZyBrZXljdGxfY2hvd25fa2V5KGtleV9zZXJp YWxfdCBpZCwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXApCiAJfQogCiAJLyogY2hhbmdlIHRo ZSBHSUQgKi8KLQlpZiAoZ3JvdXAgIT0gKGdpZF90KSAtMSkKKwlpZiAoZ2lkX3ZhbGlkKGdp ZCkpCiAJCWtleS0+Z2lkID0gZ2lkOwogCiAJbm90aWZ5X2tleShrZXksIE5PVElGWV9LRVlf U0VUQVRUUiwgMCk7CkBAIC0xMDYzLDYgKzEwNTQsMzkgQEAgbG9uZyBrZXljdGxfY2hvd25f a2V5KGtleV9zZXJpYWxfdCBpZCwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXApCiAJZ290byBl cnJvcl9wdXQ7CiB9CiAKK2xvbmcga2V5Y3RsX2Nob3duX2tleShrZXlfc2VyaWFsX3QgaWQs IHVpZF90IHVzZXIsIGdpZF90IGdyb3VwKQoreworCWt1aWRfdCB1aWQgPSBtYWtlX2t1aWQo Y3VycmVudF91c2VyX25zKCksIHVzZXIpOworCWtnaWRfdCBnaWQgPSBtYWtlX2tnaWQoY3Vy cmVudF91c2VyX25zKCksIGdyb3VwKTsKKworCWlmICgodXNlciAhPSAodWlkX3QpIC0xKSAm JiAhdWlkX3ZhbGlkKHVpZCkpCisJCXJldHVybiAtRUlOVkFMOworCWlmICgoZ3JvdXAgIT0g KGdpZF90KSAtMSkgJiYgIWdpZF92YWxpZChnaWQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwly ZXR1cm4ga2V5Y3RsX2Nob3duX2tpZChpZCwgdWlkLCBnaWQpOworfQorCisvKgorICogS0VZ Q1RMX0NIT1dOIHdpdGggX19rZXJuZWxfdWlkX3JfdCBpZHMsIHdoaWNoIGNhbiBiZSBVVUlE cyBhbmQgR1VJRHMuIEEKKyAqIE5VTEwgcG9pbnRlciwgVUlEX1JfTk9ORSBvciBhIGNsYXNz aWMgLTEgbGVhdmUgdGhlIG93bmVyIG9yIGdyb3VwCisgKiB1bmNoYW5nZWQuCisgKi8KK2xv bmcga2V5Y3RsX2Nob3duX2tleV9yKGtleV9zZXJpYWxfdCBpZCwKKwkJCWNvbnN0IHN0cnVj dCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKnVzZXIsCisJCQljb25zdCBzdHJ1Y3QgX19rZXJu ZWxfdWlkX3IgX191c2VyICpncm91cCkKK3sKKwlrdWlkX3QgdWlkOworCWtnaWRfdCBnaWQ7 CisJbG9uZyByZXQ7CisKKwlyZXQgPSBnZXRfa3VpZF9yKGN1cnJlbnRfdXNlcl9ucygpLCB1 c2VyLCAmdWlkKTsKKwlpZiAoIXJldCkKKwkJcmV0ID0gZ2V0X2tnaWRfcihjdXJyZW50X3Vz ZXJfbnMoKSwgZ3JvdXAsICZnaWQpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJcmV0 dXJuIGtleWN0bF9jaG93bl9raWQoaWQsIHVpZCwgZ2lkKTsKK30KKwogLyoKICAqIENoYW5n ZSB0aGUgcGVybWlzc2lvbiBtYXNrIG9uIGEga2V5LgogICoKQEAgLTE5MzQsNiArMTk1OCwx MSBAQCBTWVNDQUxMX0RFRklORTUoa2V5Y3RsLCBpbnQsIG9wdGlvbiwgdW5zaWduZWQgbG9u ZywgYXJnMiwgdW5zaWduZWQgbG9uZywgYXJnMywKIAkJCQkJKHVpZF90KSBhcmczLAogCQkJ CQkoZ2lkX3QpIGFyZzQpOwogCisJY2FzZSBLRVlDVExfQ0hPV05fUjoKKwkJcmV0dXJuIGtl eWN0bF9jaG93bl9rZXlfcigoa2V5X3NlcmlhbF90KSBhcmcyLAorCQkJCQkgIChjb25zdCBz dHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICopIGFyZzMsCisJCQkJCSAgKGNvbnN0IHN0 cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKikgYXJnNCk7CisKIAljYXNlIEtFWUNUTF9T RVRQRVJNOgogCQlyZXR1cm4ga2V5Y3RsX3NldHBlcm1fa2V5KChrZXlfc2VyaWFsX3QpIGFy ZzIsCiAJCQkJCSAgKGtleV9wZXJtX3QpIGFyZzMpOwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkv a2V5cy9wZXJzaXN0ZW50LmMgYi9zZWN1cml0eS9rZXlzL3BlcnNpc3RlbnQuYwppbmRleCBi ZGFiOTk1MzkuLjJjNGIzMmNkMiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkva2V5cy9wZXJzaXN0 ZW50LmMKKysrIGIvc2VjdXJpdHkva2V5cy9wZXJzaXN0ZW50LmMKQEAgLTgzLDcgKzgzLDgg QEAgc3RhdGljIGxvbmcga2V5X2dldF9wZXJzaXN0ZW50KHN0cnVjdCB1c2VyX25hbWVzcGFj ZSAqbnMsIGt1aWRfdCB1aWQsCiAJc3RydWN0IGtleXJpbmdfaW5kZXhfa2V5IGluZGV4X2tl eTsKIAlzdHJ1Y3Qga2V5ICpwZXJzaXN0ZW50OwogCWtleV9yZWZfdCByZWdfcmVmLCBwZXJz aXN0ZW50X3JlZjsKLQljaGFyIGJ1ZlszMl07CisJY2hhciBidWZbc2l6ZW9mKCJfcGVyc2lz dGVudC4iKSArIEtJRF9TVFJfTEVOXTsKKwljaGFyIGlkYnVmW0tJRF9TVFJfTEVOXTsKIAls b25nIHJldDsKIAlib29sIGNyZWF0ZWQgPSBmYWxzZTsKIApAQCAtOTEsNyArOTIsMTMgQEAg c3RhdGljIGxvbmcga2V5X2dldF9wZXJzaXN0ZW50KHN0cnVjdCB1c2VyX25hbWVzcGFjZSAq bnMsIGt1aWRfdCB1aWQsCiAJbWVtc2V0KCZpbmRleF9rZXksIDAsIHNpemVvZihpbmRleF9r ZXkpKTsKIAlpbmRleF9rZXkudHlwZSA9ICZrZXlfdHlwZV9rZXlyaW5nOwogCWluZGV4X2tl eS5kZXNjcmlwdGlvbiA9IGJ1ZjsKLQlpbmRleF9rZXkuZGVzY19sZW4gPSBzcHJpbnRmKGJ1 ZiwgIl9wZXJzaXN0ZW50LiV1IiwgZnJvbV9rdWlkKG5zLCB1aWQpKTsKKwkvKiBhIFVVSUQg b3IgR1VJRCBoYXMgbm8gdWlkIGluIEBuczogbmFtZSBpdCBieSBpdHMgdGV4dCBmb3JtICov CisJaWYgKHVpZF9pc19sZWdhY3kodWlkKSkKKwkJaW5kZXhfa2V5LmRlc2NfbGVuID0gc3By aW50ZihidWYsICJfcGVyc2lzdGVudC4ldSIsCisJCQkJCSAgICAgZnJvbV9rdWlkKG5zLCB1 aWQpKTsKKwllbHNlCisJCWluZGV4X2tleS5kZXNjX2xlbiA9IHNwcmludGYoYnVmLCAiX3Bl cnNpc3RlbnQuJXMiLAorCQkJCQkgICAgIGt1aWRfc3RyKHVpZCwgaWRidWYpKTsKIAlrZXlf c2V0X2luZGV4X2tleSgmaW5kZXhfa2V5KTsKIAogCWlmIChucy0+cGVyc2lzdGVudF9rZXly aW5nX3JlZ2lzdGVyKSB7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9rZXlzL3Byb2Nlc3Nfa2V5 cy5jIGIvc2VjdXJpdHkva2V5cy9wcm9jZXNzX2tleXMuYwppbmRleCBhNjNjNDZiYjIuLjZm Mjc1ODk5ZiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkva2V5cy9wcm9jZXNzX2tleXMuYworKysg Yi9zZWN1cml0eS9rZXlzL3Byb2Nlc3Nfa2V5cy5jCkBAIC02Nyw2ICs2NywyNSBAQCBzdGF0 aWMgc3RydWN0IGtleSAqZ2V0X3VzZXJfcmVnaXN0ZXIoc3RydWN0IHVzZXJfbmFtZXNwYWNl ICp1c2VyX25zKQogCXJldHVybiByZWdfa2V5cmluZzsKIH0KIAorLyoKKyAqIFRoZSBuYW1l IG9mIGEgdXNlcidzIGtleXJpbmcgb3IgdXNlciBzZXNzaW9uIGtleXJpbmc6IEBwcmVmaXgg YW5kIHRoZSB1aWQKKyAqIGluIEB1c2VyX25zLCBvciBmb3IgYSBVVUlEIG9yIEdVSUQgdWlk IGl0cyB0ZXh0IGZvcm0uIFRob3NlIGhhdmUgbm8gdWlkCisgKiBpbiBhbnkgbmFtZXNwYWNl LCBhbmQgYXMgLTEgYWxsIG9mIHRoZW0gd291bGQgc2hhcmUgdGhlIGtleXJpbmdzLgorICov CisjZGVmaW5lIFVTRVJfS0VZUklOR19OQU1FX1NJWkUJKHNpemVvZigiX3VpZF9zZXMuIikg KyBLSURfU1RSX0xFTikKKworc3RhdGljIGludCB1c2VyX2tleXJpbmdfbmFtZShjaGFyICpi dWYsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgICAgc3RydWN0IHVzZXJfbmFtZXNwYWNl ICp1c2VyX25zLCBrdWlkX3Qga3VpZCkKK3sKKwljaGFyIGlkYnVmW0tJRF9TVFJfTEVOXTsK KworCWlmICghdWlkX2lzX2xlZ2FjeShrdWlkKSkKKwkJcmV0dXJuIHNucHJpbnRmKGJ1Ziwg VVNFUl9LRVlSSU5HX05BTUVfU0laRSwgIiVzJXMiLCBwcmVmaXgsCisJCQkJa3VpZF9zdHIo a3VpZCwgaWRidWYpKTsKKwlyZXR1cm4gc25wcmludGYoYnVmLCBVU0VSX0tFWVJJTkdfTkFN RV9TSVpFLCAiJXMldSIsIHByZWZpeCwKKwkJCWZyb21fa3VpZCh1c2VyX25zLCBrdWlkKSk7 Cit9CisKIC8qCiAgKiBMb29rIHVwIHRoZSB1c2VyIGFuZCB1c2VyIHNlc3Npb24ga2V5cmlu Z3MgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3MncyBVSUQsCiAgKiBjcmVhdGluZyB0aGVtIGlm IHRoZXkgZG9uJ3QgZXhpc3QuCkBAIC03OSwxMyArOTgsMTIgQEAgaW50IGxvb2tfdXBfdXNl cl9rZXlyaW5ncyhzdHJ1Y3Qga2V5ICoqX3VzZXJfa2V5cmluZywKIAlzdHJ1Y3Qga2V5ICpy ZWdfa2V5cmluZywgKnVpZF9rZXlyaW5nLCAqc2Vzc2lvbl9rZXlyaW5nOwogCWtleV9wZXJt X3QgdXNlcl9rZXlyaW5nX3Blcm07CiAJa2V5X3JlZl90IHVpZF9rZXlyaW5nX3IsIHNlc3Np b25fa2V5cmluZ19yOwotCXVpZF90IHVpZCA9IGZyb21fa3VpZCh1c2VyX25zLCBjcmVkLT51 c2VyLT51aWQpOwotCWNoYXIgYnVmWzIwXTsKKwljaGFyIGJ1ZltVU0VSX0tFWVJJTkdfTkFN RV9TSVpFXTsKIAlpbnQgcmV0OwogCiAJdXNlcl9rZXlyaW5nX3Blcm0gPSAoS0VZX1BPU19B TEwgJiB+S0VZX1BPU19TRVRBVFRSKSB8IEtFWV9VU1JfQUxMOwogCi0Ja2VudGVyKCIldSIs IHVpZCk7CisJa2VudGVyKCIldSIsIGZyb21fa3VpZCh1c2VyX25zLCBjcmVkLT51c2VyLT51 aWQpKTsKIAogCXJlZ19rZXlyaW5nID0gZ2V0X3VzZXJfcmVnaXN0ZXIodXNlcl9ucyk7CiAJ aWYgKElTX0VSUihyZWdfa2V5cmluZykpCkBAIC05OCw3ICsxMTYsNyBAQCBpbnQgbG9va191 cF91c2VyX2tleXJpbmdzKHN0cnVjdCBrZXkgKipfdXNlcl9rZXlyaW5nLAogCSAqIGFscmVh ZHkgYXMgaXQgbWF5IGhhdmUgYmVlbiBwaW5uZWQgYnkgYSBzZXNzaW9uLCBidXQgdGhlIHVz ZXJfc3RydWN0CiAJICogcG9pbnRpbmcgdG8gaXQgbWF5IGhhdmUgYmVlbiBkZXN0cm95ZWQg Ynkgc2V0dWlkLgogCSAqLwotCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJfdWlkLiV1 IiwgdWlkKTsKKwl1c2VyX2tleXJpbmdfbmFtZShidWYsICJfdWlkLiIsIHVzZXJfbnMsIGNy ZWQtPnVzZXItPnVpZCk7CiAJdWlkX2tleXJpbmdfciA9IGtleXJpbmdfc2VhcmNoKG1ha2Vf a2V5X3JlZihyZWdfa2V5cmluZywgdHJ1ZSksCiAJCQkJICAgICAgICZrZXlfdHlwZV9rZXly aW5nLCBidWYsIGZhbHNlKTsKIAlrZGVidWcoIl91aWQgJXAiLCB1aWRfa2V5cmluZ19yKTsK QEAgLTEyMCw3ICsxMzgsNyBAQCBpbnQgbG9va191cF91c2VyX2tleXJpbmdzKHN0cnVjdCBr ZXkgKipfdXNlcl9rZXlyaW5nLAogCX0KIAogCS8qIEdldCBhIGRlZmF1bHQgc2Vzc2lvbiBr ZXlyaW5nICh3aGljaCBtaWdodCBhbHNvIGV4aXN0IGFscmVhZHkpICovCi0Jc25wcmludGYo YnVmLCBzaXplb2YoYnVmKSwgIl91aWRfc2VzLiV1IiwgdWlkKTsKKwl1c2VyX2tleXJpbmdf bmFtZShidWYsICJfdWlkX3Nlcy4iLCB1c2VyX25zLCBjcmVkLT51c2VyLT51aWQpOwogCXNl c3Npb25fa2V5cmluZ19yID0ga2V5cmluZ19zZWFyY2gobWFrZV9rZXlfcmVmKHJlZ19rZXly aW5nLCB0cnVlKSwKIAkJCQkJICAgJmtleV90eXBlX2tleXJpbmcsIGJ1ZiwgZmFsc2UpOwog CWtkZWJ1ZygiX3VpZF9zZXMgJXAiLCBzZXNzaW9uX2tleXJpbmdfcik7CkBAIC0xODYsNyAr MjA0LDcgQEAgc3RydWN0IGtleSAqZ2V0X3VzZXJfc2Vzc2lvbl9rZXlyaW5nX3JjdShjb25z dCBzdHJ1Y3QgY3JlZCAqY3JlZCkKIHsKIAlzdHJ1Y3Qga2V5ICpyZWdfa2V5cmluZyA9IFJF QURfT05DRShjcmVkLT51c2VyX25zLT51c2VyX2tleXJpbmdfcmVnaXN0ZXIpOwogCWtleV9y ZWZfdCBzZXNzaW9uX2tleXJpbmdfcjsKLQljaGFyIGJ1ZlsyMF07CisJY2hhciBidWZbVVNF Ul9LRVlSSU5HX05BTUVfU0laRV07CiAKIAlzdHJ1Y3Qga2V5cmluZ19zZWFyY2hfY29udGV4 dCBjdHggPSB7CiAJCS5pbmRleF9rZXkudHlwZQkJPSAma2V5X3R5cGVfa2V5cmluZywKQEAg LTIwMSw5ICsyMTksOSBAQCBzdHJ1Y3Qga2V5ICpnZXRfdXNlcl9zZXNzaW9uX2tleXJpbmdf cmN1KGNvbnN0IHN0cnVjdCBjcmVkICpjcmVkKQogCWlmICghcmVnX2tleXJpbmcpCiAJCXJl dHVybiBOVUxMOwogCi0JY3R4LmluZGV4X2tleS5kZXNjX2xlbiA9IHNucHJpbnRmKGJ1Ziwg c2l6ZW9mKGJ1ZiksICJfdWlkX3Nlcy4ldSIsCi0JCQkJCSAgZnJvbV9rdWlkKGNyZWQtPnVz ZXJfbnMsCi0JCQkJCQkgICAgY3JlZC0+dXNlci0+dWlkKSk7CisJY3R4LmluZGV4X2tleS5k ZXNjX2xlbiA9IHVzZXJfa2V5cmluZ19uYW1lKGJ1ZiwgIl91aWRfc2VzLiIsCisJCQkJCQkg ICBjcmVkLT51c2VyX25zLAorCQkJCQkJICAgY3JlZC0+dXNlci0+dWlkKTsKIAogCXNlc3Np b25fa2V5cmluZ19yID0ga2V5cmluZ19zZWFyY2hfcmN1KG1ha2Vfa2V5X3JlZihyZWdfa2V5 cmluZywgdHJ1ZSksCiAJCQkJCSAgICAgICAmY3R4KTsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5 L2tleXMvcmVxdWVzdF9rZXkuYyBiL3NlY3VyaXR5L2tleXMvcmVxdWVzdF9rZXkuYwppbmRl eCBmYTJiYjlmMmYuLjQ4MDY3YmI3MyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkva2V5cy9yZXF1 ZXN0X2tleS5jCisrKyBiL3NlY3VyaXR5L2tleXMvcmVxdWVzdF9rZXkuYwpAQCAtMTIyLDcg KzEyMiw3IEBAIHN0YXRpYyBpbnQgY2FsbF9zYmluX3JlcXVlc3Rfa2V5KHN0cnVjdCBrZXkg KmF1dGhrZXksIHZvaWQgKmF1eCkKIAljb25zdCBzdHJ1Y3QgY3JlZCAqY3JlZCA9IGN1cnJl bnRfY3JlZCgpOwogCWtleV9zZXJpYWxfdCBwcmtleSwgc3NrZXk7CiAJc3RydWN0IGtleSAq a2V5ID0gcmthLT50YXJnZXRfa2V5LCAqa2V5cmluZywgKnNlc3Npb24sICp1c2VyX3Nlc3Np b247Ci0JY2hhciAqYXJndls5XSwgKmVudnBbM10sIHVpZF9zdHJbMTJdLCBnaWRfc3RyWzEy XTsKKwljaGFyICphcmd2WzldLCAqZW52cFszXSwgdWlkX3N0cltLSURfU1RSX0xFTl0sIGdp ZF9zdHJbS0lEX1NUUl9MRU5dOwogCWNoYXIga2V5X3N0clsxMl0sIGtleXJpbmdfc3RyWzNd WzEyXTsKIAljaGFyIGRlc2NbMjBdOwogCWludCByZXQsIGk7CkBAIC0xNTIsOCArMTUyLDE0 IEBAIHN0YXRpYyBpbnQgY2FsbF9zYmluX3JlcXVlc3Rfa2V5KHN0cnVjdCBrZXkgKmF1dGhr ZXksIHZvaWQgKmF1eCkKIAkJZ290byBlcnJvcl9saW5rOwogCiAJLyogcmVjb3JkIHRoZSBV SUQgYW5kIEdJRCAqLwotCXNwcmludGYodWlkX3N0ciwgIiVkIiwgZnJvbV9rdWlkKCZpbml0 X3VzZXJfbnMsIGNyZWQtPmZzdWlkKSk7Ci0Jc3ByaW50ZihnaWRfc3RyLCAiJWQiLCBmcm9t X2tnaWQoJmluaXRfdXNlcl9ucywgY3JlZC0+ZnNnaWQpKTsKKwlpZiAodWlkX2lzX2xlZ2Fj eShjcmVkLT5mc3VpZCkpCisJCXNwcmludGYodWlkX3N0ciwgIiVkIiwgZnJvbV9rdWlkKCZp bml0X3VzZXJfbnMsIGNyZWQtPmZzdWlkKSk7CisJZWxzZQorCQlrdWlkX3N0cihjcmVkLT5m c3VpZCwgdWlkX3N0cik7CisJaWYgKGdpZF9pc19sZWdhY3koY3JlZC0+ZnNnaWQpKQorCQlz cHJpbnRmKGdpZF9zdHIsICIlZCIsIGZyb21fa2dpZCgmaW5pdF91c2VyX25zLCBjcmVkLT5m c2dpZCkpOworCWVsc2UKKwkJa2dpZF9zdHIoY3JlZC0+ZnNnaWQsIGdpZF9zdHIpOwogCiAJ Lyogd2Ugc2F5IHdoaWNoIGtleSBpcyB1bmRlciBjb25zdHJ1Y3Rpb24gKi8KIAlzcHJpbnRm KGtleV9zdHIsICIlZCIsIGtleS0+c2VyaWFsKTsK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0013-ublk-refuse-unprivileged-devices-to-UUID-and-GUID-us.patch" Content-Disposition: attachment; filename*0="uid_r-0013-ublk-refuse-unprivileged-devices-to-UUID-and-GUID"; filename*1="-us.patch" Content-Transfer-Encoding: base64 RnJvbSAyNDVmNDcyMjQ4ZDliMTkwZjRmMDcxY2YyNzNiM2I5OTUxM2YwMTg4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjQ0OjI4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxMy80M10gdWJsazogcmVmdXNlIHVucHJpdmlsZWdlZCBkZXZpY2VzIHRvIFVVSUQg YW5kIEdVSUQKIHVzZXJzCgpUaGUgb3duZXIgb2YgYW4gdW5wcml2aWxlZ2VkIHVibGsgZGV2 aWNlIGlzIHJlY29yZGVkIGluIDMyIGJpdCBmaWVsZHMgb2YKc3RydWN0IHVibGtzcnZfY3Ry bF9kZXZfaW5mbywgYW5kIG9ubHkgdGhlIG93bmVyIG1heSBvcGVuIHRoZSBkaXNrLiBBClVV SUQgb3IgR1VJRCB1c2VyIGNvbWVzIG91dCBhcyAtMSB0aGVyZSwgbGlrZSBldmVyeSBvdGhl ciBvbmUsIHNvIHRoZXkKY291bGQgb3BlbiBlYWNoIG90aGVyJ3MgZGV2aWNlcy4KCkZhaWwg dGhlIGNyZWF0aW9uIG9mIHVucHJpdmlsZWdlZCBkZXZpY2VzIGJ5IHN1Y2ggdXNlcnMgd2l0 aAotRU9WRVJGTE9XLCBhbmQgbmV2ZXIgbGV0IHN1Y2ggYSB1c2VyIHBhc3MgdGhlIG93bmVy IGNoZWNrLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBkcml2 ZXJzL2Jsb2NrL3VibGtfZHJ2LmMgfCAxNyArKysrKysrKysrKystLS0tLQogMSBmaWxlIGNo YW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ibG9jay91YmxrX2Rydi5jIGIvZHJpdmVycy9ibG9jay91YmxrX2Rydi5jCmlu ZGV4IGQ4NzllODQ5Mi4uNmRiMTA5NDMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3Vi bGtfZHJ2LmMKKysrIGIvZHJpdmVycy9ibG9jay91YmxrX2Rydi5jCkBAIC0xMzEzLDcgKzEz MTMsMTIgQEAgc3RhdGljIHZvaWQgdWJsa19mcmVlX2Rpc2soc3RydWN0IGdlbmRpc2sgKmRp c2spCiAJdWJsa19wdXRfZGV2aWNlKHViKTsKIH0KIAotc3RhdGljIHZvaWQgdWJsa19zdG9y ZV9vd25lcl91aWRfZ2lkKHVuc2lnbmVkIGludCAqb3duZXJfdWlkLAorLyoKKyAqIFRoZSBv d25lciBvZiBhbiB1bnByaXZpbGVnZWQgZGV2aWNlIGlzIGtlcHQgaW4gMzIgYml0czogLUVP VkVSRkxPVyBmb3IKKyAqIGEgVVVJRCBvciBHVUlEIHVzZXIgb3IgZ3JvdXAsIHdoaWNoIGFs bCB3b3VsZCBjb21lIG91dCBhcyAtMSBhbmQgc28KKyAqIHBhc3MgZm9yIGVhY2ggb3RoZXIu CisgKi8KK3N0YXRpYyBpbnQgdWJsa19zdG9yZV9vd25lcl91aWRfZ2lkKHVuc2lnbmVkIGlu dCAqb3duZXJfdWlkLAogCQl1bnNpZ25lZCBpbnQgKm93bmVyX2dpZCkKIHsKIAlrdWlkX3Qg dWlkOwpAQCAtMTMyMyw2ICsxMzI4LDcgQEAgc3RhdGljIHZvaWQgdWJsa19zdG9yZV9vd25l cl91aWRfZ2lkKHVuc2lnbmVkIGludCAqb3duZXJfdWlkLAogCiAJKm93bmVyX3VpZCA9IGZy b21fa3VpZCgmaW5pdF91c2VyX25zLCB1aWQpOwogCSpvd25lcl9naWQgPSBmcm9tX2tnaWQo JmluaXRfdXNlcl9ucywgZ2lkKTsKKwlyZXR1cm4gdWlkX2lzX2xlZ2FjeSh1aWQpICYmIGdp ZF9pc19sZWdhY3koZ2lkKSA/IDAgOiAtRU9WRVJGTE9XOwogfQogCiBzdGF0aWMgaW50IHVi bGtfb3BlbihzdHJ1Y3QgZ2VuZGlzayAqZGlzaywgYmxrX21vZGVfdCBtb2RlKQpAQCAtMTM0 NCw5ICsxMzUwLDggQEAgc3RhdGljIGludCB1YmxrX29wZW4oc3RydWN0IGdlbmRpc2sgKmRp c2ssIGJsa19tb2RlX3QgbW9kZSkKIAlpZiAodWItPmRldl9pbmZvLmZsYWdzICYgVUJMS19G X1VOUFJJVklMRUdFRF9ERVYpIHsKIAkJdW5zaWduZWQgaW50IGN1cnJfdWlkLCBjdXJyX2dp ZDsKIAotCQl1YmxrX3N0b3JlX293bmVyX3VpZF9naWQoJmN1cnJfdWlkLCAmY3Vycl9naWQp OwotCi0JCWlmIChjdXJyX3VpZCAhPSB1Yi0+ZGV2X2luZm8ub3duZXJfdWlkIHx8IGN1cnJf Z2lkICE9CisJCWlmICh1YmxrX3N0b3JlX293bmVyX3VpZF9naWQoJmN1cnJfdWlkLCAmY3Vy cl9naWQpIHx8CisJCSAgICBjdXJyX3VpZCAhPSB1Yi0+ZGV2X2luZm8ub3duZXJfdWlkIHx8 IGN1cnJfZ2lkICE9CiAJCQkJdWItPmRldl9pbmZvLm93bmVyX2dpZCkKIAkJCXJldHVybiAt RVBFUk07CiAJfQpAQCAtNDc0MCw3ICs0NzQ1LDkgQEAgc3RhdGljIGludCB1YmxrX2N0cmxf YWRkX2Rldihjb25zdCBzdHJ1Y3QgdWJsa3Nydl9jdHJsX2NtZCAqaGVhZGVyKQogCQlyZXR1 cm4gLUVJTlZBTDsKIAogCS8qIHRoZSBjcmVhdGVkIGRldmljZSBpcyBhbHdheXMgb3duZWQg YnkgY3VycmVudCB1c2VyICovCi0JdWJsa19zdG9yZV9vd25lcl91aWRfZ2lkKCZpbmZvLm93 bmVyX3VpZCwgJmluZm8ub3duZXJfZ2lkKTsKKwlpZiAodWJsa19zdG9yZV9vd25lcl91aWRf Z2lkKCZpbmZvLm93bmVyX3VpZCwgJmluZm8ub3duZXJfZ2lkKSAmJgorCSAgICAoaW5mby5m bGFncyAmIFVCTEtfRl9VTlBSSVZJTEVHRURfREVWKSkKKwkJcmV0dXJuIC1FT1ZFUkZMT1c7 CiAKIAlpZiAoaGVhZGVyLT5kZXZfaWQgIT0gaW5mby5kZXZfaWQpIHsKIAkJcHJfd2Fybigi JXM6IGRldiBpZCBub3QgbWF0Y2ggJXUgJXVcbiIsCg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0014-nfsd-don-t-hand-out-uid-0-for-read-layouts-of-UUID-o.patch" Content-Disposition: attachment; filename*0="uid_r-0014-nfsd-don-t-hand-out-uid-0-for-read-layouts-of-UUI"; filename*1="D-o.patch" Content-Transfer-Encoding: base64 RnJvbSA0YmVkMGMzYzZkN2YxYTg4YWEyMjQ1ZTU2NTQwYmZmNDE1NDY4NzllIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjQ0OjI4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxNC80M10gbmZzZDogZG9uJ3QgaGFuZCBvdXQgdWlkIDAgZm9yIHJlYWQgbGF5b3V0 cyBvZgogVVVJRC1vd25lZCBmaWxlcwoKUmVhZC1vbmx5IGZsZXhmaWxlIGxheW91dCBzZWdt ZW50cyB1c2UgdGhlIG93bmVyJ3MgdWlkIHBsdXMgb25lLCBzbyB0aGUKY2xpZW50IGdldHMg bm8gd3JpdGUgYWNjZXNzIG9uIHRoZSBkYXRhIHNlcnZlci4gRm9yIGEgVVVJRCBvciBHVUlE Cm93bmVyIGZyb21fa3VpZCgpIGlzIC0xIGFuZCB0aGUgInBsdXMgb25lIiBtYWtlcyBpdCAw LCByb290LiBVc2UgdGhlCm92ZXJmbG93IHVpZCBmb3IgdGhlbSBpbnN0ZWFkLgoKQXNzaXN0 ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBmcy9uZnNkL2ZsZXhmaWxlbGF5 b3V0LmMgfCA2ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2ZzL25mc2QvZmxleGZpbGVsYXlvdXQuYyBiL2Zz L25mc2QvZmxleGZpbGVsYXlvdXQuYwppbmRleCA2ZDUzMTI4NWEuLmY0NTlkMmMxYyAxMDA2 NDQKLS0tIGEvZnMvbmZzZC9mbGV4ZmlsZWxheW91dC5jCisrKyBiL2ZzL25mc2QvZmxleGZp bGVsYXlvdXQuYwpAQCAtNTEsNyArNTEsMTEgQEAgbmZzZDRfZmZfcHJvY19sYXlvdXRnZXQo c3RydWN0IHN2Y19ycXN0ICpycXN0cCwgc3RydWN0IGlub2RlICppbm9kZSwKIAogCS8qIERv IG5vdCBhbGxvdyBhIElPTU9ERV9SRUFEIHNlZ21lbnQgdG8gaGF2ZSB3cml0ZSBwZW1pc3Np b25zICovCiAJaWYgKHNlZy0+aW9tb2RlID09IElPTU9ERV9SRUFEKSB7Ci0JCXUgPSBmcm9t X2t1aWQoJmluaXRfdXNlcl9ucywgaW5vZGUtPmlfdWlkKSArIDE7CisJCS8qIGFueSB1aWQg YnV0IHRoZSBvd25lcidzOyBhIFVVSUQgb3IgR1VJRCBoYXMgbm8gIisgMSIgKi8KKwkJaWYg KHVpZF9pc19sZWdhY3koaW5vZGUtPmlfdWlkKSkKKwkJCXUgPSBmcm9tX2t1aWQoJmluaXRf dXNlcl9ucywgaW5vZGUtPmlfdWlkKSArIDE7CisJCWVsc2UKKwkJCXUgPSBvdmVyZmxvd3Vp ZDsKIAkJZmwtPnVpZCA9IG1ha2Vfa3VpZCgmaW5pdF91c2VyX25zLCB1KTsKIAl9IGVsc2UK IAkJZmwtPnVpZCA9IGlub2RlLT5pX3VpZDsK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0015-SUNRPC-name-UUID-and-GUID-users-to-gssd-as-uid_r.patch" Content-Disposition: attachment; filename*0="uid_r-0015-SUNRPC-name-UUID-and-GUID-users-to-gssd-as-uid_r."; filename*1="patch" Content-Transfer-Encoding: base64 RnJvbSA0ZjRiYTgxZDYzMzAxYTEwNTk1NmRlYWM2OWViYjRmMjA5MTVmZTljIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjQ0OjI4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxNS80M10gU1VOUlBDOiBuYW1lIFVVSUQgYW5kIEdVSUQgdXNlcnMgdG8gZ3NzZCBh cyB1aWRfcj0KCmdzc2QgbGVhcm5zIHRoZSB1c2VyIG9mIGFuIHVwY2FsbCBhcyBhIDMyIGJp dCB1aWQuIFVVSUQgYW5kIEdVSUQgdXNlcnMKd291bGQgYWxsIHJlYWNoIGl0IGFzIHRoZSBv dmVyZmxvdyB1aWQgYW5kIHNoYXJlIGl0cyBjcmVkZW50aWFscy4KCkluIHRoZSB0ZXh0ICh2 MSkgdXBjYWxsLCBuYW1lIHN1Y2ggYSB1c2VyIGFzIHVpZF9yPSB3aXRoIHRoZSB0ZXh0IGZv cm0Kb2YgdGhlIGlkIGluc3RlYWQgb2YgdWlkPS4gZ3NzZCB2ZXJzaW9ucyB0aGF0IGRvbid0 IGtub3cgdWlkX3I9IGZpbmQgbm8KdWlkPSBhbmQgcmVmdXNlIHRoZSB1cGNhbGwsIHNvIG5v Ym9keSBlbmRzIHVwIHdpdGggdGhlIG92ZXJmbG93IHVpZCdzCmNyZWRlbnRpYWxzOyB3aGVy ZSBnc3NkJ3MgdXNlciBuYW1lc3BhY2UgY2FuJ3Qgc2VlIHRoZSB1c2VyLCB0aGUgdXBjYWxs Cm5hbWVzIG5vIHVzZXIgYXQgYWxsIGFuZCBmYWlscyB0aGUgc2FtZSB3YXkuCgpBIGRvd25j YWxsIGZvciBzdWNoIGEgdXNlciBzdGFydHMgd2l0aCB1aWQgLTEsIHdoaWNoIGlzIG5ldmVy IHZhbGlkLApmb2xsb3dlZCBieSB0aGUgdXNlciBhcyBfX2tlcm5lbF91aWRfcl90OyBkb3du Y2FsbHMgZm9yIGNsYXNzaWMgdWlkcyBhcmUKdW5jaGFuZ2VkLgoKVGhlIGJpbmFyeSAodjAp IHVwY2FsbCBoYXMgcm9vbSBmb3IgYSAzMiBiaXQgdWlkIG9ubHk6IGZhaWwgaXQgd2l0aAot RUFDQ0VTIGZvciBVVUlEIGFuZCBHVUlEIHVzZXJzLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpj bGF1ZGUtb3B1cy01LTUKLS0tCiBuZXQvc3VucnBjL2F1dGhfZ3NzL2F1dGhfZ3NzLmMgfCA0 NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwg NDEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc3Vu cnBjL2F1dGhfZ3NzL2F1dGhfZ3NzLmMgYi9uZXQvc3VucnBjL2F1dGhfZ3NzL2F1dGhfZ3Nz LmMKaW5kZXggOGRkYzY1ZTg5Li41ZTllMmNmNGUgMTAwNjQ0Ci0tLSBhL25ldC9zdW5ycGMv YXV0aF9nc3MvYXV0aF9nc3MuYworKysgYi9uZXQvc3VucnBjL2F1dGhfZ3NzL2F1dGhfZ3Nz LmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1 ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9zdW5ycGMvY2xudC5oPgor I2luY2x1ZGUgPGxpbnV4L3VpZGdpZF9yLmg+CiAjaW5jbHVkZSA8bGludXgvc3VucnBjL2F1 dGguaD4KICNpbmNsdWRlIDxsaW51eC9zdW5ycGMvYXV0aF9nc3MuaD4KICNpbmNsdWRlIDxs aW51eC9zdW5ycGMvZ3NzX2tyYjUuaD4KQEAgLTQzOCwxMCArNDM5LDIzIEBAIHN0YXRpYyBp bnQgZ3NzX2VuY29kZV92MV9tc2coc3RydWN0IGdzc191cGNhbGxfbXNnICpnc3NfbXNnLAog CXN0cnVjdCBnc3NfYXBpX21lY2ggKm1lY2ggPSBnc3NfbXNnLT5hdXRoLT5tZWNoOwogCWNo YXIgKnAgPSBnc3NfbXNnLT5kYXRhYnVmOwogCXNpemVfdCBidWZsZW4gPSBzaXplb2YoZ3Nz X21zZy0+ZGF0YWJ1Zik7CisJY2hhciBpZGJ1ZltLSURfU1RSX0xFTl07CiAJaW50IGxlbjsK IAotCWxlbiA9IHNjbnByaW50ZihwLCBidWZsZW4sICJtZWNoPSVzIHVpZD0lZCIsIG1lY2gt PmdtX25hbWUsCi0JCQlmcm9tX2t1aWRfbXVuZ2VkKHVzZXJucywgZ3NzX21zZy0+dWlkKSk7 CisJLyoKKwkgKiBBIFVVSUQgb3IgR1VJRCB1c2VyIGlzIHVpZF9yPSBpbiBpdHMgdGV4dCBm b3JtIGluc3RlYWQgb2YgdWlkPSwKKwkgKiB3aGljaCBnc3NkIHZlcnNpb25zIHRoYXQgZG9u J3Qga25vdyBpdCByZWplY3QgcmF0aGVyIHRoYW4gdGFraW5nCisJICogYW4gb3ZlcmZsb3cg dWlkLiBXaGVyZSBnc3NkIGNhbid0IHNlZSB0aGUgdXNlciBhdCBhbGwsIHRoZXJlIGlzCisJ ICogbmVpdGhlciwgYW5kIHRoZSB1cGNhbGwgZmFpbHMuCisJICovCisJaWYgKHVpZF9pc19s ZWdhY3koZ3NzX21zZy0+dWlkKSkKKwkJbGVuID0gc2NucHJpbnRmKHAsIGJ1ZmxlbiwgIm1l Y2g9JXMgdWlkPSVkIiwgbWVjaC0+Z21fbmFtZSwKKwkJCQlmcm9tX2t1aWRfbXVuZ2VkKHVz ZXJucywgZ3NzX21zZy0+dWlkKSk7CisJZWxzZSBpZiAoa3VpZF9oYXNfbWFwcGluZyh1c2Vy bnMsIGdzc19tc2ctPnVpZCkpCisJCWxlbiA9IHNjbnByaW50ZihwLCBidWZsZW4sICJtZWNo PSVzIHVpZF9yPSVzIiwgbWVjaC0+Z21fbmFtZSwKKwkJCQlrdWlkX3N0cihnc3NfbXNnLT51 aWQsIGlkYnVmKSk7CisJZWxzZQorCQlsZW4gPSBzY25wcmludGYocCwgYnVmbGVuLCAibWVj aD0lcyIsIG1lY2gtPmdtX25hbWUpOwogCWJ1ZmxlbiAtPSBsZW47CiAJcCArPSBsZW47CiAJ Z3NzX21zZy0+bXNnLmxlbiA9IGxlbjsKQEAgLTUzNiw2ICs1NTAsMTUgQEAgZ3NzX2FsbG9j X21zZyhzdHJ1Y3QgZ3NzX2F1dGggKmdzc19hdXRoLAogCWVyciA9IHZlcnM7CiAJaWYgKGVy ciA8IDApCiAJCWdvdG8gZXJyX2ZyZWVfbXNnOworCS8qCisJICogVGhlIGJpbmFyeSB2MCB1 cGNhbGwgaXMgYSAzMiBiaXQgdWlkOiBVVUlEIGFuZCBHVUlEIHVzZXJzIHdvdWxkCisJICog YWxsIGJlIHRoZSBvdmVyZmxvdyB1aWQgdGhlcmUgYW5kIHNoYXJlIGl0cyBjcmVkZW50aWFs cy4KKwkgKi8KKwlpZiAodmVycyA9PSAwICYmICF1aWRfaXNfbGVnYWN5KHVpZCkpIHsKKwkJ cHV0X3BpcGVfdmVyc2lvbihnc3NfYXV0aC0+bmV0KTsKKwkJZXJyID0gLUVBQ0NFUzsKKwkJ Z290byBlcnJfZnJlZV9tc2c7CisJfQogCWdzc19tc2ctPnBpcGUgPSBnc3NfYXV0aC0+Z3Nz X3BpcGVbdmVyc10tPnBpcGU7CiAJSU5JVF9MSVNUX0hFQUQoJmdzc19tc2ctPmxpc3QpOwog CXJwY19pbml0X3dhaXRfcXVldWUoJmdzc19tc2ctPnJwY193YWl0cXVldWUsICJSUENTRUNf R1NTIHVwY2FsbCB3YWl0cSIpOwpAQCAtNzUyLDcgKzc3NSwyMiBAQCBnc3NfcGlwZV9kb3du Y2FsbChzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnNyYywgc2l6ZV90 IG1sZW4pCiAJCWdvdG8gZXJyOwogCX0KIAotCXVpZCA9IG1ha2Vfa3VpZChjdXJyZW50X3Vz ZXJfbnMoKSwgaWQpOworCS8qCisJICogQSB1aWQgb2YgLTEsIG5ldmVyIHZhbGlkLCBpcyBm b2xsb3dlZCBieSBhIF9fa2VybmVsX3VpZF9yX3Q6IHRoZQorCSAqIHJlcGx5IHRvIGEgdWlk X3I9IHVwY2FsbCBvZiBhIFVVSUQgb3IgR1VJRCB1c2VyLgorCSAqLworCWlmIChpZCA9PSAo dWlkX3QpLTEpIHsKKwkJc3RydWN0IF9fa2VybmVsX3VpZF9yIGlkX3I7CisKKwkJcCA9IHNp bXBsZV9nZXRfYnl0ZXMocCwgZW5kLCAmaWRfciwgc2l6ZW9mKGlkX3IpKTsKKwkJaWYgKElT X0VSUihwKSkgeworCQkJZXJyID0gUFRSX0VSUihwKTsKKwkJCWdvdG8gZXJyOworCQl9CisJ CXVpZCA9IG1ha2Vfa3VpZF9yKGN1cnJlbnRfdXNlcl9ucygpLCAmaWRfcik7CisJfSBlbHNl IHsKKwkJdWlkID0gbWFrZV9rdWlkKGN1cnJlbnRfdXNlcl9ucygpLCBpZCk7CisJfQogCWlm ICghdWlkX3ZhbGlkKHVpZCkpIHsKIAkJZXJyID0gLUVJTlZBTDsKIAkJZ290byBlcnI7Cg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0016-ecryptfs-hash-daemons-by-kuid_hash.patch" Content-Disposition: attachment; filename="uid_r-0016-ecryptfs-hash-daemons-by-kuid_hash.patch" Content-Transfer-Encoding: base64 RnJvbSA0NzUzMjc0YjZiNDgxYzk1OWNkZmM4YzFjMWVkODc5MjZmM2U5MThmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjQ0OjI4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxNi80M10gZWNyeXB0ZnM6IGhhc2ggZGFlbW9ucyBieSBrdWlkX2hhc2goKQoKVGhl IGRhZW1vbiBoYXNoIHVzZXMgZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIGV1aWQpLCB3aGlj aCBwdXRzIGFsbCBVVUlECmFuZCBHVUlEIHVzZXJzIGludG8gb25lIGJ1Y2tldC4gTG9va3Vw cyBjb21wYXJlIHRoZSBrdWlkLCBzbyB0aGlzIG9ubHkKY29zdHMgdGltZTsgdXNlIGt1aWRf aGFzaCgpLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBmcy9l Y3J5cHRmcy9tZXNzYWdpbmcuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2ZzL2VjcnlwdGZzL21lc3NhZ2lu Zy5jIGIvZnMvZWNyeXB0ZnMvbWVzc2FnaW5nLmMKaW5kZXggNzNjN2I4MjE1Li40ZTI1MjRm NzggMTAwNjQ0Ci0tLSBhL2ZzL2VjcnlwdGZzL21lc3NhZ2luZy5jCisrKyBiL2ZzL2Vjcnlw dGZzL21lc3NhZ2luZy5jCkBAIC0yMSw3ICsyMSw3IEBAIHN0YXRpYyBzdHJ1Y3QgaGxpc3Rf aGVhZCAqZWNyeXB0ZnNfZGFlbW9uX2hhc2g7CiBERUZJTkVfTVVURVgoZWNyeXB0ZnNfZGFl bW9uX2hhc2hfbXV4KTsKIHN0YXRpYyBpbnQgZWNyeXB0ZnNfaGFzaF9iaXRzOwogI2RlZmlu ZSBlY3J5cHRmc19jdXJyZW50X2V1aWRfaGFzaCh1aWQpIFwKLQloYXNoX2xvbmcoKHVuc2ln bmVkIGxvbmcpZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIGN1cnJlbnRfZXVpZCgpKSwgZWNy eXB0ZnNfaGFzaF9iaXRzKQorCWhhc2hfbG9uZygodW5zaWduZWQgbG9uZylrdWlkX2hhc2go Y3VycmVudF9ldWlkKCkpLCBlY3J5cHRmc19oYXNoX2JpdHMpCiAKIHN0YXRpYyB1MzIgZWNy eXB0ZnNfbXNnX2NvdW50ZXI7CiBzdGF0aWMgc3RydWN0IGVjcnlwdGZzX21zZ19jdHggKmVj cnlwdGZzX21zZ19jdHhfYXJyOwo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0017-quota-don-t-account-UUID-and-GUID-owners.patch" Content-Disposition: attachment; filename*0="uid_r-0017-quota-don-t-account-UUID-and-GUID-owners.patch" Content-Transfer-Encoding: base64 RnJvbSAzZmZhMWEyZjQ2ODFlOGM2MGIyOWFmMzg0ZjFiNmI4OTMzODYyY2EwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA2OjAxOjUyICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxNy80M10gcXVvdGE6IGRvbid0IGFjY291bnQgVVVJRCBhbmQgR1VJRCBvd25lcnMK ClF1b3RhIGZpbGVzIGFuZCB0aGUgcXVvdGFjdGwgaW50ZXJmYWNlIHVzZSAzMiBiaXQgaWRz LiBkcWdldCgpIHdvdWxkCmhhc2ggYW5kIHN0b3JlIGEgVVVJRCBvciBHVUlEIG93bmVyIGFz IC0xLCBzbyBhbGwgb2YgdGhlbSB3b3VsZCBzaGFyZQpvbmUgZHF1b3QsIHdyaXR0ZW4gb3V0 IGFzIGlkIDQyOTQ5NjcyOTUuCgpUcmVhdCBzdWNoIGlkcyBsaWtlIHF1b3RhIGJlaW5nIG9m ZiBmb3IgdGhlbTogZHFnZXQoKSByZXR1cm5zIC1FU1JDSCwKd2hpY2ggaXRzIGNhbGxlcnMg YWxyZWFkeSBoYW5kbGUgYnkgbm90IGNoYXJnaW5nIHRoZSBpbm9kZS4gQW4gaW5vZGUKZ2l2 ZW4gdG8gc3VjaCBhbiBvd25lciBzdGF5cyBjaGFyZ2VkIHRvIHRoZSBwcmV2aW91cyBvbmUu CgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUtNQotLS0KIGZzL3F1b3RhL2Rx dW90LmMgICAgICB8ICAzICsrKwogaW5jbHVkZS9saW51eC9xdW90YS5oIHwgMTggKysrKysr KysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9mcy9xdW90YS9kcXVvdC5jIGIvZnMvcXVvdGEvZHF1b3QuYwppbmRleCA5ODUw ZGUzOTUuLjM2MzMzNTQ2MSAxMDA2NDQKLS0tIGEvZnMvcXVvdGEvZHF1b3QuYworKysgYi9m cy9xdW90YS9kcXVvdC5jCkBAIC05NTQsNiArOTU0LDkgQEAgc3RydWN0IGRxdW90ICpkcWdl dChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBzdHJ1Y3Qga3FpZCBxaWQpCiAKIAlpZiAoIXFp ZF9oYXNfbWFwcGluZyhzYi0+c191c2VyX25zLCBxaWQpKQogCQlyZXR1cm4gRVJSX1BUUigt RUlOVkFMKTsKKwkvKiBRdW90YSBmaWxlcyBob2xkIDMyIGJpdCBpZHM6IGxpa2UgcXVvdGEg b2ZmIGZvciBVVUlEcyBhbmQgR1VJRHMgKi8KKwlpZiAoIXFpZF9pc19sZWdhY3kocWlkKSkK KwkJcmV0dXJuIEVSUl9QVFIoLUVTUkNIKTsKIAogICAgICAgICBpZiAoIXNiX2hhc19xdW90 YV9hY3RpdmUoc2IsIHFpZC50eXBlKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVTUkNIKTsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcXVvdGEuaCBiL2luY2x1ZGUvbGludXgvcXVvdGEu aAppbmRleCA4OWEwZDgzZGQuLjAwNjg1MjA5ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51 eC9xdW90YS5oCisrKyBiL2luY2x1ZGUvbGludXgvcXVvdGEuaApAQCAtODAsNiArODAsMjQg QEAgZXh0ZXJuIHFpZF90IGZyb21fa3FpZChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnRvLCBz dHJ1Y3Qga3FpZCBxaWQpOwogZXh0ZXJuIHFpZF90IGZyb21fa3FpZF9tdW5nZWQoc3RydWN0 IHVzZXJfbmFtZXNwYWNlICp0bywgc3RydWN0IGtxaWQgcWlkKTsKIGV4dGVybiBib29sIHFp ZF92YWxpZChzdHJ1Y3Qga3FpZCBxaWQpOwogCisvKioKKyAqCXFpZF9pc19sZWdhY3kgLSBS ZXBvcnQgaWYgYSBrcWlkIGZpdHMgdGhlIDMyIGJpdCBpZHMgb2YgcXVvdGEgZmlsZXMKKyAq CUBxaWQ6IFRoZSBrZXJuZWwgaW50ZXJuYWwgcXVvdGEgaWRlbnRpZmllciB0byB0ZXN0Lgor ICoKKyAqCVVVSUQgYW5kIEdVSUQgb3duZXJzIGRvbid0LCBhbmQgYXJlIG5vdCBzdWJqZWN0 IHRvIHF1b3Rhcy4KKyAqLworc3RhdGljIGlubGluZSBib29sIHFpZF9pc19sZWdhY3koc3Ry dWN0IGtxaWQgcWlkKQoreworCXN3aXRjaCAocWlkLnR5cGUpIHsKKwljYXNlIFVTUlFVT1RB OgorCQlyZXR1cm4gdWlkX2lzX2xlZ2FjeShxaWQudWlkKTsKKwljYXNlIEdSUFFVT1RBOgor CQlyZXR1cm4gZ2lkX2lzX2xlZ2FjeShxaWQuZ2lkKTsKKwlkZWZhdWx0OgorCQlyZXR1cm4g dHJ1ZTsKKwl9Cit9CisKIC8qKgogICoJbWFrZV9rcWlkIC0gTWFwIGEgdXNlci1uYW1lc3Bh Y2UsIHR5cGUsIHFpZCB0dXBsZSBpbnRvIGEga3FpZC4KICAqCUBmcm9tOiBVc2VyIG5hbWVz cGFjZSB0aGF0IHRoZSBxaWQgaXMgaW4K --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0018-fs-keep-UUID-and-GUID-owners-off-filesystems-that-ca.patch" Content-Disposition: attachment; filename*0="uid_r-0018-fs-keep-UUID-and-GUID-owners-off-filesystems-that"; filename*1="-ca.patch" Content-Transfer-Encoding: base64 RnJvbSAxMWI5NzYxZWY5YjAwODljNGY2MjQ0MjIxYjkxZWE2Mzc4NmZkMjJkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjQ2OjA0ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxOC80M10gZnM6IGtlZXAgVVVJRCBhbmQgR1VJRCBvd25lcnMgb2ZmIGZpbGVzeXN0 ZW1zIHRoYXQKIGNhbid0IHN0b3JlIHRoZW0KCkZpbGVzeXN0ZW1zIHdyaXRlIGlub2RlIG93 bmVycyB3aXRoIGlfdWlkX3JlYWQoKS9pX2dpZF9yZWFkKCksIHdoaWNoCnR1cm4gYSBVVUlE IG9yIEdVSUQgaW50byAtMS4gQWRkIFNCX0lfVUlEX1IgZm9yIGZpbGVzeXN0ZW1zIHRoYXQg Y2FuCnN0b3JlIHN1Y2ggb3duZXJzLCBhbmQgcmVmdXNlIHRoZW0gZWxzZXdoZXJlIHdpdGgg LUVPVkVSRkxPVywgdGhlIGVycm9yCmFscmVhZHkgdXNlZCBmb3IgaWRzIHdpdGhvdXQgYSBt YXBwaW5nIGluIHRoZSBmaWxlc3lzdGVtJ3MgbmFtZXNwYWNlOgoKLSBub3RpZnlfY2hhbmdl KCkgcmVmdXNlcyBBVFRSX1VJRC9BVFRSX0dJRCB3aXRoIHN1Y2ggYW4gaWQsCi0gZnN1aWRn aWRfaGFzX21hcHBpbmcoKSBpcyBmYWxzZSBmb3IgYSBjYWxsZXIgd2hvc2UgZnN1aWQgb3Ig ZnNnaWQgaXMKICBvbmUsIHNvIG1heV9jcmVhdGUoKSBhbmQgZnJpZW5kcyByZWZ1c2UgdG8g Y3JlYXRlIGlub2RlcyBvd25lZCBieSBpdC4KCk5vIGZpbGVzeXN0ZW0gc2V0cyB0aGUgZmxh ZyB5ZXQuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUtNQotLS0KIGZzL2F0 dHIuYyAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKysrKysKIGluY2x1ZGUvbGludXgv ZnMuaCAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBp bmNsdWRlL2xpbnV4L2ZzL3N1cGVyX3R5cGVzLmggfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQs IDMzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZnMvYXR0 ci5jIGIvZnMvYXR0ci5jCmluZGV4IDcxODg4YWM5MC4uMDlkNTFiMWEzIDEwMDY0NAotLS0g YS9mcy9hdHRyLmMKKysrIGIvZnMvYXR0ci5jCkBAIC01MjYsNiArNTI2LDEzIEBAIGludCBu b3RpZnlfY2hhbmdlKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLCBzdHJ1Y3QgZGVudHJ5ICpk ZW50cnksCiAJICAgICF2ZnNnaWRfaGFzX2ZzbWFwcGluZyhpZG1hcCwgaW5vZGUtPmlfc2It PnNfdXNlcl9ucywKIAkJCQkgIGF0dHItPmlhX3Zmc2dpZCkpCiAJCXJldHVybiAtRU9WRVJG TE9XOworCS8qIGFuZCB0aGF0IHRoZSBmaWxlc3lzdGVtIGNhbiBzdG9yZSBhIFVVSUQgb3Ig R1VJRCBvd25lciAqLworCWlmIChpYV92YWxpZCAmIEFUVFJfVUlEICYmCisJICAgICFzYl9j YW5fb3duX2t1aWQoaW5vZGUtPmlfc2IsIHZmc3VpZF9pbnRvX2t1aWQoYXR0ci0+aWFfdmZz dWlkKSkpCisJCXJldHVybiAtRU9WRVJGTE9XOworCWlmIChpYV92YWxpZCAmIEFUVFJfR0lE ICYmCisJICAgICFzYl9jYW5fb3duX2tnaWQoaW5vZGUtPmlfc2IsIHZmc2dpZF9pbnRvX2tn aWQoYXR0ci0+aWFfdmZzZ2lkKSkpCisJCXJldHVybiAtRU9WRVJGTE9XOwogCiAJLyogRG9u J3QgYWxsb3cgbW9kaWZpY2F0aW9ucyBvZiBmaWxlcyB3aXRoIGludmFsaWQgdWlkcyBvcgog CSAqIGdpZHMgdW5sZXNzIHRob3NlIHVpZHMgJiBnaWRzIGFyZSBiZWluZyBtYWRlIHZhbGlk LgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9mcy5oIGIvaW5jbHVkZS9saW51eC9mcy5o CmluZGV4IDA5ZGU3YmY2Zi4uMzc3OGY0OGRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4 L2ZzLmgKKysrIGIvaW5jbHVkZS9saW51eC9mcy5oCkBAIC0xNTYzLDE0ICsxNTYzLDM1IEBA IHN0YXRpYyBpbmxpbmUgdm9pZCBpbm9kZV9mc2dpZF9zZXQoc3RydWN0IGlub2RlICppbm9k ZSwKIAlpbm9kZS0+aV9naWQgPSBtYXBwZWRfZnNnaWQoaWRtYXAsIGlfdXNlcl9ucyhpbm9k ZSkpOwogfQogCisvKioKKyAqIHNiX2Nhbl9vd25fa3VpZCgpIC0gY2hlY2sgd2hldGhlciBh IGZpbGVzeXN0ZW0gY2FuIHN0b3JlIGFuIG93bmVyCisgKiBAc2I6IHRoZSBzdXBlcmJsb2Nr CisgKiBAa3VpZDogdGhlIG93bmVyCisgKgorICogQ2xhc3NpYyBpZHMgZml0IGFueSBmaWxl c3lzdGVtOyBVVUlEcyBhbmQgR1VJRHMgb25seSB0aG9zZSB0aGF0IHNldAorICogU0JfSV9V SURfUi4gRWxzZXdoZXJlIGlfdWlkX3JlYWQoKSB3b3VsZCB0dXJuIHRoZW0gaW50byAtMS4K KyAqCisgKiBSZXR1cm46IHRydWUgaWYgQHNiIGNhbiBzdG9yZSBAa3VpZC4KKyAqLworc3Rh dGljIGlubGluZSBib29sIHNiX2Nhbl9vd25fa3VpZChjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxv Y2sgKnNiLCBrdWlkX3Qga3VpZCkKK3sKKwlyZXR1cm4gdWlkX2lzX2xlZ2FjeShrdWlkKSB8 fCAoc2ItPnNfaWZsYWdzICYgU0JfSV9VSURfUik7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9v bCBzYl9jYW5fb3duX2tnaWQoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwga2dpZF90 IGtnaWQpCit7CisJcmV0dXJuIGdpZF9pc19sZWdhY3koa2dpZCkgfHwgKHNiLT5zX2lmbGFn cyAmIFNCX0lfVUlEX1IpOworfQorCiAvKioKICAqIGZzdWlkZ2lkX2hhc19tYXBwaW5nKCkg LSBjaGVjayB3aGV0aGVyIGNhbGxlcidzIGZzdWlkL2ZzZ2lkIGlzIG1hcHBlZAogICogQHNi OiB0aGUgc3VwZXJibG9jayB3ZSB3YW50IGEgbWFwcGluZyBpbgogICogQGlkbWFwOiBpZG1h cCBvZiB0aGUgcmVsZXZhbnQgbW91bnQKICAqCiAgKiBDaGVjayB3aGV0aGVyIHRoZSBjYWxs ZXIncyBmc3VpZCBhbmQgZnNnaWQgaGF2ZSBhIHZhbGlkIG1hcHBpbmcgaW4gdGhlCi0gKiBz X3VzZXJfbnMgb2YgdGhlIHN1cGVyYmxvY2sgQHNiLiBJZiB0aGUgY2FsbGVyIGlzIG9uIGFu IGlkbWFwcGVkIG1vdW50IG1hcAotICogdGhlIGNhbGxlcidzIGZzdWlkIGFuZCBmc2dpZCBh Y2NvcmRpbmcgdG8gdGhlIEBpZG1hcCBmaXJzdC4KKyAqIHNfdXNlcl9ucyBvZiB0aGUgc3Vw ZXJibG9jayBAc2IsIGFuZCB3aGV0aGVyIEBzYiBjYW4gc3RvcmUgdGhlbSBhcyBvd25lcgor ICogb2YgYSBuZXcgaW5vZGUuIElmIHRoZSBjYWxsZXIgaXMgb24gYW4gaWRtYXBwZWQgbW91 bnQgbWFwIHRoZSBjYWxsZXIncworICogZnN1aWQgYW5kIGZzZ2lkIGFjY29yZGluZyB0byB0 aGUgQGlkbWFwIGZpcnN0LgogICoKICAqIFJldHVybjogdHJ1ZSBpZiBmc3VpZCBhbmQgZnNn aWQgaXMgbWFwcGVkLCBmYWxzZSBpZiBub3QuCiAgKi8KQEAgLTE1ODIsMTAgKzE2MDMsMTAg QEAgc3RhdGljIGlubGluZSBib29sIGZzdWlkZ2lkX2hhc19tYXBwaW5nKHN0cnVjdCBzdXBl cl9ibG9jayAqc2IsCiAJa2dpZF90IGtnaWQ7CiAKIAlrdWlkID0gbWFwcGVkX2ZzdWlkKGlk bWFwLCBmc191c2VybnMpOwotCWlmICghdWlkX3ZhbGlkKGt1aWQpKQorCWlmICghdWlkX3Zh bGlkKGt1aWQpIHx8ICFzYl9jYW5fb3duX2t1aWQoc2IsIGt1aWQpKQogCQlyZXR1cm4gZmFs c2U7CiAJa2dpZCA9IG1hcHBlZF9mc2dpZChpZG1hcCwgZnNfdXNlcm5zKTsKLQlpZiAoIWdp ZF92YWxpZChrZ2lkKSkKKwlpZiAoIWdpZF92YWxpZChrZ2lkKSB8fCAhc2JfY2FuX293bl9r Z2lkKHNiLCBrZ2lkKSkKIAkJcmV0dXJuIGZhbHNlOwogCXJldHVybiBrdWlkX2hhc19tYXBw aW5nKGZzX3VzZXJucywga3VpZCkgJiYKIAkgICAgICAga2dpZF9oYXNfbWFwcGluZyhmc191 c2VybnMsIGtnaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9mcy9zdXBlcl90eXBl cy5oIGIvaW5jbHVkZS9saW51eC9mcy9zdXBlcl90eXBlcy5oCmluZGV4IDY4NzQ3MTgyYS4u OGJhOTNjNGI4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2ZzL3N1cGVyX3R5cGVzLmgK KysrIGIvaW5jbHVkZS9saW51eC9mcy9zdXBlcl90eXBlcy5oCkBAIC0zNDgsNSArMzQ4LDYg QEAgc3RydWN0IHN1cGVyX2Jsb2NrIHsKICNkZWZpbmUgU0JfSV9OT0lETUFQCTB4MDAwMDIw MDAJLyogTm8gaWRtYXBwZWQgbW91bnRzIG9uIHRoaXMgc3VwZXJibG9jayAqLwogI2RlZmlu ZSBTQl9JX0FMTE9XX0hTTQkweDAwMDA0MDAwCS8qIEFsbG93IEhTTSBldmVudHMgb24gdGhp cyBzdXBlcmJsb2NrICovCiAjZGVmaW5lIFNCX0lfTk9fREFUQV9JTlRFR1JJVFkJMHgwMDAw ODAwMCAvKiBmcyBjYW5ub3QgZ3VhcmFudGVlIGRhdGEgcGVyc2lzdGVuY2Ugb24gc3luYyAq LworI2RlZmluZSBTQl9JX1VJRF9SCTB4MDAwMTAwMDAJLyogZnMgc3RvcmVzIFVVSUQgYW5k IEdVSUQgb3duZXJzLCBub3QganVzdCBjbGFzc2ljIGlkcyAqLwogCiAjZW5kaWYgLyogX0xJ TlVYX0ZTX1NVUEVSX1RZUEVTX0ggKi8K --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0019-cred-add-the-_r-variants-of-the-get-set-id-system-ca.patch" Content-Disposition: attachment; filename*0="uid_r-0019-cred-add-the-_r-variants-of-the-get-set-id-system"; filename*1="-ca.patch" Content-Transfer-Encoding: base64 RnJvbSBjZjY5YmVkZjBlNWIyODA2NTE1MmVlOGQ3MzIyNmNjZjczMWU4MjllIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjQ2OjA0ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxOS80M10gY3JlZDogYWRkIHRoZSAqX3IgdmFyaWFudHMgb2YgdGhlIGdldC9zZXQq aWQoKSBzeXN0ZW0KIGNhbGxzCgpBZGQgZ2V0dWlkX3IoKSwgZ2V0ZXVpZF9yKCksIGdldGdp ZF9yKCksIGdldGVnaWRfcigpLCBzZXR1aWRfcigpLApzZXRnaWRfcigpLCBzZXRyZXVpZF9y KCksIHNldHJlZ2lkX3IoKSwgc2V0cmVzdWlkX3IoKSwgZ2V0cmVzdWlkX3IoKSwKc2V0cmVz Z2lkX3IoKSwgZ2V0cmVzZ2lkX3IoKSwgc2V0ZnN1aWRfcigpIGFuZCBzZXRmc2dpZF9yKCku IFRoZXkgd29yawpsaWtlIHRoZSBjbGFzc2ljIGNhbGxzIGJ1dCB0YWtlIGFuZCByZXR1cm4g cG9pbnRlcnMgdG8KX19rZXJuZWxfdWlkX3JfdCwgc28gYSBwcm9jZXNzIGNhbiBiZSBhIFVV SUQgb3IgR1VJRCB1c2VyIGFuZCBncm91cC4KVGhlIGNsYXNzaWMgY2FsbHMgc2VlIHN1Y2gg aWRzIGFzIHRoZSBvdmVyZmxvdyBpZCwgbGlrZSB0aGUgMTYgYml0CmNhbGxzIHNlZSBpZHMg YWJvdmUgNjU1MzUuCgpUbyBzaGFyZSB0aGUgbG9naWMsIHRoZSBjbGFzc2ljIGltcGxlbWVu dGF0aW9ucyBhcmUgc3BsaXQgaW50byBhIHBhcnQKY29udmVydGluZyB0aGUgYXJndW1lbnRz IGFuZCBhIGRvXyooKSBwYXJ0IHdvcmtpbmcgb24ga3VpZF90L2tnaWRfdCwKaW4gd2hpY2gg YW4gaW52YWxpZCBpZCBtZWFucyAidW5jaGFuZ2VkIiAtLSB3aGF0IC0xIGNvbnZlcnRzIHRv LiBBCk5VTEwgcG9pbnRlciwgVUlEX1JfTk9ORSBvciBhIGNsYXNzaWMgLTEgbWVhbiAidW5j aGFuZ2VkIiBpbiB0aGUgbmV3CmNhbGxzIGFzIHdlbGwuCgpVVUlEcyBhbmQgR1VJRHMgaGF2 ZSBubyBtYXBwaW5nIG91dHNpZGUgdGhlIGluaXRpYWwgdXNlciBuYW1lc3BhY2UsIHNvCm9u bHkgQ0FQX1NFVFVJRC9DQVBfU0VUR0lEIHRoZXJlIGNhbiBzd2l0Y2ggdG8gb25lLgoKc2V0 ZnN1aWRfcigpIGFuZCBzZXRmc2dpZF9yKCkgZGlmZmVyIGZyb20gdGhlIGNsYXNzaWMgY2Fs bHMgaW4gb25lCnJlc3BlY3Q6IHRoZXkgcmV0dXJuIC1FUEVSTSB3aGVuIHRoZSBjaGFuZ2Ug aXMgbm90IGFsbG93ZWQgaW5zdGVhZCBvZgpmYWlsaW5nIHNpbGVudGx5LCBhbmQgaGFuZCB0 aGUgb2xkIGlkIGJhY2sgdGhyb3VnaCBhIHNlY29uZCBhcmd1bWVudC4KClRoZSBzeXN0ZW0g Y2FsbCBudW1iZXJzIGFyZSBhc3NpZ25lZCBpbiBhIGxhdGVyIHBhdGNoLgoKQXNzaXN0ZWQt Ynk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBpbmNsdWRlL2xpbnV4L3N5c2NhbGxz LmggfCAgMjcgKysrCiBrZXJuZWwvc3lzLmMgICAgICAgICAgICAgfCA0NzIgKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiBrZXJuZWwvc3lzX25pLmMgICAgICAg ICAgfCAgMTAgKwogMyBmaWxlcyBjaGFuZ2VkLCAzODUgaW5zZXJ0aW9ucygrKSwgMTI0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaCBiL2lu Y2x1ZGUvbGludXgvc3lzY2FsbHMuaAppbmRleCA4NzRkOTA2N2EuLjkwM2NjNmZhMCAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oCisrKyBiL2luY2x1ZGUvbGludXgv c3lzY2FsbHMuaApAQCAtMTcsNiArMTcsNyBAQCBzdHJ1Y3QgaW9jYjsKIHN0cnVjdCBpb19l dmVudDsKIHN0cnVjdCBpb3ZlYzsKIHN0cnVjdCBfX2tlcm5lbF9vbGRfaXRpbWVydmFsOwor c3RydWN0IF9fa2VybmVsX3VpZF9yOwogc3RydWN0IGtleGVjX3NlZ21lbnQ7CiBzdHJ1Y3Qg bGludXhfZGlyZW50Owogc3RydWN0IGxpbnV4X2RpcmVudDY0OwpAQCAtOTY2LDYgKzk2Nywz MiBAQCBhc21saW5rYWdlIGxvbmcgc3lzX3N0YXR4KGludCBkZmQsIGNvbnN0IGNoYXIgX191 c2VyICpwYXRoLCB1bnNpZ25lZCBmbGFncywKIGFzbWxpbmthZ2UgbG9uZyBzeXNfcnNlcShz dHJ1Y3QgcnNlcSBfX3VzZXIgKnJzZXEsIHVpbnQzMl90IHJzZXFfbGVuLAogCQkJIGludCBm bGFncywgdWludDMyX3Qgc2lnKTsKIGFzbWxpbmthZ2UgbG9uZyBzeXNfcnNlcV9zbGljZV95 aWVsZCh2b2lkKTsKK2FzbWxpbmthZ2UgbG9uZyBzeXNfZ2V0dWlkX3Ioc3RydWN0IF9fa2Vy bmVsX3VpZF9yIF9fdXNlciAqdWlkKTsKK2FzbWxpbmthZ2UgbG9uZyBzeXNfZ2V0ZXVpZF9y KHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKnVpZCk7Cithc21saW5rYWdlIGxvbmcg c3lzX2dldGdpZF9yKHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKmdpZCk7Cithc21s aW5rYWdlIGxvbmcgc3lzX2dldGVnaWRfcihzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2Vy ICpnaWQpOworYXNtbGlua2FnZSBsb25nIHN5c19zZXR1aWRfcihjb25zdCBzdHJ1Y3QgX19r ZXJuZWxfdWlkX3IgX191c2VyICp1aWQpOworYXNtbGlua2FnZSBsb25nIHN5c19zZXRnaWRf cihjb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpnaWQpOworYXNtbGlua2Fn ZSBsb25nIHN5c19zZXRyZXVpZF9yKGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3Vz ZXIgKnJ1aWQsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNl ciAqZXVpZCk7Cithc21saW5rYWdlIGxvbmcgc3lzX3NldHJlZ2lkX3IoY29uc3Qgc3RydWN0 IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqcmdpZCwKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3Qg X19rZXJuZWxfdWlkX3IgX191c2VyICplZ2lkKTsKK2FzbWxpbmthZ2UgbG9uZyBzeXNfc2V0 cmVzdWlkX3IoY29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqcnVpZCwKKwkJ CQljb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpldWlkLAorCQkJCWNvbnN0 IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKnN1aWQpOworYXNtbGlua2FnZSBsb25n IHN5c19nZXRyZXN1aWRfcihzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpydWlkLAor CQkJCXN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKmV1aWQsCisJCQkJc3RydWN0IF9f a2VybmVsX3VpZF9yIF9fdXNlciAqc3VpZCk7Cithc21saW5rYWdlIGxvbmcgc3lzX3NldHJl c2dpZF9yKGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKnJnaWQsCisJCQkJ Y29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqZWdpZCwKKwkJCQljb25zdCBz dHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpzZ2lkKTsKK2FzbWxpbmthZ2UgbG9uZyBz eXNfZ2V0cmVzZ2lkX3Ioc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqcmdpZCwKKwkJ CQlzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICplZ2lkLAorCQkJCXN0cnVjdCBfX2tl cm5lbF91aWRfciBfX3VzZXIgKnNnaWQpOworYXNtbGlua2FnZSBsb25nIHN5c19zZXRmc3Vp ZF9yKGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKnVpZCwKKwkJCSAgICAg ICBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpvbGRfdWlkKTsKK2FzbWxpbmthZ2Ug bG9uZyBzeXNfc2V0ZnNnaWRfcihjb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2Vy ICpnaWQsCisJCQkgICAgICAgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqb2xkX2dp ZCk7CiBhc21saW5rYWdlIGxvbmcgc3lzX29wZW5fdHJlZShpbnQgZGZkLCBjb25zdCBjaGFy IF9fdXNlciAqcGF0aCwgdW5zaWduZWQgZmxhZ3MpOwogYXNtbGlua2FnZSBsb25nIHN5c19v cGVuX3RyZWVfYXR0cihpbnQgZGZkLCBjb25zdCBjaGFyIF9fdXNlciAqcGF0aCwKIAkJCQkg ICB1bnNpZ25lZCBmbGFncywKZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXMuYyBiL2tlcm5lbC9z eXMuYwppbmRleCAzNWI1MzhiYTguLmZhZDU1NzMyMyAxMDA2NDQKLS0tIGEva2VybmVsL3N5 cy5jCisrKyBiL2tlcm5lbC9zeXMuYwpAQCAtNDEwLDIxICs0MTAsMTIgQEAgU1lTQ0FMTF9E RUZJTkUyKGdldHByaW9yaXR5LCBpbnQsIHdoaWNoLCBpbnQsIHdobykKICAqICAgICAgb3Bl cmF0aW9ucyAoYXMgZmFyIGFzIHNlbWFudGljIHByZXNlcnZhdGlvbiBpcyBjb25jZXJuZWQp LgogICovCiAjaWZkZWYgQ09ORklHX01VTFRJVVNFUgotbG9uZyBfX3N5c19zZXRyZWdpZChn aWRfdCByZ2lkLCBnaWRfdCBlZ2lkKQorLyogSW52YWxpZCBpZHMgKElOVkFMSURfR0lEKSBz dGFuZCBmb3IgInVuY2hhbmdlZCIgKi8KK3N0YXRpYyBsb25nIGRvX3NldHJlZ2lkKGtnaWRf dCBrcmdpZCwga2dpZF90IGtlZ2lkKQogewotCXN0cnVjdCB1c2VyX25hbWVzcGFjZSAqbnMg PSBjdXJyZW50X3VzZXJfbnMoKTsKIAljb25zdCBzdHJ1Y3QgY3JlZCAqb2xkOwogCXN0cnVj dCBjcmVkICpuZXc7CiAJaW50IHJldHZhbDsKLQlrZ2lkX3Qga3JnaWQsIGtlZ2lkOwotCi0J a3JnaWQgPSBtYWtlX2tnaWQobnMsIHJnaWQpOwotCWtlZ2lkID0gbWFrZV9rZ2lkKG5zLCBl Z2lkKTsKLQotCWlmICgocmdpZCAhPSAoZ2lkX3QpIC0xKSAmJiAhZ2lkX3ZhbGlkKGtyZ2lk KSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKChlZ2lkICE9IChnaWRfdCkgLTEpICYmICFn aWRfdmFsaWQoa2VnaWQpKQotCQlyZXR1cm4gLUVJTlZBTDsKIAogCW5ldyA9IHByZXBhcmVf Y3JlZHMoKTsKIAlpZiAoIW5ldykKQEAgLTQzMiw3ICs0MjMsNyBAQCBsb25nIF9fc3lzX3Nl dHJlZ2lkKGdpZF90IHJnaWQsIGdpZF90IGVnaWQpCiAJb2xkID0gY3VycmVudF9jcmVkKCk7 CiAKIAlyZXR2YWwgPSAtRVBFUk07Ci0JaWYgKHJnaWQgIT0gKGdpZF90KSAtMSkgeworCWlm IChnaWRfdmFsaWQoa3JnaWQpKSB7CiAJCWlmIChnaWRfZXEob2xkLT5naWQsIGtyZ2lkKSB8 fAogCQkgICAgZ2lkX2VxKG9sZC0+ZWdpZCwga3JnaWQpIHx8CiAJCSAgICBuc19jYXBhYmxl X3NldGlkKG9sZC0+dXNlcl9ucywgQ0FQX1NFVEdJRCkpCkBAIC00NDAsNyArNDMxLDcgQEAg bG9uZyBfX3N5c19zZXRyZWdpZChnaWRfdCByZ2lkLCBnaWRfdCBlZ2lkKQogCQllbHNlCiAJ CQlnb3RvIGVycm9yOwogCX0KLQlpZiAoZWdpZCAhPSAoZ2lkX3QpIC0xKSB7CisJaWYgKGdp ZF92YWxpZChrZWdpZCkpIHsKIAkJaWYgKGdpZF9lcShvbGQtPmdpZCwga2VnaWQpIHx8CiAJ CSAgICBnaWRfZXEob2xkLT5lZ2lkLCBrZWdpZCkgfHwKIAkJICAgIGdpZF9lcShvbGQtPnNn aWQsIGtlZ2lkKSB8fApAQCAtNDUwLDggKzQ0MSw4IEBAIGxvbmcgX19zeXNfc2V0cmVnaWQo Z2lkX3QgcmdpZCwgZ2lkX3QgZWdpZCkKIAkJCWdvdG8gZXJyb3I7CiAJfQogCi0JaWYgKHJn aWQgIT0gKGdpZF90KSAtMSB8fAotCSAgICAoZWdpZCAhPSAoZ2lkX3QpIC0xICYmICFnaWRf ZXEoa2VnaWQsIG9sZC0+Z2lkKSkpCisJaWYgKGdpZF92YWxpZChrcmdpZCkgfHwKKwkgICAg KGdpZF92YWxpZChrZWdpZCkgJiYgIWdpZF9lcShrZWdpZCwgb2xkLT5naWQpKSkKIAkJbmV3 LT5zZ2lkID0gbmV3LT5lZ2lkOwogCW5ldy0+ZnNnaWQgPSBuZXctPmVnaWQ7CiAKQEAgLTQ2 Niw2ICs0NTcsMjIgQEAgbG9uZyBfX3N5c19zZXRyZWdpZChnaWRfdCByZ2lkLCBnaWRfdCBl Z2lkKQogCXJldHVybiByZXR2YWw7CiB9CiAKK2xvbmcgX19zeXNfc2V0cmVnaWQoZ2lkX3Qg cmdpZCwgZ2lkX3QgZWdpZCkKK3sKKwlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKm5zID0gY3Vy cmVudF91c2VyX25zKCk7CisJa2dpZF90IGtyZ2lkLCBrZWdpZDsKKworCWtyZ2lkID0gbWFr ZV9rZ2lkKG5zLCByZ2lkKTsKKwlrZWdpZCA9IG1ha2Vfa2dpZChucywgZWdpZCk7CisKKwlp ZiAoKHJnaWQgIT0gKGdpZF90KSAtMSkgJiYgIWdpZF92YWxpZChrcmdpZCkpCisJCXJldHVy biAtRUlOVkFMOworCWlmICgoZWdpZCAhPSAoZ2lkX3QpIC0xKSAmJiAhZ2lkX3ZhbGlkKGtl Z2lkKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gZG9fc2V0cmVnaWQoa3JnaWQs IGtlZ2lkKTsKK30KKwogU1lTQ0FMTF9ERUZJTkUyKHNldHJlZ2lkLCBnaWRfdCwgcmdpZCwg Z2lkX3QsIGVnaWQpCiB7CiAJcmV0dXJuIF9fc3lzX3NldHJlZ2lkKHJnaWQsIGVnaWQpOwpA QCAtNDc2LDE1ICs0ODMsMTIgQEAgU1lTQ0FMTF9ERUZJTkUyKHNldHJlZ2lkLCBnaWRfdCwg cmdpZCwgZ2lkX3QsIGVnaWQpCiAgKgogICogU01QOiBTYW1lIGltcGxpY2l0IHJhY2VzIGFz IGFib3ZlLgogICovCi1sb25nIF9fc3lzX3NldGdpZChnaWRfdCBnaWQpCitzdGF0aWMgbG9u ZyBkb19zZXRnaWQoa2dpZF90IGtnaWQpCiB7Ci0Jc3RydWN0IHVzZXJfbmFtZXNwYWNlICpu cyA9IGN1cnJlbnRfdXNlcl9ucygpOwogCWNvbnN0IHN0cnVjdCBjcmVkICpvbGQ7CiAJc3Ry dWN0IGNyZWQgKm5ldzsKIAlpbnQgcmV0dmFsOwotCWtnaWRfdCBrZ2lkOwogCi0Ja2dpZCA9 IG1ha2Vfa2dpZChucywgZ2lkKTsKIAlpZiAoIWdpZF92YWxpZChrZ2lkKSkKIAkJcmV0dXJu IC1FSU5WQUw7CiAKQEAgLTUxMiw2ICs1MTYsMTEgQEAgbG9uZyBfX3N5c19zZXRnaWQoZ2lk X3QgZ2lkKQogCXJldHVybiByZXR2YWw7CiB9CiAKK2xvbmcgX19zeXNfc2V0Z2lkKGdpZF90 IGdpZCkKK3sKKwlyZXR1cm4gZG9fc2V0Z2lkKG1ha2Vfa2dpZChjdXJyZW50X3VzZXJfbnMo KSwgZ2lkKSk7Cit9CisKIFNZU0NBTExfREVGSU5FMShzZXRnaWQsIGdpZF90LCBnaWQpCiB7 CiAJcmV0dXJuIF9fc3lzX3NldGdpZChnaWQpOwpAQCAtNTY3LDIxICs1NzYsMTIgQEAgc3Rh dGljIHZvaWQgZmxhZ19ucHJvY19leGNlZWRlZChzdHJ1Y3QgY3JlZCAqbmV3KQogICogMTAw JSBjb21wYXRpYmxlIHdpdGggQlNELiAgQSBwcm9ncmFtIHdoaWNoIHVzZXMganVzdCBzZXR1 aWQoKSB3aWxsIGJlCiAgKiAxMDAlIGNvbXBhdGlibGUgd2l0aCBQT1NJWCB3aXRoIHNhdmVk IElEcy4KICAqLwotbG9uZyBfX3N5c19zZXRyZXVpZCh1aWRfdCBydWlkLCB1aWRfdCBldWlk KQorLyogSW52YWxpZCBpZHMgKElOVkFMSURfVUlEKSBzdGFuZCBmb3IgInVuY2hhbmdlZCIg Ki8KK3N0YXRpYyBsb25nIGRvX3NldHJldWlkKGt1aWRfdCBrcnVpZCwga3VpZF90IGtldWlk KQogewotCXN0cnVjdCB1c2VyX25hbWVzcGFjZSAqbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsK IAljb25zdCBzdHJ1Y3QgY3JlZCAqb2xkOwogCXN0cnVjdCBjcmVkICpuZXc7CiAJaW50IHJl dHZhbDsKLQlrdWlkX3Qga3J1aWQsIGtldWlkOwotCi0Ja3J1aWQgPSBtYWtlX2t1aWQobnMs IHJ1aWQpOwotCWtldWlkID0gbWFrZV9rdWlkKG5zLCBldWlkKTsKLQotCWlmICgocnVpZCAh PSAodWlkX3QpIC0xKSAmJiAhdWlkX3ZhbGlkKGtydWlkKSkKLQkJcmV0dXJuIC1FSU5WQUw7 Ci0JaWYgKChldWlkICE9ICh1aWRfdCkgLTEpICYmICF1aWRfdmFsaWQoa2V1aWQpKQotCQly ZXR1cm4gLUVJTlZBTDsKIAogCW5ldyA9IHByZXBhcmVfY3JlZHMoKTsKIAlpZiAoIW5ldykK QEAgLTU4OSw3ICs1ODksNyBAQCBsb25nIF9fc3lzX3NldHJldWlkKHVpZF90IHJ1aWQsIHVp ZF90IGV1aWQpCiAJb2xkID0gY3VycmVudF9jcmVkKCk7CiAKIAlyZXR2YWwgPSAtRVBFUk07 Ci0JaWYgKHJ1aWQgIT0gKHVpZF90KSAtMSkgeworCWlmICh1aWRfdmFsaWQoa3J1aWQpKSB7 CiAJCW5ldy0+dWlkID0ga3J1aWQ7CiAJCWlmICghdWlkX2VxKG9sZC0+dWlkLCBrcnVpZCkg JiYKIAkJICAgICF1aWRfZXEob2xkLT5ldWlkLCBrcnVpZCkgJiYKQEAgLTU5Nyw3ICs1OTcs NyBAQCBsb25nIF9fc3lzX3NldHJldWlkKHVpZF90IHJ1aWQsIHVpZF90IGV1aWQpCiAJCQln b3RvIGVycm9yOwogCX0KIAotCWlmIChldWlkICE9ICh1aWRfdCkgLTEpIHsKKwlpZiAodWlk X3ZhbGlkKGtldWlkKSkgewogCQluZXctPmV1aWQgPSBrZXVpZDsKIAkJaWYgKCF1aWRfZXEo b2xkLT51aWQsIGtldWlkKSAmJgogCQkgICAgIXVpZF9lcShvbGQtPmV1aWQsIGtldWlkKSAm JgpAQCAtNjExLDggKzYxMSw4IEBAIGxvbmcgX19zeXNfc2V0cmV1aWQodWlkX3QgcnVpZCwg dWlkX3QgZXVpZCkKIAkJaWYgKHJldHZhbCA8IDApCiAJCQlnb3RvIGVycm9yOwogCX0KLQlp ZiAocnVpZCAhPSAodWlkX3QpIC0xIHx8Ci0JICAgIChldWlkICE9ICh1aWRfdCkgLTEgJiYg IXVpZF9lcShrZXVpZCwgb2xkLT51aWQpKSkKKwlpZiAodWlkX3ZhbGlkKGtydWlkKSB8fAor CSAgICAodWlkX3ZhbGlkKGtldWlkKSAmJiAhdWlkX2VxKGtldWlkLCBvbGQtPnVpZCkpKQog CQluZXctPnN1aWQgPSBuZXctPmV1aWQ7CiAJbmV3LT5mc3VpZCA9IG5ldy0+ZXVpZDsKIApA QCAtNjMyLDYgKzYzMiwyMiBAQCBsb25nIF9fc3lzX3NldHJldWlkKHVpZF90IHJ1aWQsIHVp ZF90IGV1aWQpCiAJcmV0dXJuIHJldHZhbDsKIH0KIAorbG9uZyBfX3N5c19zZXRyZXVpZCh1 aWRfdCBydWlkLCB1aWRfdCBldWlkKQoreworCXN0cnVjdCB1c2VyX25hbWVzcGFjZSAqbnMg PSBjdXJyZW50X3VzZXJfbnMoKTsKKwlrdWlkX3Qga3J1aWQsIGtldWlkOworCisJa3J1aWQg PSBtYWtlX2t1aWQobnMsIHJ1aWQpOworCWtldWlkID0gbWFrZV9rdWlkKG5zLCBldWlkKTsK KworCWlmICgocnVpZCAhPSAodWlkX3QpIC0xKSAmJiAhdWlkX3ZhbGlkKGtydWlkKSkKKwkJ cmV0dXJuIC1FSU5WQUw7CisJaWYgKChldWlkICE9ICh1aWRfdCkgLTEpICYmICF1aWRfdmFs aWQoa2V1aWQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiBkb19zZXRyZXVpZChr cnVpZCwga2V1aWQpOworfQorCiBTWVNDQUxMX0RFRklORTIoc2V0cmV1aWQsIHVpZF90LCBy dWlkLCB1aWRfdCwgZXVpZCkKIHsKIAlyZXR1cm4gX19zeXNfc2V0cmV1aWQocnVpZCwgZXVp ZCk7CkBAIC02NDgsMTUgKzY2NCwxMiBAQCBTWVNDQUxMX0RFRklORTIoc2V0cmV1aWQsIHVp ZF90LCBydWlkLCB1aWRfdCwgZXVpZCkKICAqIHdpbGwgYWxsb3cgYSByb290IHByb2dyYW0g dG8gdGVtcG9yYXJpbHkgZHJvcCBwcml2aWxlZ2VzIGFuZCBiZSBhYmxlIHRvCiAgKiByZWdh aW4gdGhlbSBieSBzd2FwcGluZyB0aGUgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZC4KICAqLwot bG9uZyBfX3N5c19zZXR1aWQodWlkX3QgdWlkKQorc3RhdGljIGxvbmcgZG9fc2V0dWlkKGt1 aWRfdCBrdWlkKQogewotCXN0cnVjdCB1c2VyX25hbWVzcGFjZSAqbnMgPSBjdXJyZW50X3Vz ZXJfbnMoKTsKIAljb25zdCBzdHJ1Y3QgY3JlZCAqb2xkOwogCXN0cnVjdCBjcmVkICpuZXc7 CiAJaW50IHJldHZhbDsKLQlrdWlkX3Qga3VpZDsKIAotCWt1aWQgPSBtYWtlX2t1aWQobnMs IHVpZCk7CiAJaWYgKCF1aWRfdmFsaWQoa3VpZCkpCiAJCXJldHVybiAtRUlOVkFMOwogCkBA IC02OTUsNiArNzA4LDExIEBAIGxvbmcgX19zeXNfc2V0dWlkKHVpZF90IHVpZCkKIAlyZXR1 cm4gcmV0dmFsOwogfQogCitsb25nIF9fc3lzX3NldHVpZCh1aWRfdCB1aWQpCit7CisJcmV0 dXJuIGRvX3NldHVpZChtYWtlX2t1aWQoY3VycmVudF91c2VyX25zKCksIHVpZCkpOworfQor CiBTWVNDQUxMX0RFRklORTEoc2V0dWlkLCB1aWRfdCwgdWlkKQogewogCXJldHVybiBfX3N5 c19zZXR1aWQodWlkKTsKQEAgLTcwNSw0MiArNzIzLDI4IEBAIFNZU0NBTExfREVGSU5FMShz ZXR1aWQsIHVpZF90LCB1aWQpCiAgKiBUaGlzIGZ1bmN0aW9uIGltcGxlbWVudHMgYSBnZW5l cmljIGFiaWxpdHkgdG8gdXBkYXRlIHJ1aWQsIGV1aWQsCiAgKiBhbmQgc3VpZC4gIFRoaXMg YWxsb3dzIHlvdSB0byBpbXBsZW1lbnQgdGhlIDQuNCBjb21wYXRpYmxlIHNldGV1aWQoKS4K ICAqLwotbG9uZyBfX3N5c19zZXRyZXN1aWQodWlkX3QgcnVpZCwgdWlkX3QgZXVpZCwgdWlk X3Qgc3VpZCkKKy8qIEludmFsaWQgaWRzIChJTlZBTElEX1VJRCkgc3RhbmQgZm9yICJ1bmNo YW5nZWQiICovCitzdGF0aWMgbG9uZyBkb19zZXRyZXN1aWQoa3VpZF90IGtydWlkLCBrdWlk X3Qga2V1aWQsIGt1aWRfdCBrc3VpZCkKIHsKLQlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKm5z ID0gY3VycmVudF91c2VyX25zKCk7CiAJY29uc3Qgc3RydWN0IGNyZWQgKm9sZDsKIAlzdHJ1 Y3QgY3JlZCAqbmV3OwogCWludCByZXR2YWw7Ci0Ja3VpZF90IGtydWlkLCBrZXVpZCwga3N1 aWQ7CiAJYm9vbCBydWlkX25ldywgZXVpZF9uZXcsIHN1aWRfbmV3OwogCi0Ja3J1aWQgPSBt YWtlX2t1aWQobnMsIHJ1aWQpOwotCWtldWlkID0gbWFrZV9rdWlkKG5zLCBldWlkKTsKLQlr c3VpZCA9IG1ha2Vfa3VpZChucywgc3VpZCk7Ci0KLQlpZiAoKHJ1aWQgIT0gKHVpZF90KSAt MSkgJiYgIXVpZF92YWxpZChrcnVpZCkpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JaWYgKChl dWlkICE9ICh1aWRfdCkgLTEpICYmICF1aWRfdmFsaWQoa2V1aWQpKQotCQlyZXR1cm4gLUVJ TlZBTDsKLQotCWlmICgoc3VpZCAhPSAodWlkX3QpIC0xKSAmJiAhdWlkX3ZhbGlkKGtzdWlk KSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KIAlvbGQgPSBjdXJyZW50X2NyZWQoKTsKIAogCS8q IGNoZWNrIGZvciBuby1vcCAqLwotCWlmICgocnVpZCA9PSAodWlkX3QpIC0xIHx8IHVpZF9l cShrcnVpZCwgb2xkLT51aWQpKSAmJgotCSAgICAoZXVpZCA9PSAodWlkX3QpIC0xIHx8ICh1 aWRfZXEoa2V1aWQsIG9sZC0+ZXVpZCkgJiYKLQkJCQkgICAgdWlkX2VxKGtldWlkLCBvbGQt PmZzdWlkKSkpICYmCi0JICAgIChzdWlkID09ICh1aWRfdCkgLTEgfHwgdWlkX2VxKGtzdWlk LCBvbGQtPnN1aWQpKSkKKwlpZiAoKCF1aWRfdmFsaWQoa3J1aWQpIHx8IHVpZF9lcShrcnVp ZCwgb2xkLT51aWQpKSAmJgorCSAgICAoIXVpZF92YWxpZChrZXVpZCkgfHwgKHVpZF9lcShr ZXVpZCwgb2xkLT5ldWlkKSAmJgorCQkJCSAgIHVpZF9lcShrZXVpZCwgb2xkLT5mc3VpZCkp KSAmJgorCSAgICAoIXVpZF92YWxpZChrc3VpZCkgfHwgdWlkX2VxKGtzdWlkLCBvbGQtPnN1 aWQpKSkKIAkJcmV0dXJuIDA7CiAKLQlydWlkX25ldyA9IHJ1aWQgIT0gKHVpZF90KSAtMSAg ICAgICAgJiYgIXVpZF9lcShrcnVpZCwgb2xkLT51aWQpICYmCisJcnVpZF9uZXcgPSB1aWRf dmFsaWQoa3J1aWQpICAgICAgICAgICYmICF1aWRfZXEoa3J1aWQsIG9sZC0+dWlkKSAmJgog CQkgICAhdWlkX2VxKGtydWlkLCBvbGQtPmV1aWQpICYmICF1aWRfZXEoa3J1aWQsIG9sZC0+ c3VpZCk7Ci0JZXVpZF9uZXcgPSBldWlkICE9ICh1aWRfdCkgLTEgICAgICAgICYmICF1aWRf ZXEoa2V1aWQsIG9sZC0+dWlkKSAmJgorCWV1aWRfbmV3ID0gdWlkX3ZhbGlkKGtldWlkKSAg ICAgICAgICAmJiAhdWlkX2VxKGtldWlkLCBvbGQtPnVpZCkgJiYKIAkJICAgIXVpZF9lcShr ZXVpZCwgb2xkLT5ldWlkKSAmJiAhdWlkX2VxKGtldWlkLCBvbGQtPnN1aWQpOwotCXN1aWRf bmV3ID0gc3VpZCAhPSAodWlkX3QpIC0xICAgICAgICAmJiAhdWlkX2VxKGtzdWlkLCBvbGQt PnVpZCkgJiYKKwlzdWlkX25ldyA9IHVpZF92YWxpZChrc3VpZCkgICAgICAgICAgJiYgIXVp ZF9lcShrc3VpZCwgb2xkLT51aWQpICYmCiAJCSAgICF1aWRfZXEoa3N1aWQsIG9sZC0+ZXVp ZCkgJiYgIXVpZF9lcShrc3VpZCwgb2xkLT5zdWlkKTsKIAlpZiAoKHJ1aWRfbmV3IHx8IGV1 aWRfbmV3IHx8IHN1aWRfbmV3KSAmJgogCSAgICAhbnNfY2FwYWJsZV9zZXRpZChvbGQtPnVz ZXJfbnMsIENBUF9TRVRVSUQpKQpAQCAtNzUwLDcgKzc1NCw3IEBAIGxvbmcgX19zeXNfc2V0 cmVzdWlkKHVpZF90IHJ1aWQsIHVpZF90IGV1aWQsIHVpZF90IHN1aWQpCiAJaWYgKCFuZXcp CiAJCXJldHVybiAtRU5PTUVNOwogCi0JaWYgKHJ1aWQgIT0gKHVpZF90KSAtMSkgeworCWlm ICh1aWRfdmFsaWQoa3J1aWQpKSB7CiAJCW5ldy0+dWlkID0ga3J1aWQ7CiAJCWlmICghdWlk X2VxKGtydWlkLCBvbGQtPnVpZCkpIHsKIAkJCXJldHZhbCA9IHNldF91c2VyKG5ldyk7CkBA IC03NTgsOSArNzYyLDkgQEAgbG9uZyBfX3N5c19zZXRyZXN1aWQodWlkX3QgcnVpZCwgdWlk X3QgZXVpZCwgdWlkX3Qgc3VpZCkKIAkJCQlnb3RvIGVycm9yOwogCQl9CiAJfQotCWlmIChl dWlkICE9ICh1aWRfdCkgLTEpCisJaWYgKHVpZF92YWxpZChrZXVpZCkpCiAJCW5ldy0+ZXVp ZCA9IGtldWlkOwotCWlmIChzdWlkICE9ICh1aWRfdCkgLTEpCisJaWYgKHVpZF92YWxpZChr c3VpZCkpCiAJCW5ldy0+c3VpZCA9IGtzdWlkOwogCW5ldy0+ZnN1aWQgPSBuZXctPmV1aWQ7 CiAKQEAgLTc4MCw2ICs3ODQsMjcgQEAgbG9uZyBfX3N5c19zZXRyZXN1aWQodWlkX3QgcnVp ZCwgdWlkX3QgZXVpZCwgdWlkX3Qgc3VpZCkKIAlyZXR1cm4gcmV0dmFsOwogfQogCitsb25n IF9fc3lzX3NldHJlc3VpZCh1aWRfdCBydWlkLCB1aWRfdCBldWlkLCB1aWRfdCBzdWlkKQor eworCXN0cnVjdCB1c2VyX25hbWVzcGFjZSAqbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsKKwlr dWlkX3Qga3J1aWQsIGtldWlkLCBrc3VpZDsKKworCWtydWlkID0gbWFrZV9rdWlkKG5zLCBy dWlkKTsKKwlrZXVpZCA9IG1ha2Vfa3VpZChucywgZXVpZCk7CisJa3N1aWQgPSBtYWtlX2t1 aWQobnMsIHN1aWQpOworCisJaWYgKChydWlkICE9ICh1aWRfdCkgLTEpICYmICF1aWRfdmFs aWQoa3J1aWQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICgoZXVpZCAhPSAodWlkX3Qp IC0xKSAmJiAhdWlkX3ZhbGlkKGtldWlkKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAo KHN1aWQgIT0gKHVpZF90KSAtMSkgJiYgIXVpZF92YWxpZChrc3VpZCkpCisJCXJldHVybiAt RUlOVkFMOworCisJcmV0dXJuIGRvX3NldHJlc3VpZChrcnVpZCwga2V1aWQsIGtzdWlkKTsK K30KKwogU1lTQ0FMTF9ERUZJTkUzKHNldHJlc3VpZCwgdWlkX3QsIHJ1aWQsIHVpZF90LCBl dWlkLCB1aWRfdCwgc3VpZCkKIHsKIAlyZXR1cm4gX19zeXNfc2V0cmVzdWlkKHJ1aWQsIGV1 aWQsIHN1aWQpOwpAQCAtODA3LDQwICs4MzIsMjggQEAgU1lTQ0FMTF9ERUZJTkUzKGdldHJl c3VpZCwgdWlkX3QgX191c2VyICosIHJ1aWRwLCB1aWRfdCBfX3VzZXIgKiwgZXVpZHAsIHVp ZF90IF8KIC8qCiAgKiBTYW1lIGFzIGFib3ZlLCBidXQgZm9yIHJnaWQsIGVnaWQsIHNnaWQu CiAgKi8KLWxvbmcgX19zeXNfc2V0cmVzZ2lkKGdpZF90IHJnaWQsIGdpZF90IGVnaWQsIGdp ZF90IHNnaWQpCisvKiBJbnZhbGlkIGlkcyAoSU5WQUxJRF9HSUQpIHN0YW5kIGZvciAidW5j aGFuZ2VkIiAqLworc3RhdGljIGxvbmcgZG9fc2V0cmVzZ2lkKGtnaWRfdCBrcmdpZCwga2dp ZF90IGtlZ2lkLCBrZ2lkX3Qga3NnaWQpCiB7Ci0Jc3RydWN0IHVzZXJfbmFtZXNwYWNlICpu cyA9IGN1cnJlbnRfdXNlcl9ucygpOwogCWNvbnN0IHN0cnVjdCBjcmVkICpvbGQ7CiAJc3Ry dWN0IGNyZWQgKm5ldzsKIAlpbnQgcmV0dmFsOwotCWtnaWRfdCBrcmdpZCwga2VnaWQsIGtz Z2lkOwogCWJvb2wgcmdpZF9uZXcsIGVnaWRfbmV3LCBzZ2lkX25ldzsKIAotCWtyZ2lkID0g bWFrZV9rZ2lkKG5zLCByZ2lkKTsKLQlrZWdpZCA9IG1ha2Vfa2dpZChucywgZWdpZCk7Ci0J a3NnaWQgPSBtYWtlX2tnaWQobnMsIHNnaWQpOwotCi0JaWYgKChyZ2lkICE9IChnaWRfdCkg LTEpICYmICFnaWRfdmFsaWQoa3JnaWQpKQotCQlyZXR1cm4gLUVJTlZBTDsKLQlpZiAoKGVn aWQgIT0gKGdpZF90KSAtMSkgJiYgIWdpZF92YWxpZChrZWdpZCkpCi0JCXJldHVybiAtRUlO VkFMOwotCWlmICgoc2dpZCAhPSAoZ2lkX3QpIC0xKSAmJiAhZ2lkX3ZhbGlkKGtzZ2lkKSkK LQkJcmV0dXJuIC1FSU5WQUw7Ci0KIAlvbGQgPSBjdXJyZW50X2NyZWQoKTsKIAogCS8qIGNo ZWNrIGZvciBuby1vcCAqLwotCWlmICgocmdpZCA9PSAoZ2lkX3QpIC0xIHx8IGdpZF9lcShr cmdpZCwgb2xkLT5naWQpKSAmJgotCSAgICAoZWdpZCA9PSAoZ2lkX3QpIC0xIHx8IChnaWRf ZXEoa2VnaWQsIG9sZC0+ZWdpZCkgJiYKLQkJCQkgICAgZ2lkX2VxKGtlZ2lkLCBvbGQtPmZz Z2lkKSkpICYmCi0JICAgIChzZ2lkID09IChnaWRfdCkgLTEgfHwgZ2lkX2VxKGtzZ2lkLCBv bGQtPnNnaWQpKSkKKwlpZiAoKCFnaWRfdmFsaWQoa3JnaWQpIHx8IGdpZF9lcShrcmdpZCwg b2xkLT5naWQpKSAmJgorCSAgICAoIWdpZF92YWxpZChrZWdpZCkgfHwgKGdpZF9lcShrZWdp ZCwgb2xkLT5lZ2lkKSAmJgorCQkJCSAgIGdpZF9lcShrZWdpZCwgb2xkLT5mc2dpZCkpKSAm JgorCSAgICAoIWdpZF92YWxpZChrc2dpZCkgfHwgZ2lkX2VxKGtzZ2lkLCBvbGQtPnNnaWQp KSkKIAkJcmV0dXJuIDA7CiAKLQlyZ2lkX25ldyA9IHJnaWQgIT0gKGdpZF90KSAtMSAgICAg ICAgJiYgIWdpZF9lcShrcmdpZCwgb2xkLT5naWQpICYmCisJcmdpZF9uZXcgPSBnaWRfdmFs aWQoa3JnaWQpICAgICAgICAgICYmICFnaWRfZXEoa3JnaWQsIG9sZC0+Z2lkKSAmJgogCQkg ICAhZ2lkX2VxKGtyZ2lkLCBvbGQtPmVnaWQpICYmICFnaWRfZXEoa3JnaWQsIG9sZC0+c2dp ZCk7Ci0JZWdpZF9uZXcgPSBlZ2lkICE9IChnaWRfdCkgLTEgICAgICAgICYmICFnaWRfZXEo a2VnaWQsIG9sZC0+Z2lkKSAmJgorCWVnaWRfbmV3ID0gZ2lkX3ZhbGlkKGtlZ2lkKSAgICAg ICAgICAmJiAhZ2lkX2VxKGtlZ2lkLCBvbGQtPmdpZCkgJiYKIAkJICAgIWdpZF9lcShrZWdp ZCwgb2xkLT5lZ2lkKSAmJiAhZ2lkX2VxKGtlZ2lkLCBvbGQtPnNnaWQpOwotCXNnaWRfbmV3 ID0gc2dpZCAhPSAoZ2lkX3QpIC0xICAgICAgICAmJiAhZ2lkX2VxKGtzZ2lkLCBvbGQtPmdp ZCkgJiYKKwlzZ2lkX25ldyA9IGdpZF92YWxpZChrc2dpZCkgICAgICAgICAgJiYgIWdpZF9l cShrc2dpZCwgb2xkLT5naWQpICYmCiAJCSAgICFnaWRfZXEoa3NnaWQsIG9sZC0+ZWdpZCkg JiYgIWdpZF9lcShrc2dpZCwgb2xkLT5zZ2lkKTsKIAlpZiAoKHJnaWRfbmV3IHx8IGVnaWRf bmV3IHx8IHNnaWRfbmV3KSAmJgogCSAgICAhbnNfY2FwYWJsZV9zZXRpZChvbGQtPnVzZXJf bnMsIENBUF9TRVRHSUQpKQpAQCAtODUwLDExICs4NjMsMTEgQEAgbG9uZyBfX3N5c19zZXRy ZXNnaWQoZ2lkX3QgcmdpZCwgZ2lkX3QgZWdpZCwgZ2lkX3Qgc2dpZCkKIAlpZiAoIW5ldykK IAkJcmV0dXJuIC1FTk9NRU07CiAKLQlpZiAocmdpZCAhPSAoZ2lkX3QpIC0xKQorCWlmIChn aWRfdmFsaWQoa3JnaWQpKQogCQluZXctPmdpZCA9IGtyZ2lkOwotCWlmIChlZ2lkICE9IChn aWRfdCkgLTEpCisJaWYgKGdpZF92YWxpZChrZWdpZCkpCiAJCW5ldy0+ZWdpZCA9IGtlZ2lk OwotCWlmIChzZ2lkICE9IChnaWRfdCkgLTEpCisJaWYgKGdpZF92YWxpZChrc2dpZCkpCiAJ CW5ldy0+c2dpZCA9IGtzZ2lkOwogCW5ldy0+ZnNnaWQgPSBuZXctPmVnaWQ7CiAKQEAgLTg2 OSw2ICs4ODIsMjUgQEAgbG9uZyBfX3N5c19zZXRyZXNnaWQoZ2lkX3QgcmdpZCwgZ2lkX3Qg ZWdpZCwgZ2lkX3Qgc2dpZCkKIAlyZXR1cm4gcmV0dmFsOwogfQogCitsb25nIF9fc3lzX3Nl dHJlc2dpZChnaWRfdCByZ2lkLCBnaWRfdCBlZ2lkLCBnaWRfdCBzZ2lkKQoreworCXN0cnVj dCB1c2VyX25hbWVzcGFjZSAqbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsKKwlrZ2lkX3Qga3Jn aWQsIGtlZ2lkLCBrc2dpZDsKKworCWtyZ2lkID0gbWFrZV9rZ2lkKG5zLCByZ2lkKTsKKwlr ZWdpZCA9IG1ha2Vfa2dpZChucywgZWdpZCk7CisJa3NnaWQgPSBtYWtlX2tnaWQobnMsIHNn aWQpOworCisJaWYgKChyZ2lkICE9IChnaWRfdCkgLTEpICYmICFnaWRfdmFsaWQoa3JnaWQp KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoKGVnaWQgIT0gKGdpZF90KSAtMSkgJiYgIWdp ZF92YWxpZChrZWdpZCkpCisJCXJldHVybiAtRUlOVkFMOworCWlmICgoc2dpZCAhPSAoZ2lk X3QpIC0xKSAmJiAhZ2lkX3ZhbGlkKGtzZ2lkKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwly ZXR1cm4gZG9fc2V0cmVzZ2lkKGtyZ2lkLCBrZWdpZCwga3NnaWQpOworfQorCiBTWVNDQUxM X0RFRklORTMoc2V0cmVzZ2lkLCBnaWRfdCwgcmdpZCwgZ2lkX3QsIGVnaWQsIGdpZF90LCBz Z2lkKQogewogCXJldHVybiBfX3N5c19zZXRyZXNnaWQocmdpZCwgZWdpZCwgc2dpZCk7CkBA IC05MDEsNDAgKzkzMyw0NCBAQCBTWVNDQUxMX0RFRklORTMoZ2V0cmVzZ2lkLCBnaWRfdCBf X3VzZXIgKiwgcmdpZHAsIGdpZF90IF9fdXNlciAqLCBlZ2lkcCwgZ2lkX3QgXwogICogd2hh dGV2ZXIgdWlkIGl0IHdhbnRzIHRvKS4gSXQgbm9ybWFsbHkgc2hhZG93cyAiZXVpZCIsIGV4 Y2VwdCB3aGVuCiAgKiBleHBsaWNpdGx5IHNldCBieSBzZXRmc3VpZCgpIG9yIGZvciBhY2Nl c3MuLgogICovCi1sb25nIF9fc3lzX3NldGZzdWlkKHVpZF90IHVpZCkKKy8qCisgKiBTZXRz IHRoZSBmc3VpZCB0byBAa3VpZCwgdW5sZXNzIGl0IGlzIGludmFsaWQ7IDAgb3IgLUVQRVJN LiBUaGUgZnN1aWQKKyAqIGJlZm9yZSB0aGUgY2FsbCBnb2VzIHRvIEBvbGQuCisgKi8KK3N0 YXRpYyBsb25nIGRvX3NldGZzdWlkKGt1aWRfdCBrdWlkLCBrdWlkX3QgKm9sZF9mc3VpZCkK IHsKIAljb25zdCBzdHJ1Y3QgY3JlZCAqb2xkOwogCXN0cnVjdCBjcmVkICpuZXc7Ci0JdWlk X3Qgb2xkX2ZzdWlkOwotCWt1aWRfdCBrdWlkOwogCiAJb2xkID0gY3VycmVudF9jcmVkKCk7 Ci0Jb2xkX2ZzdWlkID0gZnJvbV9rdWlkX211bmdlZChvbGQtPnVzZXJfbnMsIG9sZC0+ZnN1 aWQpOworCSpvbGRfZnN1aWQgPSBvbGQtPmZzdWlkOwogCi0Ja3VpZCA9IG1ha2Vfa3VpZChv bGQtPnVzZXJfbnMsIHVpZCk7Ci0JaWYgKCF1aWRfdmFsaWQoa3VpZCkpCi0JCXJldHVybiBv bGRfZnN1aWQ7CisJaWYgKCF1aWRfdmFsaWQoa3VpZCkgfHwgdWlkX2VxKGt1aWQsIG9sZC0+ ZnN1aWQpKQorCQlyZXR1cm4gMDsKIAogCW5ldyA9IHByZXBhcmVfY3JlZHMoKTsKIAlpZiAo IW5ldykKLQkJcmV0dXJuIG9sZF9mc3VpZDsKKwkJcmV0dXJuIC1FTk9NRU07CiAKIAlpZiAo dWlkX2VxKGt1aWQsIG9sZC0+dWlkKSAgfHwgdWlkX2VxKGt1aWQsIG9sZC0+ZXVpZCkgIHx8 Ci0JICAgIHVpZF9lcShrdWlkLCBvbGQtPnN1aWQpIHx8IHVpZF9lcShrdWlkLCBvbGQtPmZz dWlkKSB8fAorCSAgICB1aWRfZXEoa3VpZCwgb2xkLT5zdWlkKSB8fAogCSAgICBuc19jYXBh YmxlX3NldGlkKG9sZC0+dXNlcl9ucywgQ0FQX1NFVFVJRCkpIHsKLQkJaWYgKCF1aWRfZXEo a3VpZCwgb2xkLT5mc3VpZCkpIHsKLQkJCW5ldy0+ZnN1aWQgPSBrdWlkOwotCQkJaWYgKHNl Y3VyaXR5X3Rhc2tfZml4X3NldHVpZChuZXcsIG9sZCwgTFNNX1NFVElEX0ZTKSA9PSAwKQot CQkJCWdvdG8gY2hhbmdlX29rYXk7Ci0JCX0KKwkJbmV3LT5mc3VpZCA9IGt1aWQ7CisJCWlm IChzZWN1cml0eV90YXNrX2ZpeF9zZXR1aWQobmV3LCBvbGQsIExTTV9TRVRJRF9GUykgPT0g MCkKKwkJCXJldHVybiBjb21taXRfY3JlZHMobmV3KTsKIAl9CiAKIAlhYm9ydF9jcmVkcyhu ZXcpOwotCXJldHVybiBvbGRfZnN1aWQ7CisJcmV0dXJuIC1FUEVSTTsKK30KKworbG9uZyBf X3N5c19zZXRmc3VpZCh1aWRfdCB1aWQpCit7CisJc3RydWN0IHVzZXJfbmFtZXNwYWNlICpu cyA9IGN1cnJlbnRfdXNlcl9ucygpOworCWt1aWRfdCBvbGRfZnN1aWQ7CiAKLWNoYW5nZV9v a2F5OgotCWNvbW1pdF9jcmVkcyhuZXcpOwotCXJldHVybiBvbGRfZnN1aWQ7CisJZG9fc2V0 ZnN1aWQobWFrZV9rdWlkKG5zLCB1aWQpLCAmb2xkX2ZzdWlkKTsKKwlyZXR1cm4gZnJvbV9r dWlkX211bmdlZChucywgb2xkX2ZzdWlkKTsKIH0KIAogU1lTQ0FMTF9ERUZJTkUxKHNldGZz dWlkLCB1aWRfdCwgdWlkKQpAQCAtOTQ1LDQ2ICs5ODEsMjE0IEBAIFNZU0NBTExfREVGSU5F MShzZXRmc3VpZCwgdWlkX3QsIHVpZCkKIC8qCiAgKiBTYW1tYSBww6Ugc3ZlbnNrYS4uCiAg Ki8KLWxvbmcgX19zeXNfc2V0ZnNnaWQoZ2lkX3QgZ2lkKQorLyoKKyAqIFNldHMgdGhlIGZz Z2lkIHRvIEBrZ2lkLCB1bmxlc3MgaXQgaXMgaW52YWxpZDsgMCBvciAtRVBFUk0uIFRoZSBm c2dpZAorICogYmVmb3JlIHRoZSBjYWxsIGdvZXMgdG8gQG9sZC4KKyAqLworc3RhdGljIGxv bmcgZG9fc2V0ZnNnaWQoa2dpZF90IGtnaWQsIGtnaWRfdCAqb2xkX2ZzZ2lkKQogewogCWNv bnN0IHN0cnVjdCBjcmVkICpvbGQ7CiAJc3RydWN0IGNyZWQgKm5ldzsKLQlnaWRfdCBvbGRf ZnNnaWQ7Ci0Ja2dpZF90IGtnaWQ7CiAKIAlvbGQgPSBjdXJyZW50X2NyZWQoKTsKLQlvbGRf ZnNnaWQgPSBmcm9tX2tnaWRfbXVuZ2VkKG9sZC0+dXNlcl9ucywgb2xkLT5mc2dpZCk7CisJ Km9sZF9mc2dpZCA9IG9sZC0+ZnNnaWQ7CiAKLQlrZ2lkID0gbWFrZV9rZ2lkKG9sZC0+dXNl cl9ucywgZ2lkKTsKLQlpZiAoIWdpZF92YWxpZChrZ2lkKSkKLQkJcmV0dXJuIG9sZF9mc2dp ZDsKKwlpZiAoIWdpZF92YWxpZChrZ2lkKSB8fCBnaWRfZXEoa2dpZCwgb2xkLT5mc2dpZCkp CisJCXJldHVybiAwOwogCiAJbmV3ID0gcHJlcGFyZV9jcmVkcygpOwogCWlmICghbmV3KQot CQlyZXR1cm4gb2xkX2ZzZ2lkOworCQlyZXR1cm4gLUVOT01FTTsKIAogCWlmIChnaWRfZXEo a2dpZCwgb2xkLT5naWQpICB8fCBnaWRfZXEoa2dpZCwgb2xkLT5lZ2lkKSAgfHwKLQkgICAg Z2lkX2VxKGtnaWQsIG9sZC0+c2dpZCkgfHwgZ2lkX2VxKGtnaWQsIG9sZC0+ZnNnaWQpIHx8 CisJICAgIGdpZF9lcShrZ2lkLCBvbGQtPnNnaWQpIHx8CiAJICAgIG5zX2NhcGFibGVfc2V0 aWQob2xkLT51c2VyX25zLCBDQVBfU0VUR0lEKSkgewotCQlpZiAoIWdpZF9lcShrZ2lkLCBv bGQtPmZzZ2lkKSkgewotCQkJbmV3LT5mc2dpZCA9IGtnaWQ7Ci0JCQlpZiAoc2VjdXJpdHlf dGFza19maXhfc2V0Z2lkKG5ldyxvbGQsTFNNX1NFVElEX0ZTKSA9PSAwKQotCQkJCWdvdG8g Y2hhbmdlX29rYXk7Ci0JCX0KKwkJbmV3LT5mc2dpZCA9IGtnaWQ7CisJCWlmIChzZWN1cml0 eV90YXNrX2ZpeF9zZXRnaWQobmV3LCBvbGQsIExTTV9TRVRJRF9GUykgPT0gMCkKKwkJCXJl dHVybiBjb21taXRfY3JlZHMobmV3KTsKIAl9CiAKIAlhYm9ydF9jcmVkcyhuZXcpOwotCXJl dHVybiBvbGRfZnNnaWQ7CisJcmV0dXJuIC1FUEVSTTsKK30KKworbG9uZyBfX3N5c19zZXRm c2dpZChnaWRfdCBnaWQpCit7CisJc3RydWN0IHVzZXJfbmFtZXNwYWNlICpucyA9IGN1cnJl bnRfdXNlcl9ucygpOworCWtnaWRfdCBvbGRfZnNnaWQ7CiAKLWNoYW5nZV9va2F5OgotCWNv bW1pdF9jcmVkcyhuZXcpOwotCXJldHVybiBvbGRfZnNnaWQ7CisJZG9fc2V0ZnNnaWQobWFr ZV9rZ2lkKG5zLCBnaWQpLCAmb2xkX2ZzZ2lkKTsKKwlyZXR1cm4gZnJvbV9rZ2lkX211bmdl ZChucywgb2xkX2ZzZ2lkKTsKIH0KIAogU1lTQ0FMTF9ERUZJTkUxKHNldGZzZ2lkLCBnaWRf dCwgZ2lkKQogewogCXJldHVybiBfX3N5c19zZXRmc2dpZChnaWQpOwogfQorCisvKgorICog VGhlICpfciB2YXJpYW50cyB0YWtlIGFuZCByZXR1cm4gX19rZXJuZWxfdWlkX3JfdCwgd2hp Y2ggY2FuIGFsc28gYmUgYQorICogVVVJRCBvciBhIEdVSUQuIEEgTlVMTCBwb2ludGVyLCBV SURfUl9OT05FIG9yIGEgY2xhc3NpYyAtMSBsZWF2ZSBhbiBpZAorICogdW5jaGFuZ2VkLCBs aWtlIC0xIGRvZXMgZm9yIHRoZSBjbGFzc2ljIGNhbGxzLgorICovCitTWVNDQUxMX0RFRklO RTEoc2V0dWlkX3IsIGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKiwgdWlk KQoreworCWt1aWRfdCBrdWlkOworCWludCBlcnI7CisKKwllcnIgPSBnZXRfa3VpZF9yKGN1 cnJlbnRfdXNlcl9ucygpLCB1aWQsICZrdWlkKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJy OworCXJldHVybiBkb19zZXR1aWQoa3VpZCk7Cit9CisKK1NZU0NBTExfREVGSU5FMShzZXRn aWRfciwgY29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqLCBnaWQpCit7CisJ a2dpZF90IGtnaWQ7CisJaW50IGVycjsKKworCWVyciA9IGdldF9rZ2lkX3IoY3VycmVudF91 c2VyX25zKCksIGdpZCwgJmtnaWQpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJcmV0 dXJuIGRvX3NldGdpZChrZ2lkKTsKK30KKworU1lTQ0FMTF9ERUZJTkUyKHNldHJldWlkX3Is IGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKiwgcnVpZCwKKwkJY29uc3Qg c3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqLCBldWlkKQoreworCXN0cnVjdCB1c2Vy X25hbWVzcGFjZSAqbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsKKwlrdWlkX3Qga3J1aWQsIGtl dWlkOworCWludCBlcnI7CisKKwllcnIgPSBnZXRfa3VpZF9yKG5zLCBydWlkLCAma3J1aWQp OworCWlmICghZXJyKQorCQllcnIgPSBnZXRfa3VpZF9yKG5zLCBldWlkLCAma2V1aWQpOwor CWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJcmV0dXJuIGRvX3NldHJldWlkKGtydWlkLCBr ZXVpZCk7Cit9CisKK1NZU0NBTExfREVGSU5FMihzZXRyZWdpZF9yLCBjb25zdCBzdHJ1Y3Qg X19rZXJuZWxfdWlkX3IgX191c2VyICosIHJnaWQsCisJCWNvbnN0IHN0cnVjdCBfX2tlcm5l bF91aWRfciBfX3VzZXIgKiwgZWdpZCkKK3sKKwlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKm5z ID0gY3VycmVudF91c2VyX25zKCk7CisJa2dpZF90IGtyZ2lkLCBrZWdpZDsKKwlpbnQgZXJy OworCisJZXJyID0gZ2V0X2tnaWRfcihucywgcmdpZCwgJmtyZ2lkKTsKKwlpZiAoIWVycikK KwkJZXJyID0gZ2V0X2tnaWRfcihucywgZWdpZCwgJmtlZ2lkKTsKKwlpZiAoZXJyKQorCQly ZXR1cm4gZXJyOworCXJldHVybiBkb19zZXRyZWdpZChrcmdpZCwga2VnaWQpOworfQorCitT WVNDQUxMX0RFRklORTMoc2V0cmVzdWlkX3IsIGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRf ciBfX3VzZXIgKiwgcnVpZCwKKwkJY29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNl ciAqLCBldWlkLAorCQljb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICosIHN1 aWQpCit7CisJc3RydWN0IHVzZXJfbmFtZXNwYWNlICpucyA9IGN1cnJlbnRfdXNlcl9ucygp OworCWt1aWRfdCBrcnVpZCwga2V1aWQsIGtzdWlkOworCWludCBlcnI7CisKKwllcnIgPSBn ZXRfa3VpZF9yKG5zLCBydWlkLCAma3J1aWQpOworCWlmICghZXJyKQorCQllcnIgPSBnZXRf a3VpZF9yKG5zLCBldWlkLCAma2V1aWQpOworCWlmICghZXJyKQorCQllcnIgPSBnZXRfa3Vp ZF9yKG5zLCBzdWlkLCAma3N1aWQpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJcmV0 dXJuIGRvX3NldHJlc3VpZChrcnVpZCwga2V1aWQsIGtzdWlkKTsKK30KKworU1lTQ0FMTF9E RUZJTkUzKHNldHJlc2dpZF9yLCBjb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2Vy ICosIHJnaWQsCisJCWNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKiwgZWdp ZCwKKwkJY29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqLCBzZ2lkKQorewor CXN0cnVjdCB1c2VyX25hbWVzcGFjZSAqbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsKKwlrZ2lk X3Qga3JnaWQsIGtlZ2lkLCBrc2dpZDsKKwlpbnQgZXJyOworCisJZXJyID0gZ2V0X2tnaWRf cihucywgcmdpZCwgJmtyZ2lkKTsKKwlpZiAoIWVycikKKwkJZXJyID0gZ2V0X2tnaWRfcihu cywgZWdpZCwgJmtlZ2lkKTsKKwlpZiAoIWVycikKKwkJZXJyID0gZ2V0X2tnaWRfcihucywg c2dpZCwgJmtzZ2lkKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCXJldHVybiBkb19z ZXRyZXNnaWQoa3JnaWQsIGtlZ2lkLCBrc2dpZCk7Cit9CisKKy8qIE5VTEwgcG9pbnRlcnMg YXJlIHNraXBwZWQgKi8KK1NZU0NBTExfREVGSU5FMyhnZXRyZXN1aWRfciwgc3RydWN0IF9f a2VybmVsX3VpZF9yIF9fdXNlciAqLCBydWlkLAorCQlzdHJ1Y3QgX19rZXJuZWxfdWlkX3Ig X191c2VyICosIGV1aWQsCisJCXN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKiwgc3Vp ZCkKK3sKKwljb25zdCBzdHJ1Y3QgY3JlZCAqY3JlZCA9IGN1cnJlbnRfY3JlZCgpOworCWlu dCBlcnIgPSAwOworCisJaWYgKHJ1aWQpCisJCWVyciA9IHB1dF9rdWlkX3IoY3JlZC0+dXNl cl9ucywgY3JlZC0+dWlkLCBydWlkKTsKKwlpZiAoIWVyciAmJiBldWlkKQorCQllcnIgPSBw dXRfa3VpZF9yKGNyZWQtPnVzZXJfbnMsIGNyZWQtPmV1aWQsIGV1aWQpOworCWlmICghZXJy ICYmIHN1aWQpCisJCWVyciA9IHB1dF9rdWlkX3IoY3JlZC0+dXNlcl9ucywgY3JlZC0+c3Vp ZCwgc3VpZCk7CisJcmV0dXJuIGVycjsKK30KKworU1lTQ0FMTF9ERUZJTkUzKGdldHJlc2dp ZF9yLCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICosIHJnaWQsCisJCXN0cnVjdCBf X2tlcm5lbF91aWRfciBfX3VzZXIgKiwgZWdpZCwKKwkJc3RydWN0IF9fa2VybmVsX3VpZF9y IF9fdXNlciAqLCBzZ2lkKQoreworCWNvbnN0IHN0cnVjdCBjcmVkICpjcmVkID0gY3VycmVu dF9jcmVkKCk7CisJaW50IGVyciA9IDA7CisKKwlpZiAocmdpZCkKKwkJZXJyID0gcHV0X2tn aWRfcihjcmVkLT51c2VyX25zLCBjcmVkLT5naWQsIHJnaWQpOworCWlmICghZXJyICYmIGVn aWQpCisJCWVyciA9IHB1dF9rZ2lkX3IoY3JlZC0+dXNlcl9ucywgY3JlZC0+ZWdpZCwgZWdp ZCk7CisJaWYgKCFlcnIgJiYgc2dpZCkKKwkJZXJyID0gcHV0X2tnaWRfcihjcmVkLT51c2Vy X25zLCBjcmVkLT5zZ2lkLCBzZ2lkKTsKKwlyZXR1cm4gZXJyOworfQorCisvKgorICogVW5s aWtlIHNldGZzdWlkKCksIHdoaWNoIHJldHVybnMgdGhlIG9sZCBmc3VpZCB3aGF0ZXZlciBo YXBwZW5zLAorICogc2V0ZnN1aWRfcigpIHJlcG9ydHMgZmFpbHVyZTogMCwgb3IgLUVQRVJN IGlmIHRoZSBjYWxsZXIgbWF5IG5vdCB1c2UKKyAqIEB1aWQuIFRoZSBmc3VpZCBiZWZvcmUg dGhlIGNhbGwgZ29lcyB0byBAb2xkX3VpZCB1bmxlc3MgaXQgaXMgTlVMTDsgYQorICogTlVM TCBAdWlkIG9ubHkgcXVlcmllcyBpdC4KKyAqLworU1lTQ0FMTF9ERUZJTkUyKHNldGZzdWlk X3IsIGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKiwgdWlkLAorCQlzdHJ1 Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICosIG9sZF91aWQpCit7CisJc3RydWN0IHVzZXJf bmFtZXNwYWNlICpucyA9IGN1cnJlbnRfdXNlcl9ucygpOworCWt1aWRfdCBrdWlkLCBvbGRf ZnN1aWQ7CisJaW50IGVycjsKKworCWVyciA9IGdldF9rdWlkX3IobnMsIHVpZCwgJmt1aWQp OworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJZXJyID0gZG9fc2V0ZnN1aWQoa3VpZCwg Jm9sZF9mc3VpZCk7CisJaWYgKCFlcnIgJiYgb2xkX3VpZCkKKwkJZXJyID0gcHV0X2t1aWRf cihucywgb2xkX2ZzdWlkLCBvbGRfdWlkKTsKKwlyZXR1cm4gZXJyOworfQorCitTWVNDQUxM X0RFRklORTIoc2V0ZnNnaWRfciwgY29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNl ciAqLCBnaWQsCisJCXN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKiwgb2xkX2dpZCkK K3sKKwlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKm5zID0gY3VycmVudF91c2VyX25zKCk7CisJ a2dpZF90IGtnaWQsIG9sZF9mc2dpZDsKKwlpbnQgZXJyOworCisJZXJyID0gZ2V0X2tnaWRf cihucywgZ2lkLCAma2dpZCk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwllcnIgPSBk b19zZXRmc2dpZChrZ2lkLCAmb2xkX2ZzZ2lkKTsKKwlpZiAoIWVyciAmJiBvbGRfZ2lkKQor CQllcnIgPSBwdXRfa2dpZF9yKG5zLCBvbGRfZnNnaWQsIG9sZF9naWQpOworCXJldHVybiBl cnI7Cit9CiAjZW5kaWYgLyogQ09ORklHX01VTFRJVVNFUiAqLwogCiAvKioKQEAgLTEwNDgs NiArMTI1MiwyNiBAQCBTWVNDQUxMX0RFRklORTAoZ2V0ZWdpZCkKIAlyZXR1cm4gZnJvbV9r Z2lkX211bmdlZChjdXJyZW50X3VzZXJfbnMoKSwgY3VycmVudF9lZ2lkKCkpOwogfQogCitT WVNDQUxMX0RFRklORTEoZ2V0dWlkX3IsIHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIg KiwgdWlkKQoreworCXJldHVybiBwdXRfa3VpZF9yKGN1cnJlbnRfdXNlcl9ucygpLCBjdXJy ZW50X3VpZCgpLCB1aWQpOworfQorCitTWVNDQUxMX0RFRklORTEoZ2V0ZXVpZF9yLCBzdHJ1 Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICosIHVpZCkKK3sKKwlyZXR1cm4gcHV0X2t1aWRf cihjdXJyZW50X3VzZXJfbnMoKSwgY3VycmVudF9ldWlkKCksIHVpZCk7Cit9CisKK1NZU0NB TExfREVGSU5FMShnZXRnaWRfciwgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqLCBn aWQpCit7CisJcmV0dXJuIHB1dF9rZ2lkX3IoY3VycmVudF91c2VyX25zKCksIGN1cnJlbnRf Z2lkKCksIGdpZCk7Cit9CisKK1NZU0NBTExfREVGSU5FMShnZXRlZ2lkX3IsIHN0cnVjdCBf X2tlcm5lbF91aWRfciBfX3VzZXIgKiwgZ2lkKQoreworCXJldHVybiBwdXRfa2dpZF9yKGN1 cnJlbnRfdXNlcl9ucygpLCBjdXJyZW50X2VnaWQoKSwgZ2lkKTsKK30KKwogc3RhdGljIHZv aWQgZG9fc3lzX3RpbWVzKHN0cnVjdCB0bXMgKnRtcykKIHsKIAl1NjQgdGd1dGltZSwgdGdz dGltZSwgY3V0aW1lLCBjc3RpbWU7CmRpZmYgLS1naXQgYS9rZXJuZWwvc3lzX25pLmMgYi9r ZXJuZWwvc3lzX25pLmMKaW5kZXggYWRkMzAzMmRhLi4wOTA5OTZhZjEgMTAwNjQ0Ci0tLSBh L2tlcm5lbC9zeXNfbmkuYworKysgYi9rZXJuZWwvc3lzX25pLmMKQEAgLTEwMyw2ICsxMDMs MTYgQEAgQ09ORF9TWVNDQUxMKHNldGZzdWlkKTsKIENPTkRfU1lTQ0FMTChzZXRmc2dpZCk7 CiBDT05EX1NZU0NBTEwoc2V0Z3JvdXBzKTsKIENPTkRfU1lTQ0FMTChnZXRncm91cHMpOwor Q09ORF9TWVNDQUxMKHNldHJlZ2lkX3IpOworQ09ORF9TWVNDQUxMKHNldGdpZF9yKTsKK0NP TkRfU1lTQ0FMTChzZXRyZXVpZF9yKTsKK0NPTkRfU1lTQ0FMTChzZXR1aWRfcik7CitDT05E X1NZU0NBTEwoc2V0cmVzdWlkX3IpOworQ09ORF9TWVNDQUxMKGdldHJlc3VpZF9yKTsKK0NP TkRfU1lTQ0FMTChzZXRyZXNnaWRfcik7CitDT05EX1NZU0NBTEwoZ2V0cmVzZ2lkX3IpOwor Q09ORF9TWVNDQUxMKHNldGZzdWlkX3IpOworQ09ORF9TWVNDQUxMKHNldGZzZ2lkX3IpOwog Q09ORF9TWVNDQUxMKG1xX29wZW4pOwogQ09ORF9TWVNDQUxMX0NPTVBBVChtcV9vcGVuKTsK IENPTkRfU1lTQ0FMTChtcV91bmxpbmspOwo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0020-groups-add-getgroups_r-and-setgroups_r.patch" Content-Disposition: attachment; filename="uid_r-0020-groups-add-getgroups_r-and-setgroups_r.patch" Content-Transfer-Encoding: base64 RnJvbSBjNjVmYzdiYTAxOWU3YzhlNTVjYjRmM2NjNWY4ZjMwYTNlM2JhNmQ1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjQ2OjA1ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyMC80M10gZ3JvdXBzOiBhZGQgZ2V0Z3JvdXBzX3IoKSBhbmQgc2V0Z3JvdXBzX3Io KQoKU3VwcGxlbWVudGFyeSBncm91cHMgYXMgYXJyYXlzIG9mIF9fa2VybmVsX2dpZF9yX3Qs IHNvIHRoZXkgY2FuIGluY2x1ZGUKVVVJRCBhbmQgR1VJRCBncm91cHMuIFVubGlrZSB0aGUg c2V0KmlkX3IoKSBjYWxscywgIm5vIGlkIiBpcyBub3QKYWNjZXB0ZWQgaW4gdGhlIGxpc3Qu IGdldGdyb3VwcygpIHJlcG9ydHMgc3VjaCBncm91cHMgYXMgdGhlIG92ZXJmbG93CmdpZC4K CkFzc2lzdGVkLWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogaW5jbHVkZS9saW51 eC9zeXNjYWxscy5oIHwgIDQgKysKIGtlcm5lbC9ncm91cHMuYyAgICAgICAgICB8IDc5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGtlcm5lbC9zeXNfbmku YyAgICAgICAgICB8ICAyICsKIDMgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmgg Yi9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmgKaW5kZXggOTAzY2M2ZmEwLi44ZTdiNGU5Mjcg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaAorKysgYi9pbmNsdWRlL2xp bnV4L3N5c2NhbGxzLmgKQEAgLTk5Myw2ICs5OTMsMTAgQEAgYXNtbGlua2FnZSBsb25nIHN5 c19zZXRmc3VpZF9yKGNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKnVpZCwK IAkJCSAgICAgICBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpvbGRfdWlkKTsKIGFz bWxpbmthZ2UgbG9uZyBzeXNfc2V0ZnNnaWRfcihjb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlk X3IgX191c2VyICpnaWQsCiAJCQkgICAgICAgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNl ciAqb2xkX2dpZCk7Cithc21saW5rYWdlIGxvbmcgc3lzX2dldGdyb3Vwc19yKGludCBnaWRz ZXRzaXplLAorCQkJCXN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKmdyb3VwbGlzdCk7 Cithc21saW5rYWdlIGxvbmcgc3lzX3NldGdyb3Vwc19yKGludCBnaWRzZXRzaXplLAorCQkJ CWNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKmdyb3VwbGlzdCk7CiBhc21s aW5rYWdlIGxvbmcgc3lzX29wZW5fdHJlZShpbnQgZGZkLCBjb25zdCBjaGFyIF9fdXNlciAq cGF0aCwgdW5zaWduZWQgZmxhZ3MpOwogYXNtbGlua2FnZSBsb25nIHN5c19vcGVuX3RyZWVf YXR0cihpbnQgZGZkLCBjb25zdCBjaGFyIF9fdXNlciAqcGF0aCwKIAkJCQkgICB1bnNpZ25l ZCBmbGFncywKZGlmZiAtLWdpdCBhL2tlcm5lbC9ncm91cHMuYyBiL2tlcm5lbC9ncm91cHMu YwppbmRleCAzYWEwNjUxZDcuLjhlYjgyNjBmYyAxMDA2NDQKLS0tIGEva2VybmVsL2dyb3Vw cy5jCisrKyBiL2tlcm5lbC9ncm91cHMuYwpAQCAtOCw2ICs4LDcgQEAKICNpbmNsdWRlIDxs aW51eC9zZWN1cml0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3NvcnQuaD4KICNpbmNsdWRlIDxs aW51eC9zeXNjYWxscy5oPgorI2luY2x1ZGUgPGxpbnV4L3VpZGdpZF9yLmg+CiAjaW5jbHVk ZSA8bGludXgvdXNlcl9uYW1lc3BhY2UuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+ CiAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgpAQCAtMTk0LDcgKzE5NSw5IEBAIGJvb2wg bWF5X3NldGdyb3Vwcyh2b2lkKQogICoJd2l0aG91dCBhbm90aGVyIHRhc2sgaW50ZXJmZXJp bmcuCiAgKi8KIAotU1lTQ0FMTF9ERUZJTkUyKHNldGdyb3VwcywgaW50LCBnaWRzZXRzaXpl LCBnaWRfdCBfX3VzZXIgKiwgZ3JvdXBsaXN0KQorc3RhdGljIGxvbmcgZG9fc2V0Z3JvdXBz KGludCBnaWRzZXRzaXplLCBjb25zdCB2b2lkIF9fdXNlciAqZ3JvdXBsaXN0LAorCQkJIGlu dCAoKmZyb21fdXNlcikoc3RydWN0IGdyb3VwX2luZm8gKiwKKwkJCQkJICBjb25zdCB2b2lk IF9fdXNlciAqKSkKIHsKIAlzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ3JvdXBfaW5mbzsKIAlpbnQg cmV0dmFsOwpAQCAtMjA3LDcgKzIxMCw3IEBAIFNZU0NBTExfREVGSU5FMihzZXRncm91cHMs IGludCwgZ2lkc2V0c2l6ZSwgZ2lkX3QgX191c2VyICosIGdyb3VwbGlzdCkKIAlncm91cF9p bmZvID0gZ3JvdXBzX2FsbG9jKGdpZHNldHNpemUpOwogCWlmICghZ3JvdXBfaW5mbykKIAkJ cmV0dXJuIC1FTk9NRU07Ci0JcmV0dmFsID0gZ3JvdXBzX2Zyb21fdXNlcihncm91cF9pbmZv LCBncm91cGxpc3QpOworCXJldHZhbCA9IGZyb21fdXNlcihncm91cF9pbmZvLCBncm91cGxp c3QpOwogCWlmIChyZXR2YWwpIHsKIAkJcHV0X2dyb3VwX2luZm8oZ3JvdXBfaW5mbyk7CiAJ CXJldHVybiByZXR2YWw7CkBAIC0yMjAsNiArMjIzLDc4IEBAIFNZU0NBTExfREVGSU5FMihz ZXRncm91cHMsIGludCwgZ2lkc2V0c2l6ZSwgZ2lkX3QgX191c2VyICosIGdyb3VwbGlzdCkK IAlyZXR1cm4gcmV0dmFsOwogfQogCitzdGF0aWMgaW50IGdyb3Vwc19mcm9tX3VzZXJfY2xh c3NpYyhzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ3JvdXBfaW5mbywKKwkJCQkgICAgY29uc3Qgdm9p ZCBfX3VzZXIgKmdyb3VwbGlzdCkKK3sKKwlyZXR1cm4gZ3JvdXBzX2Zyb21fdXNlcihncm91 cF9pbmZvLCAoZ2lkX3QgX191c2VyICopZ3JvdXBsaXN0KTsKK30KKworU1lTQ0FMTF9ERUZJ TkUyKHNldGdyb3VwcywgaW50LCBnaWRzZXRzaXplLCBnaWRfdCBfX3VzZXIgKiwgZ3JvdXBs aXN0KQoreworCXJldHVybiBkb19zZXRncm91cHMoZ2lkc2V0c2l6ZSwgZ3JvdXBsaXN0LCBn cm91cHNfZnJvbV91c2VyX2NsYXNzaWMpOworfQorCisvKiBncm91cF9pbmZvIHRvIGEgdXNl ci1zcGFjZSBhcnJheSBvZiBfX2tlcm5lbF9naWRfcl90ICovCitzdGF0aWMgaW50IGdyb3Vw c190b191c2VyX3Ioc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqZ3JvdXBsaXN0LAor CQkJICAgIGNvbnN0IHN0cnVjdCBncm91cF9pbmZvICpncm91cF9pbmZvKQoreworCXN0cnVj dCB1c2VyX25hbWVzcGFjZSAqdXNlcl9ucyA9IGN1cnJlbnRfdXNlcl9ucygpOworCXVuc2ln bmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IGdyb3VwX2luZm8tPm5ncm91cHM7IGkr KykgeworCQlpZiAocHV0X2tnaWRfcih1c2VyX25zLCBncm91cF9pbmZvLT5naWRbaV0sIGdy b3VwbGlzdCArIGkpKQorCQkJcmV0dXJuIC1FRkFVTFQ7CisJfQorCXJldHVybiAwOworfQor CisvKiBncm91cF9pbmZvIGZyb20gYSB1c2VyLXNwYWNlIGFycmF5IG9mIF9fa2VybmVsX2dp ZF9yX3Q7IG5vICJubyBpZCIgaGVyZSAqLworc3RhdGljIGludCBncm91cHNfZnJvbV91c2Vy X3Ioc3RydWN0IGdyb3VwX2luZm8gKmdyb3VwX2luZm8sCisJCQkgICAgICBjb25zdCB2b2lk IF9fdXNlciAqZ3JvdXBsaXN0KQoreworCWNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBf X3VzZXIgKmxpc3QgPSBncm91cGxpc3Q7CisJc3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2Vy X25zID0gY3VycmVudF91c2VyX25zKCk7CisJc3RydWN0IF9fa2VybmVsX3VpZF9yIGlkOwor CXVuc2lnbmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IGdyb3VwX2luZm8tPm5ncm91 cHM7IGkrKykgeworCQlrZ2lkX3Qga2dpZDsKKworCQlpZiAoY29weV9mcm9tX3VzZXIoJmlk LCBsaXN0ICsgaSwgc2l6ZW9mKGlkKSkpCisJCQlyZXR1cm4gLUVGQVVMVDsKKwkJa2dpZCA9 IG1ha2Vfa2dpZF9yKHVzZXJfbnMsICZpZCk7CisJCWlmICghZ2lkX3ZhbGlkKGtnaWQpKQor CQkJcmV0dXJuIC1FSU5WQUw7CisJCWdyb3VwX2luZm8tPmdpZFtpXSA9IGtnaWQ7CisJfQor CXJldHVybiAwOworfQorCitTWVNDQUxMX0RFRklORTIoZ2V0Z3JvdXBzX3IsIGludCwgZ2lk c2V0c2l6ZSwKKwkJc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqLCBncm91cGxpc3Qp Cit7CisJY29uc3Qgc3RydWN0IGNyZWQgKmNyZWQgPSBjdXJyZW50X2NyZWQoKTsKKwlpbnQg aTsKKworCWlmIChnaWRzZXRzaXplIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpID0g Y3JlZC0+Z3JvdXBfaW5mby0+bmdyb3VwczsKKwlpZiAoZ2lkc2V0c2l6ZSkgeworCQlpZiAo aSA+IGdpZHNldHNpemUpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJaWYgKGdyb3Vwc190b191 c2VyX3IoZ3JvdXBsaXN0LCBjcmVkLT5ncm91cF9pbmZvKSkKKwkJCXJldHVybiAtRUZBVUxU OworCX0KKwlyZXR1cm4gaTsKK30KKworU1lTQ0FMTF9ERUZJTkUyKHNldGdyb3Vwc19yLCBp bnQsIGdpZHNldHNpemUsCisJCWNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIg KiwgZ3JvdXBsaXN0KQoreworCXJldHVybiBkb19zZXRncm91cHMoZ2lkc2V0c2l6ZSwgZ3Jv dXBsaXN0LCBncm91cHNfZnJvbV91c2VyX3IpOworfQorCiAvKgogICogQ2hlY2sgd2hldGhl ciB3ZSdyZSBmc2dpZC9lZ2lkIG9yIGluIHRoZSBzdXBwbGVtZW50YWwgZ3JvdXAuLgogICov CmRpZmYgLS1naXQgYS9rZXJuZWwvc3lzX25pLmMgYi9rZXJuZWwvc3lzX25pLmMKaW5kZXgg MDkwOTk2YWYxLi41NTVjOTRkNTggMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zeXNfbmkuYworKysg Yi9rZXJuZWwvc3lzX25pLmMKQEAgLTExMyw2ICsxMTMsOCBAQCBDT05EX1NZU0NBTEwoc2V0 cmVzZ2lkX3IpOwogQ09ORF9TWVNDQUxMKGdldHJlc2dpZF9yKTsKIENPTkRfU1lTQ0FMTChz ZXRmc3VpZF9yKTsKIENPTkRfU1lTQ0FMTChzZXRmc2dpZF9yKTsKK0NPTkRfU1lTQ0FMTChz ZXRncm91cHNfcik7CitDT05EX1NZU0NBTEwoZ2V0Z3JvdXBzX3IpOwogQ09ORF9TWVNDQUxM KG1xX29wZW4pOwogQ09ORF9TWVNDQUxMX0NPTVBBVChtcV9vcGVuKTsKIENPTkRfU1lTQ0FM TChtcV91bmxpbmspOwo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0021-fs-add-chown_r-lchown_r-fchown_r-and-fchownat_r.patch" Content-Disposition: attachment; filename*0="uid_r-0021-fs-add-chown_r-lchown_r-fchown_r-and-fchownat_r.p"; filename*1="atch" Content-Transfer-Encoding: base64 RnJvbSA0NGRkNDNhNWUxODVmM2UxN2ExYTQxYjkxNzgzYTgwYmZhZmQ3YzJmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjQ2OjA1ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyMS80M10gZnM6IGFkZCBjaG93bl9yKCksIGxjaG93bl9yKCksIGZjaG93bl9yKCkg YW5kCiBmY2hvd25hdF9yKCkKClRoZSBjaG93biBmYW1pbHkgd2l0aCBfX2tlcm5lbF91aWRf cl90IG93bmVyIGFuZCBncm91cCwgc28gZmlsZXMgY2FuIGJlCmdpdmVuIFVVSUQgYW5kIEdV SUQgb3duZXJzIG9uIGZpbGVzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVtCihTQl9JX1VJRF9S KTsgb3RoZXJzIHJlZnVzZSB3aXRoIC1FT1ZFUkZMT1cuIE5VTEwgcG9pbnRlcnMsIFVJRF9S X05PTkUKYW5kIHRoZSBjbGFzc2ljIC0xIGxlYXZlIHRoZSBvd25lciBvciBncm91cCB1bmNo YW5nZWQuCgpUaGUgY2xhc3NpYyBjYWxscyBhbmQgdGhlIG5ldyBvbmVzIHNoYXJlIHRoZSBs b29rdXAgYW5kIHNldGF0dHIgY29kZSwKd2hpY2ggbm93IHdvcmtzIG9uIGEgc3RydWN0IGNo b3duX2lkcy4gVGhlIGNsYXNzaWMgY2FsbHMgc3RpbGwgcmVwb3J0IGEKbWFsZm9ybWVkIGlk IG9ubHkgb25jZSB0aGUgZmlsZSBpcyBmb3VuZCwgYXMgYmVmb3JlLgoKQXNzaXN0ZWQtYnk6 IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBmcy9vcGVuLmMgICAgICAgICAgICAgICAg fCAxNDQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBpbmNsdWRl L2xpbnV4L3N5c2NhbGxzLmggfCAgMTMgKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNDUgaW5z ZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZnMvb3Blbi5jIGIv ZnMvb3Blbi5jCmluZGV4IDQwODkyNWQ3Yi4uNmM5ZWQyNDA4IDEwMDY0NAotLS0gYS9mcy9v cGVuLmMKKysrIGIvZnMvb3Blbi5jCkBAIC03MzYsNyArNzM2LDQ2IEBAIHN0YXRpYyBpbmxp bmUgYm9vbCBzZXRhdHRyX3Zmc2dpZChzdHJ1Y3QgaWF0dHIgKmF0dHIsIGtnaWRfdCBrZ2lk KQogCXJldHVybiB0cnVlOwogfQogCi1pbnQgY2hvd25fY29tbW9uKGNvbnN0IHN0cnVjdCBw YXRoICpwYXRoLCB1aWRfdCB1c2VyLCBnaWRfdCBncm91cCkKKy8qCisgKiBUaGUgbmV3IG93 bmVyIGFuZCBncm91cCBvZiBhIGNob3duLiBJbnZhbGlkIGlkcyBzdGFuZCBmb3IgInVuY2hh bmdlZCI7CisgKiBAZXJyIGlzIGFuIGVycm9yIG9mIHRoZWlyIGNvbnZlcnNpb24sIHJlcG9y dGVkIG9uY2UgdGhlIHBhdGggaXMgZm91bmQsCisgKiB3aGljaCBrZWVwcyB0aGUgY2xhc3Np YyBjYWxscycgb3JkZXIgb2YgZXJyb3JzLgorICovCitzdHJ1Y3QgY2hvd25faWRzIHsKKwlr dWlkX3QgdWlkOworCWtnaWRfdCBnaWQ7CisJaW50IGVycjsKK307CisKK3N0YXRpYyBzdHJ1 Y3QgY2hvd25faWRzIGNob3duX2lkc19jbGFzc2ljKHVpZF90IHVzZXIsIGdpZF90IGdyb3Vw KQoreworCXN0cnVjdCB1c2VyX25hbWVzcGFjZSAqbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsK KwlzdHJ1Y3QgY2hvd25faWRzIGlkcyA9IHsKKwkJLnVpZCA9IG1ha2Vfa3VpZChucywgdXNl ciksCisJCS5naWQgPSBtYWtlX2tnaWQobnMsIGdyb3VwKSwKKwl9OworCisJaWYgKCh1c2Vy ICE9ICh1aWRfdCktMSAmJiAhdWlkX3ZhbGlkKGlkcy51aWQpKSB8fAorCSAgICAoZ3JvdXAg IT0gKGdpZF90KS0xICYmICFnaWRfdmFsaWQoaWRzLmdpZCkpKQorCQlpZHMuZXJyID0gLUVJ TlZBTDsKKwlyZXR1cm4gaWRzOworfQorCitzdGF0aWMgaW50IGNob3duX2lkc19yKGNvbnN0 IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIgKnVzZXIsCisJCSAgICAgICBjb25zdCBz dHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpncm91cCwKKwkJICAgICAgIHN0cnVjdCBj aG93bl9pZHMgKmlkcykKK3sKKwlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKm5zID0gY3VycmVu dF91c2VyX25zKCk7CisJaW50IGVycjsKKworCWlkcy0+ZXJyID0gMDsKKwllcnIgPSBnZXRf a3VpZF9yKG5zLCB1c2VyLCAmaWRzLT51aWQpOworCWlmICghZXJyKQorCQllcnIgPSBnZXRf a2dpZF9yKG5zLCBncm91cCwgJmlkcy0+Z2lkKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0 aWMgaW50IGNob3duX3BhdGgoY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsIGNvbnN0IHN0cnVj dCBjaG93bl9pZHMgKmlkcykKIHsKIAlzdHJ1Y3QgbW50X2lkbWFwICppZG1hcDsKIAlzdHJ1 Y3QgdXNlcl9uYW1lc3BhY2UgKmZzX3VzZXJuczsKQEAgLTc0NCwxMSArNzgzLDkgQEAgaW50 IGNob3duX2NvbW1vbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgdWlkX3QgdXNlciwgZ2lk X3QgZ3JvdXApCiAJc3RydWN0IGRlbGVnYXRlZF9pbm9kZSBkZWxlZ2F0ZWRfaW5vZGUgPSB7 IH07CiAJaW50IGVycm9yOwogCXN0cnVjdCBpYXR0ciBuZXdhdHRyczsKLQlrdWlkX3QgdWlk OwotCWtnaWRfdCBnaWQ7CiAKLQl1aWQgPSBtYWtlX2t1aWQoY3VycmVudF91c2VyX25zKCks IHVzZXIpOwotCWdpZCA9IG1ha2Vfa2dpZChjdXJyZW50X3VzZXJfbnMoKSwgZ3JvdXApOwor CWlmIChpZHMtPmVycikKKwkJcmV0dXJuIGlkcy0+ZXJyOwogCiAJaWRtYXAgPSBtbnRfaWRt YXAocGF0aC0+bW50KTsKIAlmc191c2VybnMgPSBpX3VzZXJfbnMoaW5vZGUpOwpAQCAtNzU3 LDkgKzc5NCw5IEBAIGludCBjaG93bl9jb21tb24oY29uc3Qgc3RydWN0IHBhdGggKnBhdGgs IHVpZF90IHVzZXIsIGdpZF90IGdyb3VwKQogCW5ld2F0dHJzLmlhX3Zmc3VpZCA9IElOVkFM SURfVkZTVUlEOwogCW5ld2F0dHJzLmlhX3Zmc2dpZCA9IElOVkFMSURfVkZTR0lEOwogCW5l d2F0dHJzLmlhX3ZhbGlkID0gIEFUVFJfQ1RJTUU7Ci0JaWYgKCh1c2VyICE9ICh1aWRfdCkt MSkgJiYgIXNldGF0dHJfdmZzdWlkKCZuZXdhdHRycywgdWlkKSkKKwlpZiAodWlkX3ZhbGlk KGlkcy0+dWlkKSAmJiAhc2V0YXR0cl92ZnN1aWQoJm5ld2F0dHJzLCBpZHMtPnVpZCkpCiAJ CXJldHVybiAtRUlOVkFMOwotCWlmICgoZ3JvdXAgIT0gKGdpZF90KS0xKSAmJiAhc2V0YXR0 cl92ZnNnaWQoJm5ld2F0dHJzLCBnaWQpKQorCWlmIChnaWRfdmFsaWQoaWRzLT5naWQpICYm ICFzZXRhdHRyX3Zmc2dpZCgmbmV3YXR0cnMsIGlkcy0+Z2lkKSkKIAkJcmV0dXJuIC1FSU5W QUw7CiAJZXJyb3IgPSBpbm9kZV9sb2NrX2tpbGxhYmxlKGlub2RlKTsKIAlpZiAoZXJyb3Ip CkBAIC03ODQsOCArODIxLDE1IEBAIGludCBjaG93bl9jb21tb24oY29uc3Qgc3RydWN0IHBh dGggKnBhdGgsIHVpZF90IHVzZXIsIGdpZF90IGdyb3VwKQogCXJldHVybiBlcnJvcjsKIH0K IAotaW50IGRvX2ZjaG93bmF0KGludCBkZmQsIGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFt ZSwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAsCi0JCWludCBmbGFnKQoraW50IGNob3duX2Nv bW1vbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAp Cit7CisJc3RydWN0IGNob3duX2lkcyBpZHMgPSBjaG93bl9pZHNfY2xhc3NpYyh1c2VyLCBn cm91cCk7CisKKwlyZXR1cm4gY2hvd25fcGF0aChwYXRoLCAmaWRzKTsKK30KKworc3RhdGlj IGludCBmY2hvd25hdF9pZHMoaW50IGRmZCwgY29uc3QgY2hhciBfX3VzZXIgKmZpbGVuYW1l LAorCQkJY29uc3Qgc3RydWN0IGNob3duX2lkcyAqaWRzLCBpbnQgZmxhZykKIHsKIAlzdHJ1 Y3QgcGF0aCBwYXRoOwogCWludCBlcnJvcjsKQEAgLTgwMSw3ICs4NDUsNyBAQCBpbnQgZG9f ZmNob3duYXQoaW50IGRmZCwgY29uc3QgY2hhciBfX3VzZXIgKmZpbGVuYW1lLCB1aWRfdCB1 c2VyLCBnaWRfdCBncm91cCwKIAlpZiAoIWVycm9yKSB7CiAJCWVycm9yID0gbW50X3dhbnRf d3JpdGUocGF0aC5tbnQpOwogCQlpZiAoIWVycm9yKSB7Ci0JCQllcnJvciA9IGNob3duX2Nv bW1vbigmcGF0aCwgdXNlciwgZ3JvdXApOworCQkJZXJyb3IgPSBjaG93bl9wYXRoKCZwYXRo LCBpZHMpOwogCQkJbW50X2Ryb3Bfd3JpdGUocGF0aC5tbnQpOwogCQl9CiAJCXBhdGhfcHV0 KCZwYXRoKTsKQEAgLTgxMyw2ICs4NTcsMTQgQEAgaW50IGRvX2ZjaG93bmF0KGludCBkZmQs IGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFtZSwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAs CiAJcmV0dXJuIGVycm9yOwogfQogCitpbnQgZG9fZmNob3duYXQoaW50IGRmZCwgY29uc3Qg Y2hhciBfX3VzZXIgKmZpbGVuYW1lLCB1aWRfdCB1c2VyLCBnaWRfdCBncm91cCwKKwkJaW50 IGZsYWcpCit7CisJc3RydWN0IGNob3duX2lkcyBpZHMgPSBjaG93bl9pZHNfY2xhc3NpYyh1 c2VyLCBncm91cCk7CisKKwlyZXR1cm4gZmNob3duYXRfaWRzKGRmZCwgZmlsZW5hbWUsICZp ZHMsIGZsYWcpOworfQorCiBTWVNDQUxMX0RFRklORTUoZmNob3duYXQsIGludCwgZGZkLCBj b25zdCBjaGFyIF9fdXNlciAqLCBmaWxlbmFtZSwgdWlkX3QsIHVzZXIsCiAJCWdpZF90LCBn cm91cCwgaW50LCBmbGFnKQogewpAQCAtODMwLDcgKzg4Miw3IEBAIFNZU0NBTExfREVGSU5F MyhsY2hvd24sIGNvbnN0IGNoYXIgX191c2VyICosIGZpbGVuYW1lLCB1aWRfdCwgdXNlciwg Z2lkX3QsIGdyb3VwCiAJCQkgICBBVF9TWU1MSU5LX05PRk9MTE9XKTsKIH0KIAotaW50IHZm c19mY2hvd24oc3RydWN0IGZpbGUgKmZpbGUsIHVpZF90IHVzZXIsIGdpZF90IGdyb3VwKQor c3RhdGljIGludCBmY2hvd25faWRzKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBzdHJ1Y3Qg Y2hvd25faWRzICppZHMpCiB7CiAJaW50IGVycm9yOwogCkBAIC04MzgsMTEgKzg5MCwxOCBA QCBpbnQgdmZzX2ZjaG93bihzdHJ1Y3QgZmlsZSAqZmlsZSwgdWlkX3QgdXNlciwgZ2lkX3Qg Z3JvdXApCiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAJYXVkaXRfZmlsZShmaWxl KTsKLQllcnJvciA9IGNob3duX2NvbW1vbigmZmlsZS0+Zl9wYXRoLCB1c2VyLCBncm91cCk7 CisJZXJyb3IgPSBjaG93bl9wYXRoKCZmaWxlLT5mX3BhdGgsIGlkcyk7CiAJbW50X2Ryb3Bf d3JpdGVfZmlsZShmaWxlKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK2ludCB2ZnNfZmNob3du KHN0cnVjdCBmaWxlICpmaWxlLCB1aWRfdCB1c2VyLCBnaWRfdCBncm91cCkKK3sKKwlzdHJ1 Y3QgY2hvd25faWRzIGlkcyA9IGNob3duX2lkc19jbGFzc2ljKHVzZXIsIGdyb3VwKTsKKwor CXJldHVybiBmY2hvd25faWRzKGZpbGUsICZpZHMpOworfQorCiBpbnQga3N5c19mY2hvd24o dW5zaWduZWQgaW50IGZkLCB1aWRfdCB1c2VyLCBnaWRfdCBncm91cCkKIHsKIAlDTEFTUyhm ZCwgZikoZmQpOwpAQCAtODU4LDYgKzkxNyw2NyBAQCBTWVNDQUxMX0RFRklORTMoZmNob3du LCB1bnNpZ25lZCBpbnQsIGZkLCB1aWRfdCwgdXNlciwgZ2lkX3QsIGdyb3VwKQogCXJldHVy biBrc3lzX2ZjaG93bihmZCwgdXNlciwgZ3JvdXApOwogfQogCisvKgorICogVGhlICpfciB2 YXJpYW50cyB0YWtlIF9fa2VybmVsX3VpZF9yX3QgaWRzLCB3aGljaCBjYW4gYWxzbyBiZSBV VUlEcyBvcgorICogR1VJRHMuIEEgTlVMTCBwb2ludGVyLCBVSURfUl9OT05FIG9yIGEgY2xh c3NpYyAtMSBsZWF2ZSB0aGUgb3duZXIgb3IKKyAqIGdyb3VwIHVuY2hhbmdlZC4KKyAqLwor U1lTQ0FMTF9ERUZJTkU1KGZjaG93bmF0X3IsIGludCwgZGZkLCBjb25zdCBjaGFyIF9fdXNl ciAqLCBmaWxlbmFtZSwKKwkJY29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAq LCB1c2VyLAorCQljb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICosIGdyb3Vw LCBpbnQsIGZsYWcpCit7CisJc3RydWN0IGNob3duX2lkcyBpZHM7CisJaW50IGVycm9yOwor CisJZXJyb3IgPSBjaG93bl9pZHNfcih1c2VyLCBncm91cCwgJmlkcyk7CisJaWYgKGVycm9y KQorCQlyZXR1cm4gZXJyb3I7CisJcmV0dXJuIGZjaG93bmF0X2lkcyhkZmQsIGZpbGVuYW1l LCAmaWRzLCBmbGFnKTsKK30KKworU1lTQ0FMTF9ERUZJTkUzKGNob3duX3IsIGNvbnN0IGNo YXIgX191c2VyICosIGZpbGVuYW1lLAorCQljb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3Ig X191c2VyICosIHVzZXIsCisJCWNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIg KiwgZ3JvdXApCit7CisJc3RydWN0IGNob3duX2lkcyBpZHM7CisJaW50IGVycm9yOworCisJ ZXJyb3IgPSBjaG93bl9pZHNfcih1c2VyLCBncm91cCwgJmlkcyk7CisJaWYgKGVycm9yKQor CQlyZXR1cm4gZXJyb3I7CisJcmV0dXJuIGZjaG93bmF0X2lkcyhBVF9GRENXRCwgZmlsZW5h bWUsICZpZHMsIDApOworfQorCitTWVNDQUxMX0RFRklORTMobGNob3duX3IsIGNvbnN0IGNo YXIgX191c2VyICosIGZpbGVuYW1lLAorCQljb25zdCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3Ig X191c2VyICosIHVzZXIsCisJCWNvbnN0IHN0cnVjdCBfX2tlcm5lbF91aWRfciBfX3VzZXIg KiwgZ3JvdXApCit7CisJc3RydWN0IGNob3duX2lkcyBpZHM7CisJaW50IGVycm9yOworCisJ ZXJyb3IgPSBjaG93bl9pZHNfcih1c2VyLCBncm91cCwgJmlkcyk7CisJaWYgKGVycm9yKQor CQlyZXR1cm4gZXJyb3I7CisJcmV0dXJuIGZjaG93bmF0X2lkcyhBVF9GRENXRCwgZmlsZW5h bWUsICZpZHMsIEFUX1NZTUxJTktfTk9GT0xMT1cpOworfQorCitTWVNDQUxMX0RFRklORTMo ZmNob3duX3IsIHVuc2lnbmVkIGludCwgZmQsCisJCWNvbnN0IHN0cnVjdCBfX2tlcm5lbF91 aWRfciBfX3VzZXIgKiwgdXNlciwKKwkJY29uc3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9f dXNlciAqLCBncm91cCkKK3sKKwlzdHJ1Y3QgY2hvd25faWRzIGlkczsKKwlpbnQgZXJyb3I7 CisKKwllcnJvciA9IGNob3duX2lkc19yKHVzZXIsIGdyb3VwLCAmaWRzKTsKKwlpZiAoZXJy b3IpCisJCXJldHVybiBlcnJvcjsKKworCUNMQVNTKGZkLCBmKShmZCk7CisJaWYgKGZkX2Vt cHR5KGYpKQorCQlyZXR1cm4gLUVCQURGOworCXJldHVybiBmY2hvd25faWRzKGZkX2ZpbGUo ZiksICZpZHMpOworfQorCiBzdGF0aWMgaW5saW5lIGludCBmaWxlX2dldF93cml0ZV9hY2Nl c3Moc3RydWN0IGZpbGUgKmYpCiB7CiAJaW50IGVycm9yOwpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9saW51eC9zeXNjYWxscy5oIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oCmluZGV4IDhl N2I0ZTkyNy4uMzhkOWNmYTA1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3N5c2NhbGxz LmgKKysrIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oCkBAIC05OTcsNiArOTk3LDE5IEBA IGFzbWxpbmthZ2UgbG9uZyBzeXNfZ2V0Z3JvdXBzX3IoaW50IGdpZHNldHNpemUsCiAJCQkJ c3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqZ3JvdXBsaXN0KTsKIGFzbWxpbmthZ2Ug bG9uZyBzeXNfc2V0Z3JvdXBzX3IoaW50IGdpZHNldHNpemUsCiAJCQkJY29uc3Qgc3RydWN0 IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqZ3JvdXBsaXN0KTsKK2FzbWxpbmthZ2UgbG9uZyBz eXNfY2hvd25fcihjb25zdCBjaGFyIF9fdXNlciAqZmlsZW5hbWUsCisJCQkgICAgY29uc3Qg c3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqdXNlciwKKwkJCSAgICBjb25zdCBzdHJ1 Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpncm91cCk7Cithc21saW5rYWdlIGxvbmcgc3lz X2xjaG93bl9yKGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFtZSwKKwkJCSAgICAgY29uc3Qg c3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqdXNlciwKKwkJCSAgICAgY29uc3Qgc3Ry dWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqZ3JvdXApOworYXNtbGlua2FnZSBsb25nIHN5 c19mY2hvd25fcih1bnNpZ25lZCBpbnQgZmQsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBfX2tl cm5lbF91aWRfciBfX3VzZXIgKnVzZXIsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBfX2tlcm5l bF91aWRfciBfX3VzZXIgKmdyb3VwKTsKK2FzbWxpbmthZ2UgbG9uZyBzeXNfZmNob3duYXRf cihpbnQgZGZkLCBjb25zdCBjaGFyIF9fdXNlciAqZmlsZW5hbWUsCisJCQkgICAgICAgY29u c3Qgc3RydWN0IF9fa2VybmVsX3VpZF9yIF9fdXNlciAqdXNlciwKKwkJCSAgICAgICBjb25z dCBzdHJ1Y3QgX19rZXJuZWxfdWlkX3IgX191c2VyICpncm91cCwKKwkJCSAgICAgICBpbnQg ZmxhZyk7CiBhc21saW5rYWdlIGxvbmcgc3lzX29wZW5fdHJlZShpbnQgZGZkLCBjb25zdCBj aGFyIF9fdXNlciAqcGF0aCwgdW5zaWduZWQgZmxhZ3MpOwogYXNtbGlua2FnZSBsb25nIHN5 c19vcGVuX3RyZWVfYXR0cihpbnQgZGZkLCBjb25zdCBjaGFyIF9fdXNlciAqcGF0aCwKIAkJ CQkgICB1bnNpZ25lZCBmbGFncywK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0022-arch-wire-up-the-_r-uid-and-gid-system-calls.patch" Content-Disposition: attachment; filename*0="uid_r-0022-arch-wire-up-the-_r-uid-and-gid-system-calls.patc"; filename*1="h" Content-Transfer-Encoding: base64 RnJvbSAxYzVjNzU0OGEzYTM4NTgyYWQ3ZTkxMjdmYTY5NzE4OTUyM2NiNGIzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA1OjQ2OjA1ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyMi80M10gYXJjaDogd2lyZSB1cCB0aGUgKl9yIHVpZCBhbmQgZ2lkIHN5c3RlbSBj YWxscwoKQXNzaWduIDQ3Mi00OTEgb24gYWxsIGFyY2hpdGVjdHVyZXMgKDU4Mi02MDEgb24g YWxwaGEpIHRvIGdldHVpZF9yLApnZXRldWlkX3IsIGdldGdpZF9yLCBnZXRlZ2lkX3IsIHNl dHVpZF9yLCBzZXRnaWRfciwgc2V0cmV1aWRfciwKc2V0cmVnaWRfciwgc2V0cmVzdWlkX3Is IGdldHJlc3VpZF9yLCBzZXRyZXNnaWRfciwgZ2V0cmVzZ2lkX3IsCnNldGZzdWlkX3IsIHNl dGZzZ2lkX3IsIGdldGdyb3Vwc19yLCBzZXRncm91cHNfciwgY2hvd25fciwgbGNob3duX3Is CmZjaG93bl9yIGFuZCBmY2hvd25hdF9yLgoKX19rZXJuZWxfdWlkX3JfdCBoYXMgdGhlIHNh bWUgbGF5b3V0IG9uIGFsbCBBQklzLCBzbyB0aGUgY29tcGF0IEFCSXMKdXNlIHRoZSBuYXRp dmUgZW50cnkgcG9pbnRzLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUK LS0tCiBhcmNoL2FscGhhL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibCAgICAgIHwgMjAg KysrKysrKysrKwogYXJjaC9hcm0vdG9vbHMvc3lzY2FsbC50YmwgICAgICAgICAgICAgICAg ICB8IDIwICsrKysrKysrKysKIGFyY2gvYXJtNjQvdG9vbHMvc3lzY2FsbF8zMi50YmwgICAg ICAgICAgICAgfCAyMCArKysrKysrKysrCiBhcmNoL202OGsva2VybmVsL3N5c2NhbGxzL3N5 c2NhbGwudGJsICAgICAgIHwgMjAgKysrKysrKysrKwogYXJjaC9taWNyb2JsYXplL2tlcm5l bC9zeXNjYWxscy9zeXNjYWxsLnRibCB8IDIwICsrKysrKysrKysKIGFyY2gvbWlwcy9rZXJu ZWwvc3lzY2FsbHMvc3lzY2FsbF9uMzIudGJsICAgfCAyMCArKysrKysrKysrCiBhcmNoL21p cHMva2VybmVsL3N5c2NhbGxzL3N5c2NhbGxfbjY0LnRibCAgIHwgMjAgKysrKysrKysrKwog YXJjaC9taXBzL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsX28zMi50YmwgICB8IDIwICsrKysr KysrKysKIGFyY2gvcGFyaXNjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibCAgICAgfCAy MCArKysrKysrKysrCiBhcmNoL3Bvd2VycGMva2VybmVsL3N5c2NhbGxzL3N5c2NhbGwudGJs ICAgIHwgMjAgKysrKysrKysrKwogYXJjaC9zMzkwL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxs LnRibCAgICAgICB8IDIwICsrKysrKysrKysKIGFyY2gvc2gva2VybmVsL3N5c2NhbGxzL3N5 c2NhbGwudGJsICAgICAgICAgfCAyMCArKysrKysrKysrCiBhcmNoL3NwYXJjL2tlcm5lbC9z eXNjYWxscy9zeXNjYWxsLnRibCAgICAgIHwgMjAgKysrKysrKysrKwogYXJjaC94ODYvZW50 cnkvc3lzY2FsbHMvc3lzY2FsbF8zMi50YmwgICAgICB8IDIwICsrKysrKysrKysKIGFyY2gv eDg2L2VudHJ5L3N5c2NhbGxzL3N5c2NhbGxfNjQudGJsICAgICAgfCAyMCArKysrKysrKysr CiBhcmNoL3h0ZW5zYS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwgICAgIHwgMjAgKysr KysrKysrKwogaW5jbHVkZS91YXBpL2FzbS1nZW5lcmljL3VuaXN0ZC5oICAgICAgICAgICB8 IDQyICsrKysrKysrKysrKysrKysrKysrLQogc2NyaXB0cy9zeXNjYWxsLnRibCAgICAgICAg ICAgICAgICAgICAgICAgICB8IDIwICsrKysrKysrKysKIDE4IGZpbGVzIGNoYW5nZWQsIDM4 MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hbHBo YS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwgYi9hcmNoL2FscGhhL2tlcm5lbC9zeXNj YWxscy9zeXNjYWxsLnRibAppbmRleCBmMzFiN2FmZmYuLjI3MjI4MTg5MSAxMDA2NDQKLS0t IGEvYXJjaC9hbHBoYS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwKKysrIGIvYXJjaC9h bHBoYS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwKQEAgLTUxMSwzICs1MTEsMjMgQEAK IDU3OQljb21tb24JZmlsZV9zZXRhdHRyCQkJc3lzX2ZpbGVfc2V0YXR0cgogNTgwCWNvbW1v bglsaXN0bnMJCQkJc3lzX2xpc3RucwogNTgxCWNvbW1vbglyc2VxX3NsaWNlX3lpZWxkCQlz eXNfcnNlcV9zbGljZV95aWVsZAorNTgyCWNvbW1vbglnZXR1aWRfcgkJc3lzX2dldHVpZF9y Cis1ODMJY29tbW9uCWdldGV1aWRfcgkJc3lzX2dldGV1aWRfcgorNTg0CWNvbW1vbglnZXRn aWRfcgkJc3lzX2dldGdpZF9yCis1ODUJY29tbW9uCWdldGVnaWRfcgkJc3lzX2dldGVnaWRf cgorNTg2CWNvbW1vbglzZXR1aWRfcgkJc3lzX3NldHVpZF9yCis1ODcJY29tbW9uCXNldGdp ZF9yCQlzeXNfc2V0Z2lkX3IKKzU4OAljb21tb24Jc2V0cmV1aWRfcgkJc3lzX3NldHJldWlk X3IKKzU4OQljb21tb24Jc2V0cmVnaWRfcgkJc3lzX3NldHJlZ2lkX3IKKzU5MAljb21tb24J c2V0cmVzdWlkX3IJCXN5c19zZXRyZXN1aWRfcgorNTkxCWNvbW1vbglnZXRyZXN1aWRfcgkJ c3lzX2dldHJlc3VpZF9yCis1OTIJY29tbW9uCXNldHJlc2dpZF9yCQlzeXNfc2V0cmVzZ2lk X3IKKzU5Mwljb21tb24JZ2V0cmVzZ2lkX3IJCXN5c19nZXRyZXNnaWRfcgorNTk0CWNvbW1v bglzZXRmc3VpZF9yCQlzeXNfc2V0ZnN1aWRfcgorNTk1CWNvbW1vbglzZXRmc2dpZF9yCQlz eXNfc2V0ZnNnaWRfcgorNTk2CWNvbW1vbglnZXRncm91cHNfcgkJc3lzX2dldGdyb3Vwc19y Cis1OTcJY29tbW9uCXNldGdyb3Vwc19yCQlzeXNfc2V0Z3JvdXBzX3IKKzU5OAljb21tb24J Y2hvd25fcgkJc3lzX2Nob3duX3IKKzU5OQljb21tb24JbGNob3duX3IJCXN5c19sY2hvd25f cgorNjAwCWNvbW1vbglmY2hvd25fcgkJc3lzX2ZjaG93bl9yCis2MDEJY29tbW9uCWZjaG93 bmF0X3IJCXN5c19mY2hvd25hdF9yCmRpZmYgLS1naXQgYS9hcmNoL2FybS90b29scy9zeXNj YWxsLnRibCBiL2FyY2gvYXJtL3Rvb2xzL3N5c2NhbGwudGJsCmluZGV4IDk0MzUxZTIyYi4u NDUyNzNmNDRmIDEwMDY0NAotLS0gYS9hcmNoL2FybS90b29scy9zeXNjYWxsLnRibAorKysg Yi9hcmNoL2FybS90b29scy9zeXNjYWxsLnRibApAQCAtNDg2LDMgKzQ4NiwyMyBAQAogNDY5 CWNvbW1vbglmaWxlX3NldGF0dHIJCQlzeXNfZmlsZV9zZXRhdHRyCiA0NzAJY29tbW9uCWxp c3RucwkJCQlzeXNfbGlzdG5zCiA0NzEJY29tbW9uCXJzZXFfc2xpY2VfeWllbGQJCXN5c19y c2VxX3NsaWNlX3lpZWxkCis0NzIJY29tbW9uCWdldHVpZF9yCQlzeXNfZ2V0dWlkX3IKKzQ3 Mwljb21tb24JZ2V0ZXVpZF9yCQlzeXNfZ2V0ZXVpZF9yCis0NzQJY29tbW9uCWdldGdpZF9y CQlzeXNfZ2V0Z2lkX3IKKzQ3NQljb21tb24JZ2V0ZWdpZF9yCQlzeXNfZ2V0ZWdpZF9yCis0 NzYJY29tbW9uCXNldHVpZF9yCQlzeXNfc2V0dWlkX3IKKzQ3Nwljb21tb24Jc2V0Z2lkX3IJ CXN5c19zZXRnaWRfcgorNDc4CWNvbW1vbglzZXRyZXVpZF9yCQlzeXNfc2V0cmV1aWRfcgor NDc5CWNvbW1vbglzZXRyZWdpZF9yCQlzeXNfc2V0cmVnaWRfcgorNDgwCWNvbW1vbglzZXRy ZXN1aWRfcgkJc3lzX3NldHJlc3VpZF9yCis0ODEJY29tbW9uCWdldHJlc3VpZF9yCQlzeXNf Z2V0cmVzdWlkX3IKKzQ4Mgljb21tb24Jc2V0cmVzZ2lkX3IJCXN5c19zZXRyZXNnaWRfcgor NDgzCWNvbW1vbglnZXRyZXNnaWRfcgkJc3lzX2dldHJlc2dpZF9yCis0ODQJY29tbW9uCXNl dGZzdWlkX3IJCXN5c19zZXRmc3VpZF9yCis0ODUJY29tbW9uCXNldGZzZ2lkX3IJCXN5c19z ZXRmc2dpZF9yCis0ODYJY29tbW9uCWdldGdyb3Vwc19yCQlzeXNfZ2V0Z3JvdXBzX3IKKzQ4 Nwljb21tb24Jc2V0Z3JvdXBzX3IJCXN5c19zZXRncm91cHNfcgorNDg4CWNvbW1vbgljaG93 bl9yCQlzeXNfY2hvd25fcgorNDg5CWNvbW1vbglsY2hvd25fcgkJc3lzX2xjaG93bl9yCis0 OTAJY29tbW9uCWZjaG93bl9yCQlzeXNfZmNob3duX3IKKzQ5MQljb21tb24JZmNob3duYXRf cgkJc3lzX2ZjaG93bmF0X3IKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvdG9vbHMvc3lzY2Fs bF8zMi50YmwgYi9hcmNoL2FybTY0L3Rvb2xzL3N5c2NhbGxfMzIudGJsCmluZGV4IDYyZDkz ZDg4ZS4uMmYyZmFjNTMzIDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L3Rvb2xzL3N5c2NhbGxf MzIudGJsCisrKyBiL2FyY2gvYXJtNjQvdG9vbHMvc3lzY2FsbF8zMi50YmwKQEAgLTQ4Mywz ICs0ODMsMjMgQEAKIDQ2OQljb21tb24JZmlsZV9zZXRhdHRyCQkJc3lzX2ZpbGVfc2V0YXR0 cgogNDcwCWNvbW1vbglsaXN0bnMJCQkJc3lzX2xpc3RucwogNDcxCWNvbW1vbglyc2VxX3Ns aWNlX3lpZWxkCQlzeXNfcnNlcV9zbGljZV95aWVsZAorNDcyCWNvbW1vbglnZXR1aWRfcgkJ c3lzX2dldHVpZF9yCis0NzMJY29tbW9uCWdldGV1aWRfcgkJc3lzX2dldGV1aWRfcgorNDc0 CWNvbW1vbglnZXRnaWRfcgkJc3lzX2dldGdpZF9yCis0NzUJY29tbW9uCWdldGVnaWRfcgkJ c3lzX2dldGVnaWRfcgorNDc2CWNvbW1vbglzZXR1aWRfcgkJc3lzX3NldHVpZF9yCis0NzcJ Y29tbW9uCXNldGdpZF9yCQlzeXNfc2V0Z2lkX3IKKzQ3OAljb21tb24Jc2V0cmV1aWRfcgkJ c3lzX3NldHJldWlkX3IKKzQ3OQljb21tb24Jc2V0cmVnaWRfcgkJc3lzX3NldHJlZ2lkX3IK KzQ4MAljb21tb24Jc2V0cmVzdWlkX3IJCXN5c19zZXRyZXN1aWRfcgorNDgxCWNvbW1vbgln ZXRyZXN1aWRfcgkJc3lzX2dldHJlc3VpZF9yCis0ODIJY29tbW9uCXNldHJlc2dpZF9yCQlz eXNfc2V0cmVzZ2lkX3IKKzQ4Mwljb21tb24JZ2V0cmVzZ2lkX3IJCXN5c19nZXRyZXNnaWRf cgorNDg0CWNvbW1vbglzZXRmc3VpZF9yCQlzeXNfc2V0ZnN1aWRfcgorNDg1CWNvbW1vbglz ZXRmc2dpZF9yCQlzeXNfc2V0ZnNnaWRfcgorNDg2CWNvbW1vbglnZXRncm91cHNfcgkJc3lz X2dldGdyb3Vwc19yCis0ODcJY29tbW9uCXNldGdyb3Vwc19yCQlzeXNfc2V0Z3JvdXBzX3IK KzQ4OAljb21tb24JY2hvd25fcgkJc3lzX2Nob3duX3IKKzQ4OQljb21tb24JbGNob3duX3IJ CXN5c19sY2hvd25fcgorNDkwCWNvbW1vbglmY2hvd25fcgkJc3lzX2ZjaG93bl9yCis0OTEJ Y29tbW9uCWZjaG93bmF0X3IJCXN5c19mY2hvd25hdF9yCmRpZmYgLS1naXQgYS9hcmNoL202 OGsva2VybmVsL3N5c2NhbGxzL3N5c2NhbGwudGJsIGIvYXJjaC9tNjhrL2tlcm5lbC9zeXNj YWxscy9zeXNjYWxsLnRibAppbmRleCAyNDg5MzQyNTcuLmJjZmQzNjkzMSAxMDA2NDQKLS0t IGEvYXJjaC9tNjhrL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibAorKysgYi9hcmNoL202 OGsva2VybmVsL3N5c2NhbGxzL3N5c2NhbGwudGJsCkBAIC00NzEsMyArNDcxLDIzIEBACiA0 NjkJY29tbW9uCWZpbGVfc2V0YXR0cgkJCXN5c19maWxlX3NldGF0dHIKIDQ3MAljb21tb24J bGlzdG5zCQkJCXN5c19saXN0bnMKIDQ3MQljb21tb24JcnNlcV9zbGljZV95aWVsZAkJc3lz X3JzZXFfc2xpY2VfeWllbGQKKzQ3Mgljb21tb24JZ2V0dWlkX3IJCXN5c19nZXR1aWRfcgor NDczCWNvbW1vbglnZXRldWlkX3IJCXN5c19nZXRldWlkX3IKKzQ3NAljb21tb24JZ2V0Z2lk X3IJCXN5c19nZXRnaWRfcgorNDc1CWNvbW1vbglnZXRlZ2lkX3IJCXN5c19nZXRlZ2lkX3IK KzQ3Ngljb21tb24Jc2V0dWlkX3IJCXN5c19zZXR1aWRfcgorNDc3CWNvbW1vbglzZXRnaWRf cgkJc3lzX3NldGdpZF9yCis0NzgJY29tbW9uCXNldHJldWlkX3IJCXN5c19zZXRyZXVpZF9y Cis0NzkJY29tbW9uCXNldHJlZ2lkX3IJCXN5c19zZXRyZWdpZF9yCis0ODAJY29tbW9uCXNl dHJlc3VpZF9yCQlzeXNfc2V0cmVzdWlkX3IKKzQ4MQljb21tb24JZ2V0cmVzdWlkX3IJCXN5 c19nZXRyZXN1aWRfcgorNDgyCWNvbW1vbglzZXRyZXNnaWRfcgkJc3lzX3NldHJlc2dpZF9y Cis0ODMJY29tbW9uCWdldHJlc2dpZF9yCQlzeXNfZ2V0cmVzZ2lkX3IKKzQ4NAljb21tb24J c2V0ZnN1aWRfcgkJc3lzX3NldGZzdWlkX3IKKzQ4NQljb21tb24Jc2V0ZnNnaWRfcgkJc3lz X3NldGZzZ2lkX3IKKzQ4Ngljb21tb24JZ2V0Z3JvdXBzX3IJCXN5c19nZXRncm91cHNfcgor NDg3CWNvbW1vbglzZXRncm91cHNfcgkJc3lzX3NldGdyb3Vwc19yCis0ODgJY29tbW9uCWNo b3duX3IJCXN5c19jaG93bl9yCis0ODkJY29tbW9uCWxjaG93bl9yCQlzeXNfbGNob3duX3IK KzQ5MAljb21tb24JZmNob3duX3IJCXN5c19mY2hvd25fcgorNDkxCWNvbW1vbglmY2hvd25h dF9yCQlzeXNfZmNob3duYXRfcgpkaWZmIC0tZ2l0IGEvYXJjaC9taWNyb2JsYXplL2tlcm5l bC9zeXNjYWxscy9zeXNjYWxsLnRibCBiL2FyY2gvbWljcm9ibGF6ZS9rZXJuZWwvc3lzY2Fs bHMvc3lzY2FsbC50YmwKaW5kZXggMjIzZDI2MzAzLi45MTViYzkzYWUgMTAwNjQ0Ci0tLSBh L2FyY2gvbWljcm9ibGF6ZS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwKKysrIGIvYXJj aC9taWNyb2JsYXplL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibApAQCAtNDc3LDMgKzQ3 NywyMyBAQAogNDY5CWNvbW1vbglmaWxlX3NldGF0dHIJCQlzeXNfZmlsZV9zZXRhdHRyCiA0 NzAJY29tbW9uCWxpc3RucwkJCQlzeXNfbGlzdG5zCiA0NzEJY29tbW9uCXJzZXFfc2xpY2Vf eWllbGQJCXN5c19yc2VxX3NsaWNlX3lpZWxkCis0NzIJY29tbW9uCWdldHVpZF9yCQlzeXNf Z2V0dWlkX3IKKzQ3Mwljb21tb24JZ2V0ZXVpZF9yCQlzeXNfZ2V0ZXVpZF9yCis0NzQJY29t bW9uCWdldGdpZF9yCQlzeXNfZ2V0Z2lkX3IKKzQ3NQljb21tb24JZ2V0ZWdpZF9yCQlzeXNf Z2V0ZWdpZF9yCis0NzYJY29tbW9uCXNldHVpZF9yCQlzeXNfc2V0dWlkX3IKKzQ3Nwljb21t b24Jc2V0Z2lkX3IJCXN5c19zZXRnaWRfcgorNDc4CWNvbW1vbglzZXRyZXVpZF9yCQlzeXNf c2V0cmV1aWRfcgorNDc5CWNvbW1vbglzZXRyZWdpZF9yCQlzeXNfc2V0cmVnaWRfcgorNDgw CWNvbW1vbglzZXRyZXN1aWRfcgkJc3lzX3NldHJlc3VpZF9yCis0ODEJY29tbW9uCWdldHJl c3VpZF9yCQlzeXNfZ2V0cmVzdWlkX3IKKzQ4Mgljb21tb24Jc2V0cmVzZ2lkX3IJCXN5c19z ZXRyZXNnaWRfcgorNDgzCWNvbW1vbglnZXRyZXNnaWRfcgkJc3lzX2dldHJlc2dpZF9yCis0 ODQJY29tbW9uCXNldGZzdWlkX3IJCXN5c19zZXRmc3VpZF9yCis0ODUJY29tbW9uCXNldGZz Z2lkX3IJCXN5c19zZXRmc2dpZF9yCis0ODYJY29tbW9uCWdldGdyb3Vwc19yCQlzeXNfZ2V0 Z3JvdXBzX3IKKzQ4Nwljb21tb24Jc2V0Z3JvdXBzX3IJCXN5c19zZXRncm91cHNfcgorNDg4 CWNvbW1vbgljaG93bl9yCQlzeXNfY2hvd25fcgorNDg5CWNvbW1vbglsY2hvd25fcgkJc3lz X2xjaG93bl9yCis0OTAJY29tbW9uCWZjaG93bl9yCQlzeXNfZmNob3duX3IKKzQ5MQljb21t b24JZmNob3duYXRfcgkJc3lzX2ZjaG93bmF0X3IKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9r ZXJuZWwvc3lzY2FsbHMvc3lzY2FsbF9uMzIudGJsIGIvYXJjaC9taXBzL2tlcm5lbC9zeXNj YWxscy9zeXNjYWxsX24zMi50YmwKaW5kZXggNzQzMDcxNGUyLi4yMTczMzNiYjggMTAwNjQ0 Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbF9uMzIudGJsCisrKyBi L2FyY2gvbWlwcy9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbF9uMzIudGJsCkBAIC00MTAsMyAr NDEwLDIzIEBACiA0NjkJbjMyCWZpbGVfc2V0YXR0cgkJCXN5c19maWxlX3NldGF0dHIKIDQ3 MAluMzIJbGlzdG5zCQkJCXN5c19saXN0bnMKIDQ3MQluMzIJcnNlcV9zbGljZV95aWVsZAkJ c3lzX3JzZXFfc2xpY2VfeWllbGQKKzQ3MgluMzIJZ2V0dWlkX3IJCXN5c19nZXR1aWRfcgor NDczCW4zMglnZXRldWlkX3IJCXN5c19nZXRldWlkX3IKKzQ3NAluMzIJZ2V0Z2lkX3IJCXN5 c19nZXRnaWRfcgorNDc1CW4zMglnZXRlZ2lkX3IJCXN5c19nZXRlZ2lkX3IKKzQ3NgluMzIJ c2V0dWlkX3IJCXN5c19zZXR1aWRfcgorNDc3CW4zMglzZXRnaWRfcgkJc3lzX3NldGdpZF9y Cis0NzgJbjMyCXNldHJldWlkX3IJCXN5c19zZXRyZXVpZF9yCis0NzkJbjMyCXNldHJlZ2lk X3IJCXN5c19zZXRyZWdpZF9yCis0ODAJbjMyCXNldHJlc3VpZF9yCQlzeXNfc2V0cmVzdWlk X3IKKzQ4MQluMzIJZ2V0cmVzdWlkX3IJCXN5c19nZXRyZXN1aWRfcgorNDgyCW4zMglzZXRy ZXNnaWRfcgkJc3lzX3NldHJlc2dpZF9yCis0ODMJbjMyCWdldHJlc2dpZF9yCQlzeXNfZ2V0 cmVzZ2lkX3IKKzQ4NAluMzIJc2V0ZnN1aWRfcgkJc3lzX3NldGZzdWlkX3IKKzQ4NQluMzIJ c2V0ZnNnaWRfcgkJc3lzX3NldGZzZ2lkX3IKKzQ4NgluMzIJZ2V0Z3JvdXBzX3IJCXN5c19n ZXRncm91cHNfcgorNDg3CW4zMglzZXRncm91cHNfcgkJc3lzX3NldGdyb3Vwc19yCis0ODgJ bjMyCWNob3duX3IJCXN5c19jaG93bl9yCis0ODkJbjMyCWxjaG93bl9yCQlzeXNfbGNob3du X3IKKzQ5MAluMzIJZmNob3duX3IJCXN5c19mY2hvd25fcgorNDkxCW4zMglmY2hvd25hdF9y CQlzeXNfZmNob3duYXRfcgpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC9zeXNjYWxs cy9zeXNjYWxsX242NC50YmwgYi9hcmNoL21pcHMva2VybmVsL3N5c2NhbGxzL3N5c2NhbGxf bjY0LnRibAppbmRleCA2MzBhYWI5ZTUuLjMyMDE2YjFlYiAxMDA2NDQKLS0tIGEvYXJjaC9t aXBzL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsX242NC50YmwKKysrIGIvYXJjaC9taXBzL2tl cm5lbC9zeXNjYWxscy9zeXNjYWxsX242NC50YmwKQEAgLTM4NiwzICszODYsMjMgQEAKIDQ2 OQluNjQJZmlsZV9zZXRhdHRyCQkJc3lzX2ZpbGVfc2V0YXR0cgogNDcwCW42NAlsaXN0bnMJ CQkJc3lzX2xpc3RucwogNDcxCW42NAlyc2VxX3NsaWNlX3lpZWxkCQlzeXNfcnNlcV9zbGlj ZV95aWVsZAorNDcyCW42NAlnZXR1aWRfcgkJc3lzX2dldHVpZF9yCis0NzMJbjY0CWdldGV1 aWRfcgkJc3lzX2dldGV1aWRfcgorNDc0CW42NAlnZXRnaWRfcgkJc3lzX2dldGdpZF9yCis0 NzUJbjY0CWdldGVnaWRfcgkJc3lzX2dldGVnaWRfcgorNDc2CW42NAlzZXR1aWRfcgkJc3lz X3NldHVpZF9yCis0NzcJbjY0CXNldGdpZF9yCQlzeXNfc2V0Z2lkX3IKKzQ3OAluNjQJc2V0 cmV1aWRfcgkJc3lzX3NldHJldWlkX3IKKzQ3OQluNjQJc2V0cmVnaWRfcgkJc3lzX3NldHJl Z2lkX3IKKzQ4MAluNjQJc2V0cmVzdWlkX3IJCXN5c19zZXRyZXN1aWRfcgorNDgxCW42NAln ZXRyZXN1aWRfcgkJc3lzX2dldHJlc3VpZF9yCis0ODIJbjY0CXNldHJlc2dpZF9yCQlzeXNf c2V0cmVzZ2lkX3IKKzQ4MwluNjQJZ2V0cmVzZ2lkX3IJCXN5c19nZXRyZXNnaWRfcgorNDg0 CW42NAlzZXRmc3VpZF9yCQlzeXNfc2V0ZnN1aWRfcgorNDg1CW42NAlzZXRmc2dpZF9yCQlz eXNfc2V0ZnNnaWRfcgorNDg2CW42NAlnZXRncm91cHNfcgkJc3lzX2dldGdyb3Vwc19yCis0 ODcJbjY0CXNldGdyb3Vwc19yCQlzeXNfc2V0Z3JvdXBzX3IKKzQ4OAluNjQJY2hvd25fcgkJ c3lzX2Nob3duX3IKKzQ4OQluNjQJbGNob3duX3IJCXN5c19sY2hvd25fcgorNDkwCW42NAlm Y2hvd25fcgkJc3lzX2ZjaG93bl9yCis0OTEJbjY0CWZjaG93bmF0X3IJCXN5c19mY2hvd25h dF9yCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3N5c2NhbGxzL3N5c2NhbGxfbzMy LnRibCBiL2FyY2gvbWlwcy9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbF9vMzIudGJsCmluZGV4 IDEyODY1MzExMi4uYmFiYTFjMGU2IDEwMDY0NAotLS0gYS9hcmNoL21pcHMva2VybmVsL3N5 c2NhbGxzL3N5c2NhbGxfbzMyLnRibAorKysgYi9hcmNoL21pcHMva2VybmVsL3N5c2NhbGxz L3N5c2NhbGxfbzMyLnRibApAQCAtNDU5LDMgKzQ1OSwyMyBAQAogNDY5CW8zMglmaWxlX3Nl dGF0dHIJCQlzeXNfZmlsZV9zZXRhdHRyCiA0NzAJbzMyCWxpc3RucwkJCQlzeXNfbGlzdG5z CiA0NzEJbzMyCXJzZXFfc2xpY2VfeWllbGQJCXN5c19yc2VxX3NsaWNlX3lpZWxkCis0NzIJ bzMyCWdldHVpZF9yCQlzeXNfZ2V0dWlkX3IKKzQ3MwlvMzIJZ2V0ZXVpZF9yCQlzeXNfZ2V0 ZXVpZF9yCis0NzQJbzMyCWdldGdpZF9yCQlzeXNfZ2V0Z2lkX3IKKzQ3NQlvMzIJZ2V0ZWdp ZF9yCQlzeXNfZ2V0ZWdpZF9yCis0NzYJbzMyCXNldHVpZF9yCQlzeXNfc2V0dWlkX3IKKzQ3 NwlvMzIJc2V0Z2lkX3IJCXN5c19zZXRnaWRfcgorNDc4CW8zMglzZXRyZXVpZF9yCQlzeXNf c2V0cmV1aWRfcgorNDc5CW8zMglzZXRyZWdpZF9yCQlzeXNfc2V0cmVnaWRfcgorNDgwCW8z MglzZXRyZXN1aWRfcgkJc3lzX3NldHJlc3VpZF9yCis0ODEJbzMyCWdldHJlc3VpZF9yCQlz eXNfZ2V0cmVzdWlkX3IKKzQ4MglvMzIJc2V0cmVzZ2lkX3IJCXN5c19zZXRyZXNnaWRfcgor NDgzCW8zMglnZXRyZXNnaWRfcgkJc3lzX2dldHJlc2dpZF9yCis0ODQJbzMyCXNldGZzdWlk X3IJCXN5c19zZXRmc3VpZF9yCis0ODUJbzMyCXNldGZzZ2lkX3IJCXN5c19zZXRmc2dpZF9y Cis0ODYJbzMyCWdldGdyb3Vwc19yCQlzeXNfZ2V0Z3JvdXBzX3IKKzQ4NwlvMzIJc2V0Z3Jv dXBzX3IJCXN5c19zZXRncm91cHNfcgorNDg4CW8zMgljaG93bl9yCQlzeXNfY2hvd25fcgor NDg5CW8zMglsY2hvd25fcgkJc3lzX2xjaG93bl9yCis0OTAJbzMyCWZjaG93bl9yCQlzeXNf ZmNob3duX3IKKzQ5MQlvMzIJZmNob3duYXRfcgkJc3lzX2ZjaG93bmF0X3IKZGlmZiAtLWdp dCBhL2FyY2gvcGFyaXNjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibCBiL2FyY2gvcGFy aXNjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibAppbmRleCBjNjMzMWRhZDkuLmMyMWFl MDY4OSAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2Mva2VybmVsL3N5c2NhbGxzL3N5c2NhbGwu dGJsCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibApAQCAt NDcwLDMgKzQ3MCwyMyBAQAogNDY5CWNvbW1vbglmaWxlX3NldGF0dHIJCQlzeXNfZmlsZV9z ZXRhdHRyCiA0NzAJY29tbW9uCWxpc3RucwkJCQlzeXNfbGlzdG5zCiA0NzEJY29tbW9uCXJz ZXFfc2xpY2VfeWllbGQJCXN5c19yc2VxX3NsaWNlX3lpZWxkCis0NzIJY29tbW9uCWdldHVp ZF9yCQlzeXNfZ2V0dWlkX3IKKzQ3Mwljb21tb24JZ2V0ZXVpZF9yCQlzeXNfZ2V0ZXVpZF9y Cis0NzQJY29tbW9uCWdldGdpZF9yCQlzeXNfZ2V0Z2lkX3IKKzQ3NQljb21tb24JZ2V0ZWdp ZF9yCQlzeXNfZ2V0ZWdpZF9yCis0NzYJY29tbW9uCXNldHVpZF9yCQlzeXNfc2V0dWlkX3IK KzQ3Nwljb21tb24Jc2V0Z2lkX3IJCXN5c19zZXRnaWRfcgorNDc4CWNvbW1vbglzZXRyZXVp ZF9yCQlzeXNfc2V0cmV1aWRfcgorNDc5CWNvbW1vbglzZXRyZWdpZF9yCQlzeXNfc2V0cmVn aWRfcgorNDgwCWNvbW1vbglzZXRyZXN1aWRfcgkJc3lzX3NldHJlc3VpZF9yCis0ODEJY29t bW9uCWdldHJlc3VpZF9yCQlzeXNfZ2V0cmVzdWlkX3IKKzQ4Mgljb21tb24Jc2V0cmVzZ2lk X3IJCXN5c19zZXRyZXNnaWRfcgorNDgzCWNvbW1vbglnZXRyZXNnaWRfcgkJc3lzX2dldHJl c2dpZF9yCis0ODQJY29tbW9uCXNldGZzdWlkX3IJCXN5c19zZXRmc3VpZF9yCis0ODUJY29t bW9uCXNldGZzZ2lkX3IJCXN5c19zZXRmc2dpZF9yCis0ODYJY29tbW9uCWdldGdyb3Vwc19y CQlzeXNfZ2V0Z3JvdXBzX3IKKzQ4Nwljb21tb24Jc2V0Z3JvdXBzX3IJCXN5c19zZXRncm91 cHNfcgorNDg4CWNvbW1vbgljaG93bl9yCQlzeXNfY2hvd25fcgorNDg5CWNvbW1vbglsY2hv d25fcgkJc3lzX2xjaG93bl9yCis0OTAJY29tbW9uCWZjaG93bl9yCQlzeXNfZmNob3duX3IK KzQ5MQljb21tb24JZmNob3duYXRfcgkJc3lzX2ZjaG93bmF0X3IKZGlmZiAtLWdpdCBhL2Fy Y2gvcG93ZXJwYy9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwgYi9hcmNoL3Bvd2VycGMv a2VybmVsL3N5c2NhbGxzL3N5c2NhbGwudGJsCmluZGV4IDRmY2M3YzU4YS4uMjlmY2Y2YjI5 IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3N5c2NhbGxzL3N5c2NhbGwudGJs CisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwKQEAgLTU2 MiwzICs1NjIsMjMgQEAKIDQ2OQljb21tb24JZmlsZV9zZXRhdHRyCQkJc3lzX2ZpbGVfc2V0 YXR0cgogNDcwCWNvbW1vbglsaXN0bnMJCQkJc3lzX2xpc3RucwogNDcxCW5vc3B1CXJzZXFf c2xpY2VfeWllbGQJCXN5c19yc2VxX3NsaWNlX3lpZWxkCis0NzIJbm9zcHUJZ2V0dWlkX3IJ CXN5c19nZXR1aWRfcgorNDczCW5vc3B1CWdldGV1aWRfcgkJc3lzX2dldGV1aWRfcgorNDc0 CW5vc3B1CWdldGdpZF9yCQlzeXNfZ2V0Z2lkX3IKKzQ3NQlub3NwdQlnZXRlZ2lkX3IJCXN5 c19nZXRlZ2lkX3IKKzQ3Nglub3NwdQlzZXR1aWRfcgkJc3lzX3NldHVpZF9yCis0NzcJbm9z cHUJc2V0Z2lkX3IJCXN5c19zZXRnaWRfcgorNDc4CW5vc3B1CXNldHJldWlkX3IJCXN5c19z ZXRyZXVpZF9yCis0NzkJbm9zcHUJc2V0cmVnaWRfcgkJc3lzX3NldHJlZ2lkX3IKKzQ4MAlu b3NwdQlzZXRyZXN1aWRfcgkJc3lzX3NldHJlc3VpZF9yCis0ODEJbm9zcHUJZ2V0cmVzdWlk X3IJCXN5c19nZXRyZXN1aWRfcgorNDgyCW5vc3B1CXNldHJlc2dpZF9yCQlzeXNfc2V0cmVz Z2lkX3IKKzQ4Mwlub3NwdQlnZXRyZXNnaWRfcgkJc3lzX2dldHJlc2dpZF9yCis0ODQJbm9z cHUJc2V0ZnN1aWRfcgkJc3lzX3NldGZzdWlkX3IKKzQ4NQlub3NwdQlzZXRmc2dpZF9yCQlz eXNfc2V0ZnNnaWRfcgorNDg2CW5vc3B1CWdldGdyb3Vwc19yCQlzeXNfZ2V0Z3JvdXBzX3IK KzQ4Nwlub3NwdQlzZXRncm91cHNfcgkJc3lzX3NldGdyb3Vwc19yCis0ODgJbm9zcHUJY2hv d25fcgkJc3lzX2Nob3duX3IKKzQ4OQlub3NwdQlsY2hvd25fcgkJc3lzX2xjaG93bl9yCis0 OTAJbm9zcHUJZmNob3duX3IJCXN5c19mY2hvd25fcgorNDkxCW5vc3B1CWZjaG93bmF0X3IJ CXN5c19mY2hvd25hdF9yCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3N5c2NhbGxz L3N5c2NhbGwudGJsIGIvYXJjaC9zMzkwL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibApp bmRleCAwOWE3ZWYwNGQuLjQxOTk5NThlNyAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5l bC9zeXNjYWxscy9zeXNjYWxsLnRibAorKysgYi9hcmNoL3MzOTAva2VybmVsL3N5c2NhbGxz L3N5c2NhbGwudGJsCkBAIC0zOTgsMyArMzk4LDIzIEBACiA0NjkJY29tbW9uCWZpbGVfc2V0 YXR0cgkJCXN5c19maWxlX3NldGF0dHIKIDQ3MAljb21tb24JbGlzdG5zCQkJCXN5c19saXN0 bnMKIDQ3MQljb21tb24JcnNlcV9zbGljZV95aWVsZAkJc3lzX3JzZXFfc2xpY2VfeWllbGQK KzQ3Mgljb21tb24JZ2V0dWlkX3IJCXN5c19nZXR1aWRfcgorNDczCWNvbW1vbglnZXRldWlk X3IJCXN5c19nZXRldWlkX3IKKzQ3NAljb21tb24JZ2V0Z2lkX3IJCXN5c19nZXRnaWRfcgor NDc1CWNvbW1vbglnZXRlZ2lkX3IJCXN5c19nZXRlZ2lkX3IKKzQ3Ngljb21tb24Jc2V0dWlk X3IJCXN5c19zZXR1aWRfcgorNDc3CWNvbW1vbglzZXRnaWRfcgkJc3lzX3NldGdpZF9yCis0 NzgJY29tbW9uCXNldHJldWlkX3IJCXN5c19zZXRyZXVpZF9yCis0NzkJY29tbW9uCXNldHJl Z2lkX3IJCXN5c19zZXRyZWdpZF9yCis0ODAJY29tbW9uCXNldHJlc3VpZF9yCQlzeXNfc2V0 cmVzdWlkX3IKKzQ4MQljb21tb24JZ2V0cmVzdWlkX3IJCXN5c19nZXRyZXN1aWRfcgorNDgy CWNvbW1vbglzZXRyZXNnaWRfcgkJc3lzX3NldHJlc2dpZF9yCis0ODMJY29tbW9uCWdldHJl c2dpZF9yCQlzeXNfZ2V0cmVzZ2lkX3IKKzQ4NAljb21tb24Jc2V0ZnN1aWRfcgkJc3lzX3Nl dGZzdWlkX3IKKzQ4NQljb21tb24Jc2V0ZnNnaWRfcgkJc3lzX3NldGZzZ2lkX3IKKzQ4Nglj b21tb24JZ2V0Z3JvdXBzX3IJCXN5c19nZXRncm91cHNfcgorNDg3CWNvbW1vbglzZXRncm91 cHNfcgkJc3lzX3NldGdyb3Vwc19yCis0ODgJY29tbW9uCWNob3duX3IJCXN5c19jaG93bl9y Cis0ODkJY29tbW9uCWxjaG93bl9yCQlzeXNfbGNob3duX3IKKzQ5MAljb21tb24JZmNob3du X3IJCXN5c19mY2hvd25fcgorNDkxCWNvbW1vbglmY2hvd25hdF9yCQlzeXNfZmNob3duYXRf cgpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwgYi9h cmNoL3NoL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibAppbmRleCA3MGIzMTVjYmUuLmI1 ZWQ1YjY1NyAxMDA2NDQKLS0tIGEvYXJjaC9zaC9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50 YmwKKysrIGIvYXJjaC9zaC9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwKQEAgLTQ3NSwz ICs0NzUsMjMgQEAKIDQ2OQljb21tb24JZmlsZV9zZXRhdHRyCQkJc3lzX2ZpbGVfc2V0YXR0 cgogNDcwCWNvbW1vbglsaXN0bnMJCQkJc3lzX2xpc3RucwogNDcxCWNvbW1vbglyc2VxX3Ns aWNlX3lpZWxkCQlzeXNfcnNlcV9zbGljZV95aWVsZAorNDcyCWNvbW1vbglnZXR1aWRfcgkJ c3lzX2dldHVpZF9yCis0NzMJY29tbW9uCWdldGV1aWRfcgkJc3lzX2dldGV1aWRfcgorNDc0 CWNvbW1vbglnZXRnaWRfcgkJc3lzX2dldGdpZF9yCis0NzUJY29tbW9uCWdldGVnaWRfcgkJ c3lzX2dldGVnaWRfcgorNDc2CWNvbW1vbglzZXR1aWRfcgkJc3lzX3NldHVpZF9yCis0NzcJ Y29tbW9uCXNldGdpZF9yCQlzeXNfc2V0Z2lkX3IKKzQ3OAljb21tb24Jc2V0cmV1aWRfcgkJ c3lzX3NldHJldWlkX3IKKzQ3OQljb21tb24Jc2V0cmVnaWRfcgkJc3lzX3NldHJlZ2lkX3IK KzQ4MAljb21tb24Jc2V0cmVzdWlkX3IJCXN5c19zZXRyZXN1aWRfcgorNDgxCWNvbW1vbgln ZXRyZXN1aWRfcgkJc3lzX2dldHJlc3VpZF9yCis0ODIJY29tbW9uCXNldHJlc2dpZF9yCQlz eXNfc2V0cmVzZ2lkX3IKKzQ4Mwljb21tb24JZ2V0cmVzZ2lkX3IJCXN5c19nZXRyZXNnaWRf cgorNDg0CWNvbW1vbglzZXRmc3VpZF9yCQlzeXNfc2V0ZnN1aWRfcgorNDg1CWNvbW1vbglz ZXRmc2dpZF9yCQlzeXNfc2V0ZnNnaWRfcgorNDg2CWNvbW1vbglnZXRncm91cHNfcgkJc3lz X2dldGdyb3Vwc19yCis0ODcJY29tbW9uCXNldGdyb3Vwc19yCQlzeXNfc2V0Z3JvdXBzX3IK KzQ4OAljb21tb24JY2hvd25fcgkJc3lzX2Nob3duX3IKKzQ4OQljb21tb24JbGNob3duX3IJ CXN5c19sY2hvd25fcgorNDkwCWNvbW1vbglmY2hvd25fcgkJc3lzX2ZjaG93bl9yCis0OTEJ Y29tbW9uCWZjaG93bmF0X3IJCXN5c19mY2hvd25hdF9yCmRpZmYgLS1naXQgYS9hcmNoL3Nw YXJjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibCBiL2FyY2gvc3BhcmMva2VybmVsL3N5 c2NhbGxzL3N5c2NhbGwudGJsCmluZGV4IDdlNzFiZjdmYy4uMDdlMTQzNzA2IDEwMDY0NAot LS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibAorKysgYi9hcmNo L3NwYXJjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsLnRibApAQCAtNTE3LDMgKzUxNywyMyBA QAogNDY5CWNvbW1vbglmaWxlX3NldGF0dHIJCQlzeXNfZmlsZV9zZXRhdHRyCiA0NzAJY29t bW9uCWxpc3RucwkJCQlzeXNfbGlzdG5zCiA0NzEJY29tbW9uCXJzZXFfc2xpY2VfeWllbGQJ CXN5c19yc2VxX3NsaWNlX3lpZWxkCis0NzIJY29tbW9uCWdldHVpZF9yCQlzeXNfZ2V0dWlk X3IKKzQ3Mwljb21tb24JZ2V0ZXVpZF9yCQlzeXNfZ2V0ZXVpZF9yCis0NzQJY29tbW9uCWdl dGdpZF9yCQlzeXNfZ2V0Z2lkX3IKKzQ3NQljb21tb24JZ2V0ZWdpZF9yCQlzeXNfZ2V0ZWdp ZF9yCis0NzYJY29tbW9uCXNldHVpZF9yCQlzeXNfc2V0dWlkX3IKKzQ3Nwljb21tb24Jc2V0 Z2lkX3IJCXN5c19zZXRnaWRfcgorNDc4CWNvbW1vbglzZXRyZXVpZF9yCQlzeXNfc2V0cmV1 aWRfcgorNDc5CWNvbW1vbglzZXRyZWdpZF9yCQlzeXNfc2V0cmVnaWRfcgorNDgwCWNvbW1v bglzZXRyZXN1aWRfcgkJc3lzX3NldHJlc3VpZF9yCis0ODEJY29tbW9uCWdldHJlc3VpZF9y CQlzeXNfZ2V0cmVzdWlkX3IKKzQ4Mgljb21tb24Jc2V0cmVzZ2lkX3IJCXN5c19zZXRyZXNn aWRfcgorNDgzCWNvbW1vbglnZXRyZXNnaWRfcgkJc3lzX2dldHJlc2dpZF9yCis0ODQJY29t bW9uCXNldGZzdWlkX3IJCXN5c19zZXRmc3VpZF9yCis0ODUJY29tbW9uCXNldGZzZ2lkX3IJ CXN5c19zZXRmc2dpZF9yCis0ODYJY29tbW9uCWdldGdyb3Vwc19yCQlzeXNfZ2V0Z3JvdXBz X3IKKzQ4Nwljb21tb24Jc2V0Z3JvdXBzX3IJCXN5c19zZXRncm91cHNfcgorNDg4CWNvbW1v bgljaG93bl9yCQlzeXNfY2hvd25fcgorNDg5CWNvbW1vbglsY2hvd25fcgkJc3lzX2xjaG93 bl9yCis0OTAJY29tbW9uCWZjaG93bl9yCQlzeXNfZmNob3duX3IKKzQ5MQljb21tb24JZmNo b3duYXRfcgkJc3lzX2ZjaG93bmF0X3IKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2VudHJ5L3N5 c2NhbGxzL3N5c2NhbGxfMzIudGJsIGIvYXJjaC94ODYvZW50cnkvc3lzY2FsbHMvc3lzY2Fs bF8zMi50YmwKaW5kZXggZjgzMmViZDJkLi5mMzg5MGJlYjAgMTAwNjQ0Ci0tLSBhL2FyY2gv eDg2L2VudHJ5L3N5c2NhbGxzL3N5c2NhbGxfMzIudGJsCisrKyBiL2FyY2gveDg2L2VudHJ5 L3N5c2NhbGxzL3N5c2NhbGxfMzIudGJsCkBAIC00NzcsMyArNDc3LDIzIEBACiA0NjkJaTM4 NglmaWxlX3NldGF0dHIJCXN5c19maWxlX3NldGF0dHIKIDQ3MAlpMzg2CWxpc3RucwkJCXN5 c19saXN0bnMKIDQ3MQlpMzg2CXJzZXFfc2xpY2VfeWllbGQJc3lzX3JzZXFfc2xpY2VfeWll bGQKKzQ3MglpMzg2CWdldHVpZF9yCXN5c19nZXR1aWRfcgorNDczCWkzODYJZ2V0ZXVpZF9y CXN5c19nZXRldWlkX3IKKzQ3NAlpMzg2CWdldGdpZF9yCXN5c19nZXRnaWRfcgorNDc1CWkz ODYJZ2V0ZWdpZF9yCXN5c19nZXRlZ2lkX3IKKzQ3NglpMzg2CXNldHVpZF9yCXN5c19zZXR1 aWRfcgorNDc3CWkzODYJc2V0Z2lkX3IJc3lzX3NldGdpZF9yCis0NzgJaTM4NglzZXRyZXVp ZF9yCXN5c19zZXRyZXVpZF9yCis0NzkJaTM4NglzZXRyZWdpZF9yCXN5c19zZXRyZWdpZF9y Cis0ODAJaTM4NglzZXRyZXN1aWRfcglzeXNfc2V0cmVzdWlkX3IKKzQ4MQlpMzg2CWdldHJl c3VpZF9yCXN5c19nZXRyZXN1aWRfcgorNDgyCWkzODYJc2V0cmVzZ2lkX3IJc3lzX3NldHJl c2dpZF9yCis0ODMJaTM4NglnZXRyZXNnaWRfcglzeXNfZ2V0cmVzZ2lkX3IKKzQ4NAlpMzg2 CXNldGZzdWlkX3IJc3lzX3NldGZzdWlkX3IKKzQ4NQlpMzg2CXNldGZzZ2lkX3IJc3lzX3Nl dGZzZ2lkX3IKKzQ4NglpMzg2CWdldGdyb3Vwc19yCXN5c19nZXRncm91cHNfcgorNDg3CWkz ODYJc2V0Z3JvdXBzX3IJc3lzX3NldGdyb3Vwc19yCis0ODgJaTM4NgljaG93bl9yCQlzeXNf Y2hvd25fcgorNDg5CWkzODYJbGNob3duX3IJc3lzX2xjaG93bl9yCis0OTAJaTM4NglmY2hv d25fcglzeXNfZmNob3duX3IKKzQ5MQlpMzg2CWZjaG93bmF0X3IJc3lzX2ZjaG93bmF0X3IK ZGlmZiAtLWdpdCBhL2FyY2gveDg2L2VudHJ5L3N5c2NhbGxzL3N5c2NhbGxfNjQudGJsIGIv YXJjaC94ODYvZW50cnkvc3lzY2FsbHMvc3lzY2FsbF82NC50YmwKaW5kZXggNTI0MTU1ZDY1 Li44NmEwZmM2MDYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2VudHJ5L3N5c2NhbGxzL3N5c2Nh bGxfNjQudGJsCisrKyBiL2FyY2gveDg2L2VudHJ5L3N5c2NhbGxzL3N5c2NhbGxfNjQudGJs CkBAIC0zOTYsNiArMzk2LDI2IEBACiA0NjkJY29tbW9uCWZpbGVfc2V0YXR0cgkJc3lzX2Zp bGVfc2V0YXR0cgogNDcwCWNvbW1vbglsaXN0bnMJCQlzeXNfbGlzdG5zCiA0NzEJY29tbW9u CXJzZXFfc2xpY2VfeWllbGQJc3lzX3JzZXFfc2xpY2VfeWllbGQKKzQ3Mgljb21tb24JZ2V0 dWlkX3IJc3lzX2dldHVpZF9yCis0NzMJY29tbW9uCWdldGV1aWRfcglzeXNfZ2V0ZXVpZF9y Cis0NzQJY29tbW9uCWdldGdpZF9yCXN5c19nZXRnaWRfcgorNDc1CWNvbW1vbglnZXRlZ2lk X3IJc3lzX2dldGVnaWRfcgorNDc2CWNvbW1vbglzZXR1aWRfcglzeXNfc2V0dWlkX3IKKzQ3 Nwljb21tb24Jc2V0Z2lkX3IJc3lzX3NldGdpZF9yCis0NzgJY29tbW9uCXNldHJldWlkX3IJ c3lzX3NldHJldWlkX3IKKzQ3OQljb21tb24Jc2V0cmVnaWRfcglzeXNfc2V0cmVnaWRfcgor NDgwCWNvbW1vbglzZXRyZXN1aWRfcglzeXNfc2V0cmVzdWlkX3IKKzQ4MQljb21tb24JZ2V0 cmVzdWlkX3IJc3lzX2dldHJlc3VpZF9yCis0ODIJY29tbW9uCXNldHJlc2dpZF9yCXN5c19z ZXRyZXNnaWRfcgorNDgzCWNvbW1vbglnZXRyZXNnaWRfcglzeXNfZ2V0cmVzZ2lkX3IKKzQ4 NAljb21tb24Jc2V0ZnN1aWRfcglzeXNfc2V0ZnN1aWRfcgorNDg1CWNvbW1vbglzZXRmc2dp ZF9yCXN5c19zZXRmc2dpZF9yCis0ODYJY29tbW9uCWdldGdyb3Vwc19yCXN5c19nZXRncm91 cHNfcgorNDg3CWNvbW1vbglzZXRncm91cHNfcglzeXNfc2V0Z3JvdXBzX3IKKzQ4OAljb21t b24JY2hvd25fcgkJc3lzX2Nob3duX3IKKzQ4OQljb21tb24JbGNob3duX3IJc3lzX2xjaG93 bl9yCis0OTAJY29tbW9uCWZjaG93bl9yCXN5c19mY2hvd25fcgorNDkxCWNvbW1vbglmY2hv d25hdF9yCXN5c19mY2hvd25hdF9yCiAKICMKICMgRHVlIHRvIGEgaGlzdG9yaWNhbCBkZXNp Z24gZXJyb3IsIGNlcnRhaW4gc3lzY2FsbHMgYXJlIG51bWJlcmVkIGRpZmZlcmVudGx5CmRp ZmYgLS1naXQgYS9hcmNoL3h0ZW5zYS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwgYi9h cmNoL3h0ZW5zYS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwKaW5kZXggYTliY2E0ZTQ4 Li41Y2RjNWQwYzMgMTAwNjQ0Ci0tLSBhL2FyY2gveHRlbnNhL2tlcm5lbC9zeXNjYWxscy9z eXNjYWxsLnRibAorKysgYi9hcmNoL3h0ZW5zYS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50 YmwKQEAgLTQ0MiwzICs0NDIsMjMgQEAKIDQ2OQljb21tb24JZmlsZV9zZXRhdHRyCQkJc3lz X2ZpbGVfc2V0YXR0cgogNDcwCWNvbW1vbglsaXN0bnMJCQkJc3lzX2xpc3RucwogNDcxCWNv bW1vbglyc2VxX3NsaWNlX3lpZWxkCQlzeXNfcnNlcV9zbGljZV95aWVsZAorNDcyCWNvbW1v bglnZXR1aWRfcgkJc3lzX2dldHVpZF9yCis0NzMJY29tbW9uCWdldGV1aWRfcgkJc3lzX2dl dGV1aWRfcgorNDc0CWNvbW1vbglnZXRnaWRfcgkJc3lzX2dldGdpZF9yCis0NzUJY29tbW9u CWdldGVnaWRfcgkJc3lzX2dldGVnaWRfcgorNDc2CWNvbW1vbglzZXR1aWRfcgkJc3lzX3Nl dHVpZF9yCis0NzcJY29tbW9uCXNldGdpZF9yCQlzeXNfc2V0Z2lkX3IKKzQ3OAljb21tb24J c2V0cmV1aWRfcgkJc3lzX3NldHJldWlkX3IKKzQ3OQljb21tb24Jc2V0cmVnaWRfcgkJc3lz X3NldHJlZ2lkX3IKKzQ4MAljb21tb24Jc2V0cmVzdWlkX3IJCXN5c19zZXRyZXN1aWRfcgor NDgxCWNvbW1vbglnZXRyZXN1aWRfcgkJc3lzX2dldHJlc3VpZF9yCis0ODIJY29tbW9uCXNl dHJlc2dpZF9yCQlzeXNfc2V0cmVzZ2lkX3IKKzQ4Mwljb21tb24JZ2V0cmVzZ2lkX3IJCXN5 c19nZXRyZXNnaWRfcgorNDg0CWNvbW1vbglzZXRmc3VpZF9yCQlzeXNfc2V0ZnN1aWRfcgor NDg1CWNvbW1vbglzZXRmc2dpZF9yCQlzeXNfc2V0ZnNnaWRfcgorNDg2CWNvbW1vbglnZXRn cm91cHNfcgkJc3lzX2dldGdyb3Vwc19yCis0ODcJY29tbW9uCXNldGdyb3Vwc19yCQlzeXNf c2V0Z3JvdXBzX3IKKzQ4OAljb21tb24JY2hvd25fcgkJc3lzX2Nob3duX3IKKzQ4OQljb21t b24JbGNob3duX3IJCXN5c19sY2hvd25fcgorNDkwCWNvbW1vbglmY2hvd25fcgkJc3lzX2Zj aG93bl9yCis0OTEJY29tbW9uCWZjaG93bmF0X3IJCXN5c19mY2hvd25hdF9yCmRpZmYgLS1n aXQgYS9pbmNsdWRlL3VhcGkvYXNtLWdlbmVyaWMvdW5pc3RkLmggYi9pbmNsdWRlL3VhcGkv YXNtLWdlbmVyaWMvdW5pc3RkLmgKaW5kZXggYTYyN2FjYzhmLi44ZjhiODhlMzUgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvdWFwaS9hc20tZ2VuZXJpYy91bmlzdGQuaAorKysgYi9pbmNsdWRl L3VhcGkvYXNtLWdlbmVyaWMvdW5pc3RkLmgKQEAgLTg2Miw5ICs4NjIsNDkgQEAgX19TWVND QUxMKF9fTlJfbGlzdG5zLCBzeXNfbGlzdG5zKQogCiAjZGVmaW5lIF9fTlJfcnNlcV9zbGlj ZV95aWVsZCA0NzEKIF9fU1lTQ0FMTChfX05SX3JzZXFfc2xpY2VfeWllbGQsIHN5c19yc2Vx X3NsaWNlX3lpZWxkKQorI2RlZmluZSBfX05SX2dldHVpZF9yIDQ3MgorX19TWVNDQUxMKF9f TlJfZ2V0dWlkX3IsIHN5c19nZXR1aWRfcikKKyNkZWZpbmUgX19OUl9nZXRldWlkX3IgNDcz CitfX1NZU0NBTEwoX19OUl9nZXRldWlkX3IsIHN5c19nZXRldWlkX3IpCisjZGVmaW5lIF9f TlJfZ2V0Z2lkX3IgNDc0CitfX1NZU0NBTEwoX19OUl9nZXRnaWRfciwgc3lzX2dldGdpZF9y KQorI2RlZmluZSBfX05SX2dldGVnaWRfciA0NzUKK19fU1lTQ0FMTChfX05SX2dldGVnaWRf ciwgc3lzX2dldGVnaWRfcikKKyNkZWZpbmUgX19OUl9zZXR1aWRfciA0NzYKK19fU1lTQ0FM TChfX05SX3NldHVpZF9yLCBzeXNfc2V0dWlkX3IpCisjZGVmaW5lIF9fTlJfc2V0Z2lkX3Ig NDc3CitfX1NZU0NBTEwoX19OUl9zZXRnaWRfciwgc3lzX3NldGdpZF9yKQorI2RlZmluZSBf X05SX3NldHJldWlkX3IgNDc4CitfX1NZU0NBTEwoX19OUl9zZXRyZXVpZF9yLCBzeXNfc2V0 cmV1aWRfcikKKyNkZWZpbmUgX19OUl9zZXRyZWdpZF9yIDQ3OQorX19TWVNDQUxMKF9fTlJf c2V0cmVnaWRfciwgc3lzX3NldHJlZ2lkX3IpCisjZGVmaW5lIF9fTlJfc2V0cmVzdWlkX3Ig NDgwCitfX1NZU0NBTEwoX19OUl9zZXRyZXN1aWRfciwgc3lzX3NldHJlc3VpZF9yKQorI2Rl ZmluZSBfX05SX2dldHJlc3VpZF9yIDQ4MQorX19TWVNDQUxMKF9fTlJfZ2V0cmVzdWlkX3Is IHN5c19nZXRyZXN1aWRfcikKKyNkZWZpbmUgX19OUl9zZXRyZXNnaWRfciA0ODIKK19fU1lT Q0FMTChfX05SX3NldHJlc2dpZF9yLCBzeXNfc2V0cmVzZ2lkX3IpCisjZGVmaW5lIF9fTlJf Z2V0cmVzZ2lkX3IgNDgzCitfX1NZU0NBTEwoX19OUl9nZXRyZXNnaWRfciwgc3lzX2dldHJl c2dpZF9yKQorI2RlZmluZSBfX05SX3NldGZzdWlkX3IgNDg0CitfX1NZU0NBTEwoX19OUl9z ZXRmc3VpZF9yLCBzeXNfc2V0ZnN1aWRfcikKKyNkZWZpbmUgX19OUl9zZXRmc2dpZF9yIDQ4 NQorX19TWVNDQUxMKF9fTlJfc2V0ZnNnaWRfciwgc3lzX3NldGZzZ2lkX3IpCisjZGVmaW5l IF9fTlJfZ2V0Z3JvdXBzX3IgNDg2CitfX1NZU0NBTEwoX19OUl9nZXRncm91cHNfciwgc3lz X2dldGdyb3Vwc19yKQorI2RlZmluZSBfX05SX3NldGdyb3Vwc19yIDQ4NworX19TWVNDQUxM KF9fTlJfc2V0Z3JvdXBzX3IsIHN5c19zZXRncm91cHNfcikKKyNkZWZpbmUgX19OUl9jaG93 bl9yIDQ4OAorX19TWVNDQUxMKF9fTlJfY2hvd25fciwgc3lzX2Nob3duX3IpCisjZGVmaW5l IF9fTlJfbGNob3duX3IgNDg5CitfX1NZU0NBTEwoX19OUl9sY2hvd25fciwgc3lzX2xjaG93 bl9yKQorI2RlZmluZSBfX05SX2ZjaG93bl9yIDQ5MAorX19TWVNDQUxMKF9fTlJfZmNob3du X3IsIHN5c19mY2hvd25fcikKKyNkZWZpbmUgX19OUl9mY2hvd25hdF9yIDQ5MQorX19TWVND QUxMKF9fTlJfZmNob3duYXRfciwgc3lzX2ZjaG93bmF0X3IpCiAKICN1bmRlZiBfX05SX3N5 c2NhbGxzCi0jZGVmaW5lIF9fTlJfc3lzY2FsbHMgNDcyCisjZGVmaW5lIF9fTlJfc3lzY2Fs bHMgNDkyCiAKIC8qCiAgKiAzMiBiaXQgc3lzdGVtcyB0cmFkaXRpb25hbGx5IHVzZWQgZGlm ZmVyZW50CmRpZmYgLS1naXQgYS9zY3JpcHRzL3N5c2NhbGwudGJsIGIvc2NyaXB0cy9zeXNj YWxsLnRibAppbmRleCA3YTQyYjMyYjYuLjYyZDg1NDNjMSAxMDA2NDQKLS0tIGEvc2NyaXB0 cy9zeXNjYWxsLnRibAorKysgYi9zY3JpcHRzL3N5c2NhbGwudGJsCkBAIC00MTIsMyArNDEy LDIzIEBACiA0NjkJY29tbW9uCWZpbGVfc2V0YXR0cgkJCXN5c19maWxlX3NldGF0dHIKIDQ3 MAljb21tb24JbGlzdG5zCQkJCXN5c19saXN0bnMKIDQ3MQljb21tb24JcnNlcV9zbGljZV95 aWVsZAkJc3lzX3JzZXFfc2xpY2VfeWllbGQKKzQ3Mgljb21tb24JZ2V0dWlkX3IJCXN5c19n ZXR1aWRfcgorNDczCWNvbW1vbglnZXRldWlkX3IJCXN5c19nZXRldWlkX3IKKzQ3NAljb21t b24JZ2V0Z2lkX3IJCXN5c19nZXRnaWRfcgorNDc1CWNvbW1vbglnZXRlZ2lkX3IJCXN5c19n ZXRlZ2lkX3IKKzQ3Ngljb21tb24Jc2V0dWlkX3IJCXN5c19zZXR1aWRfcgorNDc3CWNvbW1v bglzZXRnaWRfcgkJc3lzX3NldGdpZF9yCis0NzgJY29tbW9uCXNldHJldWlkX3IJCXN5c19z ZXRyZXVpZF9yCis0NzkJY29tbW9uCXNldHJlZ2lkX3IJCXN5c19zZXRyZWdpZF9yCis0ODAJ Y29tbW9uCXNldHJlc3VpZF9yCQlzeXNfc2V0cmVzdWlkX3IKKzQ4MQljb21tb24JZ2V0cmVz dWlkX3IJCXN5c19nZXRyZXN1aWRfcgorNDgyCWNvbW1vbglzZXRyZXNnaWRfcgkJc3lzX3Nl dHJlc2dpZF9yCis0ODMJY29tbW9uCWdldHJlc2dpZF9yCQlzeXNfZ2V0cmVzZ2lkX3IKKzQ4 NAljb21tb24Jc2V0ZnN1aWRfcgkJc3lzX3NldGZzdWlkX3IKKzQ4NQljb21tb24Jc2V0ZnNn aWRfcgkJc3lzX3NldGZzZ2lkX3IKKzQ4Ngljb21tb24JZ2V0Z3JvdXBzX3IJCXN5c19nZXRn cm91cHNfcgorNDg3CWNvbW1vbglzZXRncm91cHNfcgkJc3lzX3NldGdyb3Vwc19yCis0ODgJ Y29tbW9uCWNob3duX3IJCXN5c19jaG93bl9yCis0ODkJY29tbW9uCWxjaG93bl9yCQlzeXNf bGNob3duX3IKKzQ5MAljb21tb24JZmNob3duX3IJCXN5c19mY2hvd25fcgorNDkxCWNvbW1v bglmY2hvd25hdF9yCQlzeXNfZmNob3duYXRfcgo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0023-statx-report-UUID-and-GUID-owners.patch" Content-Disposition: attachment; filename="uid_r-0023-statx-report-UUID-and-GUID-owners.patch" Content-Transfer-Encoding: base64 RnJvbSA0ZTQ1MjNkNjcxYzZlYTZlYWZlN2I0ZGQzMWUwZjlmZjQ2OGIzMzgxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA2OjAxOjUyICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyMy80M10gc3RhdHg6IHJlcG9ydCBVVUlEIGFuZCBHVUlEIG93bmVycwoKQWRkIHN0 eF91aWRfciBhbmQgc3R4X2dpZF9yLCB0aGUgb3duZXIgYW5kIGdyb3VwIGFzIF9fa2VybmVs X3VpZF9yX3QsCnRha2luZyA0MCBvZiB0aGUgNjQgc3BhcmUgYnl0ZXMgYXQgdGhlIGVuZCBv ZiBzdHJ1Y3Qgc3RhdHgsIGFuZApTVEFUWF9VSURfUiBhbmQgU1RBVFhfR0lEX1IgZm9yIHRo ZW0uIEV2ZXJ5IGZpbGVzeXN0ZW0gcHJvdmlkZXMgdGhlbSwKZnJvbSB0aGUga3N0YXQgdGhl IFZGUyBoYXMgYW55d2F5LiBzdHhfdWlkIGFuZCBzdHhfZ2lkIGtlZXAgc2hvd2luZyBhClVV SUQgb3IgR1VJRCBhcyB0aGUgb3ZlcmZsb3cgaWQuCgpzdHJ1Y3Qgc3RhdHggaXMgZGVzaWdu ZWQgdG8gYmUgZXh0ZW5kZWQgdGhpcyB3YXksIHNvIHRoZXJlIGlzIG5vIG5ldwpzeXN0ZW0g Y2FsbDogc3RhdHgoKSB3aXRoIHRoZSBuZXcgbWFzayBiaXRzIGlzIHRoZSAqX3IgdmFyaWFu dC4KCkFzc2lzdGVkLWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogZnMvc3RhdC5j ICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysrKysrLQogaW5jbHVk ZS91YXBpL2xpbnV4L3N0YXQuaCB8IDEwICsrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwg MzIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mcy9zdGF0 LmMgYi9mcy9zdGF0LmMKaW5kZXggYzQ2MWMzMDU0Li45OTNjYTQ5MDcgMTAwNjQ0Ci0tLSBh L2ZzL3N0YXQuYworKysgYi9mcy9zdGF0LmMKQEAgLTE4NSw3ICsxODUsNyBAQCBpbnQgdmZz X2dldGF0dHJfbm9zZWMoY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsIHN0cnVjdCBrc3RhdCAq c3RhdCwKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZF9iYWNraW5nX2lub2RlKHBhdGgtPmRl bnRyeSk7CiAKIAltZW1zZXQoc3RhdCwgMCwgc2l6ZW9mKCpzdGF0KSk7Ci0Jc3RhdC0+cmVz dWx0X21hc2sgfD0gU1RBVFhfQkFTSUNfU1RBVFM7CisJc3RhdC0+cmVzdWx0X21hc2sgfD0g U1RBVFhfQkFTSUNfU1RBVFMgfCBTVEFUWF9VSURfUiB8IFNUQVRYX0dJRF9SOwogCXF1ZXJ5 X2ZsYWdzICY9IEFUX1NUQVRYX1NZTkNfVFlQRTsKIAogCS8qIGFsbG93IHRoZSBmcyB0byBv dmVycmlkZSB0aGVzZSBpZiBpdCByZWFsbHkgd2FudHMgdG8gKi8KQEAgLTIwNiw2ICsyMDYs MTcgQEAgaW50IHZmc19nZXRhdHRyX25vc2VjKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBz dHJ1Y3Qga3N0YXQgKnN0YXQsCiAJc3RhdC0+YXR0cmlidXRlc19tYXNrIHw9IChTVEFUWF9B VFRSX0FVVE9NT1VOVCB8CiAJCQkJICBTVEFUWF9BVFRSX0RBWCk7CiAKKwkvKgorCSAqIFNU QVRYX1VJRF9SIGFuZCBTVEFUWF9HSURfUiBhcmUgYW5vdGhlciB2aWV3IG9mIHRoZSBvd25l cjogYXNrIHRoZQorCSAqIGZpbGVzeXN0ZW0gZm9yIFNUQVRYX1VJRCBhbmQgU1RBVFhfR0lE LCBhbmQgcmVwb3J0IHRoZW0gd2hlbmV2ZXIKKwkgKiB0aG9zZSBhcmUgdmFsaWQsIGFsc28g ZnJvbSBhIC0+Z2V0YXR0cigpIHRoYXQgc2V0cyByZXN1bHRfbWFzayBvbgorCSAqIGl0cyBv d24uCisJICovCisJaWYgKHJlcXVlc3RfbWFzayAmIFNUQVRYX1VJRF9SKQorCQlyZXF1ZXN0 X21hc2sgfD0gU1RBVFhfVUlEOworCWlmIChyZXF1ZXN0X21hc2sgJiBTVEFUWF9HSURfUikK KwkJcmVxdWVzdF9tYXNrIHw9IFNUQVRYX0dJRDsKKwogCWlkbWFwID0gbW50X2lkbWFwKHBh dGgtPm1udCk7CiAJaWYgKGlub2RlLT5pX29wLT5nZXRhdHRyKSB7CiAJCWludCByZXQ7CkBA IC0yMTgsNiArMjI5LDE1IEBAIGludCB2ZnNfZ2V0YXR0cl9ub3NlYyhjb25zdCBzdHJ1Y3Qg cGF0aCAqcGF0aCwgc3RydWN0IGtzdGF0ICpzdGF0LAogCQlnZW5lcmljX2ZpbGxhdHRyKGlk bWFwLCByZXF1ZXN0X21hc2ssIGlub2RlLCBzdGF0KTsKIAl9CiAKKwlpZiAoc3RhdC0+cmVz dWx0X21hc2sgJiBTVEFUWF9VSUQpCisJCXN0YXQtPnJlc3VsdF9tYXNrIHw9IFNUQVRYX1VJ RF9SOworCWVsc2UKKwkJc3RhdC0+cmVzdWx0X21hc2sgJj0gflNUQVRYX1VJRF9SOworCWlm IChzdGF0LT5yZXN1bHRfbWFzayAmIFNUQVRYX0dJRCkKKwkJc3RhdC0+cmVzdWx0X21hc2sg fD0gU1RBVFhfR0lEX1I7CisJZWxzZQorCQlzdGF0LT5yZXN1bHRfbWFzayAmPSB+U1RBVFhf R0lEX1I7CisKIAkvKgogCSAqIElmIHRoaXMgaXMgYSBibG9jayBkZXZpY2UgaW5vZGUsIG92 ZXJyaWRlIHRoZSBmaWxlc3lzdGVtIGF0dHJpYnV0ZXMKIAkgKiB3aXRoIHRoZSBibG9jayBk ZXZpY2Ugc3BlY2lmaWMgcGFyYW1ldGVycyB0aGF0IG5lZWQgdG8gYmUgb2J0YWluZWQKQEAg LTcxMSw2ICs3MzEsOCBAQCBjcF9zdGF0eChjb25zdCBzdHJ1Y3Qga3N0YXQgKnN0YXQsIHN0 cnVjdCBzdGF0eCBfX3VzZXIgKmJ1ZmZlcikKIAl0bXAuc3R4X25saW5rID0gc3RhdC0+bmxp bms7CiAJdG1wLnN0eF91aWQgPSBmcm9tX2t1aWRfbXVuZ2VkKGN1cnJlbnRfdXNlcl9ucygp LCBzdGF0LT51aWQpOwogCXRtcC5zdHhfZ2lkID0gZnJvbV9rZ2lkX211bmdlZChjdXJyZW50 X3VzZXJfbnMoKSwgc3RhdC0+Z2lkKTsKKwlmcm9tX2t1aWRfcl9tdW5nZWQoY3VycmVudF91 c2VyX25zKCksIHN0YXQtPnVpZCwgJnRtcC5zdHhfdWlkX3IpOworCWZyb21fa2dpZF9yX211 bmdlZChjdXJyZW50X3VzZXJfbnMoKSwgc3RhdC0+Z2lkLCAmdG1wLnN0eF9naWRfcik7CiAJ dG1wLnN0eF9tb2RlID0gc3RhdC0+bW9kZTsKIAl0bXAuc3R4X2lubyA9IHN0YXQtPmlubzsK IAl0bXAuc3R4X3NpemUgPSBzdGF0LT5zaXplOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBp L2xpbnV4L3N0YXQuaCBiL2luY2x1ZGUvdWFwaS9saW51eC9zdGF0LmgKaW5kZXggMTY4Njg2 MWFhLi42ODk3NTdkOGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9zdGF0LmgK KysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3N0YXQuaApAQCAtMyw2ICszLDcgQEAKICNkZWZp bmUgX1VBUElfTElOVVhfU1RBVF9ICiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2lu Y2x1ZGUgPGxpbnV4L3VpZGdpZF9yLmg+CiAKICNpZiBkZWZpbmVkKF9fS0VSTkVMX18pIHx8 ICFkZWZpbmVkKF9fR0xJQkNfXykgfHwgKF9fR0xJQkNfXyA8IDIpCiAKQEAgLTE4Nyw3ICsx ODgsMTIgQEAgc3RydWN0IHN0YXR4IHsKIAlfX3UzMglfX3NwYXJlMlsxXTsKIAogCS8qIDB4 YzAgKi8KLQlfX3U2NAlfX3NwYXJlM1s4XTsJLyogU3BhcmUgc3BhY2UgZm9yIGZ1dHVyZSBl eHBhbnNpb24gKi8KKwkvKiBPd25lciBhbmQgZ3JvdXAsIGFsc28gVVVJRHMgYW5kIEdVSURz IFtTVEFUWF9VSURfUiwgU1RBVFhfR0lEX1JdICovCisJX19rZXJuZWxfdWlkX3JfdAlzdHhf dWlkX3I7CisJX19rZXJuZWxfZ2lkX3JfdAlzdHhfZ2lkX3I7CisKKwkvKiAweGU4ICovCisJ X191NjQJX19zcGFyZTNbM107CS8qIFNwYXJlIHNwYWNlIGZvciBmdXR1cmUgZXhwYW5zaW9u ICovCiAKIAkvKiAweDEwMCAqLwogfTsKQEAgLTIxOSw2ICsyMjUsOCBAQCBzdHJ1Y3Qgc3Rh dHggewogI2RlZmluZSBTVEFUWF9TVUJWT0wJCTB4MDAwMDgwMDBVCS8qIFdhbnQvZ290IHN0 eF9zdWJ2b2wgKi8KICNkZWZpbmUgU1RBVFhfV1JJVEVfQVRPTUlDCTB4MDAwMTAwMDBVCS8q IFdhbnQvZ290IGF0b21pY193cml0ZV8qIGZpZWxkcyAqLwogI2RlZmluZSBTVEFUWF9ESU9f UkVBRF9BTElHTgkweDAwMDIwMDAwVQkvKiBXYW50L2dvdCBkaW8gcmVhZCBhbGlnbm1lbnQg aW5mbyAqLworI2RlZmluZSBTVEFUWF9VSURfUgkJMHgwMDA0MDAwMFUJLyogV2FudC9nb3Qg c3R4X3VpZF9yICovCisjZGVmaW5lIFNUQVRYX0dJRF9SCQkweDAwMDgwMDAwVQkvKiBXYW50 L2dvdCBzdHhfZ2lkX3IgKi8KIAogI2RlZmluZSBTVEFUWF9fUkVTRVJWRUQJCTB4ODAwMDAw MDBVCS8qIFJlc2VydmVkIGZvciBmdXR1cmUgc3RydWN0IHN0YXR4IGV4cGFuc2lvbiAqLwog Cg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0024-shmem-ramfs-allow-UUID-and-GUID-owners.patch" Content-Disposition: attachment; filename="uid_r-0024-shmem-ramfs-allow-UUID-and-GUID-owners.patch" Content-Transfer-Encoding: base64 RnJvbSAyOTEwOWQyMjIzZTlmN2QyMTJmMDUyMzQ0MmJkMTg3YTczMGI5YmM0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA2OjAxOjUyICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyNC80M10gc2htZW0sIHJhbWZzOiBhbGxvdyBVVUlEIGFuZCBHVUlEIG93bmVycwoK Qm90aCBrZWVwIGlub2RlIG93bmVycyBpbiBtZW1vcnkgb25seSwgc28gdGhleSBjYW4gaG9s ZCBhbnkga3VpZF90LgpTZXQgU0JfSV9VSURfUi4gUXVvdGFzIG9mIHRtcGZzIGRvbid0IGFj Y291bnQgc3VjaCBvd25lcnMuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUt NQotLS0KIGZzL3JhbWZzL2lub2RlLmMgfCAxICsKIG1tL3NobWVtLmMgICAgICAgfCAyICsr CiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2ZzL3Jh bWZzL2lub2RlLmMgYi9mcy9yYW1mcy9pbm9kZS5jCmluZGV4IDM5ODc2MzllZC4uNjA0MzQ5 ZGJkIDEwMDY0NAotLS0gYS9mcy9yYW1mcy9pbm9kZS5jCisrKyBiL2ZzL3JhbWZzL2lub2Rl LmMKQEAgLTI2OSw2ICsyNjksNyBAQCBzdGF0aWMgaW50IHJhbWZzX2ZpbGxfc3VwZXIoc3Ry dWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGZzX2NvbnRleHQgKmZjKQogCXNiLT5zX29w CQk9ICZyYW1mc19vcHM7CiAJc2ItPnNfZF9mbGFncwkJPSBEQ0FDSEVfRE9OVENBQ0hFOwog CXNiLT5zX3RpbWVfZ3JhbgkJPSAxOworCXNiLT5zX2lmbGFncwkJfD0gU0JfSV9VSURfUjsK IAogCWlub2RlID0gcmFtZnNfZ2V0X2lub2RlKHNiLCBOVUxMLCBTX0lGRElSIHwgZnNpLT5t b3VudF9vcHRzLm1vZGUsIDApOwogCXNiLT5zX3Jvb3QgPSBkX21ha2Vfcm9vdChpbm9kZSk7 CmRpZmYgLS1naXQgYS9tbS9zaG1lbS5jIGIvbW0vc2htZW0uYwppbmRleCBjZmI1NDY3ODUu LmY2YzYwZDdkMyAxMDA2NDQKLS0tIGEvbW0vc2htZW0uYworKysgYi9tbS9zaG1lbS5jCkBA IC00OTYzLDYgKzQ5NjMsOCBAQCBzdGF0aWMgaW50IHNobWVtX2ZpbGxfc3VwZXIoc3RydWN0 IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGZzX2NvbnRleHQgKmZjKQogCX0KIAlzYi0+c19l eHBvcnRfb3AgPSAmc2htZW1fZXhwb3J0X29wczsKIAlzYi0+c19mbGFncyB8PSBTQl9OT1NF QzsKKwkvKiBvd25lcnMgbGl2ZSBpbiB0aGUgaW5vZGUgb25seTogVVVJRHMgYW5kIEdVSURz IG5lZWQgbm8gZm9ybWF0ICovCisJc2ItPnNfaWZsYWdzIHw9IFNCX0lfVUlEX1I7CiAKICNp ZiBJU19FTkFCTEVEKENPTkZJR19VTklDT0RFKQogCWlmICghY3R4LT5lbmNvZGluZyAmJiBj dHgtPnN0cmljdF9lbmNvZGluZykgewo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0025-uidgid-parse-and-print-ids-in-their-text-form.patch" Content-Disposition: attachment; filename*0="uid_r-0025-uidgid-parse-and-print-ids-in-their-text-form.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSA5ZTQ2ZDBjNDMzNjI0YWMzYWE0NzRhMmY0YjllMTJkYmUxODZhYWZhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA2OjE0OjQwICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyNS80M10gdWlkZ2lkOiBwYXJzZSBhbmQgcHJpbnQgaWRzIGluIHRoZWlyIHRleHQg Zm9ybQoKQWRkIGhlbHBlcnMgZm9yIGludGVyZmFjZXMgdGhhdCBwYXNzIGlkcyBhcyB0ZXh0 OgoKLSBtYWtlX2t1aWRfc3RyKCkvbWFrZV9rZ2lkX3N0cigpIHBhcnNlIHdoYXQga3VpZF9z dHIoKSB3cml0ZXM6IGEKICBkZWNpbWFsIG51bWJlciwgYSBVVUlELCBvciBhIEdVSUQgaW4g YnJhY2VzLAotIGt1aWRfc3RyX211bmdlZCgpL2tnaWRfc3RyX211bmdlZCgpIHdyaXRlIGFu IGlkIGFzIHNlZW4gZnJvbSBhIHVzZXIKICBuYW1lc3BhY2UsIHRoZSBvdmVyZmxvdyBpZCBp ZiBpdCBoYXMgbm8gbWFwcGluZyB0aGVyZSwKLSBrdWlkX3N0cl9zaWduZWQoKS9rZ2lkX3N0 cl9zaWduZWQoKSB3cml0ZSBhIGxlZ2FjeSBpZCBhcyBhIHNpZ25lZAogIG51bWJlciwgZm9y IG91dHB1dCB0aGF0IHVzZWQgIiVkIiwKLSBLVUlEX1NUUigpIGFuZCBmcmllbmRzIHdyYXAg dGhlbSBhcyBleHByZXNzaW9ucyB3aXRoIGEgYnVmZmVyIG9mIHRoZQogIGVuY2xvc2luZyBi bG9jaywgc28gdGhhdCBwcmludGYtbGlrZSBjYWxscyBjYW4gcmVwbGFjZQogICIldSIsIGZy b21fa3VpZCgmaW5pdF91c2VyX25zLCB1aWQpIGJ5ICIlcyIsIEtVSURfU1RSKHVpZCkgYW5k IHByaW50CiAgbGVnYWN5IGlkcyBleGFjdGx5IGFzIGJlZm9yZS4KCkFzc2lzdGVkLWJ5OiBD bGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogaW5jbHVkZS9saW51eC91aWRnaWQuaCB8ICAx OSArKysrKysKIGtlcm5lbC91aWRnaWRfci5jICAgICAgfCAxNTIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTY3IGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC91 aWRnaWQuaCBiL2luY2x1ZGUvbGludXgvdWlkZ2lkLmgKaW5kZXggYWM3Nzg2Zjc2Li4wM2Vj ZThhNGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvdWlkZ2lkLmgKKysrIGIvaW5jbHVk ZS9saW51eC91aWRnaWQuaApAQCAtMTkwLDYgKzE5MCwyNSBAQCBzdGF0aWMgaW5saW5lIHUz MiBrZ2lkX2hhc2goa2dpZF90IGdpZCkKIAogY2hhciAqa3VpZF9zdHIoa3VpZF90IHVpZCwg Y2hhciBidWZbS0lEX1NUUl9MRU5dKTsKIGNoYXIgKmtnaWRfc3RyKGtnaWRfdCBnaWQsIGNo YXIgYnVmW0tJRF9TVFJfTEVOXSk7CitjaGFyICprdWlkX3N0cl9zaWduZWQoa3VpZF90IHVp ZCwgY2hhciBidWZbS0lEX1NUUl9MRU5dKTsKK2NoYXIgKmtnaWRfc3RyX3NpZ25lZChrZ2lk X3QgZ2lkLCBjaGFyIGJ1ZltLSURfU1RSX0xFTl0pOworCisvKgorICogVGhlIHRleHQgZm9y bSBvZiBhbiBpZCBhcyBhbiBleHByZXNzaW9uLCBpbiBhIGJ1ZmZlciB0aGF0IGxpdmVzIHVu dGlsCisgKiB0aGUgZW5kIG9mIHRoZSBlbmNsb3NpbmcgYmxvY2sgLS0gZm9yICIlcyIgaW4g cGxhY2Ugb2YgIiV1IiAob3IgIiVkIiwKKyAqIHdpdGggdGhlIF9EIHZhcmlhbnRzLCB3aGlj aCB3cml0ZSBhIGxlZ2FjeSBpZCBhcyBhIHNpZ25lZCBudW1iZXIpIG9mCisgKiBmcm9tX2t1 aWQoJmluaXRfdXNlcl9ucywgdWlkKSBpbiBwcmludGYtbGlrZSBjYWxscy4KKyAqLworI2Rl ZmluZSBLVUlEX1NUUih1aWQpCWt1aWRfc3RyKHVpZCwgKGNoYXIgW0tJRF9TVFJfTEVOXSkg e30pCisjZGVmaW5lIEtHSURfU1RSKGdpZCkJa2dpZF9zdHIoZ2lkLCAoY2hhciBbS0lEX1NU Ul9MRU5dKSB7fSkKKyNkZWZpbmUgS1VJRF9TVFJfRCh1aWQpCWt1aWRfc3RyX3NpZ25lZCh1 aWQsIChjaGFyIFtLSURfU1RSX0xFTl0pIHt9KQorI2RlZmluZSBLR0lEX1NUUl9EKGdpZCkJ a2dpZF9zdHJfc2lnbmVkKGdpZCwgKGNoYXIgW0tJRF9TVFJfTEVOXSkge30pCitjaGFyICpr dWlkX3N0cl9tdW5nZWQoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp0bywga3VpZF90IHVpZCwK KwkJICAgICAgY2hhciBidWZbS0lEX1NUUl9MRU5dKTsKK2NoYXIgKmtnaWRfc3RyX211bmdl ZChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnRvLCBrZ2lkX3QgZ2lkLAorCQkgICAgICBjaGFy IGJ1ZltLSURfU1RSX0xFTl0pOwora3VpZF90IG1ha2Vfa3VpZF9zdHIoc3RydWN0IHVzZXJf bmFtZXNwYWNlICpmcm9tLCBjb25zdCBjaGFyICpzdHIpOwora2dpZF90IG1ha2Vfa2dpZF9z dHIoc3RydWN0IHVzZXJfbmFtZXNwYWNlICpmcm9tLCBjb25zdCBjaGFyICpzdHIpOwogCiAj aWZkZWYgQ09ORklHX1VTRVJfTlMKIApkaWZmIC0tZ2l0IGEva2VybmVsL3VpZGdpZF9yLmMg Yi9rZXJuZWwvdWlkZ2lkX3IuYwppbmRleCBkNzFhZWNkZGIuLjliYmE2MGY0MSAxMDA2NDQK LS0tIGEva2VybmVsL3VpZGdpZF9yLmMKKysrIGIva2VybmVsL3VpZGdpZF9yLmMKQEAgLTEy LDYgKzEyLDcgQEAKICNpbmNsdWRlIDxsaW51eC91aWRnaWQuaD4KICNpbmNsdWRlIDxsaW51 eC91aWRnaWRfci5oPgogI2luY2x1ZGUgPGxpbnV4L3VzZXJfbmFtZXNwYWNlLmg+CisjaW5j bHVkZSA8bGludXgvdXVpZC5oPgogCiAvKgogICogV2hldGhlciBAaWQgaXMgd2VsbCBmb3Jt ZWQ6IGEga25vd24gdHlwZSwgcmVzZXJ2ZWQgYnl0ZXMgemVybywgYSBVVUlEIG9mCkBAIC0y NzgsMTEgKzI3OSwxMiBAQCBpbnQgcHV0X2tnaWRfcihzdHJ1Y3QgdXNlcl9uYW1lc3BhY2Ug KnRvLCBrZ2lkX3Qga2dpZCwKIH0KIEVYUE9SVF9TWU1CT0wocHV0X2tnaWRfcik7CiAKLXN0 YXRpYyBjaGFyICpraWRfc3RyKHUzMiB0eXBlLCB1MzIgbGVnYWN5LCBjb25zdCB1dWlkX3Qg KmIsIGNoYXIgKmJ1ZikKK3N0YXRpYyBjaGFyICpraWRfc3RyKHUzMiB0eXBlLCB1MzIgbGVn YWN5LCBjb25zdCB1dWlkX3QgKmIsIGNoYXIgKmJ1ZiwKKwkJICAgICBib29sIHNnbikKIHsK IAlzd2l0Y2ggKHR5cGUpIHsKIAljYXNlIEtJRF9MRUdBQ1k6Ci0JCXNucHJpbnRmKGJ1Ziwg S0lEX1NUUl9MRU4sICIldSIsIGxlZ2FjeSk7CisJCXNucHJpbnRmKGJ1ZiwgS0lEX1NUUl9M RU4sIHNnbiA/ICIlZCIgOiAiJXUiLCBsZWdhY3kpOwogCQlicmVhazsKIAljYXNlIEtJRF9V VUlEOgogCQlzbnByaW50ZihidWYsIEtJRF9TVFJfTEVOLCAiJXBVYiIsIGIpOwpAQCAtMzA0 LDcgKzMwNiw3IEBAIHN0YXRpYyBjaGFyICpraWRfc3RyKHUzMiB0eXBlLCB1MzIgbGVnYWN5 LCBjb25zdCB1dWlkX3QgKmIsIGNoYXIgKmJ1ZikKICAqLwogY2hhciAqa3VpZF9zdHIoa3Vp ZF90IHVpZCwgY2hhciBidWZbS0lEX1NUUl9MRU5dKQogewotCXJldHVybiBraWRfc3RyKHVp ZC50eXBlLCBfX2t1aWRfdmFsKHVpZCksICZ1aWQudXVpZCwgYnVmKTsKKwlyZXR1cm4ga2lk X3N0cih1aWQudHlwZSwgX19rdWlkX3ZhbCh1aWQpLCAmdWlkLnV1aWQsIGJ1ZiwgZmFsc2Up OwogfQogRVhQT1JUX1NZTUJPTChrdWlkX3N0cik7CiAKQEAgLTMxOCw2ICszMjAsMTQ4IEBA IEVYUE9SVF9TWU1CT0woa3VpZF9zdHIpOwogICovCiBjaGFyICprZ2lkX3N0cihrZ2lkX3Qg Z2lkLCBjaGFyIGJ1ZltLSURfU1RSX0xFTl0pCiB7Ci0JcmV0dXJuIGtpZF9zdHIoZ2lkLnR5 cGUsIF9fa2dpZF92YWwoZ2lkKSwgJmdpZC51dWlkLCBidWYpOworCXJldHVybiBraWRfc3Ry KGdpZC50eXBlLCBfX2tnaWRfdmFsKGdpZCksICZnaWQudXVpZCwgYnVmLCBmYWxzZSk7CiB9 CiBFWFBPUlRfU1lNQk9MKGtnaWRfc3RyKTsKKworLyoqCisgKiBrdWlkX3N0cl9zaWduZWQg LSBsaWtlIGt1aWRfc3RyKCksIGJ1dCBhIGxlZ2FjeSB1aWQgYXMgYSBzaWduZWQgbnVtYmVy CisgKiBAdWlkOiB0aGUga3VpZAorICogQGJ1ZjogYnVmZmVyIG9mIEtJRF9TVFJfTEVOIGJ5 dGVzCisgKgorICogRm9yIGNhbGxlcnMgdGhhdCB1c2VkIHRvIHByaW50IGZyb21fa3VpZCgp IHdpdGggIiVkIi4KKyAqCisgKiBSZXR1cm46IEBidWYuCisgKi8KK2NoYXIgKmt1aWRfc3Ry X3NpZ25lZChrdWlkX3QgdWlkLCBjaGFyIGJ1ZltLSURfU1RSX0xFTl0pCit7CisJcmV0dXJu IGtpZF9zdHIodWlkLnR5cGUsIF9fa3VpZF92YWwodWlkKSwgJnVpZC51dWlkLCBidWYsIHRy dWUpOworfQorRVhQT1JUX1NZTUJPTChrdWlkX3N0cl9zaWduZWQpOworCisvKioKKyAqIGtn aWRfc3RyX3NpZ25lZCAtIGxpa2Uga2dpZF9zdHIoKSwgYnV0IGEgbGVnYWN5IGdpZCBhcyBh IHNpZ25lZCBudW1iZXIKKyAqIEBnaWQ6IHRoZSBrZ2lkCisgKiBAYnVmOiBidWZmZXIgb2Yg S0lEX1NUUl9MRU4gYnl0ZXMKKyAqCisgKiBGb3IgY2FsbGVycyB0aGF0IHVzZWQgdG8gcHJp bnQgZnJvbV9rZ2lkKCkgd2l0aCAiJWQiLgorICoKKyAqIFJldHVybjogQGJ1Zi4KKyAqLwor Y2hhciAqa2dpZF9zdHJfc2lnbmVkKGtnaWRfdCBnaWQsIGNoYXIgYnVmW0tJRF9TVFJfTEVO XSkKK3sKKwlyZXR1cm4ga2lkX3N0cihnaWQudHlwZSwgX19rZ2lkX3ZhbChnaWQpLCAmZ2lk LnV1aWQsIGJ1ZiwgdHJ1ZSk7Cit9CitFWFBPUlRfU1lNQk9MKGtnaWRfc3RyX3NpZ25lZCk7 CisKKy8qCisgKiBQYXJzZXMgdGhlIHRleHQgZm9ybXMgb2Yga3VpZF9zdHIoKSAtLSBhIGRl Y2ltYWwgbnVtYmVyLCBhIFVVSUQsIGEgR1VJRAorICogaW4gYnJhY2VzIC0tIHdpdGggYW4g b3B0aW9uYWwgdHJhaWxpbmcgbmV3bGluZS4KKyAqLworc3RhdGljIGludCBraWRfcl9mcm9t X3N0cihjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBfX2tlcm5lbF91aWRfciAqaWQpCit7CisJ Y2hhciBidWZbS0lEX1NUUl9MRU5dOworCXNpemVfdCBsZW4gPSBzdHJsZW4oc3RyKTsKKwor CWlmIChsZW4gJiYgc3RyW2xlbiAtIDFdID09ICdcbicpCisJCWxlbi0tOworCWlmICghbGVu IHx8IGxlbiA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJbWVtY3B5KGJ1 Ziwgc3RyLCBsZW4pOworCWJ1ZltsZW5dID0gJ1wwJzsKKwltZW1zZXQoaWQsIDAsIHNpemVv ZigqaWQpKTsKKworCWlmIChsZW4gPT0gVVVJRF9TVFJJTkdfTEVOKSB7CisJCWlkLT50eXBl ID0gVUlEX1JfVVVJRDsKKwkJcmV0dXJuIHV1aWRfcGFyc2UoYnVmLCAodXVpZF90ICopaWQt PnV1aWQpOworCX0KKwlpZiAobGVuID09IFVVSURfU1RSSU5HX0xFTiArIDIgJiYgYnVmWzBd ID09ICd7JyAmJiBidWZbbGVuIC0gMV0gPT0gJ30nKSB7CisJCWJ1ZltsZW4gLSAxXSA9ICdc MCc7CisJCWlkLT50eXBlID0gVUlEX1JfR1VJRDsKKwkJcmV0dXJuIGd1aWRfcGFyc2UoYnVm ICsgMSwgKGd1aWRfdCAqKWlkLT5ndWlkKTsKKwl9CisJaWQtPnR5cGUgPSBVSURfUl9MRUdB Q1k7CisJcmV0dXJuIGtzdHJ0b3UzMihidWYsIDEwLCAmaWQtPmxlZ2FjeSk7Cit9CisKKy8q KgorICogbWFrZV9rdWlkX3N0ciAtIG1hcCB0aGUgdGV4dCBmb3JtIG9mIGEgdWlkIGludG8g YSBrdWlkCisgKiBAZnJvbTogdXNlciBuYW1lc3BhY2UgdGhlIHVpZCBpcyBpbgorICogQHN0 cjogYSBkZWNpbWFsIG51bWJlciwgYSBVVUlELCBvciBhIEdVSUQgaW4gYnJhY2VzOyBhIHRy YWlsaW5nIG5ld2xpbmUKKyAqICAgICAgIGlzIGFsbG93ZWQKKyAqCisgKiBSZXR1cm46IHRo ZSBrdWlkLCBJTlZBTElEX1VJRCBpZiBAc3RyIGlzIG1hbGZvcm1lZCBvciBoYXMgbm8gbWFw cGluZyBpbgorICogQGZyb20uCisgKi8KK2t1aWRfdCBtYWtlX2t1aWRfc3RyKHN0cnVjdCB1 c2VyX25hbWVzcGFjZSAqZnJvbSwgY29uc3QgY2hhciAqc3RyKQoreworCXN0cnVjdCBfX2tl cm5lbF91aWRfciBpZDsKKworCWlmIChraWRfcl9mcm9tX3N0cihzdHIsICZpZCkpCisJCXJl dHVybiBJTlZBTElEX1VJRDsKKwlyZXR1cm4gbWFrZV9rdWlkX3IoZnJvbSwgJmlkKTsKK30K K0VYUE9SVF9TWU1CT0wobWFrZV9rdWlkX3N0cik7CisKKy8qKgorICogbWFrZV9rZ2lkX3N0 ciAtIG1hcCB0aGUgdGV4dCBmb3JtIG9mIGEgZ2lkIGludG8gYSBrZ2lkCisgKiBAZnJvbTog dXNlciBuYW1lc3BhY2UgdGhlIGdpZCBpcyBpbgorICogQHN0cjogYSBkZWNpbWFsIG51bWJl ciwgYSBVVUlELCBvciBhIEdVSUQgaW4gYnJhY2VzOyBhIHRyYWlsaW5nIG5ld2xpbmUKKyAq ICAgICAgIGlzIGFsbG93ZWQKKyAqCisgKiBSZXR1cm46IHRoZSBrZ2lkLCBJTlZBTElEX0dJ RCBpZiBAc3RyIGlzIG1hbGZvcm1lZCBvciBoYXMgbm8gbWFwcGluZyBpbgorICogQGZyb20u CisgKi8KK2tnaWRfdCBtYWtlX2tnaWRfc3RyKHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqZnJv bSwgY29uc3QgY2hhciAqc3RyKQoreworCXN0cnVjdCBfX2tlcm5lbF91aWRfciBpZDsKKwor CWlmIChraWRfcl9mcm9tX3N0cihzdHIsICZpZCkpCisJCXJldHVybiBJTlZBTElEX0dJRDsK KwlyZXR1cm4gbWFrZV9rZ2lkX3IoZnJvbSwgJmlkKTsKK30KK0VYUE9SVF9TWU1CT0wobWFr ZV9rZ2lkX3N0cik7CisKKy8qKgorICoga3VpZF9zdHJfbXVuZ2VkIC0gdGV4dCBmb3JtIG9m IGEga3VpZCBpbiBhIHVzZXIgbmFtZXNwYWNlCisgKiBAdG86IHVzZXIgbmFtZXNwYWNlIHRo ZSB1aWQgaXMgd2FudGVkIGluCisgKiBAdWlkOiB0aGUga3VpZAorICogQGJ1ZjogYnVmZmVy IG9mIEtJRF9TVFJfTEVOIGJ5dGVzCisgKgorICogUmV0dXJuOiBAYnVmLCBob2xkaW5nIHRo ZSB1aWQgaW4gQHRvIGxpa2Uga3VpZF9zdHIoKSBkb2VzLCBvdmVyZmxvd3VpZCBpZgorICog QHVpZCBoYXMgbm8gbWFwcGluZyB0aGVyZS4KKyAqLworY2hhciAqa3VpZF9zdHJfbXVuZ2Vk KHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqdG8sIGt1aWRfdCB1aWQsCisJCSAgICAgIGNoYXIg YnVmW0tJRF9TVFJfTEVOXSkKK3sKKwlpZiAoIWt1aWRfaGFzX21hcHBpbmcodG8sIHVpZCkp CisJCXNucHJpbnRmKGJ1ZiwgS0lEX1NUUl9MRU4sICIldSIsIG92ZXJmbG93dWlkKTsKKwll bHNlIGlmICh1aWRfaXNfbGVnYWN5KHVpZCkpCisJCXNucHJpbnRmKGJ1ZiwgS0lEX1NUUl9M RU4sICIldSIsIGZyb21fa3VpZCh0bywgdWlkKSk7CisJZWxzZQorCQlrdWlkX3N0cih1aWQs IGJ1Zik7CisJcmV0dXJuIGJ1ZjsKK30KK0VYUE9SVF9TWU1CT0woa3VpZF9zdHJfbXVuZ2Vk KTsKKworLyoqCisgKiBrZ2lkX3N0cl9tdW5nZWQgLSB0ZXh0IGZvcm0gb2YgYSBrZ2lkIGlu IGEgdXNlciBuYW1lc3BhY2UKKyAqIEB0bzogdXNlciBuYW1lc3BhY2UgdGhlIGdpZCBpcyB3 YW50ZWQgaW4KKyAqIEBnaWQ6IHRoZSBrZ2lkCisgKiBAYnVmOiBidWZmZXIgb2YgS0lEX1NU Ul9MRU4gYnl0ZXMKKyAqCisgKiBSZXR1cm46IEBidWYsIGhvbGRpbmcgdGhlIGdpZCBpbiBA dG8gbGlrZSBrZ2lkX3N0cigpIGRvZXMsIG92ZXJmbG93Z2lkIGlmCisgKiBAZ2lkIGhhcyBu byBtYXBwaW5nIHRoZXJlLgorICovCitjaGFyICprZ2lkX3N0cl9tdW5nZWQoc3RydWN0IHVz ZXJfbmFtZXNwYWNlICp0bywga2dpZF90IGdpZCwKKwkJICAgICAgY2hhciBidWZbS0lEX1NU Ul9MRU5dKQoreworCWlmICgha2dpZF9oYXNfbWFwcGluZyh0bywgZ2lkKSkKKwkJc25wcmlu dGYoYnVmLCBLSURfU1RSX0xFTiwgIiV1Iiwgb3ZlcmZsb3dnaWQpOworCWVsc2UgaWYgKGdp ZF9pc19sZWdhY3koZ2lkKSkKKwkJc25wcmludGYoYnVmLCBLSURfU1RSX0xFTiwgIiV1Iiwg ZnJvbV9rZ2lkKHRvLCBnaWQpKTsKKwllbHNlCisJCWtnaWRfc3RyKGdpZCwgYnVmKTsKKwly ZXR1cm4gYnVmOworfQorRVhQT1JUX1NZTUJPTChrZ2lkX3N0cl9tdW5nZWQpOwo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0026-proc-show-UUID-and-GUID-ids-in-status-accept-them-fo.patch" Content-Disposition: attachment; filename*0="uid_r-0026-proc-show-UUID-and-GUID-ids-in-status-accept-them"; filename*1="-fo.patch" Content-Transfer-Encoding: base64 RnJvbSA5NGFjY2QwMDc0MWFlMTEyODcwZTVmYTNjYjIxMzBhYmU3Y2Y4ZGQzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA2OjE0OjQxICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyNi80M10gcHJvYzogc2hvdyBVVUlEIGFuZCBHVUlEIGlkcyBpbiBzdGF0dXMsIGFj Y2VwdCB0aGVtIGZvcgogbG9naW51aWQKCi9wcm9jLzxwaWQ+L3N0YXR1cyBzaG93cyBpZHMg d2l0aG91dCBhIDMyIGJpdCBmb3JtIGFzIHRoZSBvdmVyZmxvdyBpZC4KQWRkIFVpZF9yOiwg R2lkX3I6IGFuZCBHcm91cHNfcjogbGluZXMgd2l0aCB0aGUgc2FtZSBpZHMgYXMgdGV4dAoo a3VpZF9zdHIoKSk6IGEgbnVtYmVyLCBhIFVVSUQsIG9yIGEgR1VJRCBpbiBicmFjZXMsIG11 bmdlZCBhcyB1c3VhbApmb3IgaWRzIHRoZSByZWFkZXIncyB1c2VyIG5hbWVzcGFjZSBjYW4n dCBzZWUuCgovcHJvYy88cGlkPi9sb2dpbnVpZCBhY2NlcHRzIHRoZSB0ZXh0IGZvcm0gb2Yg YSBVVUlEIG9yIEdVSUQsIHNvIGxvZ2luCnNlcnZpY2VzIGNhbiByZWNvcmQgc3VjaCB1c2Vy cywgYW5kIHNob3dzIHN1Y2ggYSBsb2dpbnVpZCBhcyB0ZXh0LgpDbGFzc2ljIGxvZ2ludWlk cyByZWFkIGFuZCB3cml0ZSBhcyBiZWZvcmUsIGluY2x1ZGluZyA0Mjk0OTY3Mjk1IGZvcgoi dW5zZXQiLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBmcy9w cm9jL2FycmF5LmMgfCAxNyArKysrKysrKysrKysrKysrLQogZnMvcHJvYy9iYXNlLmMgIHwg MzggKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZnMvcHJvYy9hcnJheS5jIGIvZnMvcHJvYy9hcnJheS5jCmluZGV4IDQ3OWVhOGNiNC4uZmY2 MWFiMWJjIDEwMDY0NAotLS0gYS9mcy9wcm9jL2FycmF5LmMKKysrIGIvZnMvcHJvYy9hcnJh eS5jCkBAIC0xNTYsNiArMTU2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHRhc2tfc3RhdGUo c3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgcGlkX25hbWVzcGFjZSAqbnMsCiAJY29uc3Qg c3RydWN0IGNyZWQgKmNyZWQ7CiAJcGlkX3QgcHBpZCwgdHBpZCA9IDAsIHRnaWQsIG5naWQ7 CiAJdW5zaWduZWQgaW50IG1heF9mZHMgPSAwOworCWNoYXIgaWRidWZbS0lEX1NUUl9MRU5d OwogCiAJcmN1X3JlYWRfbG9jaygpOwogCXRyYWNlciA9IHB0cmFjZV9wYXJlbnQocCk7CkBA IC0yMDAsMTAgKzIwMSwyNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdGFza19zdGF0ZShzdHJ1 Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBwaWRfbmFtZXNwYWNlICpucywKIAlmb3IgKGcgPSAw OyBnIDwgZ3JvdXBfaW5mby0+bmdyb3VwczsgZysrKQogCQlzZXFfcHV0X2RlY2ltYWxfdWxs KG0sIGcgPyAiICIgOiAiIiwKIAkJCQlmcm9tX2tnaWRfbXVuZ2VkKHVzZXJfbnMsIGdyb3Vw X2luZm8tPmdpZFtnXSkpOwotCXB1dF9jcmVkKGNyZWQpOwogCS8qIFRyYWlsaW5nIHNwYWNl IHNob3VsZG4ndCBoYXZlIGJlZW4gYWRkZWQgaW4gdGhlIGZpcnN0IHBsYWNlLiAqLwogCXNl cV9wdXRjKG0sICcgJyk7CiAKKwkvKiBUaGUgc2FtZSBpZHMgaW5jbHVkaW5nIFVVSURzIGFu ZCBHVUlEcywgYXMga3VpZF9zdHIoKSB3cml0ZXMgdGhlbSAqLworCXNlcV9wcmludGYobSwg IlxuVWlkX3I6XHQlcyIsIGt1aWRfc3RyX211bmdlZCh1c2VyX25zLCBjcmVkLT51aWQsIGlk YnVmKSk7CisJc2VxX3ByaW50ZihtLCAiXHQlcyIsIGt1aWRfc3RyX211bmdlZCh1c2VyX25z LCBjcmVkLT5ldWlkLCBpZGJ1ZikpOworCXNlcV9wcmludGYobSwgIlx0JXMiLCBrdWlkX3N0 cl9tdW5nZWQodXNlcl9ucywgY3JlZC0+c3VpZCwgaWRidWYpKTsKKwlzZXFfcHJpbnRmKG0s ICJcdCVzIiwga3VpZF9zdHJfbXVuZ2VkKHVzZXJfbnMsIGNyZWQtPmZzdWlkLCBpZGJ1Zikp OworCXNlcV9wcmludGYobSwgIlxuR2lkX3I6XHQlcyIsIGtnaWRfc3RyX211bmdlZCh1c2Vy X25zLCBjcmVkLT5naWQsIGlkYnVmKSk7CisJc2VxX3ByaW50ZihtLCAiXHQlcyIsIGtnaWRf c3RyX211bmdlZCh1c2VyX25zLCBjcmVkLT5lZ2lkLCBpZGJ1ZikpOworCXNlcV9wcmludGYo bSwgIlx0JXMiLCBrZ2lkX3N0cl9tdW5nZWQodXNlcl9ucywgY3JlZC0+c2dpZCwgaWRidWYp KTsKKwlzZXFfcHJpbnRmKG0sICJcdCVzIiwga2dpZF9zdHJfbXVuZ2VkKHVzZXJfbnMsIGNy ZWQtPmZzZ2lkLCBpZGJ1ZikpOworCXNlcV9wdXRzKG0sICJcbkdyb3Vwc19yOlx0Iik7CisJ Zm9yIChnID0gMDsgZyA8IGdyb3VwX2luZm8tPm5ncm91cHM7IGcrKykKKwkJc2VxX3ByaW50 ZihtLCAiJXMlcyIsIGcgPyAiICIgOiAiIiwKKwkJCSAgIGtnaWRfc3RyX211bmdlZCh1c2Vy X25zLCBncm91cF9pbmZvLT5naWRbZ10sIGlkYnVmKSk7CisJcHV0X2NyZWQoY3JlZCk7CisK ICNpZmRlZiBDT05GSUdfUElEX05TCiAJc2VxX3B1dHMobSwgIlxuTlN0Z2lkOiIpOwogCWZv ciAoZyA9IG5zLT5sZXZlbDsgZyA8PSBwaWQtPmxldmVsOyBnKyspCmRpZmYgLS1naXQgYS9m cy9wcm9jL2Jhc2UuYyBiL2ZzL3Byb2MvYmFzZS5jCmluZGV4IDc4MGY4MTI1OS4uYjdmOWZj ODNlIDEwMDY0NAotLS0gYS9mcy9wcm9jL2Jhc2UuYworKysgYi9mcy9wcm9jL2Jhc2UuYwpA QCAtMTI5MCwyMCArMTI5MCwyNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0 aW9ucyBwcm9jX29vbV9zY29yZV9hZGpfb3BlcmF0aW9ucyA9IHsKIH07CiAKICNpZmRlZiBD T05GSUdfQVVESVQKLSNkZWZpbmUgVE1QQlVGTEVOIDExCisjZGVmaW5lIFRNUEJVRkxFTiBL SURfU1RSX0xFTgogc3RhdGljIHNzaXplX3QgcHJvY19sb2dpbnVpZF9yZWFkKHN0cnVjdCBm aWxlICogZmlsZSwgY2hhciBfX3VzZXIgKiBidWYsCiAJCQkJICBzaXplX3QgY291bnQsIGxv ZmZfdCAqcHBvcykKIHsKIAlzdHJ1Y3QgaW5vZGUgKiBpbm9kZSA9IGZpbGVfaW5vZGUoZmls ZSk7CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrID0gZ2V0X3Byb2NfdGFzayhpbm9kZSk7 CisJc3RydWN0IHVzZXJfbmFtZXNwYWNlICpucyA9IGZpbGUtPmZfY3JlZC0+dXNlcl9uczsK IAlzc2l6ZV90IGxlbmd0aDsKIAljaGFyIHRtcGJ1ZltUTVBCVUZMRU5dOworCWt1aWRfdCBs b2dpbnVpZDsKIAogCWlmICghdGFzaykKIAkJcmV0dXJuIC1FU1JDSDsKLQlsZW5ndGggPSBz Y25wcmludGYodG1wYnVmLCBUTVBCVUZMRU4sICIldSIsCi0JCQkgICBmcm9tX2t1aWQoZmls ZS0+Zl9jcmVkLT51c2VyX25zLAotCQkJCSAgICAgYXVkaXRfZ2V0X2xvZ2ludWlkKHRhc2sp KSk7CisJbG9naW51aWQgPSBhdWRpdF9nZXRfbG9naW51aWQodGFzayk7CisJLyogYSBVVUlE IG9yIEdVSUQgbG9naW51aWQgYXMgdGV4dCwgaWYgQG5zIGNhbiBzZWUgaXQgKi8KKwlpZiAo IXVpZF9pc19sZWdhY3kobG9naW51aWQpICYmIGt1aWRfaGFzX21hcHBpbmcobnMsIGxvZ2lu dWlkKSkKKwkJbGVuZ3RoID0gc3RybGVuKGt1aWRfc3RyKGxvZ2ludWlkLCB0bXBidWYpKTsK KwllbHNlCisJCWxlbmd0aCA9IHNjbnByaW50Zih0bXBidWYsIFRNUEJVRkxFTiwgIiV1IiwK KwkJCQkgICBmcm9tX2t1aWQobnMsIGxvZ2ludWlkKSk7CiAJcHV0X3Rhc2tfc3RydWN0KHRh c2spOwogCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCBwcG9z LCB0bXBidWYsIGxlbmd0aCk7CiB9CkBAIC0xMzEyLDcgKzEzMTgsNyBAQCBzdGF0aWMgc3Np emVfdCBwcm9jX2xvZ2ludWlkX3dyaXRlKHN0cnVjdCBmaWxlICogZmlsZSwgY29uc3QgY2hh ciBfX3VzZXIgKiBidWYsCiAJCQkJICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCiB7 CiAJc3RydWN0IGlub2RlICogaW5vZGUgPSBmaWxlX2lub2RlKGZpbGUpOwotCXVpZF90IGxv Z2ludWlkOworCWNoYXIgdG1wYnVmW1RNUEJVRkxFTl07CiAJa3VpZF90IGtsb2dpbnVpZDsK IAlpbnQgcnY7CiAKQEAgLTEzMzIsMTYgKzEzMzgsMjAgQEAgc3RhdGljIHNzaXplX3QgcHJv Y19sb2dpbnVpZF93cml0ZShzdHJ1Y3QgZmlsZSAqIGZpbGUsIGNvbnN0IGNoYXIgX191c2Vy ICogYnVmLAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlydiA9IGtzdHJ0b3UzMl9mcm9t X3VzZXIoYnVmLCBjb3VudCwgMTAsICZsb2dpbnVpZCk7Ci0JaWYgKHJ2IDwgMCkKLQkJcmV0 dXJuIHJ2OworCS8qIGEgZGVjaW1hbCB1aWQsIGEgVVVJRCBvciBhIEdVSUQgaW4gYnJhY2Vz ICovCisJaWYgKGNvdW50ID49IHNpemVvZih0bXBidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsK KwlpZiAoY29weV9mcm9tX3VzZXIodG1wYnVmLCBidWYsIGNvdW50KSkKKwkJcmV0dXJuIC1F RkFVTFQ7CisJdG1wYnVmW2NvdW50XSA9ICdcMCc7CiAKLQkvKiBpcyB1c2Vyc3BhY2UgdHJp bmcgdG8gZXhwbGljaXRseSBVTlNFVCB0aGUgbG9naW51aWQ/ICovCi0JaWYgKGxvZ2ludWlk ID09IEFVRElUX1VJRF9VTlNFVCkgewotCQlrbG9naW51aWQgPSBJTlZBTElEX1VJRDsKLQl9 IGVsc2UgewotCQlrbG9naW51aWQgPSBtYWtlX2t1aWQoZmlsZS0+Zl9jcmVkLT51c2VyX25z LCBsb2dpbnVpZCk7Ci0JCWlmICghdWlkX3ZhbGlkKGtsb2dpbnVpZCkpCisJa2xvZ2ludWlk ID0gbWFrZV9rdWlkX3N0cihmaWxlLT5mX2NyZWQtPnVzZXJfbnMsIHRtcGJ1Zik7CisJaWYg KCF1aWRfdmFsaWQoa2xvZ2ludWlkKSkgeworCQl1MzIgbG9naW51aWQ7CisKKwkJLyogaXMg dXNlcnNwYWNlIHRyaW5nIHRvIGV4cGxpY2l0bHkgVU5TRVQgdGhlIGxvZ2ludWlkPyAqLwor CQlpZiAoa3N0cnRvdTMyKHRtcGJ1ZiwgMTAsICZsb2dpbnVpZCkgfHwKKwkJICAgIGxvZ2lu dWlkICE9IEFVRElUX1VJRF9VTlNFVCkKIAkJCXJldHVybiAtRUlOVkFMOwogCX0KIAo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0027-audit-log-UUID-and-GUID-ids-in-full.patch" Content-Disposition: attachment; filename="uid_r-0027-audit-log-UUID-and-GUID-ids-in-full.patch" Content-Transfer-Encoding: base64 RnJvbSA3Mjk1OTZjNDhkODBhZWE3MjIxNDQzOWUwZGMyZDUzYWNkNmU0MmYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA2OjE0OjQyICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyNy80M10gYXVkaXQ6IGxvZyBVVUlEIGFuZCBHVUlEIGlkcyBpbiBmdWxsCgpBdWRp dCByZWNvcmRzIHByaW50IGlkcyB3aXRoIGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCAuLi4p LCB3aGljaCBnaXZlcwotMSBmb3IgYSBVVUlEIG9yIEdVSUQuIDQyOTQ5NjcyOTUgaXMgd2hh dCBhdWRpdCB1c2VzIGZvciAidW5zZXQiLCBzbyBhClVVSUQgdXNlcidzIGFjdGlvbnMgd291 bGQgYmUgbG9nZ2VkIGFzIGlmIHRoZXJlIHdlcmUgbm8gbG9naW4gdXNlci4KClByaW50IGFs bCBpZHMgaW4gYXVkaXQgcmVjb3JkcyB3aXRoIEtVSURfU1RSKCkvS0dJRF9TVFIoKTogY2xh c3NpYyBpZHMKY29tZSBvdXQgZXhhY3RseSBhcyBiZWZvcmUgKHNpZ25lZCB3aGVyZSB0aGUg Zm9ybWF0IHdhcyAiJWQiKSwgVVVJRHMgYW5kCkdVSURzIGluIHRoZWlyIHRleHQgZm9ybS4g VGhlIGJpbmFyeSBBVURJVF9TSUdOQUxfSU5GTyByZXBseSBrZWVwcyBpdHMKMzIgYml0IGZp ZWxkLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBkcml2ZXJz L3R0eS90dHlfYXVkaXQuYyAgICAgICAgICAgICAgfCAgNyArKy0tCiBrZXJuZWwvYXVkaXQu YyAgICAgICAgICAgICAgICAgICAgICAgfCA1MCArKysrKysrKysrKystLS0tLS0tLS0tLS0t CiBrZXJuZWwvYXVkaXRzYy5jICAgICAgICAgICAgICAgICAgICAgfCA1NSArKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tCiBuZXQvY29yZS9kZXYuYyAgICAgICAgICAgICAgICAgICAg ICAgfCAgOCArKy0tCiBuZXQvbmV0bGFiZWwvbmV0bGFiZWxfdXNlci5jICAgICAgICAgfCAg NCArLQogc2VjdXJpdHkvYXBwYXJtb3IvZmlsZS5jICAgICAgICAgICAgIHwgIDggKystLQog c2VjdXJpdHkvaW50ZWdyaXR5L2ludGVncml0eV9hdWRpdC5jIHwgIDYgKy0tCiBzZWN1cml0 eS9pcGUvYXVkaXQuYyAgICAgICAgICAgICAgICAgfCAxMiArKystLS0KIHNlY3VyaXR5L3Nl bGludXgvc2VsaW51eGZzLmMgICAgICAgICB8ICA4ICsrLS0KIHNlY3VyaXR5L3NlbGludXgv c3Mvc2VydmljZXMuYyAgICAgICB8ICA0ICstCiAxMCBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNl cnRpb25zKCspLCA4NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3R0eS90 dHlfYXVkaXQuYyBiL2RyaXZlcnMvdHR5L3R0eV9hdWRpdC5jCmluZGV4IGQwMTRhZjZhYi4u MDNhZDQ5NjFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3R0eS90dHlfYXVkaXQuYworKysgYi9k cml2ZXJzL3R0eS90dHlfYXVkaXQuYwpAQCAtNjUsOCArNjUsNiBAQCBzdGF0aWMgdm9pZCB0 dHlfYXVkaXRfbG9nKGNvbnN0IGNoYXIgKmRlc2NyaXB0aW9uLCBkZXZfdCBkZXYsCiB7CiAJ c3RydWN0IGF1ZGl0X2J1ZmZlciAqYWI7CiAJcGlkX3QgcGlkID0gdGFza19waWRfbnIoY3Vy cmVudCk7Ci0JdWlkX3QgdWlkID0gZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIHRhc2tfdWlk KGN1cnJlbnQpKTsKLQl1aWRfdCBsb2dpbnVpZCA9IGZyb21fa3VpZCgmaW5pdF91c2VyX25z LCBhdWRpdF9nZXRfbG9naW51aWQoY3VycmVudCkpOwogCXVuc2lnbmVkIGludCBzZXNzaW9u aWQgPSBhdWRpdF9nZXRfc2Vzc2lvbmlkKGN1cnJlbnQpOwogCWNoYXIgbmFtZVtUQVNLX0NP TU1fTEVOXTsKIApAQCAtNzQsOCArNzIsOSBAQCBzdGF0aWMgdm9pZCB0dHlfYXVkaXRfbG9n KGNvbnN0IGNoYXIgKmRlc2NyaXB0aW9uLCBkZXZfdCBkZXYsCiAJaWYgKCFhYikKIAkJcmV0 dXJuOwogCi0JYXVkaXRfbG9nX2Zvcm1hdChhYiwgIiVzIHBpZD0ldSB1aWQ9JXUgYXVpZD0l dSBzZXM9JXUgbWFqb3I9JWQgbWlub3I9JWQgY29tbT0iLAotCQkJIGRlc2NyaXB0aW9uLCBw aWQsIHVpZCwgbG9naW51aWQsIHNlc3Npb25pZCwKKwlhdWRpdF9sb2dfZm9ybWF0KGFiLCAi JXMgcGlkPSV1IHVpZD0lcyBhdWlkPSVzIHNlcz0ldSBtYWpvcj0lZCBtaW5vcj0lZCBjb21t PSIsCisJCQkgZGVzY3JpcHRpb24sIHBpZCwgS1VJRF9TVFIodGFza191aWQoY3VycmVudCkp LAorCQkJIEtVSURfU1RSKGF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSksIHNlc3Npb25p ZCwKIAkJCSBNQUpPUihkZXYpLCBNSU5PUihkZXYpKTsKIAlnZXRfdGFza19jb21tKG5hbWUs IGN1cnJlbnQpOwogCWF1ZGl0X2xvZ191bnRydXN0ZWRzdHJpbmcoYWIsIG5hbWUpOwpkaWZm IC0tZ2l0IGEva2VybmVsL2F1ZGl0LmMgYi9rZXJuZWwvYXVkaXQuYwppbmRleCA5NDEyYWY5 MTQuLmVkNGFjNWM4OCAxMDA2NDQKLS0tIGEva2VybmVsL2F1ZGl0LmMKKysrIGIva2VybmVs L2F1ZGl0LmMKQEAgLTExMjgsNyArMTEyOCw2IEBAIHN0YXRpYyBpbnQgYXVkaXRfbmV0bGlu a19vayhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MTYgbXNnX3R5cGUpCiBzdGF0aWMgdm9pZCBh dWRpdF9sb2dfY29tbW9uX3JlY3ZfbXNnKHN0cnVjdCBhdWRpdF9jb250ZXh0ICpjb250ZXh0 LAogCQkJCQlzdHJ1Y3QgYXVkaXRfYnVmZmVyICoqYWIsIHUxNiBtc2dfdHlwZSkKIHsKLQl1 aWRfdCB1aWQgPSBmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywgY3VycmVudF91aWQoKSk7CiAJ cGlkX3QgcGlkID0gdGFza190Z2lkX25yKGN1cnJlbnQpOwogCiAJaWYgKCFhdWRpdF9lbmFi bGVkICYmIG1zZ190eXBlICE9IEFVRElUX1VTRVJfQVZDKSB7CkBAIC0xMTM5LDcgKzExMzgs NyBAQCBzdGF0aWMgdm9pZCBhdWRpdF9sb2dfY29tbW9uX3JlY3ZfbXNnKHN0cnVjdCBhdWRp dF9jb250ZXh0ICpjb250ZXh0LAogCSphYiA9IGF1ZGl0X2xvZ19zdGFydChjb250ZXh0LCBH RlBfS0VSTkVMLCBtc2dfdHlwZSk7CiAJaWYgKHVubGlrZWx5KCEqYWIpKQogCQlyZXR1cm47 Ci0JYXVkaXRfbG9nX2Zvcm1hdCgqYWIsICJwaWQ9JWQgdWlkPSV1ICIsIHBpZCwgdWlkKTsK KwlhdWRpdF9sb2dfZm9ybWF0KCphYiwgInBpZD0lZCB1aWQ9JXMgIiwgcGlkLCBLVUlEX1NU UihjdXJyZW50X3VpZCgpKSk7CiAJYXVkaXRfbG9nX3Nlc3Npb25faW5mbygqYWIpOwogCWF1 ZGl0X2xvZ190YXNrX2NvbnRleHQoKmFiKTsKIH0KQEAgLTE2NTgsMTAgKzE2NTcsMTAgQEAg c3RhdGljIHZvaWQgYXVkaXRfbG9nX211bHRpY2FzdChpbnQgZ3JvdXAsIGNvbnN0IGNoYXIg Km9wLCBpbnQgZXJyKQogCiAJY3JlZCA9IGN1cnJlbnRfY3JlZCgpOwogCXR0eSA9IGF1ZGl0 X2dldF90dHkoKTsKLQlhdWRpdF9sb2dfZm9ybWF0KGFiLCAicGlkPSV1IHVpZD0ldSBhdWlk PSV1IHR0eT0lcyBzZXM9JXUiLAorCWF1ZGl0X2xvZ19mb3JtYXQoYWIsICJwaWQ9JXUgdWlk PSVzIGF1aWQ9JXMgdHR5PSVzIHNlcz0ldSIsCiAJCQkgdGFza190Z2lkX25yKGN1cnJlbnQp LAotCQkJIGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCBjcmVkLT51aWQpLAotCQkJIGZyb21f a3VpZCgmaW5pdF91c2VyX25zLCBhdWRpdF9nZXRfbG9naW51aWQoY3VycmVudCkpLAorCQkJ IEtVSURfU1RSKGNyZWQtPnVpZCksCisJCQkgS1VJRF9TVFIoYXVkaXRfZ2V0X2xvZ2ludWlk KGN1cnJlbnQpKSwKIAkJCSB0dHkgPyB0dHlfbmFtZSh0dHkpIDogIihub25lKSIsCiAJCQkg YXVkaXRfZ2V0X3Nlc3Npb25pZChjdXJyZW50KSk7CiAJYXVkaXRfcHV0X3R0eSh0dHkpOwpA QCAtMjIzMCw5ICsyMjI5LDggQEAgdm9pZCBhdWRpdF9sb2dfZF9wYXRoKHN0cnVjdCBhdWRp dF9idWZmZXIgKmFiLCBjb25zdCBjaGFyICpwcmVmaXgsCiB2b2lkIGF1ZGl0X2xvZ19zZXNz aW9uX2luZm8oc3RydWN0IGF1ZGl0X2J1ZmZlciAqYWIpCiB7CiAJdW5zaWduZWQgaW50IHNl c3Npb25pZCA9IGF1ZGl0X2dldF9zZXNzaW9uaWQoY3VycmVudCk7Ci0JdWlkX3QgYXVpZCA9 IGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCBhdWRpdF9nZXRfbG9naW51aWQoY3VycmVudCkp OwotCi0JYXVkaXRfbG9nX2Zvcm1hdChhYiwgImF1aWQ9JXUgc2VzPSV1IiwgYXVpZCwgc2Vz c2lvbmlkKTsKKwlhdWRpdF9sb2dfZm9ybWF0KGFiLCAiYXVpZD0lcyBzZXM9JXUiLAorCQkJ IEtVSURfU1RSKGF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSksIHNlc3Npb25pZCk7CiB9 CiAKIHZvaWQgYXVkaXRfbG9nX2tleShzdHJ1Y3QgYXVkaXRfYnVmZmVyICphYiwgY2hhciAq a2V5KQpAQCAtMjQ2NSwyMCArMjQ2MywyMCBAQCB2b2lkIGF1ZGl0X2xvZ190YXNrX2luZm8o c3RydWN0IGF1ZGl0X2J1ZmZlciAqYWIpCiAJY3JlZCA9IGN1cnJlbnRfY3JlZCgpOwogCXR0 eSA9IGF1ZGl0X2dldF90dHkoKTsKIAlhdWRpdF9sb2dfZm9ybWF0KGFiLAotCQkJICIgcHBp ZD0lZCBwaWQ9JWQgYXVpZD0ldSB1aWQ9JXUgZ2lkPSV1IgotCQkJICIgZXVpZD0ldSBzdWlk PSV1IGZzdWlkPSV1IgotCQkJICIgZWdpZD0ldSBzZ2lkPSV1IGZzZ2lkPSV1IHR0eT0lcyBz ZXM9JXUiLAorCQkJICIgcHBpZD0lZCBwaWQ9JWQgYXVpZD0lcyB1aWQ9JXMgZ2lkPSVzIgor CQkJICIgZXVpZD0lcyBzdWlkPSVzIGZzdWlkPSVzIgorCQkJICIgZWdpZD0lcyBzZ2lkPSVz IGZzZ2lkPSVzIHR0eT0lcyBzZXM9JXUiLAogCQkJIHRhc2tfcHBpZF9ucihjdXJyZW50KSwK IAkJCSB0YXNrX3RnaWRfbnIoY3VycmVudCksCi0JCQkgZnJvbV9rdWlkKCZpbml0X3VzZXJf bnMsIGF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSksCi0JCQkgZnJvbV9rdWlkKCZpbml0 X3VzZXJfbnMsIGNyZWQtPnVpZCksCi0JCQkgZnJvbV9rZ2lkKCZpbml0X3VzZXJfbnMsIGNy ZWQtPmdpZCksCi0JCQkgZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIGNyZWQtPmV1aWQpLAot CQkJIGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCBjcmVkLT5zdWlkKSwKLQkJCSBmcm9tX2t1 aWQoJmluaXRfdXNlcl9ucywgY3JlZC0+ZnN1aWQpLAotCQkJIGZyb21fa2dpZCgmaW5pdF91 c2VyX25zLCBjcmVkLT5lZ2lkKSwKLQkJCSBmcm9tX2tnaWQoJmluaXRfdXNlcl9ucywgY3Jl ZC0+c2dpZCksCi0JCQkgZnJvbV9rZ2lkKCZpbml0X3VzZXJfbnMsIGNyZWQtPmZzZ2lkKSwK KwkJCSBLVUlEX1NUUihhdWRpdF9nZXRfbG9naW51aWQoY3VycmVudCkpLAorCQkJIEtVSURf U1RSKGNyZWQtPnVpZCksCisJCQkgS0dJRF9TVFIoY3JlZC0+Z2lkKSwKKwkJCSBLVUlEX1NU UihjcmVkLT5ldWlkKSwKKwkJCSBLVUlEX1NUUihjcmVkLT5zdWlkKSwKKwkJCSBLVUlEX1NU UihjcmVkLT5mc3VpZCksCisJCQkgS0dJRF9TVFIoY3JlZC0+ZWdpZCksCisJCQkgS0dJRF9T VFIoY3JlZC0+c2dpZCksCisJCQkgS0dJRF9TVFIoY3JlZC0+ZnNnaWQpLAogCQkJIHR0eSA/ IHR0eV9uYW1lKHR0eSkgOiAiKG5vbmUpIiwKIAkJCSBhdWRpdF9nZXRfc2Vzc2lvbmlkKGN1 cnJlbnQpKTsKIAlhdWRpdF9wdXRfdHR5KHR0eSk7CkBAIC0yNjkzLDcgKzI2OTEsNiBAQCBz dGF0aWMgdm9pZCBhdWRpdF9sb2dfc2V0X2xvZ2ludWlkKGt1aWRfdCBrb2xkbG9naW51aWQs IGt1aWRfdCBrbG9naW51aWQsCiAJCQkJICAgdW5zaWduZWQgaW50IHNlc3Npb25pZCwgaW50 IHJjKQogewogCXN0cnVjdCBhdWRpdF9idWZmZXIgKmFiOwotCXVpZF90IHVpZCwgb2xkbG9n aW51aWQsIGxvZ2ludWlkOwogCXN0cnVjdCB0dHlfc3RydWN0ICp0dHk7CiAKIAlpZiAoIWF1 ZGl0X2VuYWJsZWQpCkBAIC0yNzAzLDE1ICsyNzAwLDE0IEBAIHN0YXRpYyB2b2lkIGF1ZGl0 X2xvZ19zZXRfbG9naW51aWQoa3VpZF90IGtvbGRsb2dpbnVpZCwga3VpZF90IGtsb2dpbnVp ZCwKIAlpZiAoIWFiKQogCQlyZXR1cm47CiAKLQl1aWQgPSBmcm9tX2t1aWQoJmluaXRfdXNl cl9ucywgdGFza191aWQoY3VycmVudCkpOwotCW9sZGxvZ2ludWlkID0gZnJvbV9rdWlkKCZp bml0X3VzZXJfbnMsIGtvbGRsb2dpbnVpZCk7Ci0JbG9naW51aWQgPSBmcm9tX2t1aWQoJmlu aXRfdXNlcl9ucywga2xvZ2ludWlkKTsKIAl0dHkgPSBhdWRpdF9nZXRfdHR5KCk7CiAKLQlh dWRpdF9sb2dfZm9ybWF0KGFiLCAicGlkPSVkIHVpZD0ldSIsIHRhc2tfdGdpZF9ucihjdXJy ZW50KSwgdWlkKTsKKwlhdWRpdF9sb2dfZm9ybWF0KGFiLCAicGlkPSVkIHVpZD0lcyIsIHRh c2tfdGdpZF9ucihjdXJyZW50KSwKKwkJCSBLVUlEX1NUUih0YXNrX3VpZChjdXJyZW50KSkp OwogCWF1ZGl0X2xvZ190YXNrX2NvbnRleHQoYWIpOwotCWF1ZGl0X2xvZ19mb3JtYXQoYWIs ICIgb2xkLWF1aWQ9JXUgYXVpZD0ldSB0dHk9JXMgb2xkLXNlcz0ldSBzZXM9JXUgcmVzPSVk IiwKLQkJCSBvbGRsb2dpbnVpZCwgbG9naW51aWQsIHR0eSA/IHR0eV9uYW1lKHR0eSkgOiAi KG5vbmUpIiwKKwlhdWRpdF9sb2dfZm9ybWF0KGFiLCAiIG9sZC1hdWlkPSVzIGF1aWQ9JXMg dHR5PSVzIG9sZC1zZXM9JXUgc2VzPSV1IHJlcz0lZCIsCisJCQkgS1VJRF9TVFIoa29sZGxv Z2ludWlkKSwgS1VJRF9TVFIoa2xvZ2ludWlkKSwKKwkJCSB0dHkgPyB0dHlfbmFtZSh0dHkp IDogIihub25lKSIsCiAJCQkgb2xkc2Vzc2lvbmlkLCBzZXNzaW9uaWQsICFyYyk7CiAJYXVk aXRfcHV0X3R0eSh0dHkpOwogCWF1ZGl0X2xvZ19lbmQoYWIpOwpkaWZmIC0tZ2l0IGEva2Vy bmVsL2F1ZGl0c2MuYyBiL2tlcm5lbC9hdWRpdHNjLmMKaW5kZXggNjYxMGU2NjdjLi5lZDM1 YmRmZDcgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9hdWRpdHNjLmMKKysrIGIva2VybmVsL2F1ZGl0 c2MuYwpAQCAtMTEwNCw5ICsxMTA0LDkgQEAgc3RhdGljIGludCBhdWRpdF9sb2dfcGlkX2Nv bnRleHQoc3RydWN0IGF1ZGl0X2NvbnRleHQgKmNvbnRleHQsIHBpZF90IHBpZCwKIAlpZiAo IWFiKQogCQlyZXR1cm4gcmM7CiAKLQlhdWRpdF9sb2dfZm9ybWF0KGFiLCAib3BpZD0lZCBv YXVpZD0lZCBvdWlkPSVkIG9zZXM9JWQiLCBwaWQsCi0JCQkgZnJvbV9rdWlkKCZpbml0X3Vz ZXJfbnMsIGF1aWQpLAotCQkJIGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCB1aWQpLCBzZXNz aW9uaWQpOworCWF1ZGl0X2xvZ19mb3JtYXQoYWIsICJvcGlkPSVkIG9hdWlkPSVzIG91aWQ9 JXMgb3Nlcz0lZCIsIHBpZCwKKwkJCSBLVUlEX1NUUl9EKGF1aWQpLAorCQkJIEtVSURfU1RS X0QodWlkKSwgc2Vzc2lvbmlkKTsKIAlpZiAobHNtcHJvcF9pc19zZXQocHJvcCkgJiYgYXVk aXRfbG9nX29ial9jdHgoYWIsIHByb3ApKQogCQlyYyA9IDE7CiAKQEAgLTEzMDksOSArMTMw OSw5IEBAIHN0YXRpYyB2b2lkIGF1ZGl0X2xvZ19mY2FwcyhzdHJ1Y3QgYXVkaXRfYnVmZmVy ICphYiwgc3RydWN0IGF1ZGl0X25hbWVzICpuYW1lKQogCX0KIAlhdWRpdF9sb2dfY2FwKGFi LCAiY2FwX2ZwIiwgJm5hbWUtPmZjYXAucGVybWl0dGVkKTsKIAlhdWRpdF9sb2dfY2FwKGFi LCAiY2FwX2ZpIiwgJm5hbWUtPmZjYXAuaW5oZXJpdGFibGUpOwotCWF1ZGl0X2xvZ19mb3Jt YXQoYWIsICIgY2FwX2ZlPSVkIGNhcF9mdmVyPSV4IGNhcF9mcm9vdGlkPSVkIiwKKwlhdWRp dF9sb2dfZm9ybWF0KGFiLCAiIGNhcF9mZT0lZCBjYXBfZnZlcj0leCBjYXBfZnJvb3RpZD0l cyIsCiAJCQkgbmFtZS0+ZmNhcC5mRSwgbmFtZS0+ZmNhcF92ZXIsCi0JCQkgZnJvbV9rdWlk KCZpbml0X3VzZXJfbnMsIG5hbWUtPmZjYXAucm9vdGlkKSk7CisJCQkgS1VJRF9TVFJfRChu YW1lLT5mY2FwLnJvb3RpZCkpOwogfQogCiBzdGF0aWMgdm9pZCBhdWRpdF9sb2dfdGltZShz dHJ1Y3QgYXVkaXRfY29udGV4dCAqY29udGV4dCwgc3RydWN0IGF1ZGl0X2J1ZmZlciAqKmFi KQpAQCAtMTM4MCw5ICsxMzgwLDkgQEAgc3RhdGljIHZvaWQgc2hvd19zcGVjaWFsKHN0cnVj dCBhdWRpdF9jb250ZXh0ICpjb250ZXh0LCBpbnQgKmNhbGxfcGFuaWMpCiAJCQkJY29udGV4 dC0+c29ja2V0Y2FsbC5hcmdzW2ldKTsKIAkJYnJlYWs7IH0KIAljYXNlIEFVRElUX0lQQzoK LQkJYXVkaXRfbG9nX2Zvcm1hdChhYiwgIm91aWQ9JXUgb2dpZD0ldSBtb2RlPSUjaG8iLAot CQkJCSBmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywgY29udGV4dC0+aXBjLnVpZCksCi0JCQkJ IGZyb21fa2dpZCgmaW5pdF91c2VyX25zLCBjb250ZXh0LT5pcGMuZ2lkKSwKKwkJYXVkaXRf bG9nX2Zvcm1hdChhYiwgIm91aWQ9JXMgb2dpZD0lcyBtb2RlPSUjaG8iLAorCQkJCSBLVUlE X1NUUihjb250ZXh0LT5pcGMudWlkKSwKKwkJCQkgS0dJRF9TVFIoY29udGV4dC0+aXBjLmdp ZCksCiAJCQkJIGNvbnRleHQtPmlwYy5tb2RlKTsKIAkJaWYgKGxzbXByb3BfaXNfc2V0KCZj b250ZXh0LT5pcGMub3Byb3ApKSB7CiAJCQlpZiAoYXVkaXRfbG9nX29ial9jdHgoYWIsICZj b250ZXh0LT5pcGMub3Byb3ApKQpAQCAtMTUzNCwxMyArMTUzNCwxMyBAQCBzdGF0aWMgdm9p ZCBhdWRpdF9sb2dfbmFtZShzdHJ1Y3QgYXVkaXRfY29udGV4dCAqY29udGV4dCwgc3RydWN0 IGF1ZGl0X25hbWVzICpuLAogCQlhdWRpdF9sb2dfZm9ybWF0KGFiLCAiIG5hbWU9KG51bGwp Iik7CiAKIAlpZiAobi0+aW5vICE9IEFVRElUX0lOT19VTlNFVCkKLQkJYXVkaXRfbG9nX2Zv cm1hdChhYiwgIiBpbm9kZT0lbGx1IGRldj0lMDJ4OiUwMnggbW9kZT0lI2hvIG91aWQ9JXUg b2dpZD0ldSByZGV2PSUwMng6JTAyeCIsCisJCWF1ZGl0X2xvZ19mb3JtYXQoYWIsICIgaW5v ZGU9JWxsdSBkZXY9JTAyeDolMDJ4IG1vZGU9JSNobyBvdWlkPSVzIG9naWQ9JXMgcmRldj0l MDJ4OiUwMngiLAogCQkJCSBuLT5pbm8sCiAJCQkJIE1BSk9SKG4tPmRldiksCiAJCQkJIE1J Tk9SKG4tPmRldiksCiAJCQkJIG4tPm1vZGUsCi0JCQkJIGZyb21fa3VpZCgmaW5pdF91c2Vy X25zLCBuLT51aWQpLAotCQkJCSBmcm9tX2tnaWQoJmluaXRfdXNlcl9ucywgbi0+Z2lkKSwK KwkJCQkgS1VJRF9TVFIobi0+dWlkKSwKKwkJCQkgS0dJRF9TVFIobi0+Z2lkKSwKIAkJCQkg TUFKT1Iobi0+cmRldiksCiAJCQkJIE1JTk9SKG4tPnJkZXYpKTsKIAlpZiAobHNtcHJvcF9p c19zZXQoJm4tPm9wcm9wKSAmJgpAQCAtMTYzMiwxOCArMTYzMiwxOCBAQCBzdGF0aWMgdm9p ZCBhdWRpdF9sb2dfdXJpbmcoc3RydWN0IGF1ZGl0X2NvbnRleHQgKmN0eCkKIAkJCQkgY3R4 LT5yZXR1cm5fY29kZSk7CiAJYXVkaXRfbG9nX2Zvcm1hdChhYiwKIAkJCSAiIGl0ZW1zPSVk IgotCQkJICIgcHBpZD0lZCBwaWQ9JWQgdWlkPSV1IGdpZD0ldSBldWlkPSV1IHN1aWQ9JXUi Ci0JCQkgIiBmc3VpZD0ldSBlZ2lkPSV1IHNnaWQ9JXUgZnNnaWQ9JXUiLAorCQkJICIgcHBp ZD0lZCBwaWQ9JWQgdWlkPSVzIGdpZD0lcyBldWlkPSVzIHN1aWQ9JXMiCisJCQkgIiBmc3Vp ZD0lcyBlZ2lkPSVzIHNnaWQ9JXMgZnNnaWQ9JXMiLAogCQkJIGN0eC0+bmFtZV9jb3VudCwK IAkJCSB0YXNrX3BwaWRfbnIoY3VycmVudCksIHRhc2tfdGdpZF9ucihjdXJyZW50KSwKLQkJ CSBmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywgY3JlZC0+dWlkKSwKLQkJCSBmcm9tX2tnaWQo JmluaXRfdXNlcl9ucywgY3JlZC0+Z2lkKSwKLQkJCSBmcm9tX2t1aWQoJmluaXRfdXNlcl9u cywgY3JlZC0+ZXVpZCksCi0JCQkgZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIGNyZWQtPnN1 aWQpLAotCQkJIGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCBjcmVkLT5mc3VpZCksCi0JCQkg ZnJvbV9rZ2lkKCZpbml0X3VzZXJfbnMsIGNyZWQtPmVnaWQpLAotCQkJIGZyb21fa2dpZCgm aW5pdF91c2VyX25zLCBjcmVkLT5zZ2lkKSwKLQkJCSBmcm9tX2tnaWQoJmluaXRfdXNlcl9u cywgY3JlZC0+ZnNnaWQpKTsKKwkJCSBLVUlEX1NUUihjcmVkLT51aWQpLAorCQkJIEtHSURf U1RSKGNyZWQtPmdpZCksCisJCQkgS1VJRF9TVFIoY3JlZC0+ZXVpZCksCisJCQkgS1VJRF9T VFIoY3JlZC0+c3VpZCksCisJCQkgS1VJRF9TVFIoY3JlZC0+ZnN1aWQpLAorCQkJIEtHSURf U1RSKGNyZWQtPmVnaWQpLAorCQkJIEtHSURfU1RSKGNyZWQtPnNnaWQpLAorCQkJIEtHSURf U1RSKGNyZWQtPmZzZ2lkKSk7CiAJYXVkaXRfbG9nX3Rhc2tfY29udGV4dChhYik7CiAJYXVk aXRfbG9nX2tleShhYiwgY3R4LT5maWx0ZXJrZXkpOwogCWF1ZGl0X2xvZ19lbmQoYWIpOwpA QCAtMTcxNSw5ICsxNzE1LDggQEAgc3RhdGljIHZvaWQgYXVkaXRfbG9nX2V4aXQodm9pZCkK IAkJCWF1ZGl0X2xvZ19jYXAoYWIsICJwaSIsICZheHMtPm5ld19wY2FwLmluaGVyaXRhYmxl KTsKIAkJCWF1ZGl0X2xvZ19jYXAoYWIsICJwZSIsICZheHMtPm5ld19wY2FwLmVmZmVjdGl2 ZSk7CiAJCQlhdWRpdF9sb2dfY2FwKGFiLCAicGEiLCAmYXhzLT5uZXdfcGNhcC5hbWJpZW50 KTsKLQkJCWF1ZGl0X2xvZ19mb3JtYXQoYWIsICIgZnJvb3RpZD0lZCIsCi0JCQkJCSBmcm9t X2t1aWQoJmluaXRfdXNlcl9ucywKLQkJCQkJCSAgIGF4cy0+ZmNhcC5yb290aWQpKTsKKwkJ CWF1ZGl0X2xvZ19mb3JtYXQoYWIsICIgZnJvb3RpZD0lcyIsCisJCQkJCSBLVUlEX1NUUl9E KGF4cy0+ZmNhcC5yb290aWQpKTsKIAkJCWJyZWFrOyB9CiAKIAkJfQpAQCAtMjg5MywxMCAr Mjg5MiwxMCBAQCBzdGF0aWMgdm9pZCBhdWRpdF9sb2dfdGFzayhzdHJ1Y3QgYXVkaXRfYnVm ZmVyICphYikKIAlzZXNzaW9uaWQgPSBhdWRpdF9nZXRfc2Vzc2lvbmlkKGN1cnJlbnQpOwog CWN1cnJlbnRfdWlkX2dpZCgmdWlkLCAmZ2lkKTsKIAotCWF1ZGl0X2xvZ19mb3JtYXQoYWIs ICJhdWlkPSV1IHVpZD0ldSBnaWQ9JXUgc2VzPSV1IiwKLQkJCSBmcm9tX2t1aWQoJmluaXRf dXNlcl9ucywgYXVpZCksCi0JCQkgZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIHVpZCksCi0J CQkgZnJvbV9rZ2lkKCZpbml0X3VzZXJfbnMsIGdpZCksCisJYXVkaXRfbG9nX2Zvcm1hdChh YiwgImF1aWQ9JXMgdWlkPSVzIGdpZD0lcyBzZXM9JXUiLAorCQkJIEtVSURfU1RSKGF1aWQp LAorCQkJIEtVSURfU1RSKHVpZCksCisJCQkgS0dJRF9TVFIoZ2lkKSwKIAkJCSBzZXNzaW9u aWQpOwogCWF1ZGl0X2xvZ190YXNrX2NvbnRleHQoYWIpOwogCWF1ZGl0X2xvZ19mb3JtYXQo YWIsICIgcGlkPSVkIGNvbW09IiwgdGFza190Z2lkX25yKGN1cnJlbnQpKTsKZGlmZiAtLWdp dCBhL25ldC9jb3JlL2Rldi5jIGIvbmV0L2NvcmUvZGV2LmMKaW5kZXggMWEwNjk3NmUxLi4z OTQ4NjZjZjMgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2Rldi5jCisrKyBiL25ldC9jb3JlL2Rl di5jCkBAIC05NzEyLDEyICs5NzEyLDEyIEBAIGludCBfX2Rldl9zZXRfcHJvbWlzY3VpdHko c3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50IGluYywgYm9vbCBub3RpZnkpCiAJCQljdXJy ZW50X3VpZF9naWQoJnVpZCwgJmdpZCk7CiAJCQlhdWRpdF9sb2coYXVkaXRfY29udGV4dCgp LCBHRlBfQVRPTUlDLAogCQkJCSAgQVVESVRfQU5PTV9QUk9NSVNDVU9VUywKLQkJCQkgICJk ZXY9JXMgcHJvbT0lZCBvbGRfcHJvbT0lZCBhdWlkPSV1IHVpZD0ldSBnaWQ9JXUgc2VzPSV1 IiwKKwkJCQkgICJkZXY9JXMgcHJvbT0lZCBvbGRfcHJvbT0lZCBhdWlkPSVzIHVpZD0lcyBn aWQ9JXMgc2VzPSV1IiwKIAkJCQkgIGRldi0+bmFtZSwgKGRldi0+ZmxhZ3MgJiBJRkZfUFJP TUlTQyksCiAJCQkJICAob2xkX2ZsYWdzICYgSUZGX1BST01JU0MpLAotCQkJCSAgZnJvbV9r dWlkKCZpbml0X3VzZXJfbnMsIGF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSksCi0JCQkJ ICBmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywgdWlkKSwKLQkJCQkgIGZyb21fa2dpZCgmaW5p dF91c2VyX25zLCBnaWQpLAorCQkJCSAgS1VJRF9TVFIoYXVkaXRfZ2V0X2xvZ2ludWlkKGN1 cnJlbnQpKSwKKwkJCQkgIEtVSURfU1RSKHVpZCksCisJCQkJICBLR0lEX1NUUihnaWQpLAog CQkJCSAgYXVkaXRfZ2V0X3Nlc3Npb25pZChjdXJyZW50KSk7CiAJCX0KIApkaWZmIC0tZ2l0 IGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX3VzZXIuYyBiL25ldC9uZXRsYWJlbC9uZXRsYWJl bF91c2VyLmMKaW5kZXggMGRhNjUyODQ0Li4zMWFjNGEwZmMgMTAwNjQ0Ci0tLSBhL25ldC9u ZXRsYWJlbC9uZXRsYWJlbF91c2VyLmMKKysrIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX3Vz ZXIuYwpAQCAtOTIsOCArOTIsOCBAQCBzdHJ1Y3QgYXVkaXRfYnVmZmVyICpuZXRsYmxfYXVk aXRfc3RhcnRfY29tbW9uKGludCB0eXBlLAogCWlmIChhdWRpdF9idWYgPT0gTlVMTCkKIAkJ cmV0dXJuIE5VTEw7CiAKLQlhdWRpdF9sb2dfZm9ybWF0KGF1ZGl0X2J1ZiwgIm5ldGxhYmVs OiBhdWlkPSV1IHNlcz0ldSIsCi0JCQkgZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIGF1ZGl0 X2luZm8tPmxvZ2ludWlkKSwKKwlhdWRpdF9sb2dfZm9ybWF0KGF1ZGl0X2J1ZiwgIm5ldGxh YmVsOiBhdWlkPSVzIHNlcz0ldSIsCisJCQkgS1VJRF9TVFIoYXVkaXRfaW5mby0+bG9naW51 aWQpLAogCQkJIGF1ZGl0X2luZm8tPnNlc3Npb25pZCk7CiAJYXVkaXRfbG9nX3N1YmpfY3R4 KGF1ZGl0X2J1ZiwgJmF1ZGl0X2luZm8tPnByb3ApOwogCmRpZmYgLS1naXQgYS9zZWN1cml0 eS9hcHBhcm1vci9maWxlLmMgYi9zZWN1cml0eS9hcHBhcm1vci9maWxlLmMKaW5kZXggYzlk NTVmZTEwLi5iMGFmZDUyODkgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2FwcGFybW9yL2ZpbGUu YworKysgYi9zZWN1cml0eS9hcHBhcm1vci9maWxlLmMKQEAgLTYwLDEwICs2MCwxMCBAQCBz dGF0aWMgdm9pZCBmaWxlX2F1ZGl0X2NiKHN0cnVjdCBhdWRpdF9idWZmZXIgKmFiLCB2b2lk ICp2YSkKIAkJYXVkaXRfbG9nX2Zvcm1hdChhYiwgIiBkZW5pZWRfbWFzaz1cIiVzXCIiLCBz dHIpOwogCX0KIAlpZiAoYWQtPnJlcXVlc3QgJiBBQV9BVURJVF9GSUxFX01BU0spIHsKLQkJ YXVkaXRfbG9nX2Zvcm1hdChhYiwgIiBmc3VpZD0lZCIsCi0JCQkJIGZyb21fa3VpZCgmaW5p dF91c2VyX25zLCBmc3VpZCkpOwotCQlhdWRpdF9sb2dfZm9ybWF0KGFiLCAiIG91aWQ9JWQi LAotCQkJCSBmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywgYWQtPmZzLm91aWQpKTsKKwkJYXVk aXRfbG9nX2Zvcm1hdChhYiwgIiBmc3VpZD0lcyIsCisJCQkJIEtVSURfU1RSX0QoZnN1aWQp KTsKKwkJYXVkaXRfbG9nX2Zvcm1hdChhYiwgIiBvdWlkPSVzIiwKKwkJCQkgS1VJRF9TVFJf RChhZC0+ZnMub3VpZCkpOwogCX0KIAogCWlmIChhZC0+cGVlcikgewpkaWZmIC0tZ2l0IGEv c2VjdXJpdHkvaW50ZWdyaXR5L2ludGVncml0eV9hdWRpdC5jIGIvc2VjdXJpdHkvaW50ZWdy aXR5L2ludGVncml0eV9hdWRpdC5jCmluZGV4IGQ4ZDllNWZmMS4uY2M0OTU5MTgyIDEwMDY0 NAotLS0gYS9zZWN1cml0eS9pbnRlZ3JpdHkvaW50ZWdyaXR5X2F1ZGl0LmMKKysrIGIvc2Vj dXJpdHkvaW50ZWdyaXR5L2ludGVncml0eV9hdWRpdC5jCkBAIC00NywxMCArNDcsMTAgQEAg dm9pZCBpbnRlZ3JpdHlfYXVkaXRfbWVzc2FnZShpbnQgYXVkaXRfbXNnbm8sIHN0cnVjdCBp bm9kZSAqaW5vZGUsCiAJYWIgPSBhdWRpdF9sb2dfc3RhcnQoYXVkaXRfY29udGV4dCgpLCBH RlBfS0VSTkVMLCBhdWRpdF9tc2dubyk7CiAJaWYgKCFhYikKIAkJcmV0dXJuOwotCWF1ZGl0 X2xvZ19mb3JtYXQoYWIsICJwaWQ9JWQgdWlkPSV1IGF1aWQ9JXUgc2VzPSV1IiwKKwlhdWRp dF9sb2dfZm9ybWF0KGFiLCAicGlkPSVkIHVpZD0lcyBhdWlkPSVzIHNlcz0ldSIsCiAJCQkg dGFza19waWRfbnIoY3VycmVudCksCi0JCQkgZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIGN1 cnJlbnRfdWlkKCkpLAotCQkJIGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCBhdWRpdF9nZXRf bG9naW51aWQoY3VycmVudCkpLAorCQkJIEtVSURfU1RSKGN1cnJlbnRfdWlkKCkpLAorCQkJ IEtVSURfU1RSKGF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSksCiAJCQkgYXVkaXRfZ2V0 X3Nlc3Npb25pZChjdXJyZW50KSk7CiAJYXVkaXRfbG9nX3Rhc2tfY29udGV4dChhYik7CiAJ YXVkaXRfbG9nX2Zvcm1hdChhYiwgIiBvcD0lcyBjYXVzZT0lcyBjb21tPSIsIG9wLCBjYXVz ZSk7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9pcGUvYXVkaXQuYyBiL3NlY3VyaXR5L2lwZS9h dWRpdC5jCmluZGV4IDkzZmI1OWZiZC4uYWNlNjRjZjIxIDEwMDY0NAotLS0gYS9zZWN1cml0 eS9pcGUvYXVkaXQuYworKysgYi9zZWN1cml0eS9pcGUvYXVkaXQuYwpAQCAtMjIwLDggKzIy MCw4IEBAIHZvaWQgaXBlX2F1ZGl0X3BvbGljeV9hY3RpdmF0aW9uKGNvbnN0IHN0cnVjdCBp cGVfcG9saWN5ICpjb25zdCBvcCwKIAkJYXVkaXRfbG9nX2Zvcm1hdChhYiwgIiAiKTsKIAl9 CiAJYXVkaXRfcG9saWN5KGFiLCBBVURJVF9ORVdfQUNUSVZFX1BPTElDWV9GTVQsIG5wKTsK LQlhdWRpdF9sb2dfZm9ybWF0KGFiLCAiIGF1aWQ9JXUgc2VzPSV1IGxzbT1pcGUgcmVzPTEi LAotCQkJIGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCBhdWRpdF9nZXRfbG9naW51aWQoY3Vy cmVudCkpLAorCWF1ZGl0X2xvZ19mb3JtYXQoYWIsICIgYXVpZD0lcyBzZXM9JXUgbHNtPWlw ZSByZXM9MSIsCisJCQkgS1VJRF9TVFIoYXVkaXRfZ2V0X2xvZ2ludWlkKGN1cnJlbnQpKSwK IAkJCSBhdWRpdF9nZXRfc2Vzc2lvbmlkKGN1cnJlbnQpKTsKIAogCWF1ZGl0X2xvZ19lbmQo YWIpOwpAQCAtMjQ4LDggKzI0OCw4IEBAIHZvaWQgaXBlX2F1ZGl0X3BvbGljeV9sb2FkKGNv bnN0IHN0cnVjdCBpcGVfcG9saWN5ICpjb25zdCBwKQogCQllcnIgPSBQVFJfRVJSKHApOwog CX0KIAotCWF1ZGl0X2xvZ19mb3JtYXQoYWIsICIgYXVpZD0ldSBzZXM9JXUgbHNtPWlwZSBy ZXM9JWQgZXJybm89JWQiLAotCQkJIGZyb21fa3VpZCgmaW5pdF91c2VyX25zLCBhdWRpdF9n ZXRfbG9naW51aWQoY3VycmVudCkpLAorCWF1ZGl0X2xvZ19mb3JtYXQoYWIsICIgYXVpZD0l cyBzZXM9JXUgbHNtPWlwZSByZXM9JWQgZXJybm89JWQiLAorCQkJIEtVSURfU1RSKGF1ZGl0 X2dldF9sb2dpbnVpZChjdXJyZW50KSksCiAJCQkgYXVkaXRfZ2V0X3Nlc3Npb25pZChjdXJy ZW50KSwgIWVyciwgZXJyKTsKIAogCWF1ZGl0X2xvZ19lbmQoYWIpOwpAQCAtMjY5LDEwICsy NjksMTAgQEAgdm9pZCBpcGVfYXVkaXRfZW5mb3JjZShib29sIG5ld19lbmZvcmNlLCBib29s IG9sZF9lbmZvcmNlKQogCQlyZXR1cm47CiAKIAlhdWRpdF9sb2coYXVkaXRfY29udGV4dCgp LCBHRlBfS0VSTkVMLCBBVURJVF9NQUNfU1RBVFVTLAotCQkgICJlbmZvcmNpbmc9JWQgb2xk X2VuZm9yY2luZz0lZCBhdWlkPSV1IHNlcz0ldSIKKwkJICAiZW5mb3JjaW5nPSVkIG9sZF9l bmZvcmNpbmc9JWQgYXVpZD0lcyBzZXM9JXUiCiAJCSAgIiBlbmFibGVkPTEgb2xkLWVuYWJs ZWQ9MSBsc209aXBlIHJlcz0xIiwKIAkJICBuZXdfZW5mb3JjZSwgb2xkX2VuZm9yY2UsCi0J CSAgZnJvbV9rdWlkKCZpbml0X3VzZXJfbnMsIGF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50 KSksCisJCSAgS1VJRF9TVFIoYXVkaXRfZ2V0X2xvZ2ludWlkKGN1cnJlbnQpKSwKIAkJICBh dWRpdF9nZXRfc2Vzc2lvbmlkKGN1cnJlbnQpKTsKIAogCWF1ZGl0X2xvZ19lbmQoYWIpOwpk aWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zZWxpbnV4ZnMuYyBiL3NlY3VyaXR5L3Nl bGludXgvc2VsaW51eGZzLmMKaW5kZXggNWFhYWY2OTQxLi44MTNmNjkxNjkgMTAwNjQ0Ci0t LSBhL3NlY3VyaXR5L3NlbGludXgvc2VsaW51eGZzLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51 eC9zZWxpbnV4ZnMuYwpAQCAtMTYzLDEwICsxNjMsMTAgQEAgc3RhdGljIHNzaXplX3Qgc2Vs X3dyaXRlX2VuZm9yY2Uoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpi dWYsCiAJCWlmIChsZW5ndGgpCiAJCQlnb3RvIG91dDsKIAkJYXVkaXRfbG9nKGF1ZGl0X2Nv bnRleHQoKSwgR0ZQX0tFUk5FTCwgQVVESVRfTUFDX1NUQVRVUywKLQkJCSJlbmZvcmNpbmc9 JWQgb2xkX2VuZm9yY2luZz0lZCBhdWlkPSV1IHNlcz0ldSIKKwkJCSJlbmZvcmNpbmc9JWQg b2xkX2VuZm9yY2luZz0lZCBhdWlkPSVzIHNlcz0ldSIKIAkJCSIgZW5hYmxlZD0xIG9sZC1l bmFibGVkPTEgbHNtPXNlbGludXggcmVzPTEiLAogCQkJbmV3X3ZhbHVlLCBvbGRfdmFsdWUs Ci0JCQlmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywgYXVkaXRfZ2V0X2xvZ2ludWlkKGN1cnJl bnQpKSwKKwkJCUtVSURfU1RSKGF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSksCiAJCQlh dWRpdF9nZXRfc2Vzc2lvbmlkKGN1cnJlbnQpKTsKIAkJZW5mb3JjaW5nX3NldChuZXdfdmFs dWUpOwogCQlpZiAobmV3X3ZhbHVlKQpAQCAtNTgxLDggKzU4MSw4IEBAIHN0YXRpYyBzc2l6 ZV90IHNlbF93cml0ZV9sb2FkKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNl ciAqYnVmLAogCXNlbGludXhfcG9saWN5X2NvbW1pdCgmbG9hZF9zdGF0ZSk7CiAJbGVuZ3Ro ID0gY291bnQ7CiAJYXVkaXRfbG9nKGF1ZGl0X2NvbnRleHQoKSwgR0ZQX0tFUk5FTCwgQVVE SVRfTUFDX1BPTElDWV9MT0FELAotCQkiYXVpZD0ldSBzZXM9JXUgbHNtPXNlbGludXggcmVz PTEiLAotCQlmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywgYXVkaXRfZ2V0X2xvZ2ludWlkKGN1 cnJlbnQpKSwKKwkJImF1aWQ9JXMgc2VzPSV1IGxzbT1zZWxpbnV4IHJlcz0xIiwKKwkJS1VJ RF9TVFIoYXVkaXRfZ2V0X2xvZ2ludWlkKGN1cnJlbnQpKSwKIAkJYXVkaXRfZ2V0X3Nlc3Np b25pZChjdXJyZW50KSk7CiAKIG91dF91bmxvY2s6CmRpZmYgLS1naXQgYS9zZWN1cml0eS9z ZWxpbnV4L3NzL3NlcnZpY2VzLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NlcnZpY2VzLmMK aW5kZXggN2FmY2U5NzU0Li5kZDBkMzk3YjQgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGlu dXgvc3Mvc2VydmljZXMuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NlcnZpY2VzLmMK QEAgLTMwMTIsMTEgKzMwMTIsMTEgQEAgaW50IHNlY3VyaXR5X3NldF9ib29scyh1MzIgbGVu LCBjb25zdCBpbnQgKnZhbHVlcykKIAkJaWYgKG5ld19zdGF0ZSAhPSBvbGRfc3RhdGUpIHsK IAkJCWF1ZGl0X2xvZyhhdWRpdF9jb250ZXh0KCksIEdGUF9BVE9NSUMsCiAJCQkJQVVESVRf TUFDX0NPTkZJR19DSEFOR0UsCi0JCQkJImJvb2w9JXMgdmFsPSVkIG9sZF92YWw9JWQgYXVp ZD0ldSBzZXM9JXUiLAorCQkJCSJib29sPSVzIHZhbD0lZCBvbGRfdmFsPSVkIGF1aWQ9JXMg c2VzPSV1IiwKIAkJCQlzeW1fbmFtZSgmbmV3cG9saWN5LT5wb2xpY3lkYiwgU1lNX0JPT0xT LCBpKSwKIAkJCQluZXdfc3RhdGUsCiAJCQkJb2xkX3N0YXRlLAotCQkJCWZyb21fa3VpZCgm aW5pdF91c2VyX25zLCBhdWRpdF9nZXRfbG9naW51aWQoY3VycmVudCkpLAorCQkJCUtVSURf U1RSKGF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSksCiAJCQkJYXVkaXRfZ2V0X3Nlc3Np b25pZChjdXJyZW50KSk7CiAJCQluZXdwb2xpY3ktPnBvbGljeWRiLmJvb2xfdmFsX3RvX3N0 cnVjdFtpXS0+c3RhdGUgPSBuZXdfc3RhdGU7CiAJCX0K --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0028-net-add-SO_PEERCRED_R-SO_PEERGROUPS_R-and-SCM_CREDEN.patch" Content-Disposition: attachment; filename*0="uid_r-0028-net-add-SO_PEERCRED_R-SO_PEERGROUPS_R-and-SCM_CRE"; filename*1="DEN.patch" Content-Transfer-Encoding: base64 RnJvbSAzZWJiMmI2MWM3ZDMzZmRkOGM2ZTg3MTVjYTM3MjRmN2NlMDliZmZkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA2OjMxOjMyICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyOC80M10gbmV0OiBhZGQgU09fUEVFUkNSRURfUiwgU09fUEVFUkdST1VQU19SIGFu ZAogU0NNX0NSRURFTlRJQUxTX1IKClNlcnZpY2VzIGF1dGhlbnRpY2F0ZSBBRl9VTklYIHBl ZXJzIHdpdGggU09fUEVFUkNSRUQsIFNPX1BFRVJHUk9VUFMgYW5kClNDTV9DUkVERU5USUFM Uywgd2hpY2ggY2FycnkgMzIgYml0IGlkczogYSBVVUlEIG9yIEdVSUQgdXNlciBzaG93cyB1 cAphcyB0aGUgb3ZlcmZsb3cgaWQgdGhlcmUuCgpBZGQgdmFyaWFudHMgd2l0aCBfX2tlcm5l bF91aWRfcl90IGlkczoKCi0gU09fUEVFUkNSRURfUiByZXR1cm5zIGEgc3RydWN0IF9fa2Vy bmVsX3VjcmVkX3Igb2YgdGhlIHBlZXIsCi0gU09fUEVFUkdST1VQU19SIGl0cyBzdXBwbGVt ZW50YXJ5IGdyb3VwcyBhcyBfX2tlcm5lbF9naWRfcl90LAotIFNPX1BBU1NDUkVEX1IgYXNr cyBmb3IgU0NNX0NSRURFTlRJQUxTX1IgbWVzc2FnZXMsIHdpdGggYSBzdHJ1Y3QKICBfX2tl cm5lbF91Y3JlZF9yLCBuZXh0IHRvIG9yIGluc3RlYWQgb2YgU0NNX0NSRURFTlRJQUxTIChh IHNlcGFyYXRlCiAgb3B0aW9uLCBzbyByZWNlaXZlcnMgc2l6aW5nIHRoZWlyIGNvbnRyb2wg YnVmZmVyIGZvciBTQ01fQ1JFREVOVElBTFMKICBkb24ndCBnZXQgdHJ1bmNhdGVkKSwgYW5k IFNDTV9DUkVERU5USUFMU19SIGNhbiBiZSBzZW50IHdpdGggdGhlIHNhbWUKICBwcml2aWxl Z2UgcnVsZXMgYXMgU0NNX0NSRURFTlRJQUxTLgoKVGhlIGNsYXNzaWMgU0NNX0NSRURFTlRJ QUxTIHNlbmRpbmcgcGF0aCBub3cgc2hhcmVzIHRoZSBjaGVja3MgYW5kIHBpZApoYW5kbGlu ZyB3aXRoIGl0LiBOZXRsaW5rIGtlZXBzIGNsYXNzaWMgaWRzIGluIGl0cyBza2JzLCBzbyBp dCBoYW5kcyBvdXQKdGhlIG92ZXJmbG93IGlkIGZvciBVVUlEIHNlbmRlcnMgaW4gU0NNX0NS RURFTlRJQUxTX1IgdG9vLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUK LS0tCiBhcmNoL2FscGhhL2luY2x1ZGUvdWFwaS9hc20vc29ja2V0LmggIHwgIDQgKysKIGFy Y2gvbWlwcy9pbmNsdWRlL3VhcGkvYXNtL3NvY2tldC5oICAgfCAgNCArKwogYXJjaC9wYXJp c2MvaW5jbHVkZS91YXBpL2FzbS9zb2NrZXQuaCB8ICA0ICsrCiBhcmNoL3NwYXJjL2luY2x1 ZGUvdWFwaS9hc20vc29ja2V0LmggIHwgIDQgKysKIGluY2x1ZGUvbGludXgvc29ja2V0Lmgg ICAgICAgICAgICAgICAgfCAgMSArCiBpbmNsdWRlL25ldC9zb2NrLmggICAgICAgICAgICAg ICAgICAgIHwgIDQgKy0KIGluY2x1ZGUvdWFwaS9hc20tZ2VuZXJpYy9zb2NrZXQuaCAgICAg fCAgNCArKwogaW5jbHVkZS91YXBpL2xpbnV4L3NvY2tldC5oICAgICAgICAgICB8ICA5ICsr KwogbmV0L2NvcmUvc2NtLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDk0ICsrKysrKysr KysrKysrKysrKy0tLS0tLS0tLQogbmV0L2NvcmUvc29jay5jICAgICAgICAgICAgICAgICAg ICAgICB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKwogbmV0L3VuaXgvYWZfdW5peC5j ICAgICAgICAgICAgICAgICAgICB8ICAzICstCiAxMSBmaWxlcyBjaGFuZ2VkLCAxODEgaW5z ZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9p bmNsdWRlL3VhcGkvYXNtL3NvY2tldC5oIGIvYXJjaC9hbHBoYS9pbmNsdWRlL3VhcGkvYXNt L3NvY2tldC5oCmluZGV4IDVlZjU3Zjg4ZC4uZmExZWU1NGI2IDEwMDY0NAotLS0gYS9hcmNo L2FscGhhL2luY2x1ZGUvdWFwaS9hc20vc29ja2V0LmgKKysrIGIvYXJjaC9hbHBoYS9pbmNs dWRlL3VhcGkvYXNtL3NvY2tldC5oCkBAIC0xNTMsNiArMTUzLDEwIEBACiAjZGVmaW5lIFNP X1BBU1NSSUdIVFMJCTgzCiAKICNkZWZpbmUgU09fSU5RCQkJODQKKworI2RlZmluZSBTT19Q RUVSQ1JFRF9SCQk4NQorI2RlZmluZSBTT19QRUVSR1JPVVBTX1IJCTg2CisjZGVmaW5lIFNP X1BBU1NDUkVEX1IJCTg3CiAjZGVmaW5lIFNDTV9JTlEJCQlTT19JTlEKIAogI2lmICFkZWZp bmVkKF9fS0VSTkVMX18pCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvaW5jbHVkZS91YXBpL2Fz bS9zb2NrZXQuaCBiL2FyY2gvbWlwcy9pbmNsdWRlL3VhcGkvYXNtL3NvY2tldC5oCmluZGV4 IDcyZmIxYjAwNi4uNWM5ZTdiYTczIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvaW5jbHVkZS91 YXBpL2FzbS9zb2NrZXQuaAorKysgYi9hcmNoL21pcHMvaW5jbHVkZS91YXBpL2FzbS9zb2Nr ZXQuaApAQCAtMTY0LDYgKzE2NCwxMCBAQAogI2RlZmluZSBTT19QQVNTUklHSFRTCQk4Mwog CiAjZGVmaW5lIFNPX0lOUQkJCTg0CisKKyNkZWZpbmUgU09fUEVFUkNSRURfUgkJODUKKyNk ZWZpbmUgU09fUEVFUkdST1VQU19SCQk4NgorI2RlZmluZSBTT19QQVNTQ1JFRF9SCQk4Nwog I2RlZmluZSBTQ01fSU5RCQkJU09fSU5RCiAKICNpZiAhZGVmaW5lZChfX0tFUk5FTF9fKQpk aWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2MvaW5jbHVkZS91YXBpL2FzbS9zb2NrZXQuaCBiL2Fy Y2gvcGFyaXNjL2luY2x1ZGUvdWFwaS9hc20vc29ja2V0LmgKaW5kZXggYzE2ZWMzNmRmLi41 YTkzY2RiZmEgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL2luY2x1ZGUvdWFwaS9hc20vc29j a2V0LmgKKysrIGIvYXJjaC9wYXJpc2MvaW5jbHVkZS91YXBpL2FzbS9zb2NrZXQuaApAQCAt MTQ1LDYgKzE0NSwxMCBAQAogI2RlZmluZSBTT19QQVNTUklHSFRTCQkweDQwNTEKIAogI2Rl ZmluZSBTT19JTlEJCQkweDQwNTIKKworI2RlZmluZSBTT19QRUVSQ1JFRF9SCQkweDQwNTMK KyNkZWZpbmUgU09fUEVFUkdST1VQU19SCQkweDQwNTQKKyNkZWZpbmUgU09fUEFTU0NSRURf UgkJMHg0MDU1CiAjZGVmaW5lIFNDTV9JTlEJCQlTT19JTlEKIAogI2lmICFkZWZpbmVkKF9f S0VSTkVMX18pCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjL2luY2x1ZGUvdWFwaS9hc20vc29j a2V0LmggYi9hcmNoL3NwYXJjL2luY2x1ZGUvdWFwaS9hc20vc29ja2V0LmgKaW5kZXggNzFi ZWZhMTA5Li4zY2E2ODU1MzMgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmMvaW5jbHVkZS91YXBp L2FzbS9zb2NrZXQuaAorKysgYi9hcmNoL3NwYXJjL2luY2x1ZGUvdWFwaS9hc20vc29ja2V0 LmgKQEAgLTE0Niw2ICsxNDYsMTAgQEAKICNkZWZpbmUgU09fUEFTU1JJR0hUUyAgICAgICAg ICAgIDB4MDA1YwogCiAjZGVmaW5lIFNPX0lOUSAgICAgICAgICAgICAgICAgICAweDAwNWQK KworI2RlZmluZSBTT19QRUVSQ1JFRF9SICAgICAgICAgICAgMHgwMDVlCisjZGVmaW5lIFNP X1BFRVJHUk9VUFNfUiAgICAgICAgICAweDAwNWYKKyNkZWZpbmUgU09fUEFTU0NSRURfUiAg ICAgICAgICAgIDB4MDA2MAogI2RlZmluZSBTQ01fSU5RICAgICAgICAgICAgICAgICAgU09f SU5RCiAKICNpZiAhZGVmaW5lZChfX0tFUk5FTF9fKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9s aW51eC9zb2NrZXQuaCBiL2luY2x1ZGUvbGludXgvc29ja2V0LmgKaW5kZXggMmE4ZDdiMTRm Li44OTQ4NGJjNmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc29ja2V0LmgKKysrIGIv aW5jbHVkZS9saW51eC9zb2NrZXQuaApAQCAtMTkzLDYgKzE5Myw3IEBAIHN0YXRpYyBpbmxp bmUgc2l6ZV90IG1zZ19kYXRhX2xlZnQoY29uc3Qgc3RydWN0IG1zZ2hkciAqbXNnKQogI2Rl ZmluZSBTQ01fQ1JFREVOVElBTFMgMHgwMgkJLyogcnc6IHN0cnVjdCB1Y3JlZAkJKi8KICNk ZWZpbmUgU0NNX1NFQ1VSSVRZCTB4MDMJCS8qIHJ3OiBzZWN1cml0eSBsYWJlbAkJKi8KICNk ZWZpbmUgU0NNX1BJREZECTB4MDQJCS8qIHJvOiBwaWRmZCAoaW50KQkJKi8KKyNkZWZpbmUg U0NNX0NSRURFTlRJQUxTX1IgMHgwNQkJLyogcnc6IHN0cnVjdCBfX2tlcm5lbF91Y3JlZF9y CSovCiAKIHN0cnVjdCB1Y3JlZCB7CiAJX191MzIJcGlkOwpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9uZXQvc29jay5oIGIvaW5jbHVkZS9uZXQvc29jay5oCmluZGV4IDA5ODZkOTQ2Ni4uNzA1 NWFmY2YwIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9zb2NrLmgKKysrIGIvaW5jbHVkZS9u ZXQvc29jay5oCkBAIC0zNTgsNiArMzU4LDcgQEAgc3RydWN0IHNrX2ZpbHRlcjsKICAgKglA c2tfc2NtX3NlY3VyaXR5OiBmbGFnZ2VkIGJ5IFNPX1BBU1NTRUMgdG8gcmVjdiBTQ01fU0VD VVJJVFkKICAgKglAc2tfc2NtX3BpZGZkOiBmbGFnZ2VkIGJ5IFNPX1BBU1NQSURGRCB0byBy ZWN2IFNDTV9QSURGRAogICAqCUBza19zY21fcmlnaHRzOiBmbGFnZ2VkIGJ5IFNPX1BBU1NS SUdIVFMgdG8gcmVjdiBTQ01fUklHSFRTCisgICoJQHNrX3NjbV9jcmVkZW50aWFsc19yOiBm bGFnZ2VkIGJ5IFNPX1BBU1NDUkVEX1IgdG8gcmVjdiBTQ01fQ1JFREVOVElBTFNfUgogICAq CUBza19zY21fdW51c2VkOiB1bnVzZWQgZmxhZ3MgZm9yIHNjbV9yZWN2KCkKICAgKglAbnNf dHJhY2tlcjogdHJhY2tlciBmb3IgbmV0bnMgcmVmZXJlbmNlCiAgICoJQHNrX3VzZXJfZnJh Z3M6IHhhcnJheSBvZiBwYWdlcyB0aGUgdXNlciBpcyBob2xkaW5nIGEgcmVmZXJlbmNlIG9u LgpAQCAtNTY1LDcgKzU2Niw4IEBAIHN0cnVjdCBzb2NrIHsKIAkJCQlza19zY21fc2VjdXJp dHkgOiAxLAogCQkJCXNrX3NjbV9waWRmZCA6IDEsCiAJCQkJc2tfc2NtX3JpZ2h0cyA6IDEs Ci0JCQkJc2tfc2NtX3VudXNlZCA6IDQ7CisJCQkJc2tfc2NtX2NyZWRlbnRpYWxzX3IgOiAx LAorCQkJCXNrX3NjbV91bnVzZWQgOiAzOwogCQl9OwogCX07CiAJdTgJCQlza19jbG9ja2lk OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2FzbS1nZW5lcmljL3NvY2tldC5oIGIvaW5j bHVkZS91YXBpL2FzbS1nZW5lcmljL3NvY2tldC5oCmluZGV4IDUzYjVhOGMwMC4uODljOTI3 ZWIwIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvYXNtLWdlbmVyaWMvc29ja2V0LmgKKysr IGIvaW5jbHVkZS91YXBpL2FzbS1nZW5lcmljL3NvY2tldC5oCkBAIC0xNDgsNiArMTQ4LDEw IEBACiAjZGVmaW5lIFNPX1BBU1NSSUdIVFMJCTgzCiAKICNkZWZpbmUgU09fSU5RCQkJODQK KworI2RlZmluZSBTT19QRUVSQ1JFRF9SCQk4NQorI2RlZmluZSBTT19QRUVSR1JPVVBTX1IJ CTg2CisjZGVmaW5lIFNPX1BBU1NDUkVEX1IJCTg3CiAjZGVmaW5lIFNDTV9JTlEJCQlTT19J TlEKIAogI2lmICFkZWZpbmVkKF9fS0VSTkVMX18pCmRpZmYgLS1naXQgYS9pbmNsdWRlL3Vh cGkvbGludXgvc29ja2V0LmggYi9pbmNsdWRlL3VhcGkvbGludXgvc29ja2V0LmgKaW5kZXgg ZDNmY2QzYjVlLi4zOGQzY2Q4MTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9z b2NrZXQuaAorKysgYi9pbmNsdWRlL3VhcGkvbGludXgvc29ja2V0LmgKQEAgLTIsNiArMiw4 IEBACiAjaWZuZGVmIF9VQVBJX0xJTlVYX1NPQ0tFVF9ICiAjZGVmaW5lIF9VQVBJX0xJTlVY X1NPQ0tFVF9ICiAKKyNpbmNsdWRlIDxsaW51eC91aWRnaWRfci5oPgorCiAvKgogICogRGVz aXJlZCBkZXNpZ24gb2YgbWF4aW11bSBzaXplIGFuZCBhbGlnbm1lbnQgKHNlZSBSRkMyNTUz KQogICovCkBAIC0zNSw0ICszNywxMSBAQCBzdHJ1Y3QgX19rZXJuZWxfc29ja2FkZHJfc3Rv cmFnZSB7CiAjZGVmaW5lIFNPQ0tfVFhSRUhBU0hfRElTQUJMRUQJMAogI2RlZmluZSBTT0NL X1RYUkVIQVNIX0VOQUJMRUQJMQogCisvKiBTT19QRUVSQ1JFRF9SIGFuZCBTQ01fQ1JFREVO VElBTFNfUjogc3RydWN0IHVjcmVkIHdpdGggVVVJRHMgYW5kIEdVSURzICovCitzdHJ1Y3Qg X19rZXJuZWxfdWNyZWRfciB7CisJX191MzIJCQlwaWQ7CisJX19rZXJuZWxfdWlkX3JfdAl1 aWQ7CisJX19rZXJuZWxfZ2lkX3JfdAlnaWQ7Cit9OworCiAjZW5kaWYgLyogX1VBUElfTElO VVhfU09DS0VUX0ggKi8KZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NjbS5jIGIvbmV0L2NvcmUv c2NtLmMKaW5kZXggZWVjMTNmNTBlLi44OTlkYjdiNTYgMTAwNjQ0Ci0tLSBhL25ldC9jb3Jl L3NjbS5jCisrKyBiL25ldC9jb3JlL3NjbS5jCkBAIC00MCwyMiArNDAsMTkgQEAKICNpbmNs dWRlIDxuZXQvY2xzX2Nncm91cC5oPgogI2luY2x1ZGUgPG5ldC9hZl91bml4Lmg+CiAKLQog LyoKICAqCU9ubHkgYWxsb3cgYSB1c2VyIHRvIHNlbmQgY3JlZGVudGlhbHMsIHRoYXQgdGhl eSBjb3VsZCBzZXQgd2l0aAogICoJc2V0dShnKWlkLgogICovCiAKLXN0YXRpYyBfX2lubGlu ZV9fIGludCBzY21fY2hlY2tfY3JlZHMoc3RydWN0IHVjcmVkICpjcmVkcykKK3N0YXRpYyBp bnQgc2NtX2NoZWNrX2tjcmVkcyh1MzIgcGlkLCBrdWlkX3QgdWlkLCBrZ2lkX3QgZ2lkKQog ewogCWNvbnN0IHN0cnVjdCBjcmVkICpjcmVkID0gY3VycmVudF9jcmVkKCk7Ci0Ja3VpZF90 IHVpZCA9IG1ha2Vfa3VpZChjcmVkLT51c2VyX25zLCBjcmVkcy0+dWlkKTsKLQlrZ2lkX3Qg Z2lkID0gbWFrZV9rZ2lkKGNyZWQtPnVzZXJfbnMsIGNyZWRzLT5naWQpOwogCiAJaWYgKCF1 aWRfdmFsaWQodWlkKSB8fCAhZ2lkX3ZhbGlkKGdpZCkpCiAJCXJldHVybiAtRUlOVkFMOwog Ci0JaWYgKChjcmVkcy0+cGlkID09IHRhc2tfdGdpZF92bnIoY3VycmVudCkgfHwKKwlpZiAo KHBpZCA9PSB0YXNrX3RnaWRfdm5yKGN1cnJlbnQpIHx8CiAJICAgICBuc19jYXBhYmxlKHRh c2tfYWN0aXZlX3BpZF9ucyhjdXJyZW50KS0+dXNlcl9ucywgQ0FQX1NZU19BRE1JTikpICYm CiAJICAgICgodWlkX2VxKHVpZCwgY3JlZC0+dWlkKSAgIHx8IHVpZF9lcSh1aWQsIGNyZWQt PmV1aWQpIHx8CiAJICAgICAgdWlkX2VxKHVpZCwgY3JlZC0+c3VpZCkpIHx8IG5zX2NhcGFi bGUoY3JlZC0+dXNlcl9ucywgQ0FQX1NFVFVJRCkpICYmCkBAIC0xNjMsNiArMTYwLDMwIEBA IHN0YXRpYyBpbmxpbmUgaW50IHNjbV9yZXBsYWNlX3BpZChzdHJ1Y3Qgc2NtX2Nvb2tpZSAq c2NtLCBzdHJ1Y3QgcGlkICpwaWQpCiAJcmV0dXJuIDA7CiB9CiAKKy8qIFRoZSBzZW5kZXIn cyBwaWQgaW4gQHAgaXMgQHBpZCwgYW5kIHRoZSBzZW5kZXIgaWRzIEB1aWQgYW5kIEBnaWQg Ki8KK3N0YXRpYyBpbnQgc2NtX3NldF9jcmVkcyhzdHJ1Y3Qgc2NtX2Nvb2tpZSAqcCwgdTMy IHBpZCwga3VpZF90IHVpZCwga2dpZF90IGdpZCkKK3sKKwlpbnQgZXJyOworCisJaWYgKCFw LT5waWQgfHwgcGlkX3ZucihwLT5waWQpICE9IHBpZCkgeworCQlzdHJ1Y3QgcGlkICprcGlk ID0gZmluZF9nZXRfcGlkKHBpZCk7CisKKwkJaWYgKCFrcGlkKQorCQkJcmV0dXJuIC1FU1JD SDsKKwkJLyogcGFzcyBhIHN0cnVjdCBwaWQgcmVmZXJlbmNlIGZyb20gZmluZF9nZXRfcGlk KCkgdG8KKwkJICogc2NtX3JlcGxhY2VfcGlkKCkuCisJCSAqLworCQllcnIgPSBzY21fcmVw bGFjZV9waWQocCwga3BpZCk7CisJCWlmIChlcnIpIHsKKwkJCXB1dF9waWQoa3BpZCk7CisJ CQlyZXR1cm4gZXJyOworCQl9CisJfQorCXAtPmNyZWRzLnVpZCA9IHVpZDsKKwlwLT5jcmVk cy5naWQgPSBnaWQ7CisJcmV0dXJuIDA7Cit9CisKIGludCBfX3NjbV9zZW5kKHN0cnVjdCBz b2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywgc3RydWN0IHNjbV9jb29raWUgKnAp CiB7CiAJY29uc3Qgc3RydWN0IHByb3RvX29wcyAqb3BzID0gUkVBRF9PTkNFKHNvY2stPm9w cyk7CkBAIC0yMDMsMzUgKzIyNCwzMyBAQCBpbnQgX19zY21fc2VuZChzdHJ1Y3Qgc29ja2V0 ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csIHN0cnVjdCBzY21fY29va2llICpwKQogCQkJ aWYgKGNtc2ctPmNtc2dfbGVuICE9IENNU0dfTEVOKHNpemVvZihzdHJ1Y3QgdWNyZWQpKSkK IAkJCQlnb3RvIGVycm9yOwogCQkJbWVtY3B5KCZjcmVkcywgQ01TR19EQVRBKGNtc2cpLCBz aXplb2Yoc3RydWN0IHVjcmVkKSk7Ci0JCQllcnIgPSBzY21fY2hlY2tfY3JlZHMoJmNyZWRz KTsKLQkJCWlmIChlcnIpCi0JCQkJZ290byBlcnJvcjsKLQotCQkJaWYgKCFwLT5waWQgfHwg cGlkX3ZucihwLT5waWQpICE9IGNyZWRzLnBpZCkgewotCQkJCXN0cnVjdCBwaWQgKnBpZDsK LQkJCQllcnIgPSAtRVNSQ0g7Ci0JCQkJcGlkID0gZmluZF9nZXRfcGlkKGNyZWRzLnBpZCk7 Ci0JCQkJaWYgKCFwaWQpCi0JCQkJCWdvdG8gZXJyb3I7Ci0KLQkJCQkvKiBwYXNzIGEgc3Ry dWN0IHBpZCByZWZlcmVuY2UgZnJvbQotCQkJCSAqIGZpbmRfZ2V0X3BpZCgpIHRvIHNjbV9y ZXBsYWNlX3BpZCgpLgotCQkJCSAqLwotCQkJCWVyciA9IHNjbV9yZXBsYWNlX3BpZChwLCBw aWQpOwotCQkJCWlmIChlcnIpIHsKLQkJCQkJcHV0X3BpZChwaWQpOwotCQkJCQlnb3RvIGVy cm9yOwotCQkJCX0KLQkJCX0KLQotCQkJZXJyID0gLUVJTlZBTDsKIAkJCXVpZCA9IG1ha2Vf a3VpZChjdXJyZW50X3VzZXJfbnMoKSwgY3JlZHMudWlkKTsKIAkJCWdpZCA9IG1ha2Vfa2dp ZChjdXJyZW50X3VzZXJfbnMoKSwgY3JlZHMuZ2lkKTsKLQkJCWlmICghdWlkX3ZhbGlkKHVp ZCkgfHwgIWdpZF92YWxpZChnaWQpKQorCQkJZXJyID0gc2NtX2NoZWNrX2tjcmVkcyhjcmVk cy5waWQsIHVpZCwgZ2lkKTsKKwkJCWlmICghZXJyKQorCQkJCWVyciA9IHNjbV9zZXRfY3Jl ZHMocCwgY3JlZHMucGlkLCB1aWQsIGdpZCk7CisJCQlpZiAoZXJyKQogCQkJCWdvdG8gZXJy b3I7CisJCQlicmVhazsKKwkJfQorCQkvKiBTQ01fQ1JFREVOVElBTFMgd2l0aCBfX2tlcm5l bF91aWRfcl90IGlkcyAqLworCQljYXNlIFNDTV9DUkVERU5USUFMU19SOgorCQl7CisJCQlz dHJ1Y3QgX19rZXJuZWxfdWNyZWRfciBjcmVkczsKKwkJCXN0cnVjdCB1c2VyX25hbWVzcGFj ZSAqbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsKKwkJCWt1aWRfdCB1aWQ7CisJCQlrZ2lkX3Qg Z2lkOwogCi0JCQlwLT5jcmVkcy51aWQgPSB1aWQ7Ci0JCQlwLT5jcmVkcy5naWQgPSBnaWQ7 CisJCQlpZiAoY21zZy0+Y21zZ19sZW4gIT0gQ01TR19MRU4oc2l6ZW9mKGNyZWRzKSkpCisJ CQkJZ290byBlcnJvcjsKKwkJCW1lbWNweSgmY3JlZHMsIENNU0dfREFUQShjbXNnKSwgc2l6 ZW9mKGNyZWRzKSk7CisJCQl1aWQgPSBtYWtlX2t1aWRfcihucywgJmNyZWRzLnVpZCk7CisJ CQlnaWQgPSBtYWtlX2tnaWRfcihucywgJmNyZWRzLmdpZCk7CisJCQllcnIgPSBzY21fY2hl Y2tfa2NyZWRzKGNyZWRzLnBpZCwgdWlkLCBnaWQpOworCQkJaWYgKCFlcnIpCisJCQkJZXJy ID0gc2NtX3NldF9jcmVkcyhwLCBjcmVkcy5waWQsIHVpZCwgZ2lkKTsKKwkJCWlmIChlcnIp CisJCQkJZ290byBlcnJvcjsKIAkJCWJyZWFrOwogCQl9CiAJCWRlZmF1bHQ6CkBAIC01MDIs OCArNTIxLDggQEAgc3RhdGljIGJvb2wgX19zY21fcmVjdl9jb21tb24oc3RydWN0IHNvY2sg KnNrLCBzdHJ1Y3QgbXNnaGRyICptc2csCiAJCQkgICAgICBzdHJ1Y3Qgc2NtX2Nvb2tpZSAq c2NtLCBpbnQgZmxhZ3MpCiB7CiAJaWYgKCFtc2ctPm1zZ19jb250cm9sKSB7Ci0JCWlmIChz ay0+c2tfc2NtX2NyZWRlbnRpYWxzIHx8IHNrLT5za19zY21fcGlkZmQgfHwKLQkJICAgIHNj bS0+ZnAgfHwgc2NtX2hhc19zZWNkYXRhKHNrKSkKKwkJaWYgKHNrLT5za19zY21fY3JlZGVu dGlhbHMgfHwgc2stPnNrX3NjbV9jcmVkZW50aWFsc19yIHx8CisJCSAgICBzay0+c2tfc2Nt X3BpZGZkIHx8IHNjbS0+ZnAgfHwgc2NtX2hhc19zZWNkYXRhKHNrKSkKIAkJCW1zZy0+bXNn X2ZsYWdzIHw9IE1TR19DVFJVTkM7CiAKIAkJc2NtX2Rlc3Ryb3koc2NtKTsKQEAgLTUyMSw2 ICs1NDAsMTcgQEAgc3RhdGljIGJvb2wgX19zY21fcmVjdl9jb21tb24oc3RydWN0IHNvY2sg KnNrLCBzdHJ1Y3QgbXNnaGRyICptc2csCiAJCXB1dF9jbXNnKG1zZywgU09MX1NPQ0tFVCwg U0NNX0NSRURFTlRJQUxTLCBzaXplb2YodWNyZWRzKSwgJnVjcmVkcyk7CiAJfQogCisJaWYg KHNrLT5za19zY21fY3JlZGVudGlhbHNfcikgeworCQlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2Ug KmN1cnJlbnRfbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsKKwkJc3RydWN0IF9fa2VybmVsX3Vj cmVkX3IgdWNyZWRzOworCisJCW1lbXNldCgmdWNyZWRzLCAwLCBzaXplb2YodWNyZWRzKSk7 CisJCXVjcmVkcy5waWQgPSBzY20tPmNyZWRzLnBpZDsKKwkJZnJvbV9rdWlkX3JfbXVuZ2Vk KGN1cnJlbnRfbnMsIHNjbS0+Y3JlZHMudWlkLCAmdWNyZWRzLnVpZCk7CisJCWZyb21fa2dp ZF9yX211bmdlZChjdXJyZW50X25zLCBzY20tPmNyZWRzLmdpZCwgJnVjcmVkcy5naWQpOwor CQlwdXRfY21zZyhtc2csIFNPTF9TT0NLRVQsIFNDTV9DUkVERU5USUFMU19SLCBzaXplb2Yo dWNyZWRzKSwgJnVjcmVkcyk7CisJfQorCiAJc2NtX3Bhc3NlYyhzaywgbXNnLCBzY20pOwog CiAJaWYgKHNjbS0+ZnApCmRpZmYgLS1naXQgYS9uZXQvY29yZS9zb2NrLmMgYi9uZXQvY29y ZS9zb2NrLmMKaW5kZXggZTgxNDgyOGU0Li4xZTNkMTVmM2IgMTAwNjQ0Ci0tLSBhL25ldC9j b3JlL3NvY2suYworKysgYi9uZXQvY29yZS9zb2NrLmMKQEAgLTE1ODUsNiArMTU4NSwxMyBA QCBpbnQgc2tfc2V0c29ja29wdChzdHJ1Y3Qgc29jayAqc2ssIGludCBsZXZlbCwgaW50IG9w dG5hbWUsCiAJCQlyZXQgPSAtRU9QTk9UU1VQUDsKIAkJYnJlYWs7CiAKKwljYXNlIFNPX1BB U1NDUkVEX1I6CisJCWlmIChza19tYXlfc2NtX3JlY3Yoc2spKQorCQkJc2stPnNrX3NjbV9j cmVkZW50aWFsc19yID0gdmFsYm9vbDsKKwkJZWxzZQorCQkJcmV0ID0gLUVPUE5PVFNVUFA7 CisJCWJyZWFrOworCiAJY2FzZSBTT19JTkNPTUlOR19DUFU6CiAJCXJldXNlcG9ydF91cGRh dGVfaW5jb21pbmdfY3B1KHNrLCB2YWwpOwogCQlicmVhazsKQEAgLTE3MTQsNiArMTcyMSwz NCBAQCBzdGF0aWMgdm9pZCBjcmVkX3RvX3VjcmVkKHN0cnVjdCBwaWQgKnBpZCwgY29uc3Qg c3RydWN0IGNyZWQgKmNyZWQsCiAJfQogfQogCitzdGF0aWMgdm9pZCBjcmVkX3RvX3VjcmVk X3Ioc3RydWN0IHBpZCAqcGlkLCBjb25zdCBzdHJ1Y3QgY3JlZCAqY3JlZCwKKwkJCSAgICBz dHJ1Y3QgX19rZXJuZWxfdWNyZWRfciAqdWNyZWQpCit7CisJc3RydWN0IHVzZXJfbmFtZXNw YWNlICpjdXJyZW50X25zID0gY3VycmVudF91c2VyX25zKCk7CisKKwltZW1zZXQodWNyZWQs IDAsIHNpemVvZigqdWNyZWQpKTsKKwl1Y3JlZC0+cGlkID0gcGlkX3ZucihwaWQpOworCWlm IChjcmVkKSB7CisJCWZyb21fa3VpZF9yX211bmdlZChjdXJyZW50X25zLCBjcmVkLT5ldWlk LCAmdWNyZWQtPnVpZCk7CisJCWZyb21fa2dpZF9yX211bmdlZChjdXJyZW50X25zLCBjcmVk LT5lZ2lkLCAmdWNyZWQtPmdpZCk7CisJfQorfQorCitzdGF0aWMgaW50IGdyb3Vwc190b191 c2VyX3Ioc29ja3B0cl90IGRzdCwgY29uc3Qgc3RydWN0IGdyb3VwX2luZm8gKnNyYykKK3sK KwlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnVzZXJfbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsK KwlfX2tlcm5lbF9naWRfcl90IGdpZDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBz cmMtPm5ncm91cHM7IGkrKykgeworCQlmcm9tX2tnaWRfcl9tdW5nZWQodXNlcl9ucywgc3Jj LT5naWRbaV0sICZnaWQpOworCQlpZiAoY29weV90b19zb2NrcHRyX29mZnNldChkc3QsIGkg KiBzaXplb2YoZ2lkKSwgJmdpZCwgc2l6ZW9mKGdpZCkpKQorCQkJcmV0dXJuIC1FRkFVTFQ7 CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgZ3JvdXBzX3RvX3VzZXIoc29j a3B0cl90IGRzdCwgY29uc3Qgc3RydWN0IGdyb3VwX2luZm8gKnNyYykKIHsKIAlzdHJ1Y3Qg dXNlcl9uYW1lc3BhY2UgKnVzZXJfbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsKQEAgLTE5MDAs NiArMTkzNSwxMyBAQCBpbnQgc2tfZ2V0c29ja29wdChzdHJ1Y3Qgc29jayAqc2ssIGludCBs ZXZlbCwgaW50IG9wdG5hbWUsCiAJCXYudmFsID0gc2stPnNrX3NjbV9yaWdodHM7CiAJCWJy ZWFrOwogCisJY2FzZSBTT19QQVNTQ1JFRF9SOgorCQlpZiAoIXNrX21heV9zY21fcmVjdihz aykpCisJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisKKwkJdi52YWwgPSBzay0+c2tfc2NtX2Ny ZWRlbnRpYWxzX3I7CisJCWJyZWFrOworCiAJY2FzZSBTT19QRUVSQ1JFRDoKIAl7CiAJCXN0 cnVjdCB1Y3JlZCBwZWVyY3JlZDsKQEAgLTE5MTUsNiArMTk1NywyMyBAQCBpbnQgc2tfZ2V0 c29ja29wdChzdHJ1Y3Qgc29jayAqc2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUsCiAJCWdv dG8gbGVub3V0OwogCX0KIAorCS8qIExpa2UgU09fUEVFUkNSRUQsIHdpdGggdWlkIGFuZCBn aWQgYXMgX19rZXJuZWxfdWlkX3JfdCAqLworCWNhc2UgU09fUEVFUkNSRURfUjoKKwl7CisJ CXN0cnVjdCBfX2tlcm5lbF91Y3JlZF9yIHBlZXJjcmVkOworCisJCWlmIChsZW4gPiBzaXpl b2YocGVlcmNyZWQpKQorCQkJbGVuID0gc2l6ZW9mKHBlZXJjcmVkKTsKKworCQlzcGluX2xv Y2soJnNrLT5za19wZWVyX2xvY2spOworCQljcmVkX3RvX3VjcmVkX3Ioc2stPnNrX3BlZXJf cGlkLCBzay0+c2tfcGVlcl9jcmVkLCAmcGVlcmNyZWQpOworCQlzcGluX3VubG9jaygmc2st PnNrX3BlZXJfbG9jayk7CisKKwkJaWYgKGNvcHlfdG9fc29ja3B0cihvcHR2YWwsICZwZWVy Y3JlZCwgbGVuKSkKKwkJCXJldHVybiAtRUZBVUxUOworCQlnb3RvIGxlbm91dDsKKwl9CisK IAljYXNlIFNPX1BFRVJQSURGRDoKIAl7CiAJCXN0cnVjdCBwaWQgKnBlZXJfcGlkOwpAQCAt MTk4MCw2ICsyMDM5LDMxIEBAIGludCBza19nZXRzb2Nrb3B0KHN0cnVjdCBzb2NrICpzaywg aW50IGxldmVsLCBpbnQgb3B0bmFtZSwKIAkJZ290byBsZW5vdXQ7CiAJfQogCisJLyogTGlr ZSBTT19QRUVSR1JPVVBTLCB3aXRoIGFuIGFycmF5IG9mIF9fa2VybmVsX2dpZF9yX3QgKi8K KwljYXNlIFNPX1BFRVJHUk9VUFNfUjoKKwl7CisJCWNvbnN0IHN0cnVjdCBjcmVkICpjcmVk OworCQlpbnQgcmV0LCBuOworCisJCWNyZWQgPSBza19nZXRfcGVlcl9jcmVkKHNrKTsKKwkJ aWYgKCFjcmVkKQorCQkJcmV0dXJuIC1FTk9EQVRBOworCisJCW4gPSBjcmVkLT5ncm91cF9p bmZvLT5uZ3JvdXBzOworCQlpZiAobGVuIDwgbiAqIHNpemVvZihfX2tlcm5lbF9naWRfcl90 KSkgeworCQkJbGVuID0gbiAqIHNpemVvZihfX2tlcm5lbF9naWRfcl90KTsKKwkJCXB1dF9j cmVkKGNyZWQpOworCQkJcmV0dXJuIGNvcHlfdG9fc29ja3B0cihvcHRsZW4sICZsZW4sIHNp emVvZihpbnQpKSA/IC1FRkFVTFQgOiAtRVJBTkdFOworCQl9CisJCWxlbiA9IG4gKiBzaXpl b2YoX19rZXJuZWxfZ2lkX3JfdCk7CisKKwkJcmV0ID0gZ3JvdXBzX3RvX3VzZXJfcihvcHR2 YWwsIGNyZWQtPmdyb3VwX2luZm8pOworCQlwdXRfY3JlZChjcmVkKTsKKwkJaWYgKHJldCkK KwkJCXJldHVybiByZXQ7CisJCWdvdG8gbGVub3V0OworCX0KKwogCWNhc2UgU09fUEVFUk5B TUU6CiAJewogCQlzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBhZGRyZXNzOwpkaWZmIC0tZ2l0 IGEvbmV0L3VuaXgvYWZfdW5peC5jIGIvbmV0L3VuaXgvYWZfdW5peC5jCmluZGV4IGU3YWY5 Zjg3MC4uODUyMzE1OGY3IDEwMDY0NAotLS0gYS9uZXQvdW5peC9hZl91bml4LmMKKysrIGIv bmV0L3VuaXgvYWZfdW5peC5jCkBAIC04MDMsNyArODAzLDggQEAgc3RhdGljIHZvaWQgY29w eV9wZWVyY3JlZChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrICpwZWVyc2spCiAKIHN0 YXRpYyBib29sIHVuaXhfbWF5X3Bhc3NjcmVkKGNvbnN0IHN0cnVjdCBzb2NrICpzaykKIHsK LQlyZXR1cm4gc2stPnNrX3NjbV9jcmVkZW50aWFscyB8fCBzay0+c2tfc2NtX3BpZGZkOwor CXJldHVybiBzay0+c2tfc2NtX2NyZWRlbnRpYWxzIHx8IHNrLT5za19zY21fY3JlZGVudGlh bHNfciB8fAorCSAgICAgICBzay0+c2tfc2NtX3BpZGZkOwogfQogCiBzdGF0aWMgaW50IHVu aXhfbGlzdGVuKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBiYWNrbG9nKQo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0029-signal-report-the-sender-s-UUID-or-GUID-uid-in-si_ui.patch" Content-Disposition: attachment; filename*0="uid_r-0029-signal-report-the-sender-s-UUID-or-GUID-uid-in-si"; filename*1="_ui.patch" Content-Transfer-Encoding: base64 RnJvbSBlNGJhYzIzOTliNzQ2MTZhZjBlN2M4NTcyYjBhYzQ2ZmZlYzc0ZGI0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA4OjQ2OjAzICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyOS80M10gc2lnbmFsOiByZXBvcnQgdGhlIHNlbmRlcidzIFVVSUQgb3IgR1VJRCB1 aWQgaW4KIHNpX3VpZF9yCgpzaV91aWQgaXMgMzIgYml0cywgc28gYSBzaWduYWwgZnJvbSBh IFVVSUQgb3IgR1VJRCB1c2VyIG5hbWVzIHRoZQpvdmVyZmxvdyB1aWQgYXMgaXRzIHNlbmRl ciwgYW5kIHNvIGRvIFNJR0NITEQgYW5kIHdhaXRpZCgpIGZvciBzdWNoIGEKY2hpbGQuCgpB ZGQgc2lfdWlkX3IsIHRoZSBzZW5kZXIncyB1aWQgYXMgX19rZXJuZWxfdWlkX3JfdCwgdG8g c2lnaW5mb190LiB1bmlvbgpfX3NpZmllbGRzIGhhcyBubyByb29tIHRoYXQgYWxsIGtpbmRz IG9mIHNpZ25hbHMgd2l0aCBzaV91aWQgc2hhcmUsIHNvCml0IGxpdmVzIGF0IGEgZml4ZWQg b2Zmc2V0ICg5NikgaW4gdGhlIHBhZGRpbmcgb2Ygc2lnaW5mb190LCB0aGUgc2FtZQppbiBl dmVyeSBsYXlvdXQgYW5kIEFCSSwgY29tcGF0X3NpZ2luZm8gaW5jbHVkZWQ7IGtlcm5lbF9z aWdpbmZvIGdyb3dzCnRvIGNvdmVyIGl0LiBUaGUga2VybmVsIHNldHMgaXQgd2hlcmV2ZXIg aXQgc2V0cyBzaV91aWQsIHRocm91Z2gKc2lnaW5mb19zZXRfdWlkKCkgYW5kIHNpZ2luZm9f c2V0X2tlcm5lbF91aWQoKSwgbWFwcyBpdCBpbnRvIHRoZQpyZWNlaXZlcidzIHVzZXIgbmFt ZXNwYWNlIGxpa2Ugc2lfdWlkLCBhbmQgaXQgaXMgVUlEX1JfTk9ORSB3aGVyZQpub2JvZHkg c2V0IGl0LiBTaWduYWxzIHF1ZXVlZCBmcm9tIHVzZXJzcGFjZSBjYXJyeSB3aGF0IHRoZSBz ZW5kZXIgcHV0CnRoZXJlLCBleGFjdGx5IGxpa2Ugc2lfdWlkLgoKc2lnbmFsZmRfc2lnaW5m byBnZXRzIHNzaV91aWRfciBmcm9tIGl0cyBwYWRkaW5nLCBhbmQgd2FpdGlkKCkgKGFsc28K dGhyb3VnaCBpb191cmluZywgd2hpY2gga2VlcHMgaXRzIHdhaXRpZF9pbmZvIGluIHRoZSBh c3luYyBkYXRhIG5vdywgYXMKaXQgbm8gbG9uZ2VyIGZpdHMgaW50byB0aGUgY29tbWFuZCkg ZmlsbHMgaW4gc2lfdWlkX3IuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUt NQotLS0KIGZzL3NpZ25hbGZkLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKwogaW5j bHVkZS9saW51eC9jb21wYXQuaCAgICAgICAgICAgICB8ICA2ICsrKysKIGluY2x1ZGUvbGlu dXgvcHRyYWNlLmggICAgICAgICAgICAgfCAgMiArLQogaW5jbHVkZS9saW51eC9zaWduYWwu aCAgICAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L3NpZ25h bF90eXBlcy5oICAgICAgIHwgIDUgKysrLQogaW5jbHVkZS91YXBpL2FzbS1nZW5lcmljL3Np Z2luZm8uaCB8IDE3ICsrKysrKysrKysrCiBpbmNsdWRlL3VhcGkvbGludXgvc2lnbmFsZmQu aCAgICAgIHwgIDQgKystCiBpb191cmluZy93YWl0aWQuYyAgICAgICAgICAgICAgICAgIHwg MzIgKysrKysrKysrKystLS0tLS0tLS0KIGlvX3VyaW5nL3dhaXRpZC5oICAgICAgICAgICAg ICAgICAgfCAgMSArCiBpcGMvbXF1ZXVlLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg Ky0tCiBrZXJuZWwvZXhpdC5jICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysr Ky0tCiBrZXJuZWwvZXhpdC5oICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKysKIGtlcm5l bC9zaWduYWwuYyAgICAgICAgICAgICAgICAgICAgfCA0NyArKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0KIDEzIGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspLCAzNiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mcy9zaWduYWxmZC5jIGIvZnMvc2lnbmFsZmQu YwppbmRleCBkZmY1Mzc0NWUuLjhiY2E5ZDdmMCAxMDA2NDQKLS0tIGEvZnMvc2lnbmFsZmQu YworKysgYi9mcy9zaWduYWxmZC5jCkBAIC05MCw2ICs5MCw3IEBAIHN0YXRpYyBpbnQgc2ln bmFsZmRfY29weWluZm8oc3RydWN0IGlvdl9pdGVyICp0bywga2VybmVsX3NpZ2luZm9fdCBj b25zdCAqa2luZm8pCiAJY2FzZSBTSUxfS0lMTDoKIAkJbmV3LnNzaV9waWQgPSBraW5mby0+ c2lfcGlkOwogCQluZXcuc3NpX3VpZCA9IGtpbmZvLT5zaV91aWQ7CisJCW5ldy5zc2lfdWlk X3IgPSBraW5mby0+c2lfdWlkX3I7CiAJCWJyZWFrOwogCWNhc2UgU0lMX1RJTUVSOgogCQlu ZXcuc3NpX3RpZCA9IGtpbmZvLT5zaV90aWQ7CkBAIC0xMjUsNiArMTI2LDcgQEAgc3RhdGlj IGludCBzaWduYWxmZF9jb3B5aW5mbyhzdHJ1Y3QgaW92X2l0ZXIgKnRvLCBrZXJuZWxfc2ln aW5mb190IGNvbnN0ICpraW5mbykKIAljYXNlIFNJTF9DSExEOgogCQluZXcuc3NpX3BpZCAg ICA9IGtpbmZvLT5zaV9waWQ7CiAJCW5ldy5zc2lfdWlkICAgID0ga2luZm8tPnNpX3VpZDsK KwkJbmV3LnNzaV91aWRfciAgPSBraW5mby0+c2lfdWlkX3I7CiAJCW5ldy5zc2lfc3RhdHVz ID0ga2luZm8tPnNpX3N0YXR1czsKIAkJbmV3LnNzaV91dGltZSAgPSBraW5mby0+c2lfdXRp bWU7CiAJCW5ldy5zc2lfc3RpbWUgID0ga2luZm8tPnNpX3N0aW1lOwpAQCAtMTM1LDYgKzEz Nyw3IEBAIHN0YXRpYyBpbnQgc2lnbmFsZmRfY29weWluZm8oc3RydWN0IGlvdl9pdGVyICp0 bywga2VybmVsX3NpZ2luZm9fdCBjb25zdCAqa2luZm8pCiAJCSAqLwogCQluZXcuc3NpX3Bp ZCA9IGtpbmZvLT5zaV9waWQ7CiAJCW5ldy5zc2lfdWlkID0ga2luZm8tPnNpX3VpZDsKKwkJ bmV3LnNzaV91aWRfciA9IGtpbmZvLT5zaV91aWRfcjsKIAkJbmV3LnNzaV9wdHIgPSAobG9u Zykga2luZm8tPnNpX3B0cjsKIAkJbmV3LnNzaV9pbnQgPSBraW5mby0+c2lfaW50OwogCQli cmVhazsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY29tcGF0LmggYi9pbmNsdWRlL2xp bnV4L2NvbXBhdC5oCmluZGV4IDhkYTBhMTVjOS4uNGI4NTA1OTAwIDEwMDY0NAotLS0gYS9p bmNsdWRlL2xpbnV4L2NvbXBhdC5oCisrKyBiL2luY2x1ZGUvbGludXgvY29tcGF0LmgKQEAg LTE2OSw2ICsxNjksMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgY29tcGF0X3NpZ2luZm8gewogCXVu aW9uIHsKIAkJaW50IF9wYWRbMTI4L3NpemVvZihpbnQpIC0gM107CiAKKwkJLyogc2lfdWlk X3IsIGF0IF9fU0lfVUlEX1JfT0ZGU0VUIGxpa2UgaW4gc2lnaW5mb190ICovCisJCXN0cnVj dCB7CisJCQlpbnQgX3VpZF9yX3BhZFtfX1NJX1VJRF9SX09GRlNFVCAvIHNpemVvZihpbnQp IC0gM107CisJCQlfX2tlcm5lbF91aWRfcl90IF91aWRfcjsKKwkJfSBfc2lyOworCiAJCS8q IGtpbGwoKSAqLwogCQlzdHJ1Y3QgewogCQkJY29tcGF0X3BpZF90IF9waWQ7CS8qIHNlbmRl cidzIHBpZCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wdHJhY2UuaCBiL2luY2x1 ZGUvbGludXgvcHRyYWNlLmgKaW5kZXggZWYzMTRmN2E5Li5iMjEzYjczODUgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbGludXgvcHRyYWNlLmgKKysrIGIvaW5jbHVkZS9saW51eC9wdHJhY2Uu aApAQCAtMzQ3LDcgKzM0Nyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1c2VyX3NpbmdsZV9z dGVwX3JlcG9ydChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIAlpbmZvLnNpX2Vycm5vID0gMDsK IAlpbmZvLnNpX2NvZGUgPSBTSV9VU0VSOwogCWluZm8uc2lfcGlkID0gMDsKLQlpbmZvLnNp X3VpZCA9IDA7CisJc2lnaW5mb19zZXRfa2VybmVsX3VpZCgmaW5mbyk7CiAJZm9yY2Vfc2ln X2luZm8oJmluZm8pOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3Np Z25hbC5oIGIvaW5jbHVkZS9saW51eC9zaWduYWwuaAppbmRleCBmMTk4MTY4MzIuLjkyOGU2 N2UyOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zaWduYWwuaAorKysgYi9pbmNsdWRl L2xpbnV4L3NpZ25hbC5oCkBAIC02LDYgKzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2xpc3Qu aD4KICNpbmNsdWRlIDxsaW51eC9zaWduYWxfdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9z dHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC91aWRnaWQuaD4KIAogc3RydWN0IHRhc2tfc3Ry dWN0OwogCkBAIC0yMyw2ICsyNCwyNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfc2ln aW5mbyhrZXJuZWxfc2lnaW5mb190ICppbmZvKQogCW1lbXNldChpbmZvLCAwLCBzaXplb2Yo KmluZm8pKTsKIH0KIAorc3RydWN0IHVzZXJfbmFtZXNwYWNlOworCisvKgorICogU2V0cyBz aV91aWQgYW5kIHNpX3VpZF9yIHRvIEB1aWQgYXMgc2VlbiBmcm9tIEBucyAodGhlIHJlY2Vp dmVyJ3MgdXNlcgorICogbmFtZXNwYWNlKSwgdGhlIG92ZXJmbG93IGlkIGlmIGl0IGhhcyBu byBtYXBwaW5nIHRoZXJlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgc2lnaW5mb19zZXRf dWlkKGtlcm5lbF9zaWdpbmZvX3QgKmluZm8sCisJCQkJICAgc3RydWN0IHVzZXJfbmFtZXNw YWNlICpucywga3VpZF90IHVpZCkKK3sKKwlpbmZvLT5zaV91aWQgPSBmcm9tX2t1aWRfbXVu Z2VkKG5zLCB1aWQpOworCWZyb21fa3VpZF9yX211bmdlZChucywgdWlkLCAmaW5mby0+c2lf dWlkX3IpOworfQorCisvKiBzaV91aWQgYW5kIHNpX3VpZF9yIG9mIGEgc2lnbmFsIGZyb20g dGhlIGtlcm5lbDogMCAqLworc3RhdGljIGlubGluZSB2b2lkIHNpZ2luZm9fc2V0X2tlcm5l bF91aWQoa2VybmVsX3NpZ2luZm9fdCAqaW5mbykKK3sKKwlpbmZvLT5zaV91aWQgPSAwOwor CW1lbXNldCgmaW5mby0+c2lfdWlkX3IsIDAsIHNpemVvZihpbmZvLT5zaV91aWRfcikpOwor CWluZm8tPnNpX3VpZF9yLnR5cGUgPSBVSURfUl9MRUdBQ1k7Cit9CisKICNkZWZpbmUgU0lf RVhQQU5TSU9OX1NJWkUgKHNpemVvZihzdHJ1Y3Qgc2lnaW5mbykgLSBzaXplb2Yoc3RydWN0 IGtlcm5lbF9zaWdpbmZvKSkKIAogc3RhdGljIGlubGluZSB2b2lkIGNvcHlfc2lnaW5mb190 b19leHRlcm5hbChzaWdpbmZvX3QgKnRvLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9z aWduYWxfdHlwZXMuaCBiL2luY2x1ZGUvbGludXgvc2lnbmFsX3R5cGVzLmgKaW5kZXggY2Fm NGY3YTU5Li5lYWY5MjJlNDQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc2lnbmFsX3R5 cGVzLmgKKysrIGIvaW5jbHVkZS9saW51eC9zaWduYWxfdHlwZXMuaApAQCAtMTAsNyArMTAs MTAgQEAKICNpbmNsdWRlIDx1YXBpL2xpbnV4L3NpZ25hbC5oPgogCiB0eXBlZGVmIHN0cnVj dCBrZXJuZWxfc2lnaW5mbyB7Ci0JX19TSUdJTkZPOworCXVuaW9uIHsKKwkJX19TSUdJTkZP OworCQlfX1NJR0lORk9fVUlEX1I7CisJfTsKIH0ga2VybmVsX3NpZ2luZm9fdDsKIAogc3Ry dWN0IHVjb3VudHM7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvYXNtLWdlbmVyaWMvc2ln aW5mby5oIGIvaW5jbHVkZS91YXBpL2FzbS1nZW5lcmljL3NpZ2luZm8uaAppbmRleCA1YTFj YTQzYjUuLmU4ZjMyYzk0MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2FzbS1nZW5lcmlj L3NpZ2luZm8uaAorKysgYi9pbmNsdWRlL3VhcGkvYXNtLWdlbmVyaWMvc2lnaW5mby5oCkBA IC00LDYgKzQsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KICNpbmNsdWRl IDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VpZGdpZF9yLmg+CiAKIHR5cGVk ZWYgdW5pb24gc2lndmFsIHsKIAlpbnQgc2l2YWxfaW50OwpAQCAtMTMxLDkgKzEzMiwyNCBA QCBzdHJ1Y3QgewkJCQlcCiB9CiAjZW5kaWYgLyogX19BUkNIX0hBU19TV0FQUEVEX1NJR0lO Rk8gKi8KIAorLyoKKyAqIFRoZSBzZW5kZXIncyB1aWQgYXMgX19rZXJuZWxfdWlkX3JfdCAo YSBVVUlEIG9yIEdVSUQgdG9vKSwgZm9yIHRoZQorICogc2lnbmFscyB3aXRoIHNpX3BpZCBh bmQgc2lfdWlkLiBJdCBsaXZlcyBhdCB0aGUgc2FtZSBvZmZzZXQgaW4gZXZlcnkKKyAqIGxh eW91dCBhbmQgQUJJLCBwYXN0IHRoZSBlbmQgb2YgdW5pb24gX19zaWZpZWxkczsgVUlEX1Jf Tk9ORSB3aGVyZSB0aGUKKyAqIGtlcm5lbCBkb2Vzbid0IHNldCBpdC4KKyAqLworI2RlZmlu ZSBfX1NJX1VJRF9SX09GRlNFVAk5NgorCisjZGVmaW5lIF9fU0lHSU5GT19VSURfUgkJCQkJ CVwKK3N0cnVjdCB7CQkJCQkJCVwKKwlpbnQgX3VpZF9yX3BhZFtfX1NJX1VJRF9SX09GRlNF VCAvIHNpemVvZihpbnQpXTsJXAorCV9fa2VybmVsX3VpZF9yX3QgX3VpZF9yOwkJCQlcCit9 IF9zaXIKKwogdHlwZWRlZiBzdHJ1Y3Qgc2lnaW5mbyB7CiAJdW5pb24gewogCQlfX1NJR0lO Rk87CisJCV9fU0lHSU5GT19VSURfUjsKIAkJaW50IF9zaV9wYWRbU0lfTUFYX1NJWkUvc2l6 ZW9mKGludCldOwogCX07CiB9IF9fQVJDSF9TSV9BVFRSSUJVVEVTIHNpZ2luZm9fdDsKQEAg LTE0Myw2ICsxNTksNyBAQCB0eXBlZGVmIHN0cnVjdCBzaWdpbmZvIHsKICAqLwogI2RlZmlu ZSBzaV9waWQJCV9zaWZpZWxkcy5fa2lsbC5fcGlkCiAjZGVmaW5lIHNpX3VpZAkJX3NpZmll bGRzLl9raWxsLl91aWQKKyNkZWZpbmUgc2lfdWlkX3IJX3Npci5fdWlkX3IKICNkZWZpbmUg c2lfdGlkCQlfc2lmaWVsZHMuX3RpbWVyLl90aWQKICNkZWZpbmUgc2lfb3ZlcnJ1bglfc2lm aWVsZHMuX3RpbWVyLl9vdmVycnVuCiAjZGVmaW5lIHNpX3N5c19wcml2YXRlICBfc2lmaWVs ZHMuX3RpbWVyLl9zeXNfcHJpdmF0ZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4 L3NpZ25hbGZkLmggYi9pbmNsdWRlL3VhcGkvbGludXgvc2lnbmFsZmQuaAppbmRleCA4MzQy OWEwNWIuLjQ3MWJhZmM1MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L3NpZ25h bGZkLmgKKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3NpZ25hbGZkLmgKQEAgLTEwLDYgKzEw LDcgQEAKICNkZWZpbmUgX1VBUElfTElOVVhfU0lHTkFMRkRfSAogCiAjaW5jbHVkZSA8bGlu dXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC91aWRnaWRfci5oPgogLyogRm9yIE9fQ0xP RVhFQyBhbmQgT19OT05CTE9DSyAqLwogI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+CiAKQEAg LTM5LDYgKzQwLDcgQEAgc3RydWN0IHNpZ25hbGZkX3NpZ2luZm8gewogCV9fczMyIHNzaV9z eXNjYWxsOwogCV9fdTY0IHNzaV9jYWxsX2FkZHI7CiAJX191MzIgc3NpX2FyY2g7CisJX19r ZXJuZWxfdWlkX3JfdCBzc2lfdWlkX3I7CS8qIHNlbmRlcidzIHVpZCwgYWxzbyBhIFVVSUQg b3IgR1VJRCAqLwogCiAJLyoKIAkgKiBQYWQgc3RyY3R1cmUgdG8gMTI4IGJ5dGVzLiBSZW1l bWJlciB0byB1cGRhdGUgdGhlCkBAIC00OSw3ICs1MSw3IEBAIHN0cnVjdCBzaWduYWxmZF9z aWdpbmZvIHsKIAkgKiBjb21lcyBvdXQgb2YgYSByZWFkKDIpIGFuZCB3ZSByZWFsbHkgZG9u J3Qgd2FudCB0byBoYXZlCiAJICogYSBjb21wYXQgb24gcmVhZCgyKS4KIAkgKi8KLQlfX3U4 IF9fcGFkWzI4XTsKKwlfX3U4IF9fcGFkWzhdOwogfTsKIAogCmRpZmYgLS1naXQgYS9pb191 cmluZy93YWl0aWQuYyBiL2lvX3VyaW5nL3dhaXRpZC5jCmluZGV4IDJiNzU2MDE3NC4uMjRm MjdiNjdkIDEwMDY0NAotLS0gYS9pb191cmluZy93YWl0aWQuYworKysgYi9pb191cmluZy93 YWl0aWQuYwpAQCAtMjksNyArMjksNiBAQCBzdHJ1Y3QgaW9fd2FpdGlkIHsKIAlhdG9taWNf dCByZWZzOwogCXN0cnVjdCB3YWl0X3F1ZXVlX2hlYWQgKmhlYWQ7CiAJc3RydWN0IHNpZ2lu Zm8gX191c2VyICppbmZvcDsKLQlzdHJ1Y3Qgd2FpdGlkX2luZm8gaW5mbzsKIH07CiAKIHN0 YXRpYyB2b2lkIGlvX3dhaXRpZF9mcmVlKHN0cnVjdCBpb19raW9jYiAqcmVxKQpAQCAtNDAs OCArMzksMTAgQEAgc3RhdGljIHZvaWQgaW9fd2FpdGlkX2ZyZWUoc3RydWN0IGlvX2tpb2Ni ICpyZXEpCiAJaW9fcmVxX2FzeW5jX2RhdGFfZnJlZShyZXEpOwogfQogCi1zdGF0aWMgYm9v bCBpb193YWl0aWRfY29tcGF0X2NvcHlfc2koc3RydWN0IGlvX3dhaXRpZCAqaXcsIGludCBz aWdubykKK3N0YXRpYyBib29sIGlvX3dhaXRpZF9jb21wYXRfY29weV9zaShzdHJ1Y3QgaW9f a2lvY2IgKnJlcSwgaW50IHNpZ25vKQogeworCXN0cnVjdCBpb193YWl0aWQgKml3ID0gaW9f a2lvY2JfdG9fY21kKHJlcSwgc3RydWN0IGlvX3dhaXRpZCk7CisJc3RydWN0IGlvX3dhaXRp ZF9hc3luYyAqaXdhID0gcmVxLT5hc3luY19kYXRhOwogCXN0cnVjdCBjb21wYXRfc2lnaW5m byBfX3VzZXIgKmluZm9wOwogCWJvb2wgcmV0OwogCkBAIC01MiwxMCArNTMsMTIgQEAgc3Rh dGljIGJvb2wgaW9fd2FpdGlkX2NvbXBhdF9jb3B5X3NpKHN0cnVjdCBpb193YWl0aWQgKml3 LCBpbnQgc2lnbm8pCiAKIAl1bnNhZmVfcHV0X3VzZXIoc2lnbm8sICZpbmZvcC0+c2lfc2ln bm8sIEVmYXVsdCk7CiAJdW5zYWZlX3B1dF91c2VyKDAsICZpbmZvcC0+c2lfZXJybm8sIEVm YXVsdCk7Ci0JdW5zYWZlX3B1dF91c2VyKGl3LT5pbmZvLmNhdXNlLCAmaW5mb3AtPnNpX2Nv ZGUsIEVmYXVsdCk7Ci0JdW5zYWZlX3B1dF91c2VyKGl3LT5pbmZvLnBpZCwgJmluZm9wLT5z aV9waWQsIEVmYXVsdCk7Ci0JdW5zYWZlX3B1dF91c2VyKGl3LT5pbmZvLnVpZCwgJmluZm9w LT5zaV91aWQsIEVmYXVsdCk7Ci0JdW5zYWZlX3B1dF91c2VyKGl3LT5pbmZvLnN0YXR1cywg JmluZm9wLT5zaV9zdGF0dXMsIEVmYXVsdCk7CisJdW5zYWZlX3B1dF91c2VyKGl3YS0+aW5m by5jYXVzZSwgJmluZm9wLT5zaV9jb2RlLCBFZmF1bHQpOworCXVuc2FmZV9wdXRfdXNlcihp d2EtPmluZm8ucGlkLCAmaW5mb3AtPnNpX3BpZCwgRWZhdWx0KTsKKwl1bnNhZmVfcHV0X3Vz ZXIoaXdhLT5pbmZvLnVpZCwgJmluZm9wLT5zaV91aWQsIEVmYXVsdCk7CisJdW5zYWZlX2Nv cHlfdG9fdXNlcigoY2hhciBfX3VzZXIgKikmaW5mb3AtPl9zaWZpZWxkcy5fc2lyLl91aWRf ciwKKwkJCSAgICAoY29uc3QgY2hhciAqKSZpd2EtPmluZm8udWlkX3IsIHNpemVvZihpd2Et PmluZm8udWlkX3IpLCBFZmF1bHQpOworCXVuc2FmZV9wdXRfdXNlcihpd2EtPmluZm8uc3Rh dHVzLCAmaW5mb3AtPnNpX3N0YXR1cywgRWZhdWx0KTsKIAlyZXQgPSB0cnVlOwogZG9uZToK IAl1c2VyX3dyaXRlX2FjY2Vzc19lbmQoKTsKQEAgLTY4LDIzICs3MSwyNiBAQCBzdGF0aWMg Ym9vbCBpb193YWl0aWRfY29tcGF0X2NvcHlfc2koc3RydWN0IGlvX3dhaXRpZCAqaXcsIGlu dCBzaWdubykKIHN0YXRpYyBib29sIGlvX3dhaXRpZF9jb3B5X3NpKHN0cnVjdCBpb19raW9j YiAqcmVxLCBpbnQgc2lnbm8pCiB7CiAJc3RydWN0IGlvX3dhaXRpZCAqaXcgPSBpb19raW9j Yl90b19jbWQocmVxLCBzdHJ1Y3QgaW9fd2FpdGlkKTsKKwlzdHJ1Y3QgaW9fd2FpdGlkX2Fz eW5jICppd2EgPSByZXEtPmFzeW5jX2RhdGE7CiAJYm9vbCByZXQ7CiAKIAlpZiAoIWl3LT5p bmZvcCkKIAkJcmV0dXJuIHRydWU7CiAKIAlpZiAoaW9faXNfY29tcGF0KHJlcS0+Y3R4KSkK LQkJcmV0dXJuIGlvX3dhaXRpZF9jb21wYXRfY29weV9zaShpdywgc2lnbm8pOworCQlyZXR1 cm4gaW9fd2FpdGlkX2NvbXBhdF9jb3B5X3NpKHJlcSwgc2lnbm8pOwogCiAJaWYgKCF1c2Vy X3dyaXRlX2FjY2Vzc19iZWdpbihpdy0+aW5mb3AsIHNpemVvZigqaXctPmluZm9wKSkpCiAJ CXJldHVybiBmYWxzZTsKIAogCXVuc2FmZV9wdXRfdXNlcihzaWdubywgJml3LT5pbmZvcC0+ c2lfc2lnbm8sIEVmYXVsdCk7CiAJdW5zYWZlX3B1dF91c2VyKDAsICZpdy0+aW5mb3AtPnNp X2Vycm5vLCBFZmF1bHQpOwotCXVuc2FmZV9wdXRfdXNlcihpdy0+aW5mby5jYXVzZSwgJml3 LT5pbmZvcC0+c2lfY29kZSwgRWZhdWx0KTsKLQl1bnNhZmVfcHV0X3VzZXIoaXctPmluZm8u cGlkLCAmaXctPmluZm9wLT5zaV9waWQsIEVmYXVsdCk7Ci0JdW5zYWZlX3B1dF91c2VyKGl3 LT5pbmZvLnVpZCwgJml3LT5pbmZvcC0+c2lfdWlkLCBFZmF1bHQpOwotCXVuc2FmZV9wdXRf dXNlcihpdy0+aW5mby5zdGF0dXMsICZpdy0+aW5mb3AtPnNpX3N0YXR1cywgRWZhdWx0KTsK Kwl1bnNhZmVfcHV0X3VzZXIoaXdhLT5pbmZvLmNhdXNlLCAmaXctPmluZm9wLT5zaV9jb2Rl LCBFZmF1bHQpOworCXVuc2FmZV9wdXRfdXNlcihpd2EtPmluZm8ucGlkLCAmaXctPmluZm9w LT5zaV9waWQsIEVmYXVsdCk7CisJdW5zYWZlX3B1dF91c2VyKGl3YS0+aW5mby51aWQsICZp dy0+aW5mb3AtPnNpX3VpZCwgRWZhdWx0KTsKKwl1bnNhZmVfY29weV90b191c2VyKChjaGFy IF9fdXNlciAqKSZpdy0+aW5mb3AtPnNpX3VpZF9yLAorCQkJICAgIChjb25zdCBjaGFyICop Jml3YS0+aW5mby51aWRfciwgc2l6ZW9mKGl3YS0+aW5mby51aWRfciksIEVmYXVsdCk7CisJ dW5zYWZlX3B1dF91c2VyKGl3YS0+aW5mby5zdGF0dXMsICZpdy0+aW5mb3AtPnNpX3N0YXR1 cywgRWZhdWx0KTsKIAlyZXQgPSB0cnVlOwogZG9uZToKIAl1c2VyX3dyaXRlX2FjY2Vzc19l bmQoKTsKQEAgLTI5NCw3ICszMDAsNyBAQCBpbnQgaW9fd2FpdGlkX3ByZXAoc3RydWN0IGlv X2tpb2NiICpyZXEsIGNvbnN0IHN0cnVjdCBpb191cmluZ19zcWUgKnNxZSkKIAlpdy0+b3B0 aW9ucyA9IFJFQURfT05DRShzcWUtPmZpbGVfaW5kZXgpOwogCWl3LT5oZWFkID0gTlVMTDsK IAlpdy0+aW5mb3AgPSB1NjRfdG9fdXNlcl9wdHIoUkVBRF9PTkNFKHNxZS0+YWRkcjIpKTsK LQltZW1zZXQoJml3LT5pbmZvLCAwLCBzaXplb2YoaXctPmluZm8pKTsKKwltZW1zZXQoJml3 YS0+aW5mbywgMCwgc2l6ZW9mKGl3YS0+aW5mbykpOwogCXJldHVybiAwOwogfQogCkBAIC0z MDUsNyArMzExLDcgQEAgaW50IGlvX3dhaXRpZChzdHJ1Y3QgaW9fa2lvY2IgKnJlcSwgdW5z aWduZWQgaW50IGlzc3VlX2ZsYWdzKQogCXN0cnVjdCBpb19yaW5nX2N0eCAqY3R4ID0gcmVx LT5jdHg7CiAJaW50IHJldDsKIAotCXJldCA9IGtlcm5lbF93YWl0aWRfcHJlcGFyZSgmaXdh LT53bywgaXctPndoaWNoLCBpdy0+dXBpZCwgJml3LT5pbmZvLAorCXJldCA9IGtlcm5lbF93 YWl0aWRfcHJlcGFyZSgmaXdhLT53bywgaXctPndoaWNoLCBpdy0+dXBpZCwgJml3YS0+aW5m bywKIAkJCQkJaXctPm9wdGlvbnMsIE5VTEwpOwogCWlmIChyZXQpCiAJCWdvdG8gZG9uZTsK ZGlmZiAtLWdpdCBhL2lvX3VyaW5nL3dhaXRpZC5oIGIvaW9fdXJpbmcvd2FpdGlkLmgKaW5k ZXggZDU1NDRhYWYzLi42MGI3NDRhMGUgMTAwNjQ0Ci0tLSBhL2lvX3VyaW5nL3dhaXRpZC5o CisrKyBiL2lvX3VyaW5nL3dhaXRpZC5oCkBAIC01LDYgKzUsNyBAQAogc3RydWN0IGlvX3dh aXRpZF9hc3luYyB7CiAJc3RydWN0IGlvX2tpb2NiICpyZXE7CiAJc3RydWN0IHdhaXRfb3B0 cyB3bzsKKwlzdHJ1Y3Qgd2FpdGlkX2luZm8gaW5mbzsKIH07CiAKIGludCBpb193YWl0aWRf cHJlcChzdHJ1Y3QgaW9fa2lvY2IgKnJlcSwgY29uc3Qgc3RydWN0IGlvX3VyaW5nX3NxZSAq c3FlKTsKZGlmZiAtLWdpdCBhL2lwYy9tcXVldWUuYyBiL2lwYy9tcXVldWUuYwppbmRleCA0 Nzk4YjM3NTkuLjI2MTMxNWVkZSAxMDA2NDQKLS0tIGEvaXBjL21xdWV1ZS5jCisrKyBiL2lw Yy9tcXVldWUuYwpAQCAtODAzLDggKzgwMyw4IEBAIHN0YXRpYyB2b2lkIF9fZG9fbm90aWZ5 KHN0cnVjdCBtcXVldWVfaW5vZGVfaW5mbyAqaW5mbykKIAkJCS8qIG1hcCBjdXJyZW50IHBp ZC91aWQgaW50byBpbmZvLT5vd25lcidzIG5hbWVzcGFjZXMgKi8KIAkJCXNpZ19pLnNpX3Bp ZCA9IHRhc2tfdGdpZF9ucl9ucyhjdXJyZW50LAogCQkJCQkJbnNfb2ZfcGlkKGluZm8tPm5v dGlmeV9vd25lcikpOwotCQkJc2lnX2kuc2lfdWlkID0gZnJvbV9rdWlkX211bmdlZChpbmZv LT5ub3RpZnlfdXNlcl9ucywKLQkJCQkJCWN1cnJlbnRfdWlkKCkpOworCQkJc2lnaW5mb19z ZXRfdWlkKCZzaWdfaSwgaW5mby0+bm90aWZ5X3VzZXJfbnMsCisJCQkJCWN1cnJlbnRfdWlk KCkpOwogCQkJLyoKIAkJCSAqIFdlIGNhbid0IHVzZSBraWxsX3BpZF9pbmZvKCksIHRoaXMg c2lnbmFsIHNob3VsZAogCQkJICogYnlwYXNzIGNoZWNrX2tpbGxfcGVybWlzc2lvbigpLiBJ dCBpcyBmcm9tIGtlcm5lbApkaWZmIC0tZ2l0IGEva2VybmVsL2V4aXQuYyBiL2tlcm5lbC9l eGl0LmMKaW5kZXggMjdlNWNmODFlLi44ODUzNDhjYjkgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9l eGl0LmMKKysrIGIva2VybmVsL2V4aXQuYwpAQCAtMTE4Niw3ICsxMTg2LDggQEAgc3RhdGlj IGludCB3YWl0X3Rhc2tfem9tYmllKHN0cnVjdCB3YWl0X29wdHMgKndvLCBzdHJ1Y3QgdGFz a19zdHJ1Y3QgKnApCiB7CiAJaW50IHN0YXRlLCBzdGF0dXM7CiAJcGlkX3QgcGlkID0gdGFz a19waWRfdm5yKHApOwotCXVpZF90IHVpZCA9IGZyb21fa3VpZF9tdW5nZWQoY3VycmVudF91 c2VyX25zKCksIHRhc2tfdWlkKHApKTsKKwlrdWlkX3Qga3VpZCA9IHRhc2tfdWlkKHApOwor CXVpZF90IHVpZCA9IGZyb21fa3VpZF9tdW5nZWQoY3VycmVudF91c2VyX25zKCksIGt1aWQp OwogCXN0cnVjdCB3YWl0aWRfaW5mbyAqaW5mb3A7CiAKIAlpZiAoIWxpa2VseSh3by0+d29f ZmxhZ3MgJiBXRVhJVEVEKSkKQEAgLTEzMDMsNiArMTMwNCw3IEBAIHN0YXRpYyBpbnQgd2Fp dF90YXNrX3pvbWJpZShzdHJ1Y3Qgd2FpdF9vcHRzICp3bywgc3RydWN0IHRhc2tfc3RydWN0 ICpwKQogCQl9CiAJCWluZm9wLT5waWQgPSBwaWQ7CiAJCWluZm9wLT51aWQgPSB1aWQ7CisJ CWZyb21fa3VpZF9yX211bmdlZChjdXJyZW50X3VzZXJfbnMoKSwga3VpZCwgJmluZm9wLT51 aWRfcik7CiAJfQogCiAJcmV0dXJuIHBpZDsKQEAgLTEzNDQsNiArMTM0Niw3IEBAIHN0YXRp YyBpbnQgd2FpdF90YXNrX3N0b3BwZWQoc3RydWN0IHdhaXRfb3B0cyAqd28sCiAJc3RydWN0 IHdhaXRpZF9pbmZvICppbmZvcDsKIAlpbnQgZXhpdF9jb2RlLCAqcF9jb2RlLCB3aHk7CiAJ dWlkX3QgdWlkID0gMDsgLyogdW5uZWVkZWQsIHJlcXVpcmVkIGJ5IGNvbXBpbGVyICovCisJ a3VpZF90IGt1aWQgPSBJTlZBTElEX1VJRDsKIAlwaWRfdCBwaWQ7CiAKIAkvKgpAQCAtMTM2 OSw3ICsxMzcyLDggQEAgc3RhdGljIGludCB3YWl0X3Rhc2tfc3RvcHBlZChzdHJ1Y3Qgd2Fp dF9vcHRzICp3bywKIAlpZiAoIXVubGlrZWx5KHdvLT53b19mbGFncyAmIFdOT1dBSVQpKQog CQkqcF9jb2RlID0gMDsKIAotCXVpZCA9IGZyb21fa3VpZF9tdW5nZWQoY3VycmVudF91c2Vy X25zKCksIHRhc2tfdWlkKHApKTsKKwlrdWlkID0gdGFza191aWQocCk7CisJdWlkID0gZnJv bV9rdWlkX211bmdlZChjdXJyZW50X3VzZXJfbnMoKSwga3VpZCk7CiB1bmxvY2tfc2lnOgog CXNwaW5fdW5sb2NrX2lycSgmcC0+c2lnaGFuZC0+c2lnbG9jayk7CiAJaWYgKCFleGl0X2Nv ZGUpCkBAIC0xNDAwLDYgKzE0MDQsNyBAQCBzdGF0aWMgaW50IHdhaXRfdGFza19zdG9wcGVk KHN0cnVjdCB3YWl0X29wdHMgKndvLAogCQlpbmZvcC0+c3RhdHVzID0gZXhpdF9jb2RlOwog CQlpbmZvcC0+cGlkID0gcGlkOwogCQlpbmZvcC0+dWlkID0gdWlkOworCQlmcm9tX2t1aWRf cl9tdW5nZWQoY3VycmVudF91c2VyX25zKCksIGt1aWQsICZpbmZvcC0+dWlkX3IpOwogCX0K IAlyZXR1cm4gcGlkOwogfQpAQCAtMTQxNSw2ICsxNDIwLDcgQEAgc3RhdGljIGludCB3YWl0 X3Rhc2tfY29udGludWVkKHN0cnVjdCB3YWl0X29wdHMgKndvLCBzdHJ1Y3QgdGFza19zdHJ1 Y3QgKnApCiAJc3RydWN0IHdhaXRpZF9pbmZvICppbmZvcDsKIAlwaWRfdCBwaWQ7CiAJdWlk X3QgdWlkOworCWt1aWRfdCBrdWlkOwogCiAJaWYgKCF1bmxpa2VseSh3by0+d29fZmxhZ3Mg JiBXQ09OVElOVUVEKSkKIAkJcmV0dXJuIDA7CkBAIC0xNDMwLDcgKzE0MzYsOCBAQCBzdGF0 aWMgaW50IHdhaXRfdGFza19jb250aW51ZWQoc3RydWN0IHdhaXRfb3B0cyAqd28sIHN0cnVj dCB0YXNrX3N0cnVjdCAqcCkKIAl9CiAJaWYgKCF1bmxpa2VseSh3by0+d29fZmxhZ3MgJiBX Tk9XQUlUKSkKIAkJcC0+c2lnbmFsLT5mbGFncyAmPSB+U0lHTkFMX1NUT1BfQ09OVElOVUVE OwotCXVpZCA9IGZyb21fa3VpZF9tdW5nZWQoY3VycmVudF91c2VyX25zKCksIHRhc2tfdWlk KHApKTsKKwlrdWlkID0gdGFza191aWQocCk7CisJdWlkID0gZnJvbV9rdWlkX211bmdlZChj dXJyZW50X3VzZXJfbnMoKSwga3VpZCk7CiAJc3Bpbl91bmxvY2tfaXJxKCZwLT5zaWdoYW5k LT5zaWdsb2NrKTsKIAogCXBpZCA9IHRhc2tfcGlkX3ZucihwKTsKQEAgLTE0NDgsNiArMTQ1 NSw3IEBAIHN0YXRpYyBpbnQgd2FpdF90YXNrX2NvbnRpbnVlZChzdHJ1Y3Qgd2FpdF9vcHRz ICp3bywgc3RydWN0IHRhc2tfc3RydWN0ICpwKQogCQlpbmZvcC0+Y2F1c2UgPSBDTERfQ09O VElOVUVEOwogCQlpbmZvcC0+cGlkID0gcGlkOwogCQlpbmZvcC0+dWlkID0gdWlkOworCQlm cm9tX2t1aWRfcl9tdW5nZWQoY3VycmVudF91c2VyX25zKCksIGt1aWQsICZpbmZvcC0+dWlk X3IpOwogCQlpbmZvcC0+c3RhdHVzID0gU0lHQ09OVDsKIAl9CiAJcmV0dXJuIHBpZDsKQEAg LTE4NDcsNiArMTg1NSw4IEBAIFNZU0NBTExfREVGSU5FNSh3YWl0aWQsIGludCwgd2hpY2gs IHBpZF90LCB1cGlkLCBzdHJ1Y3Qgc2lnaW5mbyBfX3VzZXIgKiwKIAl1bnNhZmVfcHV0X3Vz ZXIoaW5mby5jYXVzZSwgJmluZm9wLT5zaV9jb2RlLCBFZmF1bHQpOwogCXVuc2FmZV9wdXRf dXNlcihpbmZvLnBpZCwgJmluZm9wLT5zaV9waWQsIEVmYXVsdCk7CiAJdW5zYWZlX3B1dF91 c2VyKGluZm8udWlkLCAmaW5mb3AtPnNpX3VpZCwgRWZhdWx0KTsKKwl1bnNhZmVfY29weV90 b191c2VyKChjaGFyIF9fdXNlciAqKSZpbmZvcC0+c2lfdWlkX3IsCisJCQkgICAgKGNvbnN0 IGNoYXIgKikmaW5mby51aWRfciwgc2l6ZW9mKGluZm8udWlkX3IpLCBFZmF1bHQpOwogCXVu c2FmZV9wdXRfdXNlcihpbmZvLnN0YXR1cywgJmluZm9wLT5zaV9zdGF0dXMsIEVmYXVsdCk7 CiAJdXNlcl93cml0ZV9hY2Nlc3NfZW5kKCk7CiAJcmV0dXJuIGVycjsKQEAgLTE5OTAsNiAr MjAwMCw4IEBAIENPTVBBVF9TWVNDQUxMX0RFRklORTUod2FpdGlkLAogCXVuc2FmZV9wdXRf dXNlcihpbmZvLmNhdXNlLCAmaW5mb3AtPnNpX2NvZGUsIEVmYXVsdCk7CiAJdW5zYWZlX3B1 dF91c2VyKGluZm8ucGlkLCAmaW5mb3AtPnNpX3BpZCwgRWZhdWx0KTsKIAl1bnNhZmVfcHV0 X3VzZXIoaW5mby51aWQsICZpbmZvcC0+c2lfdWlkLCBFZmF1bHQpOworCXVuc2FmZV9jb3B5 X3RvX3VzZXIoKGNoYXIgX191c2VyICopJmluZm9wLT5fc2lmaWVsZHMuX3Npci5fdWlkX3Is CisJCQkgICAgKGNvbnN0IGNoYXIgKikmaW5mby51aWRfciwgc2l6ZW9mKGluZm8udWlkX3Ip LCBFZmF1bHQpOwogCXVuc2FmZV9wdXRfdXNlcihpbmZvLnN0YXR1cywgJmluZm9wLT5zaV9z dGF0dXMsIEVmYXVsdCk7CiAJdXNlcl93cml0ZV9hY2Nlc3NfZW5kKCk7CiAJcmV0dXJuIGVy cjsKZGlmZiAtLWdpdCBhL2tlcm5lbC9leGl0LmggYi9rZXJuZWwvZXhpdC5oCmluZGV4IDI3 OGZhYTI2YS4uZjI0YTZkNjkxIDEwMDY0NAotLS0gYS9rZXJuZWwvZXhpdC5oCisrKyBiL2tl cm5lbC9leGl0LmgKQEAgLTIsOSArMiwxMiBAQAogI2lmbmRlZiBMSU5VWF9XQUlUSURfSAog I2RlZmluZSBMSU5VWF9XQUlUSURfSAogCisjaW5jbHVkZSA8bGludXgvdWlkZ2lkX3IuaD4K Kwogc3RydWN0IHdhaXRpZF9pbmZvIHsKIAlwaWRfdCBwaWQ7CiAJdWlkX3QgdWlkOworCV9f a2VybmVsX3VpZF9yX3QgdWlkX3I7CQkvKiB1aWQgYXMgX19rZXJuZWxfdWlkX3JfdCAqLwog CWludCBzdGF0dXM7CiAJaW50IGNhdXNlOwogfTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zaWdu YWwuYyBiL2tlcm5lbC9zaWduYWwuYwppbmRleCA4MDg5ODBkMDguLjUwN2NmNWI5OSAxMDA2 NDQKLS0tIGEva2VybmVsL3NpZ25hbC5jCisrKyBiL2tlcm5lbC9zaWduYWwuYwpAQCAtNjIw LDcgKzYyMCw3IEBAIHN0YXRpYyB2b2lkIGNvbGxlY3Rfc2lnbmFsKGludCBzaWcsIHN0cnVj dCBzaWdwZW5kaW5nICpsaXN0LCBrZXJuZWxfc2lnaW5mb190ICppCiAJCWluZm8tPnNpX2Vy cm5vID0gMDsKIAkJaW5mby0+c2lfY29kZSA9IFNJX1VTRVI7CiAJCWluZm8tPnNpX3BpZCA9 IDA7Ci0JCWluZm8tPnNpX3VpZCA9IDA7CisJCXNpZ2luZm9fc2V0X2tlcm5lbF91aWQoaW5m byk7CiAJfQogfQogCkBAIC0xMTM4LDkgKzExMzgsOCBAQCBzdGF0aWMgaW50IF9fc2VuZF9z aWduYWxfbG9ja2VkKGludCBzaWcsIHN0cnVjdCBrZXJuZWxfc2lnaW5mbyAqaW5mbywKIAkJ CXEtPmluZm8uc2lfcGlkID0gdGFza190Z2lkX25yX25zKGN1cnJlbnQsCiAJCQkJCQkJdGFz a19hY3RpdmVfcGlkX25zKHQpKTsKIAkJCXJjdV9yZWFkX2xvY2soKTsKLQkJCXEtPmluZm8u c2lfdWlkID0KLQkJCQlmcm9tX2t1aWRfbXVuZ2VkKHRhc2tfY3JlZF94eHgodCwgdXNlcl9u cyksCi0JCQkJCQkgY3VycmVudF91aWQoKSk7CisJCQlzaWdpbmZvX3NldF91aWQoJnEtPmlu Zm8sIHRhc2tfY3JlZF94eHgodCwgdXNlcl9ucyksCisJCQkJCWN1cnJlbnRfdWlkKCkpOwog CQkJcmN1X3JlYWRfdW5sb2NrKCk7CiAJCQlicmVhazsKIAkJY2FzZSAodW5zaWduZWQgbG9u ZykgU0VORF9TSUdfUFJJVjoKQEAgLTExNDksNyArMTE0OCw3IEBAIHN0YXRpYyBpbnQgX19z ZW5kX3NpZ25hbF9sb2NrZWQoaW50IHNpZywgc3RydWN0IGtlcm5lbF9zaWdpbmZvICppbmZv LAogCQkJcS0+aW5mby5zaV9lcnJubyA9IDA7CiAJCQlxLT5pbmZvLnNpX2NvZGUgPSBTSV9L RVJORUw7CiAJCQlxLT5pbmZvLnNpX3BpZCA9IDA7Ci0JCQlxLT5pbmZvLnNpX3VpZCA9IDA7 CisJCQlzaWdpbmZvX3NldF9rZXJuZWxfdWlkKCZxLT5pbmZvKTsKIAkJCWJyZWFrOwogCQlk ZWZhdWx0OgogCQkJY29weV9zaWdpbmZvKCZxLT5pbmZvLCBpbmZvKTsKQEAgLTEyNDUsNyAr MTI0NCwxMyBAQCBpbnQgc2VuZF9zaWduYWxfbG9ja2VkKGludCBzaWcsIHN0cnVjdCBrZXJu ZWxfc2lnaW5mbyAqaW5mbywKIAkJdF91c2VyX25zID0gdGFza19jcmVkX3h4eCh0LCB1c2Vy X25zKTsKIAkJaWYgKGN1cnJlbnRfdXNlcl9ucygpICE9IHRfdXNlcl9ucykgewogCQkJa3Vp ZF90IHVpZCA9IG1ha2Vfa3VpZChjdXJyZW50X3VzZXJfbnMoKSwgaW5mby0+c2lfdWlkKTsK KwkJCWt1aWRfdCB1aWRfciA9IG1ha2Vfa3VpZF9yKGN1cnJlbnRfdXNlcl9ucygpLAorCQkJ CQkJICAgJmluZm8tPnNpX3VpZF9yKTsKKwogCQkJaW5mby0+c2lfdWlkID0gZnJvbV9rdWlk X211bmdlZCh0X3VzZXJfbnMsIHVpZCk7CisJCQlpZiAoaW5mby0+c2lfdWlkX3IudHlwZSAh PSBVSURfUl9OT05FKQorCQkJCWZyb21fa3VpZF9yX211bmdlZCh0X3VzZXJfbnMsIHVpZF9y LAorCQkJCQkJICAgJmluZm8tPnNpX3VpZF9yKTsKIAkJfQogCQlyY3VfcmVhZF91bmxvY2so KTsKIApAQCAtMTY5NSw3ICsxNzAwLDcgQEAgdm9pZCBmb3JjZV9zaWcoaW50IHNpZykKIAlp bmZvLnNpX2Vycm5vID0gMDsKIAlpbmZvLnNpX2NvZGUgPSBTSV9LRVJORUw7CiAJaW5mby5z aV9waWQgPSAwOwotCWluZm8uc2lfdWlkID0gMDsKKwlzaWdpbmZvX3NldF9rZXJuZWxfdWlk KCZpbmZvKTsKIAlmb3JjZV9zaWdfaW5mbygmaW5mbyk7CiB9CiBFWFBPUlRfU1lNQk9MKGZv cmNlX3NpZyk7CkBAIC0xNzA5LDcgKzE3MTQsNyBAQCB2b2lkIGZvcmNlX2ZhdGFsX3NpZyhp bnQgc2lnKQogCWluZm8uc2lfZXJybm8gPSAwOwogCWluZm8uc2lfY29kZSA9IFNJX0tFUk5F TDsKIAlpbmZvLnNpX3BpZCA9IDA7Ci0JaW5mby5zaV91aWQgPSAwOworCXNpZ2luZm9fc2V0 X2tlcm5lbF91aWQoJmluZm8pOwogCWZvcmNlX3NpZ19pbmZvX3RvX3Rhc2soJmluZm8sIGN1 cnJlbnQsIEhBTkRMRVJfU0lHX0RGTCk7CiB9CiAKQEAgLTE3MjIsNyArMTcyNyw3IEBAIHZv aWQgZm9yY2VfZXhpdF9zaWcoaW50IHNpZykKIAlpbmZvLnNpX2Vycm5vID0gMDsKIAlpbmZv LnNpX2NvZGUgPSBTSV9LRVJORUw7CiAJaW5mby5zaV9waWQgPSAwOwotCWluZm8uc2lfdWlk ID0gMDsKKwlzaWdpbmZvX3NldF9rZXJuZWxfdWlkKCZpbmZvKTsKIAlmb3JjZV9zaWdfaW5m b190b190YXNrKCZpbmZvLCBjdXJyZW50LCBIQU5ETEVSX0VYSVQpOwogfQogCkBAIC0yMjkz LDggKzIyOTgsOCBAQCBib29sIGRvX25vdGlmeV9wYXJlbnQoc3RydWN0IHRhc2tfc3RydWN0 ICp0c2ssIGludCBzaWcpCiAJICovCiAJcmN1X3JlYWRfbG9jaygpOwogCWluZm8uc2lfcGlk ID0gdGFza19waWRfbnJfbnModHNrLCB0YXNrX2FjdGl2ZV9waWRfbnModHNrLT5wYXJlbnQp KTsKLQlpbmZvLnNpX3VpZCA9IGZyb21fa3VpZF9tdW5nZWQodGFza19jcmVkX3h4eCh0c2st PnBhcmVudCwgdXNlcl9ucyksCi0JCQkJICAgICAgIHRhc2tfdWlkKHRzaykpOworCXNpZ2lu Zm9fc2V0X3VpZCgmaW5mbywgdGFza19jcmVkX3h4eCh0c2stPnBhcmVudCwgdXNlcl9ucyks CisJCQl0YXNrX3VpZCh0c2spKTsKIAlyY3VfcmVhZF91bmxvY2soKTsKIAogCXRhc2tfY3B1 dGltZSh0c2ssICZ1dGltZSwgJnN0aW1lKTsKQEAgLTIzODgsNyArMjM5Myw3IEBAIHN0YXRp YyB2b2lkIGRvX25vdGlmeV9wYXJlbnRfY2xkc3RvcChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRz aywKIAkgKi8KIAlyY3VfcmVhZF9sb2NrKCk7CiAJaW5mby5zaV9waWQgPSB0YXNrX3BpZF9u cl9ucyh0c2ssIHRhc2tfYWN0aXZlX3BpZF9ucyhwYXJlbnQpKTsKLQlpbmZvLnNpX3VpZCA9 IGZyb21fa3VpZF9tdW5nZWQodGFza19jcmVkX3h4eChwYXJlbnQsIHVzZXJfbnMpLCB0YXNr X3VpZCh0c2spKTsKKwlzaWdpbmZvX3NldF91aWQoJmluZm8sIHRhc2tfY3JlZF94eHgocGFy ZW50LCB1c2VyX25zKSwgdGFza191aWQodHNrKSk7CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAK IAl0YXNrX2NwdXRpbWUodHNrLCAmdXRpbWUsICZzdGltZSk7CkBAIC0yNTkzLDcgKzI1OTgs NyBAQCBzdGF0aWMgaW50IHB0cmFjZV9kb19ub3RpZnkoaW50IHNpZ25yLCBpbnQgZXhpdF9j b2RlLCBpbnQgd2h5LCB1bnNpZ25lZCBsb25nIG1lcwogCWluZm8uc2lfc2lnbm8gPSBzaWdu cjsKIAlpbmZvLnNpX2NvZGUgPSBleGl0X2NvZGU7CiAJaW5mby5zaV9waWQgPSB0YXNrX3Bp ZF92bnIoY3VycmVudCk7Ci0JaW5mby5zaV91aWQgPSBmcm9tX2t1aWRfbXVuZ2VkKGN1cnJl bnRfdXNlcl9ucygpLCBjdXJyZW50X3VpZCgpKTsKKwlzaWdpbmZvX3NldF91aWQoJmluZm8s IGN1cnJlbnRfdXNlcl9ucygpLCBjdXJyZW50X3VpZCgpKTsKIAogCS8qIExldCB0aGUgZGVi dWdnZXIgcnVuLiAgKi8KIAlyZXR1cm4gcHRyYWNlX3N0b3AoZXhpdF9jb2RlLCB3aHksIG1l c3NhZ2UsICZpbmZvKTsKQEAgLTI4NDcsOCArMjg1Miw4IEBAIHN0YXRpYyBpbnQgcHRyYWNl X3NpZ25hbChpbnQgc2lnbnIsIGtlcm5lbF9zaWdpbmZvX3QgKmluZm8sIGVudW0gcGlkX3R5 cGUgdHlwZSkKIAkJaW5mby0+c2lfY29kZSA9IFNJX1VTRVI7CiAJCXJjdV9yZWFkX2xvY2so KTsKIAkJaW5mby0+c2lfcGlkID0gdGFza19waWRfdm5yKGN1cnJlbnQtPnBhcmVudCk7Ci0J CWluZm8tPnNpX3VpZCA9IGZyb21fa3VpZF9tdW5nZWQoY3VycmVudF91c2VyX25zKCksCi0J CQkJCQl0YXNrX3VpZChjdXJyZW50LT5wYXJlbnQpKTsKKwkJc2lnaW5mb19zZXRfdWlkKGlu Zm8sIGN1cnJlbnRfdXNlcl9ucygpLAorCQkJCXRhc2tfdWlkKGN1cnJlbnQtPnBhcmVudCkp OwogCQlyY3VfcmVhZF91bmxvY2soKTsKIAl9CiAKQEAgLTM2NTAsNiArMzY1NSw3IEBAIHZv aWQgY29weV9zaWdpbmZvX3RvX2V4dGVybmFsMzIoc3RydWN0IGNvbXBhdF9zaWdpbmZvICp0 bywKIAljYXNlIFNJTF9LSUxMOgogCQl0by0+c2lfcGlkID0gZnJvbS0+c2lfcGlkOwogCQl0 by0+c2lfdWlkID0gZnJvbS0+c2lfdWlkOworCQl0by0+X3NpZmllbGRzLl9zaXIuX3VpZF9y ID0gZnJvbS0+c2lfdWlkX3I7CiAJCWJyZWFrOwogCWNhc2UgU0lMX1RJTUVSOgogCQl0by0+ c2lfdGlkICAgICA9IGZyb20tPnNpX3RpZDsKQEAgLTM2ODksNiArMzY5NSw3IEBAIHZvaWQg Y29weV9zaWdpbmZvX3RvX2V4dGVybmFsMzIoc3RydWN0IGNvbXBhdF9zaWdpbmZvICp0bywK IAljYXNlIFNJTF9DSExEOgogCQl0by0+c2lfcGlkID0gZnJvbS0+c2lfcGlkOwogCQl0by0+ c2lfdWlkID0gZnJvbS0+c2lfdWlkOworCQl0by0+X3NpZmllbGRzLl9zaXIuX3VpZF9yID0g ZnJvbS0+c2lfdWlkX3I7CiAJCXRvLT5zaV9zdGF0dXMgPSBmcm9tLT5zaV9zdGF0dXM7CiAJ CXRvLT5zaV91dGltZSA9IGZyb20tPnNpX3V0aW1lOwogCQl0by0+c2lfc3RpbWUgPSBmcm9t LT5zaV9zdGltZTsKQEAgLTM2OTYsNiArMzcwMyw3IEBAIHZvaWQgY29weV9zaWdpbmZvX3Rv X2V4dGVybmFsMzIoc3RydWN0IGNvbXBhdF9zaWdpbmZvICp0bywKIAljYXNlIFNJTF9SVDoK IAkJdG8tPnNpX3BpZCA9IGZyb20tPnNpX3BpZDsKIAkJdG8tPnNpX3VpZCA9IGZyb20tPnNp X3VpZDsKKwkJdG8tPl9zaWZpZWxkcy5fc2lyLl91aWRfciA9IGZyb20tPnNpX3VpZF9yOwog CQl0by0+c2lfaW50ID0gZnJvbS0+c2lfaW50OwogCQlicmVhazsKIAljYXNlIFNJTF9TWVM6 CkBAIC0zNzI4LDYgKzM3MzYsNyBAQCBzdGF0aWMgaW50IHBvc3RfY29weV9zaWdpbmZvX2Zy b21fdXNlcjMyKGtlcm5lbF9zaWdpbmZvX3QgKnRvLAogCWNhc2UgU0lMX0tJTEw6CiAJCXRv LT5zaV9waWQgPSBmcm9tLT5zaV9waWQ7CiAJCXRvLT5zaV91aWQgPSBmcm9tLT5zaV91aWQ7 CisJCXRvLT5zaV91aWRfciA9IGZyb20tPl9zaWZpZWxkcy5fc2lyLl91aWRfcjsKIAkJYnJl YWs7CiAJY2FzZSBTSUxfVElNRVI6CiAJCXRvLT5zaV90aWQgICAgID0gZnJvbS0+c2lfdGlk OwpAQCAtMzc2Nyw2ICszNzc2LDcgQEAgc3RhdGljIGludCBwb3N0X2NvcHlfc2lnaW5mb19m cm9tX3VzZXIzMihrZXJuZWxfc2lnaW5mb190ICp0bywKIAljYXNlIFNJTF9DSExEOgogCQl0 by0+c2lfcGlkICAgID0gZnJvbS0+c2lfcGlkOwogCQl0by0+c2lfdWlkICAgID0gZnJvbS0+ c2lfdWlkOworCQl0by0+c2lfdWlkX3IgID0gZnJvbS0+X3NpZmllbGRzLl9zaXIuX3VpZF9y OwogCQl0by0+c2lfc3RhdHVzID0gZnJvbS0+c2lfc3RhdHVzOwogI2lmZGVmIENPTkZJR19Y ODZfWDMyX0FCSQogCQlpZiAoaW5feDMyX3N5c2NhbGwoKSkgewpAQCAtMzc4Miw2ICszNzky LDcgQEAgc3RhdGljIGludCBwb3N0X2NvcHlfc2lnaW5mb19mcm9tX3VzZXIzMihrZXJuZWxf c2lnaW5mb190ICp0bywKIAljYXNlIFNJTF9SVDoKIAkJdG8tPnNpX3BpZCA9IGZyb20tPnNp X3BpZDsKIAkJdG8tPnNpX3VpZCA9IGZyb20tPnNpX3VpZDsKKwkJdG8tPnNpX3VpZF9yID0g ZnJvbS0+X3NpZmllbGRzLl9zaXIuX3VpZF9yOwogCQl0by0+c2lfaW50ID0gZnJvbS0+c2lf aW50OwogCQlicmVhazsKIAljYXNlIFNJTF9TWVM6CkBAIC00MDE5LDcgKzQwMzAsNyBAQCBz dGF0aWMgdm9pZCBwcmVwYXJlX2tpbGxfc2lnaW5mbyhpbnQgc2lnLCBzdHJ1Y3Qga2VybmVs X3NpZ2luZm8gKmluZm8sCiAJaW5mby0+c2lfZXJybm8gPSAwOwogCWluZm8tPnNpX2NvZGUg PSAodHlwZSA9PSBQSURUWVBFX1BJRCkgPyBTSV9US0lMTCA6IFNJX1VTRVI7CiAJaW5mby0+ c2lfcGlkID0gdGFza190Z2lkX3ZucihjdXJyZW50KTsKLQlpbmZvLT5zaV91aWQgPSBmcm9t X2t1aWRfbXVuZ2VkKGN1cnJlbnRfdXNlcl9ucygpLCBjdXJyZW50X3VpZCgpKTsKKwlzaWdp bmZvX3NldF91aWQoaW5mbywgY3VycmVudF91c2VyX25zKCksIGN1cnJlbnRfdWlkKCkpOwog fQogCiAvKioKQEAgLTQ5OTEsNiArNTAwMiwxMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2ln aW5mb19idWlsZHRpbWVfY2hlY2tzKHZvaWQpCiAJLyoga2lsbCAqLwogCUNIRUNLX09GRlNF VChzaV9waWQpOwogCUNIRUNLX09GRlNFVChzaV91aWQpOworCUNIRUNLX09GRlNFVChzaV91 aWRfcik7CisJQlVJTERfQlVHX09OKG9mZnNldG9mKHNpZ2luZm9fdCwgc2lfdWlkX3IpICE9 IF9fU0lfVUlEX1JfT0ZGU0VUKTsKKyNpZmRlZiBDT05GSUdfQ09NUEFUCisJQlVJTERfQlVH X09OKG9mZnNldG9mKHN0cnVjdCBjb21wYXRfc2lnaW5mbywgX3NpZmllbGRzLl9zaXIuX3Vp ZF9yKSAhPQorCQkgICAgIF9fU0lfVUlEX1JfT0ZGU0VUKTsKKyNlbmRpZgogCiAJLyogdGlt ZXIgKi8KIAlDSEVDS19PRkZTRVQoc2lfdGlkKTsK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0030-ipc-add-IPC_STAT_R-and-IPC_SET_R.patch" Content-Disposition: attachment; filename="uid_r-0030-ipc-add-IPC_STAT_R-and-IPC_SET_R.patch" Content-Transfer-Encoding: base64 RnJvbSA0ZjA5ZjQ2ZDZlNDQ2NTBmOGRiYTBjZDgyN2Q4Y2M1ZWE5OGY2NzY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA4OjU4OjI1ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzMC80M10gaXBjOiBhZGQgSVBDX1NUQVRfUiBhbmQgSVBDX1NFVF9SCgpUaGUgaWRz IG9mIFN5c1YgbWVzc2FnZSBxdWV1ZXMsIHNlbWFwaG9yZSBzZXRzIGFuZCBzaGFyZWQgbWVt b3J5CnNlZ21lbnRzIHJlYWNoIHVzZXJzcGFjZSBpbiBzdHJ1Y3QgaXBjNjRfcGVybSwgMzIg Yml0cyBlYWNoLCBzbyBhIFVVSUQKb3IgR1VJRCBvd25lciBzaG93cyB1cCBhcyB0aGUgb3Zl cmZsb3cgaWQgYW5kIGNhbid0IGJlIHNldCBhdCBhbGwuCgpSYXRoZXIgdGhhbiBkb3VibGlu ZyBldmVyeSAqaWQ2NF9kcywgYWRkIHR3byBjb21tYW5kcyBzaGFyZWQgYnkKbXNnY3RsKCks IHNlbWN0bCgpIGFuZCBzaG1jdGwoKSB0aGF0IHdvcmsgb24gYSBzdHJ1Y3QgaXBjX3Blcm1f ciB3aXRoCmtleSwgbW9kZSwgYW5kIHVpZCwgZ2lkLCBjdWlkIGFuZCBjZ2lkIGFzIF9fa2Vy bmVsX3VpZF9yX3Q6CgotIElQQ19TVEFUX1IgcmVhZHMgaXQsIHdpdGggdGhlIHBlcm1pc3Np b24gY2hlY2tzIG9mIElQQ19TVEFULAotIElQQ19TRVRfUiBzZXRzIHVpZCwgZ2lkIGFuZCBt b2RlIGxpa2UgSVBDX1NFVCBkb2VzIChhIG1lc3NhZ2UgcXVldWUKICBrZWVwcyBpdHMgc2l6 ZSkuCgpUaGUgSVBDX1NFVCBwYXRoIG5vdyB3b3JrcyBvbiB0aGUga2VybmVsIGlkcyBvZiBh IHN0cnVjdCBpcGNfc2V0X2lkcywKd2hpY2ggdGhlIGNsYXNzaWMgY29tbWFuZCBmaWxscyBm cm9tIGl0cyBpcGM2NF9wZXJtLiBUaGUgYXVkaXQgcmVjb3JkCm9mIElQQ19TRVQgaGFzIHRo ZSBuZXcgb3duZXIgYXMgYSBrdWlkIGFzIHdlbGwgYW5kIGxvZ3MgaXQgbGlrZSB0aGUKb3Ro ZXIgYXVkaXQgaWRzLCBpbiB0aGUgaW5pdGlhbCB1c2VyIG5hbWVzcGFjZS4KCkFzc2lzdGVk LWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogaW5jbHVkZS9saW51eC9hdWRpdC5o ICAgIHwgICA4ICstLQogaW5jbHVkZS91YXBpL2xpbnV4L2lwYy5oIHwgIDE3ICsrKysrKwog aXBjL21zZy5jICAgICAgICAgICAgICAgIHwgIDQwICsrKysrKysrKystLS0tCiBpcGMvc2Vt LmMgICAgICAgICAgICAgICAgfCAgMzEgKysrKysrKystLS0KIGlwYy9zaG0uYyAgICAgICAg ICAgICAgICB8ICAzMiArKysrKysrKy0tLQogaXBjL3V0aWwuYyAgICAgICAgICAgICAgIHwg MTEyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogaXBjL3V0aWwu aCAgICAgICAgICAgICAgIHwgIDIzICsrKysrKystCiBrZXJuZWwvYXVkaXQuaCAgICAgICAg ICAgfCAgIDQgKy0KIGtlcm5lbC9hdWRpdHNjLmMgICAgICAgICB8ICAgOCArLS0KIDkgZmls ZXMgY2hhbmdlZCwgMjI2IGluc2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvYXVkaXQuaCBiL2luY2x1ZGUvbGludXgvYXVkaXQuaApp bmRleCA0NWFiYjM3MjIuLmE3NjlmMDRlNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9h dWRpdC5oCisrKyBiL2luY2x1ZGUvbGludXgvYXVkaXQuaApAQCAtNDI4LDcgKzQyOCw3IEBA IHN0YXRpYyBpbmxpbmUgdm9pZCBhdWRpdF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICp0 KQogCiAJCQkJLyogUHJpdmF0ZSBBUEkgKGZvciBhdWRpdC5jIG9ubHkpICovCiBleHRlcm4g dm9pZCBfX2F1ZGl0X2lwY19vYmooc3RydWN0IGtlcm5faXBjX3Blcm0gKmlwY3ApOwotZXh0 ZXJuIHZvaWQgX19hdWRpdF9pcGNfc2V0X3Blcm0odW5zaWduZWQgbG9uZyBxYnl0ZXMsIHVp ZF90IHVpZCwgZ2lkX3QgZ2lkLCB1bW9kZV90IG1vZGUpOworZXh0ZXJuIHZvaWQgX19hdWRp dF9pcGNfc2V0X3Blcm0odW5zaWduZWQgbG9uZyBxYnl0ZXMsIGt1aWRfdCB1aWQsIGtnaWRf dCBnaWQsIHVtb2RlX3QgbW9kZSk7CiBleHRlcm4gdm9pZCBfX2F1ZGl0X2Jwcm0oc3RydWN0 IGxpbnV4X2JpbnBybSAqYnBybSk7CiBleHRlcm4gaW50IF9fYXVkaXRfc29ja2V0Y2FsbChp bnQgbmFyZ3MsIHVuc2lnbmVkIGxvbmcgKmFyZ3MpOwogZXh0ZXJuIGludCBfX2F1ZGl0X3Nv Y2thZGRyKGludCBsZW4sIHZvaWQgKmFkZHIpOwpAQCAtNDYwLDcgKzQ2MCw3IEBAIHN0YXRp YyBpbmxpbmUgdm9pZCBhdWRpdF9mZF9wYWlyKGludCBmZDEsIGludCBmZDIpCiAJaWYgKHVu bGlrZWx5KCFhdWRpdF9kdW1teV9jb250ZXh0KCkpKQogCQlfX2F1ZGl0X2ZkX3BhaXIoZmQx LCBmZDIpOwogfQotc3RhdGljIGlubGluZSB2b2lkIGF1ZGl0X2lwY19zZXRfcGVybSh1bnNp Z25lZCBsb25nIHFieXRlcywgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIHVtb2RlX3QgbW9kZSkK K3N0YXRpYyBpbmxpbmUgdm9pZCBhdWRpdF9pcGNfc2V0X3Blcm0odW5zaWduZWQgbG9uZyBx Ynl0ZXMsIGt1aWRfdCB1aWQsIGtnaWRfdCBnaWQsIHVtb2RlX3QgbW9kZSkKIHsKIAlpZiAo dW5saWtlbHkoIWF1ZGl0X2R1bW15X2NvbnRleHQoKSkpCiAJCV9fYXVkaXRfaXBjX3NldF9w ZXJtKHFieXRlcywgdWlkLCBnaWQsIG1vZGUpOwpAQCAtNjUyLDggKzY1Miw4IEBAIHN0YXRp YyBpbmxpbmUgdm9pZCBhdWRpdF9zZWNjb21wX2FjdGlvbnNfbG9nZ2VkKGNvbnN0IGNoYXIg Km5hbWVzLAogeyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgYXVkaXRfaXBjX29iaihzdHJ1Y3Qg a2Vybl9pcGNfcGVybSAqaXBjcCkKIHsgfQotc3RhdGljIGlubGluZSB2b2lkIGF1ZGl0X2lw Y19zZXRfcGVybSh1bnNpZ25lZCBsb25nIHFieXRlcywgdWlkX3QgdWlkLAotCQkJCQlnaWRf dCBnaWQsIHVtb2RlX3QgbW9kZSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBhdWRpdF9pcGNfc2V0 X3Blcm0odW5zaWduZWQgbG9uZyBxYnl0ZXMsIGt1aWRfdCB1aWQsCisJCQkJCWtnaWRfdCBn aWQsIHVtb2RlX3QgbW9kZSkKIHsgfQogc3RhdGljIGlubGluZSB2b2lkIGF1ZGl0X2Jwcm0o c3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKIHsgfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91 YXBpL2xpbnV4L2lwYy5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L2lwYy5oCmluZGV4IDU5OTVm YzlkNi4uZTkyNzU2NGZiIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvbGludXgvaXBjLmgK KysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2lwYy5oCkBAIC0zLDYgKzMsNyBAQAogI2RlZmlu ZSBfVUFQSV9MSU5VWF9JUENfSAogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNs dWRlIDxsaW51eC91aWRnaWRfci5oPgogCiAjZGVmaW5lIElQQ19QUklWQVRFICgoX19rZXJu ZWxfa2V5X3QpIDApICAKIApAQCAtNDAsNiArNDEsMjIgQEAgc3RydWN0IGlwY19wZXJtCiAj ZGVmaW5lIElQQ19TRVQgIDEgICAgIC8qIHNldCBpcGNfcGVybSBvcHRpb25zICovCiAjZGVm aW5lIElQQ19TVEFUIDIgICAgIC8qIGdldCBpcGNfcGVybSBvcHRpb25zICovCiAjZGVmaW5l IElQQ19JTkZPIDMgICAgIC8qIHNlZSBpcGNzICovCisjZGVmaW5lIElQQ19TRVRfUiAgMjEg IC8qIHNldCB1aWQsIGdpZCBhbmQgbW9kZSBmcm9tIHN0cnVjdCBpcGNfcGVybV9yICovCisj ZGVmaW5lIElQQ19TVEFUX1IgMjIgIC8qIGdldCBzdHJ1Y3QgaXBjX3Blcm1fciAqLworCisv KgorICogVGhlIGlkcyBhbmQgbW9kZSBvZiBhbiBpcGMgb2JqZWN0IGZvciBJUENfU1RBVF9S IGFuZCBJUENfU0VUX1IsIHdoaWNoCisgKiBhbHNvIGhvbGQgVVVJRHMgYW5kIEdVSURzOyBJ UENfU0VUX1IgdXNlcyB1aWQsIGdpZCBhbmQgbW9kZS4gVGhlIG90aGVyCisgKiBhdHRyaWJ1 dGVzIG9mIHRoZSBvYmplY3QgY29tZSBmcm9tIElQQ19TVEFULgorICovCitzdHJ1Y3QgaXBj X3Blcm1fciB7CisJX19rZXJuZWxfa2V5X3QJCWtleTsKKwlfX3UzMgkJCW1vZGU7CisJX19r ZXJuZWxfdWlkX3JfdAl1aWQ7CisJX19rZXJuZWxfZ2lkX3JfdAlnaWQ7CisJX19rZXJuZWxf dWlkX3JfdAljdWlkOworCV9fa2VybmVsX2dpZF9yX3QJY2dpZDsKK307CiAKIC8qCiAgKiBW ZXJzaW9uIGZsYWdzIGZvciBzZW1jdGwsIG1zZ2N0bCwgYW5kIHNobWN0bCBjb21tYW5kcwpk aWZmIC0tZ2l0IGEvaXBjL21zZy5jIGIvaXBjL21zZy5jCmluZGV4IDYyOTk2Yjk3Zi4uYTNm NTI4N2U1IDEwMDY0NAotLS0gYS9pcGMvbXNnLmMKKysrIGIvaXBjL21zZy5jCkBAIC0zOTgs OCArMzk4LDEwIEBAIGNvcHlfbXNxaWRfZnJvbV91c2VyKHN0cnVjdCBtc3FpZDY0X2RzICpv dXQsIHZvaWQgX191c2VyICpidWYsIGludCB2ZXJzaW9uKQogICogdG8gYmUgaGVsZCBpbiB3 cml0ZSBtb2RlLgogICogTk9URTogbm8gbG9ja3MgbXVzdCBiZSBoZWxkLCB0aGUgcndzZW0g aXMgdGFrZW4gaW5zaWRlIHRoaXMgZnVuY3Rpb24uCiAgKi8KKy8qIElQQ19TRVRfUiBpcyBJ UENfU0VUIHdpdGhvdXQgYSBuZXcgcXVldWUgc2l6ZSAqLwogc3RhdGljIGludCBtc2djdGxf ZG93bihzdHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsIGludCBtc3FpZCwgaW50IGNtZCwKLQkJ CXN0cnVjdCBpcGM2NF9wZXJtICpwZXJtLCBpbnQgbXNnX3FieXRlcykKKwkJCWNvbnN0IHN0 cnVjdCBpcGNfc2V0X2lkcyAqc2V0LCBpbnQgbXNnX3FieXRlcywKKwkJCWJvb2wgc2V0X3Fi eXRlcykKIHsKIAlzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcDsKIAlzdHJ1Y3QgbXNnX3F1 ZXVlICptc3E7CkBAIC00MDksNyArNDExLDcgQEAgc3RhdGljIGludCBtc2djdGxfZG93bihz dHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsIGludCBtc3FpZCwgaW50IGNtZCwKIAlyY3VfcmVh ZF9sb2NrKCk7CiAKIAlpcGNwID0gaXBjY3RsX29idGFpbl9jaGVjayhucywgJm1zZ19pZHMo bnMpLCBtc3FpZCwgY21kLAotCQkJCSAgICAgIHBlcm0sIG1zZ19xYnl0ZXMpOworCQkJCSAg ICAgIHNldCwgbXNnX3FieXRlcyk7CiAJaWYgKElTX0VSUihpcGNwKSkgewogCQllcnIgPSBQ VFJfRVJSKGlwY3ApOwogCQlnb3RvIG91dF91bmxvY2sxOwpAQCAtNDMxLDE4ICs0MzMsMTkg QEAgc3RhdGljIGludCBtc2djdGxfZG93bihzdHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsIGlu dCBtc3FpZCwgaW50IGNtZCwKIAl7CiAJCURFRklORV9XQUtFX1Eod2FrZV9xKTsKIAotCQlp ZiAobXNnX3FieXRlcyA+IG5zLT5tc2dfY3RsbW5iICYmCisJCWlmIChzZXRfcWJ5dGVzICYm IG1zZ19xYnl0ZXMgPiBucy0+bXNnX2N0bG1uYiAmJgogCQkgICAgIWNhcGFibGUoQ0FQX1NZ U19SRVNPVVJDRSkpIHsKIAkJCWVyciA9IC1FUEVSTTsKIAkJCWdvdG8gb3V0X3VubG9jazE7 CiAJCX0KIAogCQlpcGNfbG9ja19vYmplY3QoJm1zcS0+cV9wZXJtKTsKLQkJZXJyID0gaXBj X3VwZGF0ZV9wZXJtKHBlcm0sIGlwY3ApOworCQllcnIgPSBpcGNfdXBkYXRlX3Blcm0oc2V0 LCBpcGNwKTsKIAkJaWYgKGVycikKIAkJCWdvdG8gb3V0X3VubG9jazA7CiAKLQkJbXNxLT5x X3FieXRlcyA9IG1zZ19xYnl0ZXM7CisJCWlmIChzZXRfcWJ5dGVzKQorCQkJbXNxLT5xX3Fi eXRlcyA9IG1zZ19xYnl0ZXM7CiAKIAkJbXNxLT5xX2N0aW1lID0ga3RpbWVfZ2V0X3JlYWxf c2Vjb25kcygpOwogCQkvKgpAQCAtNTk4LDYgKzYwMSw3IEBAIHN0YXRpYyBsb25nIGtzeXNf bXNnY3RsKGludCBtc3FpZCwgaW50IGNtZCwgc3RydWN0IG1zcWlkX2RzIF9fdXNlciAqYnVm LCBpbnQgdmVyCiB7CiAJc3RydWN0IGlwY19uYW1lc3BhY2UgKm5zOwogCXN0cnVjdCBtc3Fp ZDY0X2RzIG1zcWlkNjQ7CisJc3RydWN0IGlwY19zZXRfaWRzIHNldDsKIAlpbnQgZXJyOwog CiAJaWYgKG1zcWlkIDwgMCB8fCBjbWQgPCAwKQpAQCAtNjI4LDEwICs2MzIsMTcgQEAgc3Rh dGljIGxvbmcga3N5c19tc2djdGwoaW50IG1zcWlkLCBpbnQgY21kLCBzdHJ1Y3QgbXNxaWRf ZHMgX191c2VyICpidWYsIGludCB2ZXIKIAljYXNlIElQQ19TRVQ6CiAJCWlmIChjb3B5X21z cWlkX2Zyb21fdXNlcigmbXNxaWQ2NCwgYnVmLCB2ZXJzaW9uKSkKIAkJCXJldHVybiAtRUZB VUxUOwotCQlyZXR1cm4gbXNnY3RsX2Rvd24obnMsIG1zcWlkLCBjbWQsICZtc3FpZDY0Lm1z Z19wZXJtLAotCQkJCSAgIG1zcWlkNjQubXNnX3FieXRlcyk7CisJCWlwYzY0X3Blcm1fdG9f c2V0X2lkcygmbXNxaWQ2NC5tc2dfcGVybSwgJnNldCk7CisJCXJldHVybiBtc2djdGxfZG93 bihucywgbXNxaWQsIGNtZCwgJnNldCwgbXNxaWQ2NC5tc2dfcWJ5dGVzLCB0cnVlKTsKKwlj YXNlIElQQ19TRVRfUjoKKwkJaWYgKGlwY19wZXJtX3JfdG9fc2V0X2lkcygodm9pZCBfX3Vz ZXIgKilidWYsICZzZXQpKQorCQkJcmV0dXJuIC1FRkFVTFQ7CisJCXJldHVybiBtc2djdGxf ZG93bihucywgbXNxaWQsIElQQ19TRVQsICZzZXQsIDAsIGZhbHNlKTsKKwljYXNlIElQQ19T VEFUX1I6CisJCXJldHVybiBpcGNfc3RhdF9yKG5zLCAmbXNnX2lkcyhucyksIG1zcWlkLAor CQkJCSAgc2VjdXJpdHlfbXNnX3F1ZXVlX21zZ2N0bCwgKHZvaWQgX191c2VyICopYnVmKTsK IAljYXNlIElQQ19STUlEOgotCQlyZXR1cm4gbXNnY3RsX2Rvd24obnMsIG1zcWlkLCBjbWQs IE5VTEwsIDApOworCQlyZXR1cm4gbXNnY3RsX2Rvd24obnMsIG1zcWlkLCBjbWQsIE5VTEws IDAsIGZhbHNlKTsKIAlkZWZhdWx0OgogCQlyZXR1cm4gIC1FSU5WQUw7CiAJfQpAQCAtNzM0 LDYgKzc0NSw3IEBAIHN0YXRpYyBsb25nIGNvbXBhdF9rc3lzX21zZ2N0bChpbnQgbXNxaWQs IGludCBjbWQsIHZvaWQgX191c2VyICp1cHRyLCBpbnQgdmVyc2lvCiAJc3RydWN0IGlwY19u YW1lc3BhY2UgKm5zOwogCWludCBlcnI7CiAJc3RydWN0IG1zcWlkNjRfZHMgbXNxaWQ2NDsK KwlzdHJ1Y3QgaXBjX3NldF9pZHMgc2V0OwogCiAJbnMgPSBjdXJyZW50LT5uc3Byb3h5LT5p cGNfbnM7CiAKQEAgLTc2Myw5ICs3NzUsMTcgQEAgc3RhdGljIGxvbmcgY29tcGF0X2tzeXNf bXNnY3RsKGludCBtc3FpZCwgaW50IGNtZCwgdm9pZCBfX3VzZXIgKnVwdHIsIGludCB2ZXJz aW8KIAljYXNlIElQQ19TRVQ6CiAJCWlmIChjb3B5X2NvbXBhdF9tc3FpZF9mcm9tX3VzZXIo Jm1zcWlkNjQsIHVwdHIsIHZlcnNpb24pKQogCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCXJldHVy biBtc2djdGxfZG93bihucywgbXNxaWQsIGNtZCwgJm1zcWlkNjQubXNnX3Blcm0sIG1zcWlk NjQubXNnX3FieXRlcyk7CisJCWlwYzY0X3Blcm1fdG9fc2V0X2lkcygmbXNxaWQ2NC5tc2df cGVybSwgJnNldCk7CisJCXJldHVybiBtc2djdGxfZG93bihucywgbXNxaWQsIGNtZCwgJnNl dCwgbXNxaWQ2NC5tc2dfcWJ5dGVzLCB0cnVlKTsKKwljYXNlIElQQ19TRVRfUjoKKwkJaWYg KGlwY19wZXJtX3JfdG9fc2V0X2lkcyh1cHRyLCAmc2V0KSkKKwkJCXJldHVybiAtRUZBVUxU OworCQlyZXR1cm4gbXNnY3RsX2Rvd24obnMsIG1zcWlkLCBJUENfU0VULCAmc2V0LCAwLCBm YWxzZSk7CisJY2FzZSBJUENfU1RBVF9SOgorCQlyZXR1cm4gaXBjX3N0YXRfcihucywgJm1z Z19pZHMobnMpLCBtc3FpZCwKKwkJCQkgIHNlY3VyaXR5X21zZ19xdWV1ZV9tc2djdGwsIHVw dHIpOwogCWNhc2UgSVBDX1JNSUQ6Ci0JCXJldHVybiBtc2djdGxfZG93bihucywgbXNxaWQs IGNtZCwgTlVMTCwgMCk7CisJCXJldHVybiBtc2djdGxfZG93bihucywgbXNxaWQsIGNtZCwg TlVMTCwgMCwgZmFsc2UpOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtRUlOVkFMOwogCX0KZGlm ZiAtLWdpdCBhL2lwYy9zZW0uYyBiL2lwYy9zZW0uYwppbmRleCA1ZWM0MWRlN2UuLmFiNDU2 OTkxZSAxMDA2NDQKLS0tIGEvaXBjL3NlbS5jCisrKyBiL2lwYy9zZW0uYwpAQCAtMTU5OSw3 ICsxNTk5LDcgQEAgY29weV9zZW1pZF9mcm9tX3VzZXIoc3RydWN0IHNlbWlkNjRfZHMgKm91 dCwgdm9pZCBfX3VzZXIgKmJ1ZiwgaW50IHZlcnNpb24pCiAgKiBOT1RFOiBubyBsb2NrcyBt dXN0IGJlIGhlbGQsIHRoZSByd3NlbSBpcyB0YWtlbiBpbnNpZGUgdGhpcyBmdW5jdGlvbi4K ICAqLwogc3RhdGljIGludCBzZW1jdGxfZG93bihzdHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMs IGludCBzZW1pZCwKLQkJICAgICAgIGludCBjbWQsIHN0cnVjdCBzZW1pZDY0X2RzICpzZW1p ZDY0KQorCQkgICAgICAgaW50IGNtZCwgY29uc3Qgc3RydWN0IGlwY19zZXRfaWRzICpzZXQp CiB7CiAJc3RydWN0IHNlbV9hcnJheSAqc21hOwogCWludCBlcnI7CkBAIC0xNjA4LDggKzE2 MDgsNyBAQCBzdGF0aWMgaW50IHNlbWN0bF9kb3duKHN0cnVjdCBpcGNfbmFtZXNwYWNlICpu cywgaW50IHNlbWlkLAogCWRvd25fd3JpdGUoJnNlbV9pZHMobnMpLnJ3c2VtKTsKIAlyY3Vf cmVhZF9sb2NrKCk7CiAKLQlpcGNwID0gaXBjY3RsX29idGFpbl9jaGVjayhucywgJnNlbV9p ZHMobnMpLCBzZW1pZCwgY21kLAotCQkJCSAgICAgICZzZW1pZDY0LT5zZW1fcGVybSwgMCk7 CisJaXBjcCA9IGlwY2N0bF9vYnRhaW5fY2hlY2sobnMsICZzZW1faWRzKG5zKSwgc2VtaWQs IGNtZCwgc2V0LCAwKTsKIAlpZiAoSVNfRVJSKGlwY3ApKSB7CiAJCWVyciA9IFBUUl9FUlIo aXBjcCk7CiAJCWdvdG8gb3V0X3VubG9jazE7CkBAIC0xNjI5LDcgKzE2MjgsNyBAQCBzdGF0 aWMgaW50IHNlbWN0bF9kb3duKHN0cnVjdCBpcGNfbmFtZXNwYWNlICpucywgaW50IHNlbWlk LAogCQlnb3RvIG91dF91cDsKIAljYXNlIElQQ19TRVQ6CiAJCXNlbV9sb2NrKHNtYSwgTlVM TCwgLTEpOwotCQllcnIgPSBpcGNfdXBkYXRlX3Blcm0oJnNlbWlkNjQtPnNlbV9wZXJtLCBp cGNwKTsKKwkJZXJyID0gaXBjX3VwZGF0ZV9wZXJtKHNldCwgaXBjcCk7CiAJCWlmIChlcnIp CiAJCQlnb3RvIG91dF91bmxvY2swOwogCQlzbWEtPnNlbV9jdGltZSA9IGt0aW1lX2dldF9y ZWFsX3NlY29uZHMoKTsKQEAgLTE2NTMsNiArMTY1Miw3IEBAIHN0YXRpYyBsb25nIGtzeXNf c2VtY3RsKGludCBzZW1pZCwgaW50IHNlbW51bSwgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBh cmcsIGludCB2CiAJc3RydWN0IGlwY19uYW1lc3BhY2UgKm5zOwogCXZvaWQgX191c2VyICpw ID0gKHZvaWQgX191c2VyICopYXJnOwogCXN0cnVjdCBzZW1pZDY0X2RzIHNlbWlkNjQ7CisJ c3RydWN0IGlwY19zZXRfaWRzIHNldDsKIAlpbnQgZXJyOwogCiAJaWYgKHNlbWlkIDwgMCkK QEAgLTE2OTQsOSArMTY5NCwxNiBAQCBzdGF0aWMgbG9uZyBrc3lzX3NlbWN0bChpbnQgc2Vt aWQsIGludCBzZW1udW0sIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnLCBpbnQgdgogCWNh c2UgSVBDX1NFVDoKIAkJaWYgKGNvcHlfc2VtaWRfZnJvbV91c2VyKCZzZW1pZDY0LCBwLCB2 ZXJzaW9uKSkKIAkJCXJldHVybiAtRUZBVUxUOwotCQlmYWxsdGhyb3VnaDsKKwkJaXBjNjRf cGVybV90b19zZXRfaWRzKCZzZW1pZDY0LnNlbV9wZXJtLCAmc2V0KTsKKwkJcmV0dXJuIHNl bWN0bF9kb3duKG5zLCBzZW1pZCwgY21kLCAmc2V0KTsKKwljYXNlIElQQ19TRVRfUjoKKwkJ aWYgKGlwY19wZXJtX3JfdG9fc2V0X2lkcyhwLCAmc2V0KSkKKwkJCXJldHVybiAtRUZBVUxU OworCQlyZXR1cm4gc2VtY3RsX2Rvd24obnMsIHNlbWlkLCBJUENfU0VULCAmc2V0KTsKKwlj YXNlIElQQ19TVEFUX1I6CisJCXJldHVybiBpcGNfc3RhdF9yKG5zLCAmc2VtX2lkcyhucyks IHNlbWlkLCBzZWN1cml0eV9zZW1fc2VtY3RsLCBwKTsKIAljYXNlIElQQ19STUlEOgotCQly ZXR1cm4gc2VtY3RsX2Rvd24obnMsIHNlbWlkLCBjbWQsICZzZW1pZDY0KTsKKwkJcmV0dXJu IHNlbWN0bF9kb3duKG5zLCBzZW1pZCwgY21kLCBOVUxMKTsKIAlkZWZhdWx0OgogCQlyZXR1 cm4gLUVJTlZBTDsKIAl9CkBAIC0xNzc2LDYgKzE3ODMsNyBAQCBzdGF0aWMgbG9uZyBjb21w YXRfa3N5c19zZW1jdGwoaW50IHNlbWlkLCBpbnQgc2VtbnVtLCBpbnQgY21kLCBpbnQgYXJn LCBpbnQgdmVycwogCXZvaWQgX191c2VyICpwID0gY29tcGF0X3B0cihhcmcpOwogCXN0cnVj dCBpcGNfbmFtZXNwYWNlICpuczsKIAlzdHJ1Y3Qgc2VtaWQ2NF9kcyBzZW1pZDY0OworCXN0 cnVjdCBpcGNfc2V0X2lkcyBzZXQ7CiAJaW50IGVycjsKIAogCW5zID0gY3VycmVudC0+bnNw cm94eS0+aXBjX25zOwpAQCAtMTgwOCw5ICsxODE2LDE2IEBAIHN0YXRpYyBsb25nIGNvbXBh dF9rc3lzX3NlbWN0bChpbnQgc2VtaWQsIGludCBzZW1udW0sIGludCBjbWQsIGludCBhcmcs IGludCB2ZXJzCiAJY2FzZSBJUENfU0VUOgogCQlpZiAoY29weV9jb21wYXRfc2VtaWRfZnJv bV91c2VyKCZzZW1pZDY0LCBwLCB2ZXJzaW9uKSkKIAkJCXJldHVybiAtRUZBVUxUOwotCQlm YWxsdGhyb3VnaDsKKwkJaXBjNjRfcGVybV90b19zZXRfaWRzKCZzZW1pZDY0LnNlbV9wZXJt LCAmc2V0KTsKKwkJcmV0dXJuIHNlbWN0bF9kb3duKG5zLCBzZW1pZCwgY21kLCAmc2V0KTsK KwljYXNlIElQQ19TRVRfUjoKKwkJaWYgKGlwY19wZXJtX3JfdG9fc2V0X2lkcyhwLCAmc2V0 KSkKKwkJCXJldHVybiAtRUZBVUxUOworCQlyZXR1cm4gc2VtY3RsX2Rvd24obnMsIHNlbWlk LCBJUENfU0VULCAmc2V0KTsKKwljYXNlIElQQ19TVEFUX1I6CisJCXJldHVybiBpcGNfc3Rh dF9yKG5zLCAmc2VtX2lkcyhucyksIHNlbWlkLCBzZWN1cml0eV9zZW1fc2VtY3RsLCBwKTsK IAljYXNlIElQQ19STUlEOgotCQlyZXR1cm4gc2VtY3RsX2Rvd24obnMsIHNlbWlkLCBjbWQs ICZzZW1pZDY0KTsKKwkJcmV0dXJuIHNlbWN0bF9kb3duKG5zLCBzZW1pZCwgY21kLCBOVUxM KTsKIAlkZWZhdWx0OgogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CmRpZmYgLS1naXQgYS9pcGMv c2htLmMgYi9pcGMvc2htLmMKaW5kZXggYjNlOGE1OGUxLi5kYzUwZjgwMGYgMTAwNjQ0Ci0t LSBhL2lwYy9zaG0uYworKysgYi9pcGMvc2htLmMKQEAgLTk5Myw3ICs5OTMsNyBAQCBzdGF0 aWMgdm9pZCBzaG1fZ2V0X3N0YXQoc3RydWN0IGlwY19uYW1lc3BhY2UgKm5zLCB1bnNpZ25l ZCBsb25nICpyc3MsCiAgKiBOT1RFOiBubyBsb2NrcyBtdXN0IGJlIGhlbGQsIHRoZSByd3Nl bSBpcyB0YWtlbiBpbnNpZGUgdGhpcyBmdW5jdGlvbi4KICAqLwogc3RhdGljIGludCBzaG1j dGxfZG93bihzdHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsIGludCBzaG1pZCwgaW50IGNtZCwK LQkJICAgICAgIHN0cnVjdCBzaG1pZDY0X2RzICpzaG1pZDY0KQorCQkgICAgICAgY29uc3Qg c3RydWN0IGlwY19zZXRfaWRzICpzZXQpCiB7CiAJc3RydWN0IGtlcm5faXBjX3Blcm0gKmlw Y3A7CiAJc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwOwpAQCAtMTAwMiw4ICsxMDAyLDcgQEAg c3RhdGljIGludCBzaG1jdGxfZG93bihzdHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsIGludCBz aG1pZCwgaW50IGNtZCwKIAlkb3duX3dyaXRlKCZzaG1faWRzKG5zKS5yd3NlbSk7CiAJcmN1 X3JlYWRfbG9jaygpOwogCi0JaXBjcCA9IGlwY2N0bF9vYnRhaW5fY2hlY2sobnMsICZzaG1f aWRzKG5zKSwgc2htaWQsIGNtZCwKLQkJCQkgICAgICAmc2htaWQ2NC0+c2htX3Blcm0sIDAp OworCWlwY3AgPSBpcGNjdGxfb2J0YWluX2NoZWNrKG5zLCAmc2htX2lkcyhucyksIHNobWlk LCBjbWQsIHNldCwgMCk7CiAJaWYgKElTX0VSUihpcGNwKSkgewogCQllcnIgPSBQVFJfRVJS KGlwY3ApOwogCQlnb3RvIG91dF91bmxvY2sxOwpAQCAtMTAyMyw3ICsxMDIyLDcgQEAgc3Rh dGljIGludCBzaG1jdGxfZG93bihzdHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsIGludCBzaG1p ZCwgaW50IGNtZCwKIAkJZ290byBvdXRfdXA7CiAJY2FzZSBJUENfU0VUOgogCQlpcGNfbG9j a19vYmplY3QoJnNocC0+c2htX3Blcm0pOwotCQllcnIgPSBpcGNfdXBkYXRlX3Blcm0oJnNo bWlkNjQtPnNobV9wZXJtLCBpcGNwKTsKKwkJZXJyID0gaXBjX3VwZGF0ZV9wZXJtKHNldCwg aXBjcCk7CiAJCWlmIChlcnIpCiAJCQlnb3RvIG91dF91bmxvY2swOwogCQlzaHAtPnNobV9j dGltID0ga3RpbWVfZ2V0X3JlYWxfc2Vjb25kcygpOwpAQCAtMTI0Niw2ICsxMjQ1LDcgQEAg c3RhdGljIGxvbmcga3N5c19zaG1jdGwoaW50IHNobWlkLCBpbnQgY21kLCBzdHJ1Y3Qgc2ht aWRfZHMgX191c2VyICpidWYsIGludCB2ZXIKIAlpbnQgZXJyOwogCXN0cnVjdCBpcGNfbmFt ZXNwYWNlICpuczsKIAlzdHJ1Y3Qgc2htaWQ2NF9kcyBzZW02NDsKKwlzdHJ1Y3QgaXBjX3Nl dF9pZHMgc2V0OwogCiAJaWYgKGNtZCA8IDAgfHwgc2htaWQgPCAwKQogCQlyZXR1cm4gLUVJ TlZBTDsKQEAgLTEyODQsOSArMTI4NCwxNyBAQCBzdGF0aWMgbG9uZyBrc3lzX3NobWN0bChp bnQgc2htaWQsIGludCBjbWQsIHN0cnVjdCBzaG1pZF9kcyBfX3VzZXIgKmJ1ZiwgaW50IHZl cgogCWNhc2UgSVBDX1NFVDoKIAkJaWYgKGNvcHlfc2htaWRfZnJvbV91c2VyKCZzZW02NCwg YnVmLCB2ZXJzaW9uKSkKIAkJCXJldHVybiAtRUZBVUxUOwotCQlmYWxsdGhyb3VnaDsKKwkJ aXBjNjRfcGVybV90b19zZXRfaWRzKCZzZW02NC5zaG1fcGVybSwgJnNldCk7CisJCXJldHVy biBzaG1jdGxfZG93bihucywgc2htaWQsIGNtZCwgJnNldCk7CisJY2FzZSBJUENfU0VUX1I6 CisJCWlmIChpcGNfcGVybV9yX3RvX3NldF9pZHMoKHZvaWQgX191c2VyICopYnVmLCAmc2V0 KSkKKwkJCXJldHVybiAtRUZBVUxUOworCQlyZXR1cm4gc2htY3RsX2Rvd24obnMsIHNobWlk LCBJUENfU0VULCAmc2V0KTsKKwljYXNlIElQQ19TVEFUX1I6CisJCXJldHVybiBpcGNfc3Rh dF9yKG5zLCAmc2htX2lkcyhucyksIHNobWlkLCBzZWN1cml0eV9zaG1fc2htY3RsLAorCQkJ CSAgKHZvaWQgX191c2VyICopYnVmKTsKIAljYXNlIElQQ19STUlEOgotCQlyZXR1cm4gc2ht Y3RsX2Rvd24obnMsIHNobWlkLCBjbWQsICZzZW02NCk7CisJCXJldHVybiBzaG1jdGxfZG93 bihucywgc2htaWQsIGNtZCwgTlVMTCk7CiAJY2FzZSBTSE1fTE9DSzoKIAljYXNlIFNITV9V TkxPQ0s6CiAJCXJldHVybiBzaG1jdGxfZG9fbG9jayhucywgc2htaWQsIGNtZCk7CkBAIC0x NDQwLDYgKzE0NDgsNyBAQCBzdGF0aWMgbG9uZyBjb21wYXRfa3N5c19zaG1jdGwoaW50IHNo bWlkLCBpbnQgY21kLCB2b2lkIF9fdXNlciAqdXB0ciwgaW50IHZlcnNpbwogewogCXN0cnVj dCBpcGNfbmFtZXNwYWNlICpuczsKIAlzdHJ1Y3Qgc2htaWQ2NF9kcyBzZW02NDsKKwlzdHJ1 Y3QgaXBjX3NldF9pZHMgc2V0OwogCWludCBlcnI7CiAKIAlucyA9IGN1cnJlbnQtPm5zcHJv eHktPmlwY19uczsKQEAgLTE0NzksOSArMTQ4OCwxNiBAQCBzdGF0aWMgbG9uZyBjb21wYXRf a3N5c19zaG1jdGwoaW50IHNobWlkLCBpbnQgY21kLCB2b2lkIF9fdXNlciAqdXB0ciwgaW50 IHZlcnNpbwogCWNhc2UgSVBDX1NFVDoKIAkJaWYgKGNvcHlfY29tcGF0X3NobWlkX2Zyb21f dXNlcigmc2VtNjQsIHVwdHIsIHZlcnNpb24pKQogCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCWZh bGx0aHJvdWdoOworCQlpcGM2NF9wZXJtX3RvX3NldF9pZHMoJnNlbTY0LnNobV9wZXJtLCAm c2V0KTsKKwkJcmV0dXJuIHNobWN0bF9kb3duKG5zLCBzaG1pZCwgY21kLCAmc2V0KTsKKwlj YXNlIElQQ19TRVRfUjoKKwkJaWYgKGlwY19wZXJtX3JfdG9fc2V0X2lkcyh1cHRyLCAmc2V0 KSkKKwkJCXJldHVybiAtRUZBVUxUOworCQlyZXR1cm4gc2htY3RsX2Rvd24obnMsIHNobWlk LCBJUENfU0VULCAmc2V0KTsKKwljYXNlIElQQ19TVEFUX1I6CisJCXJldHVybiBpcGNfc3Rh dF9yKG5zLCAmc2htX2lkcyhucyksIHNobWlkLCBzZWN1cml0eV9zaG1fc2htY3RsLCB1cHRy KTsKIAljYXNlIElQQ19STUlEOgotCQlyZXR1cm4gc2htY3RsX2Rvd24obnMsIHNobWlkLCBj bWQsICZzZW02NCk7CisJCXJldHVybiBzaG1jdGxfZG93bihucywgc2htaWQsIGNtZCwgTlVM TCk7CiAJY2FzZSBTSE1fTE9DSzoKIAljYXNlIFNITV9VTkxPQ0s6CiAJCXJldHVybiBzaG1j dGxfZG9fbG9jayhucywgc2htaWQsIGNtZCk7CmRpZmYgLS1naXQgYS9pcGMvdXRpbC5jIGIv aXBjL3V0aWwuYwppbmRleCAxNzM3ZDc3NmIuLmJjNGRmNTYxOSAxMDA2NDQKLS0tIGEvaXBj L3V0aWwuYworKysgYi9pcGMvdXRpbC5jCkBAIC02ODEsMjggKzY4MSwxMTcgQEAgaW50IGlw Y2dldChzdHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsIHN0cnVjdCBpcGNfaWRzICppZHMsCiAg KiBAaW46ICB0aGUgcGVybWlzc2lvbiBnaXZlbiBhcyBpbnB1dC4KICAqIEBvdXQ6IHRoZSBw ZXJtaXNzaW9uIG9mIHRoZSBpcGMgdG8gc2V0LgogICovCi1pbnQgaXBjX3VwZGF0ZV9wZXJt KHN0cnVjdCBpcGM2NF9wZXJtICppbiwgc3RydWN0IGtlcm5faXBjX3Blcm0gKm91dCkKK2lu dCBpcGNfdXBkYXRlX3Blcm0oY29uc3Qgc3RydWN0IGlwY19zZXRfaWRzICppbiwgc3RydWN0 IGtlcm5faXBjX3Blcm0gKm91dCkKIHsKLQlrdWlkX3QgdWlkID0gbWFrZV9rdWlkKGN1cnJl bnRfdXNlcl9ucygpLCBpbi0+dWlkKTsKLQlrZ2lkX3QgZ2lkID0gbWFrZV9rZ2lkKGN1cnJl bnRfdXNlcl9ucygpLCBpbi0+Z2lkKTsKLQlpZiAoIXVpZF92YWxpZCh1aWQpIHx8ICFnaWRf dmFsaWQoZ2lkKSkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKGluLT5lcnIpCisJCXJldHVy biBpbi0+ZXJyOwogCi0Jb3V0LT51aWQgPSB1aWQ7Ci0Jb3V0LT5naWQgPSBnaWQ7CisJb3V0 LT51aWQgPSBpbi0+dWlkOworCW91dC0+Z2lkID0gaW4tPmdpZDsKIAlvdXQtPm1vZGUgPSAo b3V0LT5tb2RlICYgflNfSVJXWFVHTykKIAkJfCAoaW4tPm1vZGUgJiBTX0lSV1hVR08pOwog CiAJcmV0dXJuIDA7CiB9CiAKKy8qKgorICogaXBjNjRfcGVybV90b19zZXRfaWRzIC0gdGhl IElQQ19TRVQgaWRzIGFuZCBtb2RlIG9mIGEgY2xhc3NpYyBpcGM2NF9wZXJtCisgKiBAaW46 IHVzZXIgcGVybWlzc2lvbnMKKyAqIEBvdXQ6IGtlcm5lbCBpZHMgYW5kIG1vZGUsIC1FSU5W QUwgaW4gQG91dC0+ZXJyIGlmIGFuIGlkIGlzIGludmFsaWQKKyAqLwordm9pZCBpcGM2NF9w ZXJtX3RvX3NldF9pZHMoY29uc3Qgc3RydWN0IGlwYzY0X3Blcm0gKmluLCBzdHJ1Y3QgaXBj X3NldF9pZHMgKm91dCkKK3sKKwlvdXQtPnVpZCA9IG1ha2Vfa3VpZChjdXJyZW50X3VzZXJf bnMoKSwgaW4tPnVpZCk7CisJb3V0LT5naWQgPSBtYWtlX2tnaWQoY3VycmVudF91c2VyX25z KCksIGluLT5naWQpOworCW91dC0+bW9kZSA9IGluLT5tb2RlOworCW91dC0+ZXJyID0gdWlk X3ZhbGlkKG91dC0+dWlkKSAmJiBnaWRfdmFsaWQob3V0LT5naWQpID8gMCA6IC1FSU5WQUw7 Cit9CisKKy8qKgorICogaXBjX3Blcm1fcl90b19zZXRfaWRzIC0gdGhlIElQQ19TRVRfUiBp ZHMgYW5kIG1vZGUgb2YgYSBzdHJ1Y3QgaXBjX3Blcm1fcgorICogQGluOiB1c2VyIHBlcm1p c3Npb25zCisgKiBAb3V0OiBrZXJuZWwgaWRzIGFuZCBtb2RlLCAtRUlOVkFMIGluIEBvdXQt PmVyciBpZiBhbiBpZCBpcyBpbnZhbGlkCisgKgorICogUmV0dXJuOiAwIG9yIC1FRkFVTFQu CisgKi8KK2ludCBpcGNfcGVybV9yX3RvX3NldF9pZHMoY29uc3Qgc3RydWN0IGlwY19wZXJt X3IgX191c2VyICppbiwKKwkJCSAgc3RydWN0IGlwY19zZXRfaWRzICpvdXQpCit7CisJc3Ry dWN0IGlwY19wZXJtX3IgcGVybTsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmcGVybSwgaW4s IHNpemVvZihwZXJtKSkpCisJCXJldHVybiAtRUZBVUxUOworCW91dC0+dWlkID0gbWFrZV9r dWlkX3IoY3VycmVudF91c2VyX25zKCksICZwZXJtLnVpZCk7CisJb3V0LT5naWQgPSBtYWtl X2tnaWRfcihjdXJyZW50X3VzZXJfbnMoKSwgJnBlcm0uZ2lkKTsKKwlvdXQtPm1vZGUgPSBw ZXJtLm1vZGU7CisJb3V0LT5lcnIgPSB1aWRfdmFsaWQob3V0LT51aWQpICYmIGdpZF92YWxp ZChvdXQtPmdpZCkgPyAwIDogLUVJTlZBTDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBp cGNfc3RhdF9yIC0gSVBDX1NUQVRfUiBvZiBhbiBpcGMgb2JqZWN0CisgKiBAbnM6IGlwYyBu YW1lc3BhY2UKKyAqIEBpZHM6IHRoZSB0YWJsZSBvZiBpZHMgd2hlcmUgdG8gbG9vayBmb3Ig dGhlIG9iamVjdAorICogQGlkOiB0aGUgaWQgb2YgdGhlIG9iamVjdAorICogQHNlY3VyaXR5 OiB0aGUgc2VjdXJpdHkgaG9vayBvZiB0aGUgb2JqZWN0J3Mga2luZCwgYXNrZWQgZm9yIElQ Q19TVEFUCisgKiBAYnVmOiB3aGVyZSB0byBwdXQgdGhlIHN0cnVjdCBpcGNfcGVybV9yCisg KgorICogUmV0dXJuOiAwIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZS4KKyAqLworaW50IGlw Y19zdGF0X3Ioc3RydWN0IGlwY19uYW1lc3BhY2UgKm5zLCBzdHJ1Y3QgaXBjX2lkcyAqaWRz LCBpbnQgaWQsCisJICAgICAgIGludCAoKnNlY3VyaXR5KShzdHJ1Y3Qga2Vybl9pcGNfcGVy bSAqLCBpbnQpLAorCSAgICAgICBzdHJ1Y3QgaXBjX3Blcm1fciBfX3VzZXIgKmJ1ZikKK3sK KwlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnVzZXJfbnMgPSBjdXJyZW50X3VzZXJfbnMoKTsK KwlzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcDsKKwlzdHJ1Y3QgaXBjX3Blcm1fciBwZXJt OworCWludCBlcnI7CisKKwltZW1zZXQoJnBlcm0sIDAsIHNpemVvZihwZXJtKSk7CisJcmN1 X3JlYWRfbG9jaygpOworCWlwY3AgPSBpcGNfb2J0YWluX29iamVjdF9jaGVjayhpZHMsIGlk KTsKKwlpZiAoSVNfRVJSKGlwY3ApKSB7CisJCWVyciA9IFBUUl9FUlIoaXBjcCk7CisJCWdv dG8gb3V0X3VubG9jazsKKwl9CisKKwllcnIgPSAtRUFDQ0VTOworCWlmIChpcGNwZXJtcyhu cywgaXBjcCwgU19JUlVHTykpCisJCWdvdG8gb3V0X3VubG9jazsKKworCWVyciA9IHNlY3Vy aXR5KGlwY3AsIElQQ19TVEFUKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dF91bmxvY2s7CisK KwlpcGNfbG9ja19vYmplY3QoaXBjcCk7CisJaWYgKCFpcGNfdmFsaWRfb2JqZWN0KGlwY3Ap KSB7CisJCWlwY191bmxvY2tfb2JqZWN0KGlwY3ApOworCQllcnIgPSAtRUlEUk07CisJCWdv dG8gb3V0X3VubG9jazsKKwl9CisJcGVybS5rZXkgPSBpcGNwLT5rZXk7CisJcGVybS5tb2Rl ID0gaXBjcC0+bW9kZTsKKwlmcm9tX2t1aWRfcl9tdW5nZWQodXNlcl9ucywgaXBjcC0+dWlk LCAmcGVybS51aWQpOworCWZyb21fa2dpZF9yX211bmdlZCh1c2VyX25zLCBpcGNwLT5naWQs ICZwZXJtLmdpZCk7CisJZnJvbV9rdWlkX3JfbXVuZ2VkKHVzZXJfbnMsIGlwY3AtPmN1aWQs ICZwZXJtLmN1aWQpOworCWZyb21fa2dpZF9yX211bmdlZCh1c2VyX25zLCBpcGNwLT5jZ2lk LCAmcGVybS5jZ2lkKTsKKwlpcGNfdW5sb2NrX29iamVjdChpcGNwKTsKKwlyY3VfcmVhZF91 bmxvY2soKTsKKworCXJldHVybiBjb3B5X3RvX3VzZXIoYnVmLCAmcGVybSwgc2l6ZW9mKHBl cm0pKSA/IC1FRkFVTFQgOiAwOworCitvdXRfdW5sb2NrOgorCXJjdV9yZWFkX3VubG9jaygp OworCXJldHVybiBlcnI7Cit9CisKIC8qKgogICogaXBjY3RsX29idGFpbl9jaGVjayAtIHJl dHJpZXZlIGFuIGlwYyBvYmplY3QgYW5kIGNoZWNrIHBlcm1pc3Npb25zCiAgKiBAbnM6ICBp cGMgbmFtZXNwYWNlCiAgKiBAaWRzOiAgdGhlIHRhYmxlIG9mIGlkcyB3aGVyZSB0byBsb29r IGZvciB0aGUgaXBjCiAgKiBAaWQ6ICAgdGhlIGlkIG9mIHRoZSBpcGMgdG8gcmV0cmlldmUK ICAqIEBjbWQ6ICB0aGUgY21kIHRvIGNoZWNrCi0gKiBAcGVybTogdGhlIHBlcm1pc3Npb24g dG8gc2V0CisgKiBAc2V0OiB0aGUgaWRzIGFuZCBtb2RlIHRvIHNldAogICogQGV4dHJhX3Bl cm06IG9uZSBleHRyYSBwZXJtaXNzaW9uIHBhcmFtZXRlciB1c2VkIGJ5IG1zcQogICoKICAq IFRoaXMgZnVuY3Rpb24gZG9lcyBzb21lIGNvbW1vbiBhdWRpdCBhbmQgcGVybWlzc2lvbnMg Y2hlY2sgZm9yIHNvbWUgSVBDX1hYWApAQCAtNzE4LDcgKzgwNyw4IEBAIGludCBpcGNfdXBk YXRlX3Blcm0oc3RydWN0IGlwYzY0X3Blcm0gKmluLCBzdHJ1Y3Qga2Vybl9pcGNfcGVybSAq b3V0KQogICovCiBzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjY3RsX29idGFpbl9jaGVjayhz dHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsCiAJCQkJCXN0cnVjdCBpcGNfaWRzICppZHMsIGlu dCBpZCwgaW50IGNtZCwKLQkJCQkJc3RydWN0IGlwYzY0X3Blcm0gKnBlcm0sIGludCBleHRy YV9wZXJtKQorCQkJCQljb25zdCBzdHJ1Y3QgaXBjX3NldF9pZHMgKnNldCwKKwkJCQkJaW50 IGV4dHJhX3Blcm0pCiB7CiAJa3VpZF90IGV1aWQ7CiAJaW50IGVyciA9IC1FUEVSTTsKQEAg LTczMiw4ICs4MjIsOCBAQCBzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjY3RsX29idGFpbl9j aGVjayhzdHJ1Y3QgaXBjX25hbWVzcGFjZSAqbnMsCiAKIAlhdWRpdF9pcGNfb2JqKGlwY3Ap OwogCWlmIChjbWQgPT0gSVBDX1NFVCkKLQkJYXVkaXRfaXBjX3NldF9wZXJtKGV4dHJhX3Bl cm0sIHBlcm0tPnVpZCwKLQkJCQkgICBwZXJtLT5naWQsIHBlcm0tPm1vZGUpOworCQlhdWRp dF9pcGNfc2V0X3Blcm0oZXh0cmFfcGVybSwgc2V0LT51aWQsCisJCQkJICAgc2V0LT5naWQs IHNldC0+bW9kZSk7CiAKIAlldWlkID0gY3VycmVudF9ldWlkKCk7CiAJaWYgKHVpZF9lcShl dWlkLCBpcGNwLT5jdWlkKSB8fCB1aWRfZXEoZXVpZCwgaXBjcC0+dWlkKSAgfHwKZGlmZiAt LWdpdCBhL2lwYy91dGlsLmggYi9pcGMvdXRpbC5oCmluZGV4IGE1NWQ2Y2ViZS4uYjBkNTdm NGU2IDEwMDY0NAotLS0gYS9pcGMvdXRpbC5oCisrKyBiL2lwYy91dGlsLmgKQEAgLTE3Nywx MCArMTc3LDI5IEBAIHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNfb2J0YWluX29iamVjdF9p ZHIoc3RydWN0IGlwY19pZHMgKmlkcywgaW50IGlkKTsKIAogdm9pZCBrZXJuZWxfdG9faXBj NjRfcGVybShzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaW4sIHN0cnVjdCBpcGM2NF9wZXJtICpv dXQpOwogdm9pZCBpcGM2NF9wZXJtX3RvX2lwY19wZXJtKHN0cnVjdCBpcGM2NF9wZXJtICpp biwgc3RydWN0IGlwY19wZXJtICpvdXQpOwotaW50IGlwY191cGRhdGVfcGVybShzdHJ1Y3Qg aXBjNjRfcGVybSAqaW4sIHN0cnVjdCBrZXJuX2lwY19wZXJtICpvdXQpOworCisvKgorICog VGhlIG5ldyBvd25lciwgZ3JvdXAgYW5kIG1vZGUgb2YgSVBDX1NFVC9JUENfU0VUX1IuIEBl cnIgaXMgYW4gZXJyb3Igb2YKKyAqIHRoZWlyIGNvbnZlcnNpb24sIHJlcG9ydGVkIG9uY2Ug dGhlIG9iamVjdCBoYXMgYmVlbiBmb3VuZC4KKyAqLworc3RydWN0IGlwY19zZXRfaWRzIHsK KwlrdWlkX3QgdWlkOworCWtnaWRfdCBnaWQ7CisJdW1vZGVfdCBtb2RlOworCWludCBlcnI7 Cit9OworCit2b2lkIGlwYzY0X3Blcm1fdG9fc2V0X2lkcyhjb25zdCBzdHJ1Y3QgaXBjNjRf cGVybSAqaW4sIHN0cnVjdCBpcGNfc2V0X2lkcyAqb3V0KTsKK2ludCBpcGNfcGVybV9yX3Rv X3NldF9pZHMoY29uc3Qgc3RydWN0IGlwY19wZXJtX3IgX191c2VyICppbiwKKwkJCSAgc3Ry dWN0IGlwY19zZXRfaWRzICpvdXQpOworaW50IGlwY191cGRhdGVfcGVybShjb25zdCBzdHJ1 Y3QgaXBjX3NldF9pZHMgKmluLCBzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqb3V0KTsKIHN0cnVj dCBrZXJuX2lwY19wZXJtICppcGNjdGxfb2J0YWluX2NoZWNrKHN0cnVjdCBpcGNfbmFtZXNw YWNlICpucywKIAkJCQkJICAgICBzdHJ1Y3QgaXBjX2lkcyAqaWRzLCBpbnQgaWQsIGludCBj bWQsCi0JCQkJCSAgICAgc3RydWN0IGlwYzY0X3Blcm0gKnBlcm0sIGludCBleHRyYV9wZXJt KTsKKwkJCQkJICAgICBjb25zdCBzdHJ1Y3QgaXBjX3NldF9pZHMgKnNldCwKKwkJCQkJICAg ICBpbnQgZXh0cmFfcGVybSk7CitpbnQgaXBjX3N0YXRfcihzdHJ1Y3QgaXBjX25hbWVzcGFj ZSAqbnMsIHN0cnVjdCBpcGNfaWRzICppZHMsIGludCBpZCwKKwkgICAgICAgaW50ICgqc2Vj dXJpdHkpKHN0cnVjdCBrZXJuX2lwY19wZXJtICosIGludCksCisJICAgICAgIHN0cnVjdCBp cGNfcGVybV9yIF9fdXNlciAqYnVmKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGlwY191cGRh dGVfcGlkKHN0cnVjdCBwaWQgKipwb3MsIHN0cnVjdCBwaWQgKnBpZCkKIHsKZGlmZiAtLWdp dCBhL2tlcm5lbC9hdWRpdC5oIGIva2VybmVsL2F1ZGl0LmgKaW5kZXggOTJkNWU3MjNkLi42 MTk1ZjEzODggMTAwNjQ0Ci0tLSBhL2tlcm5lbC9hdWRpdC5oCisrKyBiL2tlcm5lbC9hdWRp dC5oCkBAIC0xNjgsOCArMTY4LDggQEAgc3RydWN0IGF1ZGl0X2NvbnRleHQgewogCQkJdW1v ZGVfdAkJCW1vZGU7CiAJCQlzdHJ1Y3QgbHNtX3Byb3AJCW9wcm9wOwogCQkJaW50CQkJaGFz X3Blcm07Ci0JCQl1aWRfdAkJCXBlcm1fdWlkOwotCQkJZ2lkX3QJCQlwZXJtX2dpZDsKKwkJ CWt1aWRfdAkJCXBlcm1fdWlkOworCQkJa2dpZF90CQkJcGVybV9naWQ7CiAJCQl1bW9kZV90 CQkJcGVybV9tb2RlOwogCQkJdW5zaWduZWQgbG9uZwkJcWJ5dGVzOwogCQl9IGlwYzsKZGlm ZiAtLWdpdCBhL2tlcm5lbC9hdWRpdHNjLmMgYi9rZXJuZWwvYXVkaXRzYy5jCmluZGV4IGVk MzViZGZkNy4uNTE4ZWIwYjRlIDEwMDY0NAotLS0gYS9rZXJuZWwvYXVkaXRzYy5jCisrKyBi L2tlcm5lbC9hdWRpdHNjLmMKQEAgLTEzOTUsMTAgKzEzOTUsMTAgQEAgc3RhdGljIHZvaWQg c2hvd19zcGVjaWFsKHN0cnVjdCBhdWRpdF9jb250ZXh0ICpjb250ZXh0LCBpbnQgKmNhbGxf cGFuaWMpCiAJCQlpZiAodW5saWtlbHkoIWFiKSkKIAkJCQlyZXR1cm47CiAJCQlhdWRpdF9s b2dfZm9ybWF0KGFiLAotCQkJCSJxYnl0ZXM9JWx4IG91aWQ9JXUgb2dpZD0ldSBtb2RlPSUj aG8iLAorCQkJCSJxYnl0ZXM9JWx4IG91aWQ9JXMgb2dpZD0lcyBtb2RlPSUjaG8iLAogCQkJ CWNvbnRleHQtPmlwYy5xYnl0ZXMsCi0JCQkJY29udGV4dC0+aXBjLnBlcm1fdWlkLAotCQkJ CWNvbnRleHQtPmlwYy5wZXJtX2dpZCwKKwkJCQlLVUlEX1NUUihjb250ZXh0LT5pcGMucGVy bV91aWQpLAorCQkJCUtHSURfU1RSKGNvbnRleHQtPmlwYy5wZXJtX2dpZCksCiAJCQkJY29u dGV4dC0+aXBjLnBlcm1fbW9kZSk7CiAJCX0KIAkJYnJlYWs7CkBAIC0yNTg1LDcgKzI1ODUs NyBAQCB2b2lkIF9fYXVkaXRfaXBjX29iaihzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcCkK ICAqCiAgKiBDYWxsZWQgb25seSBhZnRlciBhdWRpdF9pcGNfb2JqKCkuCiAgKi8KLXZvaWQg X19hdWRpdF9pcGNfc2V0X3Blcm0odW5zaWduZWQgbG9uZyBxYnl0ZXMsIHVpZF90IHVpZCwg Z2lkX3QgZ2lkLCB1bW9kZV90IG1vZGUpCit2b2lkIF9fYXVkaXRfaXBjX3NldF9wZXJtKHVu c2lnbmVkIGxvbmcgcWJ5dGVzLCBrdWlkX3QgdWlkLCBrZ2lkX3QgZ2lkLCB1bW9kZV90IG1v ZGUpCiB7CiAJc3RydWN0IGF1ZGl0X2NvbnRleHQgKmNvbnRleHQgPSBhdWRpdF9jb250ZXh0 KCk7CiAK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0031-ext4-add-the-uid_r-feature-for-UUID-and-GUID-owners.patch" Content-Disposition: attachment; filename*0="uid_r-0031-ext4-add-the-uid_r-feature-for-UUID-and-GUID-owne"; filename*1="rs.patch" Content-Transfer-Encoding: base64 RnJvbSBmYzVkMjllYTNjMmJiNDRkOWI4YzU0N2Q3OWQwNmVkYTEyZDNkYTI5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjE4OjM2ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzMS80M10gZXh0NDogYWRkIHRoZSB1aWRfciBmZWF0dXJlIGZvciBVVUlEIGFuZCBH VUlEIG93bmVycwoKQWRkIGEgcmVhZC1vbmx5IGNvbXBhdGlibGUgZmVhdHVyZSwgdWlkX3Is IHRoYXQgbGV0cyBpbm9kZXMgaGF2ZSBVVUlECmFuZCBHVUlEIG93bmVycyBhbmQgZ3JvdXBz LiBUaGUgaW5vZGUgZ2FpbnMgaV91aWRfcl90eXBlIGFuZAppX2dpZF9yX3R5cGUgKDA6IHRo ZSBjbGFzc2ljIGlfdWlkL2lfZ2lkIGFwcGx5KSBhbmQgMTYgYnl0ZXMgZm9yIGVhY2gKaWQg YWZ0ZXIgaV9wcm9qaWQsIHdoaWNoIGdyb3dzIGlfZXh0cmFfaXNpemUgZnJvbSAzMiB0byA2 OCBieXRlczsgb25seQpmaWxlc3lzdGVtcyB3aXRoIHRoZSBmZWF0dXJlIHJlc2VydmUgdGhl IHJvb20gaW4gbmV3IGlub2Rlcywgb3RoZXJzCmtlZXAgdGhlIG9sZCBzaXplLgoKRm9yIGEg VVVJRCBvciBHVUlEIHRoZSBjbGFzc2ljIGZpZWxkcyBob2xkIDB4ZmZmZmZmZmYuIEtlcm5l bHMgd2l0aG91dAp0aGUgZmVhdHVyZSBtYXkgb25seSBtb3VudCByZWFkLW9ubHksIGFuZCBz ZWUgc3VjaCBmaWxlcyBhcyBvd25lZCBieSBhbgppZCBub2JvZHkgaGFzLgoKV2l0aCB0aGUg ZmVhdHVyZSB0aGUgc3VwZXJibG9jayBnZXRzIFNCX0lfVUlEX1IuIElub2RlcyBmcm9tIGJl Zm9yZSBpdCwKb3Igd2l0aCBpbi1pbm9kZSB4YXR0cnMgaW4gdGhlIHdheSwgYXJlIGV4cGFu ZGVkIHdoZW4gdGhleSBnZXQgc3VjaCBhbgpvd25lciwgYXMgZm9yIHByb2plY3QgaWRzOyAt RU9WRVJGTE9XIGlmIHRoYXQgZmFpbHMuIFRoZSBmZWF0dXJlIG5lZWRzCmlub2RlcyBvZiBh dCBsZWFzdCAxOTYgYnl0ZXMsIHNvIGluIHByYWN0aWNlIDI1Ni4KCkFzc2lzdGVkLWJ5OiBD bGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogZnMvZXh0NC9leHQ0LmggIHwgIDI2ICsrKysr KysrKystCiBmcy9leHQ0L2lub2RlLmMgfCAxMTUgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiBmcy9leHQ0L3N1cGVyLmMgfCAgMTYgKysrKysr LQogMyBmaWxlcyBjaGFuZ2VkLCAxNTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDQuaCBiL2ZzL2V4dDQvZXh0NC5oCmluZGV4IGVk NDI0MTc5Ny4uZmY4MmEwNTRhIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDQuaAorKysgYi9m cy9leHQ0L2V4dDQuaApAQCAtODUwLDggKzg1MCwyOSBAQCBzdHJ1Y3QgZXh0NF9pbm9kZSB7 CiAJX19sZTMyICBpX2NydGltZV9leHRyYTsgLyogZXh0cmEgRmlsZUNyZWF0aW9udGltZSAo bnNlYyA8PCAyIHwgZXBvY2gpICovCiAJX19sZTMyICBpX3ZlcnNpb25faGk7CS8qIGhpZ2gg MzIgYml0cyBmb3IgNjQtYml0IHZlcnNpb24gKi8KIAlfX2xlMzIJaV9wcm9qaWQ7CS8qIFBy b2plY3QgSUQgKi8KKwkvKiB1aWRfciBmZWF0dXJlOiBhIFVVSUQgb3IgR1VJRCBvd25lciBh bmQgZ3JvdXAsIHNlZSBFWFQ0X0lEX1JfKiAqLworCV9fdTgJaV91aWRfcl90eXBlOwkvKiBr aW5kIG9mIGlfdWlkX3IsIEVYVDRfSURfUl9MRUdBQ1k6IGlfdWlkICovCisJX191OAlpX2dp ZF9yX3R5cGU7CS8qIGtpbmQgb2YgaV9naWRfciwgRVhUNF9JRF9SX0xFR0FDWTogaV9naWQg Ki8KKwlfX2xlMTYJaV9pZF9yX3Jlc2VydmVkOworCV9fdTgJaV91aWRfclsxNl07CS8qIFVV SUQgKFJGQyA5NTYyIG9yZGVyKSBvciBHVUlEIG93bmVyICovCisJX191OAlpX2dpZF9yWzE2 XTsJLyogVVVJRCAoUkZDIDk1NjIgb3JkZXIpIG9yIEdVSUQgZ3JvdXAgKi8KIH07CiAKKy8q CisgKiBLaW5kcyBvZiBpX3VpZF9yL2lfZ2lkX3IuIEZvciBhIFVVSUQgb3IgR1VJRCB0aGUg Y2xhc3NpYyBpX3VpZC9pX2dpZAorICogZmllbGRzIGhvbGQgMHhmZmZmZmZmZiwgd2hpY2gg a2VybmVscyB3aXRob3V0IHVpZF9yIC0tIHRoZXkgbWF5IG9ubHkKKyAqIG1vdW50IHJlYWQt b25seSAtLSBzZWUgYXMgYW4gaWQgbm9ib2R5IGhhcy4KKyAqLworI2RlZmluZSBFWFQ0X0lE X1JfTEVHQUNZCTAKKyNkZWZpbmUgRVhUNF9JRF9SX1VVSUQJCTEKKyNkZWZpbmUgRVhUNF9J RF9SX0dVSUQJCTIKKworLyogaV9leHRyYV9pc2l6ZSBvZiBpbm9kZXMgd2l0aG91dCBhbmQg d2l0aCB0aGUgdWlkX3IgZmllbGRzICovCisjZGVmaW5lIEVYVDRfRVhUUkFfSVNJWkVfQkFT RQkob2Zmc2V0b2ZlbmQoc3RydWN0IGV4dDRfaW5vZGUsIGlfcHJvamlkKSAtIFwKKwkJCQkg RVhUNF9HT09EX09MRF9JTk9ERV9TSVpFKQorI2RlZmluZSBFWFQ0X0VYVFJBX0lTSVpFX1VJ RF9SCShzaXplb2Yoc3RydWN0IGV4dDRfaW5vZGUpIC0gXAorCQkJCSBFWFQ0X0dPT0RfT0xE X0lOT0RFX1NJWkUpCisKICNkZWZpbmUgRVhUNF9FUE9DSF9CSVRTIDIKICNkZWZpbmUgRVhU NF9FUE9DSF9NQVNLICgoMSA8PCBFWFQ0X0VQT0NIX0JJVFMpIC0gMSkKICNkZWZpbmUgRVhU NF9OU0VDX01BU0sgICh+MFVMIDw8IEVYVDRfRVBPQ0hfQklUUykKQEAgLTIxOTIsNiArMjIx Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBleHQ0X2lub2RlX29ycGhhbl90cmFja2VkKHN0 cnVjdCBpbm9kZSAqaW5vZGUpCiAjZGVmaW5lIEVYVDRfRkVBVFVSRV9ST19DT01QQVRfVkVS SVRZCQkweDgwMDAKICNkZWZpbmUgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9PUlBIQU5fUFJF U0VOVAkweDEwMDAwIC8qIE9ycGhhbiBmaWxlIG1heSBiZQogCQkJCQkJCSAgIG5vbi1lbXB0 eSAqLworI2RlZmluZSBFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFUX1VJRF9SCQkweDIwMDAwIC8q IFVVSUQgYW5kIEdVSUQgb3duZXJzICovCiAKICNkZWZpbmUgRVhUNF9GRUFUVVJFX0lOQ09N UEFUX0NPTVBSRVNTSU9OCTB4MDAwMQogI2RlZmluZSBFWFQ0X0ZFQVRVUkVfSU5DT01QQVRf RklMRVRZUEUJCTB4MDAwMgpAQCAtMjI5MSw2ICsyMzEzLDcgQEAgRVhUNF9GRUFUVVJFX1JP X0NPTVBBVF9GVU5DUyhyZWFkb25seSwJCVJFQURPTkxZKQogRVhUNF9GRUFUVVJFX1JPX0NP TVBBVF9GVU5DUyhwcm9qZWN0LAkJUFJPSkVDVCkKIEVYVDRfRkVBVFVSRV9ST19DT01QQVRf RlVOQ1ModmVyaXR5LAkJVkVSSVRZKQogRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9GVU5DUyhv cnBoYW5fcHJlc2VudCwJT1JQSEFOX1BSRVNFTlQpCitFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFU X0ZVTkNTKHVpZF9yLAkJVUlEX1IpCiAKIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9GVU5DUyhj b21wcmVzc2lvbiwJQ09NUFJFU1NJT04pCiBFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRlVOQ1Mo ZmlsZXR5cGUsCQlGSUxFVFlQRSkKQEAgLTIzNTEsNyArMjM3NCw4IEBAIEVYVDRfRkVBVFVS RV9JTkNPTVBBVF9GVU5DUyhjYXNlZm9sZCwJCUNBU0VGT0xEKQogCQkJCQkgRVhUNF9GRUFU VVJFX1JPX0NPTVBBVF9RVU9UQSB8XAogCQkJCQkgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9Q Uk9KRUNUIHxcCiAJCQkJCSBFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFUX1ZFUklUWSB8XAotCQkJ CQkgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9PUlBIQU5fUFJFU0VOVCkKKwkJCQkJIEVYVDRf RkVBVFVSRV9ST19DT01QQVRfT1JQSEFOX1BSRVNFTlQgfFwKKwkJCQkJIEVYVDRfRkVBVFVS RV9ST19DT01QQVRfVUlEX1IpCiAKICNkZWZpbmUgRVhUTl9GRUFUVVJFX0ZVTkNTKHZlcikg XAogc3RhdGljIGlubGluZSBib29sIGV4dDRfaGFzX3Vua25vd25fZXh0IyN2ZXIjI19jb21w YXRfZmVhdHVyZXMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikgXApkaWZmIC0tZ2l0IGEvZnMv ZXh0NC9pbm9kZS5jIGIvZnMvZXh0NC9pbm9kZS5jCmluZGV4IDMyZjc5ZjQ4YS4uODY5ZTA3 MmI4IDEwMDY0NAotLS0gYS9mcy9leHQ0L2lub2RlLmMKKysrIGIvZnMvZXh0NC9pbm9kZS5j CkBAIC00NzczLDYgKzQ3NzMsNzUgQEAgc3RhdGljIGludCBleHQ0X2lub2RlX2Jsb2Nrc19z ZXQoc3RydWN0IGV4dDRfaW5vZGUgKnJhd19pbm9kZSwKIAlyZXR1cm4gMDsKIH0KIAorLyoK KyAqIHVpZF9yOiBhIFVVSUQgb3IgR1VJRCBvd25lciBhbmQgZ3JvdXAgbGl2ZSBpbiBpX3Vp ZF9yIGFuZCBpX2dpZF9yIG9mCisgKiBpbm9kZXMgd2l0aCByb29tIGZvciB0aGVtOyBpX3Vp ZCBhbmQgaV9naWQgdGhlbiBob2xkIDB4ZmZmZmZmZmYuCisgKi8KK3N0YXRpYyBpbnQgZXh0 NF9pbm9kZV9zZXRfaWRfcihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZXh0NF9pbm9k ZSAqcmF3X2lub2RlKQoreworCXN0cnVjdCBleHQ0X2lub2RlX2luZm8gKmVpID0gRVhUNF9J KGlub2RlKTsKKwlib29sIGZpdHMgPSBFWFQ0X0lOT0RFX1NJWkUoaW5vZGUtPmlfc2IpID4g RVhUNF9HT09EX09MRF9JTk9ERV9TSVpFICYmCisJCSAgICBFWFQ0X0ZJVFNfSU5fSU5PREUo cmF3X2lub2RlLCBlaSwgaV9naWRfcik7CisJYm9vbCBsZWdhY3kgPSB1aWRfaXNfbGVnYWN5 KGlub2RlLT5pX3VpZCkgJiYgZ2lkX2lzX2xlZ2FjeShpbm9kZS0+aV9naWQpOworCisJaWYg KCFsZWdhY3kgJiYgKCFleHQ0X2hhc19mZWF0dXJlX3VpZF9yKGlub2RlLT5pX3NiKSB8fCAh Zml0cykpCisJCXJldHVybiAtRU9WRVJGTE9XOworCWlmICghZml0cyB8fCAhZXh0NF9oYXNf ZmVhdHVyZV91aWRfcihpbm9kZS0+aV9zYikpCisJCXJldHVybiAwOworCisJcmF3X2lub2Rl LT5pX2lkX3JfcmVzZXJ2ZWQgPSAwOworCWlmICh1aWRfaXNfbGVnYWN5KGlub2RlLT5pX3Vp ZCkpIHsKKwkJcmF3X2lub2RlLT5pX3VpZF9yX3R5cGUgPSBFWFQ0X0lEX1JfTEVHQUNZOwor CQltZW1zZXQocmF3X2lub2RlLT5pX3VpZF9yLCAwLCBzaXplb2YocmF3X2lub2RlLT5pX3Vp ZF9yKSk7CisJfSBlbHNlIHsKKwkJQlVJTERfQlVHX09OKEtJRF9VVUlEICE9IEVYVDRfSURf Ul9VVUlEIHx8CisJCQkgICAgIEtJRF9HVUlEICE9IEVYVDRfSURfUl9HVUlEKTsKKwkJcmF3 X2lub2RlLT5pX3VpZF9yX3R5cGUgPSBpbm9kZS0+aV91aWQudHlwZTsKKwkJbWVtY3B5KHJh d19pbm9kZS0+aV91aWRfciwgaW5vZGUtPmlfdWlkLnV1aWQuYiwKKwkJICAgICAgIHNpemVv ZihyYXdfaW5vZGUtPmlfdWlkX3IpKTsKKwl9CisJaWYgKGdpZF9pc19sZWdhY3koaW5vZGUt PmlfZ2lkKSkgeworCQlyYXdfaW5vZGUtPmlfZ2lkX3JfdHlwZSA9IEVYVDRfSURfUl9MRUdB Q1k7CisJCW1lbXNldChyYXdfaW5vZGUtPmlfZ2lkX3IsIDAsIHNpemVvZihyYXdfaW5vZGUt PmlfZ2lkX3IpKTsKKwl9IGVsc2UgeworCQlyYXdfaW5vZGUtPmlfZ2lkX3JfdHlwZSA9IGlu b2RlLT5pX2dpZC50eXBlOworCQltZW1jcHkocmF3X2lub2RlLT5pX2dpZF9yLCBpbm9kZS0+ aV9naWQudXVpZC5iLAorCQkgICAgICAgc2l6ZW9mKHJhd19pbm9kZS0+aV9naWRfcikpOwor CX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBleHQ0X2lub2RlX2dldF9pZF9yKHN0 cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBleHQ0X2lub2RlICpyYXdfaW5vZGUpCit7CisJ c3RydWN0IGV4dDRfaW5vZGVfaW5mbyAqZWkgPSBFWFQ0X0koaW5vZGUpOworCXV1aWRfdCBp ZDsKKworCWlmICghZXh0NF9oYXNfZmVhdHVyZV91aWRfcihpbm9kZS0+aV9zYikgfHwKKwkg ICAgRVhUNF9JTk9ERV9TSVpFKGlub2RlLT5pX3NiKSA8PSBFWFQ0X0dPT0RfT0xEX0lOT0RF X1NJWkUgfHwKKwkgICAgIUVYVDRfRklUU19JTl9JTk9ERShyYXdfaW5vZGUsIGVpLCBpX2dp ZF9yKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAocmF3X2lub2RlLT5pX3VpZF9yX3R5cGUgPiBF WFQ0X0lEX1JfR1VJRCB8fAorCSAgICByYXdfaW5vZGUtPmlfZ2lkX3JfdHlwZSA+IEVYVDRf SURfUl9HVUlEKSB7CisJCWV4dDRfZXJyb3JfaW5vZGUoaW5vZGUsIF9fZnVuY19fLCBfX0xJ TkVfXywgMCwKKwkJCQkgImlnZXQ6IGJhZCB1aWRfciBraW5kICV1LyV1IiwKKwkJCQkgcmF3 X2lub2RlLT5pX3VpZF9yX3R5cGUsCisJCQkJIHJhd19pbm9kZS0+aV9naWRfcl90eXBlKTsK KwkJcmV0dXJuIC1FRlNDT1JSVVBURUQ7CisJfQorCWlmIChyYXdfaW5vZGUtPmlfdWlkX3Jf dHlwZSAhPSBFWFQ0X0lEX1JfTEVHQUNZKSB7CisJCW1lbWNweShpZC5iLCByYXdfaW5vZGUt PmlfdWlkX3IsIHNpemVvZihpZC5iKSk7CisJCWlub2RlLT5pX3VpZCA9IHJhd19pbm9kZS0+ aV91aWRfcl90eXBlID09IEVYVDRfSURfUl9VVUlEID8KKwkJCSAgICAgICBLVUlEVF9JTklU X1VVSUQoaWQpIDogS1VJRFRfSU5JVF9HVUlEKCooZ3VpZF90ICopJmlkKTsKKwl9CisJaWYg KHJhd19pbm9kZS0+aV9naWRfcl90eXBlICE9IEVYVDRfSURfUl9MRUdBQ1kpIHsKKwkJbWVt Y3B5KGlkLmIsIHJhd19pbm9kZS0+aV9naWRfciwgc2l6ZW9mKGlkLmIpKTsKKwkJaW5vZGUt PmlfZ2lkID0gcmF3X2lub2RlLT5pX2dpZF9yX3R5cGUgPT0gRVhUNF9JRF9SX1VVSUQgPwor CQkJICAgICAgIEtHSURUX0lOSVRfVVVJRChpZCkgOiBLR0lEVF9JTklUX0dVSUQoKihndWlk X3QgKikmaWQpOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBleHQ0X2ZpbGxf cmF3X2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBleHQ0X2lub2RlICpyYXdf aW5vZGUpCiB7CiAJc3RydWN0IGV4dDRfaW5vZGVfaW5mbyAqZWkgPSBFWFQ0X0koaW5vZGUp OwpAQCAtNDc4NSw4ICs0ODU0LDEwIEBAIHN0YXRpYyBpbnQgZXh0NF9maWxsX3Jhd19pbm9k ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZXh0NF9pbm9kZSAqcmF3X2lub2RlCiAJ ZXJyID0gZXh0NF9pbm9kZV9ibG9ja3Nfc2V0KHJhd19pbm9kZSwgZWkpOwogCiAJcmF3X2lu b2RlLT5pX21vZGUgPSBjcHVfdG9fbGUxNihpbm9kZS0+aV9tb2RlKTsKKwkvKiBhIFVVSUQg b3IgR1VJRCBvd25lcjogMHhmZmZmZmZmZiBoZXJlLCB0aGUgaWQgaW4gaV91aWRfciAqLwog CWlfdWlkID0gaV91aWRfcmVhZChpbm9kZSk7CiAJaV9naWQgPSBpX2dpZF9yZWFkKGlub2Rl KTsKKwllcnIgPSBlcnIgPzogZXh0NF9pbm9kZV9zZXRfaWRfcihpbm9kZSwgcmF3X2lub2Rl KTsKIAlpX3Byb2ppZCA9IGZyb21fa3Byb2ppZCgmaW5pdF91c2VyX25zLCBlaS0+aV9wcm9q aWQpOwogCWlmICghKHRlc3Rfb3B0KGlub2RlLT5pX3NiLCBOT19VSUQzMikpKSB7CiAJCXJh d19pbm9kZS0+aV91aWRfbG93ID0gY3B1X3RvX2xlMTYobG93XzE2X2JpdHMoaV91aWQpKTsK QEAgLTU0MjksNiArNTUwMCw5IEBAIHN0cnVjdCBpbm9kZSAqX19leHQ0X2lnZXQoc3RydWN0 IHN1cGVyX2Jsb2NrICpzYiwgdW5zaWduZWQgbG9uZyBpbm8sCiAJfQogCWlfdWlkX3dyaXRl KGlub2RlLCBpX3VpZCk7CiAJaV9naWRfd3JpdGUoaW5vZGUsIGlfZ2lkKTsKKwlyZXQgPSBl eHQ0X2lub2RlX2dldF9pZF9yKGlub2RlLCByYXdfaW5vZGUpOworCWlmIChyZXQpCisJCWdv dG8gYmFkX2lub2RlOwogCWVpLT5pX3Byb2ppZCA9IG1ha2Vfa3Byb2ppZCgmaW5pdF91c2Vy X25zLCBpX3Byb2ppZCk7CiAJc2V0X25saW5rKGlub2RlLCBsZTE2X3RvX2NwdShyYXdfaW5v ZGUtPmlfbGlua3NfY291bnQpKTsKIApAQCAtNTU0MSw4ICs1NjE1LDcgQEAgc3RydWN0IGlu b2RlICpfX2V4dDRfaWdldChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB1bnNpZ25lZCBsb25n IGlubywKIAkJaWYgKGVpLT5pX2V4dHJhX2lzaXplID09IDApIHsKIAkJCS8qIFRoZSBleHRy YSBzcGFjZSBpcyBjdXJyZW50bHkgdW51c2VkLiBVc2UgaXQuICovCiAJCQlCVUlMRF9CVUdf T04oc2l6ZW9mKHN0cnVjdCBleHQ0X2lub2RlKSAmIDMpOwotCQkJZWktPmlfZXh0cmFfaXNp emUgPSBzaXplb2Yoc3RydWN0IGV4dDRfaW5vZGUpIC0KLQkJCQkJICAgIEVYVDRfR09PRF9P TERfSU5PREVfU0laRTsKKwkJCWVpLT5pX2V4dHJhX2lzaXplID0gRVhUNF9TQihpbm9kZS0+ aV9zYiktPnNfd2FudF9leHRyYV9pc2l6ZTsKIAkJfSBlbHNlIHsKIAkJCXJldCA9IGV4dDRf aWdldF9leHRyYV9pbm9kZShpbm9kZSwgcmF3X2lub2RlLCBlaSk7CiAJCQlpZiAocmV0KQpA QCAtNTk4NCw2ICs2MDU3LDQwIEBAIHN0YXRpYyB2b2lkIGV4dDRfd2FpdF9mb3JfdGFpbF9w YWdlX2NvbW1pdChzdHJ1Y3QgaW5vZGUgKmlub2RlKQogICoKICAqIENhbGxlZCB3aXRoIGlu b2RlLT5pX3J3c2VtIGRvd24uCiAgKi8KKy8qCisgKiBBbiBpbm9kZSBmcm9tIGJlZm9yZSB1 aWRfciwgb3Igd2l0aCBpbi1pbm9kZSB4YXR0cnMgaW4gdGhlIHdheSwgbWF5CisgKiBsYWNr IHJvb20gZm9yIGlfdWlkX3IgYW5kIGlfZ2lkX3I6IG1ha2UgaXQsIGJlZm9yZSBpdCBnZXRz IGEgVVVJRCBvcgorICogR1VJRCBvd25lciBvciBncm91cC4KKyAqLworc3RhdGljIGludCBl eHQ0X21ha2Vfcm9vbV9mb3JfaWRfcihzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwKKwkJCQkg ICBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgaWF0dHIgKmF0dHIpCit7CisJc3RydWN0 IGV4dDRfaWxvYyBpbG9jOworCWJvb2wgbGVnYWN5ID0gdHJ1ZTsKKwlpbnQgZXJyOworCisJ aWYgKGF0dHItPmlhX3ZhbGlkICYgQVRUUl9VSUQpCisJCWxlZ2FjeSA9IHVpZF9pc19sZWdh Y3koZnJvbV92ZnN1aWQoaWRtYXAsIGlfdXNlcl9ucyhpbm9kZSksCisJCQkJCQkgICBhdHRy LT5pYV92ZnN1aWQpKTsKKwlpZiAoYXR0ci0+aWFfdmFsaWQgJiBBVFRSX0dJRCkKKwkJbGVn YWN5ICY9IGdpZF9pc19sZWdhY3koZnJvbV92ZnNnaWQoaWRtYXAsIGlfdXNlcl9ucyhpbm9k ZSksCisJCQkJCQkgICAgYXR0ci0+aWFfdmZzZ2lkKSk7CisJaWYgKGxlZ2FjeSkKKwkJcmV0 dXJuIDA7CisJaWYgKCFleHQ0X2hhc19mZWF0dXJlX3VpZF9yKGlub2RlLT5pX3NiKSkKKwkJ cmV0dXJuIC1FT1ZFUkZMT1c7CisKKwllcnIgPSBleHQ0X2dldF9pbm9kZV9sb2MoaW5vZGUs ICZpbG9jKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCWlmIChFWFQ0X0ZJVFNfSU5f SU5PREUoZXh0NF9yYXdfaW5vZGUoJmlsb2MpLCBFWFQ0X0koaW5vZGUpLCBpX2dpZF9yKSkg eworCQlicmVsc2UoaWxvYy5iaCk7CisJCXJldHVybiAwOworCX0KKwllcnIgPSBleHQ0X2V4 cGFuZF9leHRyYV9pc2l6ZShpbm9kZSwgRVhUNF9FWFRSQV9JU0laRV9VSURfUiwgJmlsb2Mp OworCXJldHVybiBlcnIgPyAtRU9WRVJGTE9XIDogMDsKK30KKwogaW50IGV4dDRfc2V0YXR0 cihzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAogCQkg c3RydWN0IGlhdHRyICphdHRyKQogewpAQCAtNjAyMyw2ICs2MTMwLDEwIEBAIGludCBleHQ0 X3NldGF0dHIoc3RydWN0IG1udF9pZG1hcCAqaWRtYXAsIHN0cnVjdCBkZW50cnkgKmRlbnRy eSwKIAkgICAgaV9naWRfbmVlZHNfdXBkYXRlKGlkbWFwLCBhdHRyLCBpbm9kZSkpIHsKIAkJ aGFuZGxlX3QgKmhhbmRsZTsKIAorCQllcnJvciA9IGV4dDRfbWFrZV9yb29tX2Zvcl9pZF9y KGlkbWFwLCBpbm9kZSwgYXR0cik7CisJCWlmIChlcnJvcikKKwkJCXJldHVybiBlcnJvcjsK KwogCQkvKiAodXNlcitncm91cCkqKG9sZCtuZXcpIHN0cnVjdHVyZSwgaW5vZGUgd3JpdGUg KHNiLAogCQkgKiBpbm9kZSBibG9jaywgPyAtIGJ1dCB0cnVuY2F0ZSBpbm9kZSB1cGRhdGUg aGFzIGl0KSAqLwogCQloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIEVYVDRf SFRfUVVPVEEsCmRpZmYgLS1naXQgYS9mcy9leHQ0L3N1cGVyLmMgYi9mcy9leHQ0L3N1cGVy LmMKaW5kZXggNjNkZTYyYTc1Li42ZTAzNDY3MmYgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvc3Vw ZXIuYworKysgYi9mcy9leHQ0L3N1cGVyLmMKQEAgLTQ1OTYsOSArNDU5NiwxNyBAQCBzdGF0 aWMgaW50IGV4dDRfaW5vZGVfaW5mb19pbml0KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJ CXNiLT5zX3RpbWVfbWluID0gRVhUNF9USU1FU1RBTVBfTUlOOwogCX0KIAorCWlmIChleHQ0 X2hhc19mZWF0dXJlX3VpZF9yKHNiKSAmJgorCSAgICBzYmktPnNfaW5vZGVfc2l6ZSA8IEVY VDRfR09PRF9PTERfSU5PREVfU0laRSArIEVYVDRfRVhUUkFfSVNJWkVfVUlEX1IpIHsKKwkJ ZXh0NF9tc2coc2IsIEtFUk5fRVJSLCAidWlkX3IgbmVlZHMgaW5vZGVzIG9mIGF0IGxlYXN0 ICV6dSBieXRlcyIsCisJCQkgRVhUNF9HT09EX09MRF9JTk9ERV9TSVpFICsgRVhUNF9FWFRS QV9JU0laRV9VSURfUik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWlmIChzYmktPnNf aW5vZGVfc2l6ZSA+IEVYVDRfR09PRF9PTERfSU5PREVfU0laRSkgewotCQlzYmktPnNfd2Fu dF9leHRyYV9pc2l6ZSA9IHNpemVvZihzdHJ1Y3QgZXh0NF9pbm9kZSkgLQotCQkJRVhUNF9H T09EX09MRF9JTk9ERV9TSVpFOworCQkvKiByb29tIGZvciB0aGUgdWlkX3IgZmllbGRzIGlu IG5ldyBpbm9kZXMgb25seSBpZiBuZWVkZWQgKi8KKwkJc2JpLT5zX3dhbnRfZXh0cmFfaXNp emUgPSBleHQ0X2hhc19mZWF0dXJlX3VpZF9yKHNiKSA/CisJCQlFWFQ0X0VYVFJBX0lTSVpF X1VJRF9SIDogRVhUNF9FWFRSQV9JU0laRV9CQVNFOwogCQlpZiAoZXh0NF9oYXNfZmVhdHVy ZV9leHRyYV9pc2l6ZShzYikpIHsKIAkJCXVuc2lnbmVkIHYsIG1heCA9IChzYmktPnNfaW5v ZGVfc2l6ZSAtCiAJCQkJCSAgIEVYVDRfR09PRF9PTERfSU5PREVfU0laRSk7CkBAIC01NDE3 LDYgKzU0MjUsMTAgQEAgc3RhdGljIGludCBfX2V4dDRfZmlsbF9zdXBlcihzdHJ1Y3QgZnNf Y29udGV4dCAqZmMsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiAJLyogSFNNIGV2ZW50cyBh cmUgYWxsb3dlZCBieSBkZWZhdWx0LiAqLwogCXNiLT5zX2lmbGFncyB8PSBTQl9JX0FMTE9X X0hTTTsKIAorCS8qIHVpZF9yOiBpbm9kZXMgY2FuIGhhdmUgVVVJRCBhbmQgR1VJRCBvd25l cnMgKi8KKwlpZiAoZXh0NF9oYXNfZmVhdHVyZV91aWRfcihzYikgJiYgIXRlc3Rfb3B0KHNi LCBOT19VSUQzMikpCisJCXNiLT5zX2lmbGFncyB8PSBTQl9JX1VJRF9SOworCiAJZXJyID0g ZXh0NF9jaGVja19mZWF0dXJlX2NvbXBhdGliaWxpdHkoc2IsIGVzLCBzaWxlbnQpOwogCWlm IChlcnIpCiAJCWdvdG8gZmFpbGVkX21vdW50Owo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0032-ext4-let-uid_r-be-turned-on-while-the-filesystem-is-.patch" Content-Disposition: attachment; filename*0="uid_r-0032-ext4-let-uid_r-be-turned-on-while-the-filesystem-"; filename*1="is-.patch" Content-Transfer-Encoding: base64 RnJvbSAwY2Q1NjgyZThhN2I5Y2NhYjRhNzczMDhkN2VmOGUyNjdhMzllNWE0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8amFuLmtvZXN0ZXJAdHV4aXN0 LmRlPgpEYXRlOiBTdW4sIDExIE9jdCAyMDI2IDA2OjM2OjA0ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzMi80M10gZXh0NDogbGV0IHVpZF9yIGJlIHR1cm5lZCBvbiB3aGlsZSB0aGUgZmls ZXN5c3RlbSBpcwogbW91bnRlZAoKU0JfSV9VSURfUiB3YXMgb25seSBzZXQgd2hlbiB0aGUg ZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgc28gYWZ0ZXIKInR1bmUyZnMgLU8gdWlkX3IiIG9u IGEgbW91bnRlZCBmaWxlc3lzdGVtIGNob3duKCkgdG8gYSBVVUlEIG9yIEdVSUQKb3duZXIg a2VwdCBmYWlsaW5nIHdpdGggLUVPVkVSRkxPVyB1bnRpbCBpdCB3YXMgdW5tb3VudGVkIGFu ZCBtb3VudGVkCmFnYWluLgoKVGFrZSB0aGUgZmVhdHVyZSB1cCBvbiByZW1vdW50LCBhbmQg YWNjZXB0IGl0IGluCkVYVDRfSU9DX1NFVF9UVU5FX1NCX1BBUkFNLCB3aGljaCB0aGVuIGFs c28gcmFpc2VzIHNfd2FudF9leHRyYV9pc2l6ZQpsaWtlIHR1bmUyZnMgZG9lcyBhbmQgbWFr ZXMgaXQgdXNhYmxlIGF0IG9uY2UuIFRoZSBpb2N0bCBhbHNvIHRha2VzIGl0CndoZW4gdGhl IGZlYXR1cmUgYml0IGlzIGFscmVhZHkgb24gZGlzayBidXQgbm90IGluIHVzZSB5ZXQsIHdo aWNoIGlzCnRoZSBjYXNlIGFmdGVyIGFuIG9sZGVyIHR1bmUyZnMgd3JvdGUgdGhlIHN1cGVy YmxvY2sgZGlyZWN0bHkuCgpPbmNlIG9uLCBpdCBzdGF5cyBvbiB1bnRpbCB0aGUgZmlsZXN5 c3RlbSBpcyB1bm1vdW50ZWQ6IGNhY2hlZCBpbm9kZXMKbWF5IGhhdmUgc3VjaCBvd25lcnMg YnkgdGhlbi4KCkFzc2lzdGVkLWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogZnMv ZXh0NC9leHQ0LmggIHwgIDEgKwogZnMvZXh0NC9pb2N0bC5jIHwgMzAgKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCiBmcy9leHQ0L3N1cGVyLmMgfCAyOSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0LmggYi9mcy9leHQ0L2V4 dDQuaAppbmRleCBmZjgyYTA1NGEuLmZlYzllZDUyZiAxMDA2NDQKLS0tIGEvZnMvZXh0NC9l eHQ0LmgKKysrIGIvZnMvZXh0NC9leHQ0LmgKQEAgLTMyOTcsNiArMzI5Nyw3IEBAIGV4dGVy biBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmV4dDRfc2JfYnJlYWRfdW5tb3ZhYmxlKHN0cnVjdCBz dXBlcl9ibG9jayAqc2IsCiAJCQkJCQkgICBzZWN0b3JfdCBibG9jayk7CiBleHRlcm4gc3Ry dWN0IGJ1ZmZlcl9oZWFkICpleHQ0X3NiX2JyZWFkX25vZmFpbChzdHJ1Y3Qgc3VwZXJfYmxv Y2sgKnNiLAogCQkJCQkJc2VjdG9yX3QgYmxvY2spOwordm9pZCBleHQ0X2VuYWJsZV91aWRf cihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIHZvaWQgZXh0NF9yZWFkX2JoX25vd2FpdChz dHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLCBibGtfb3BmX3Qgb3BfZmxhZ3MsCiAJCWJpb19lbmRf aW9fdCBlbmRfaW8sIGJvb2wgc2ltdV9mYWlsKTsKIGludCBleHQ0X3JlYWRfYmgoc3RydWN0 IGJ1ZmZlcl9oZWFkICpiaCwgYmxrX29wZl90IG9wX2ZsYWdzLApkaWZmIC0tZ2l0IGEvZnMv ZXh0NC9pb2N0bC5jIGIvZnMvZXh0NC9pb2N0bC5jCmluZGV4IGM4Mzg3ZTZhMi4uODliZjFk MzZlIDEwMDY0NAotLS0gYS9mcy9leHQ0L2lvY3RsLmMKKysrIGIvZnMvZXh0NC9pb2N0bC5j CkBAIC0xMjY5LDcgKzEyNjksOCBAQCBzdGF0aWMgaW50IGV4dDRfaW9jdGxfc2V0dXVpZChz dHJ1Y3QgZmlsZSAqZmlscCwKIAkJIEVYVDRfRkVBVFVSRV9ST19DT01QQVRfRElSX05MSU5L IHwJXAogCQkgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9FWFRSQV9JU0laRSB8CVwKIAkJIEVY VDRfRkVBVFVSRV9ST19DT01QQVRfUFJPSkVDVCB8CVwKLQkJIEVYVDRfRkVBVFVSRV9ST19D T01QQVRfVkVSSVRZKQorCQkgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9WRVJJVFkgfAlcCisJ CSBFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFUX1VJRF9SKQogCiAjZGVmaW5lIEVYVDRfVFVORV9D TEVBUl9DT01QQVRfU1VQUCAoMCkKICNkZWZpbmUgRVhUNF9UVU5FX0NMRUFSX0lOQ09NUEFU X1NVUFAgKDApCkBAIC0xMzgyLDYgKzEzODMsMTMgQEAgc3RhdGljIHZvaWQgZXh0NF9zYl9z ZXRwYXJhbXMoc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpLAogCQlpZiAocGFyYW1zLT5zZXRf ZmVhdHVyZV9pbmNvbXBhdF9tYXNrICYKIAkJICAgIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9D U1VNX1NFRUQpCiAJCQllcy0+c19jaGVja3N1bV9zZWVkID0gY3B1X3RvX2xlMzIoc2JpLT5z X2NzdW1fc2VlZCk7CisJCS8qIGFzIHR1bmUyZnMgZG9lczogcm9vbSBmb3IgdGhlIHVpZF9y IGZpZWxkcyBpbiBuZXcgaW5vZGVzICovCisJCWlmICgocGFyYW1zLT5zZXRfZmVhdHVyZV9y b19jb21wYXRfbWFzayAmCisJCSAgICAgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9VSURfUikg JiYKKwkJICAgIGV4dDRfaGFzX2ZlYXR1cmVfZXh0cmFfaXNpemUoc2JpLT5zX3NiKSAmJgor CQkgICAgbGUxNl90b19jcHUoZXMtPnNfd2FudF9leHRyYV9pc2l6ZSkgPCBFWFQ0X0VYVFJB X0lTSVpFX1VJRF9SKQorCQkJZXMtPnNfd2FudF9leHRyYV9pc2l6ZSA9CisJCQkJY3B1X3Rv X2xlMTYoRVhUNF9FWFRSQV9JU0laRV9VSURfUik7CiAJfQogCWlmIChwYXJhbXMtPnNldF9m bGFncyAmIEVYVDRfVFVORV9GTF9GT1JDRV9GU0NLKQogCQllcy0+c19zdGF0ZSB8PSBjcHVf dG9fbGUxNihFWFQ0X0VSUk9SX0ZTKTsKQEAgLTEzOTUsNiArMTQwMyw3IEBAIHN0YXRpYyBp bnQgZXh0NF9pb2N0bF9zZXRfdHVuZV9zYihzdHJ1Y3QgZmlsZSAqZmlscCwKIAlzdHJ1Y3Qg ZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKIAlzdHJ1Y3QgZXh0NF9zdXBlcl9i bG9jayAqZXMgPSBzYmktPnNfZXM7CiAJaW50IGVuYWJsaW5nX2Nhc2Vmb2xkID0gMDsKKwli b29sIGVuYWJsaW5nX3VpZF9yID0gZmFsc2U7CiAJaW50IHJldDsKIAogCWlmICghY2FwYWJs ZShDQVBfU1lTX0FETUlOKSkKQEAgLTE0NjEsNiArMTQ3MCwxOCBAQCBzdGF0aWMgaW50IGV4 dDRfaW9jdGxfc2V0X3R1bmVfc2Ioc3RydWN0IGZpbGUgKmZpbHAsCiAJCSAgICAgfkVYVDRf VFVORV9DTEVBUl9ST19DT01QQVRfU1VQUCkpCiAJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAK KwkJLyoKKwkJICogdWlkX3IgbWF5IGFscmVhZHkgYmUgb24gZGlzayBidXQgbm90IGluIHVz ZSB5ZXQsIHdoZW4gaXQKKwkJICogd2FzIHNldCB3aGlsZSB0aGUgZmlsZXN5c3RlbSB3YXMg bW91bnRlZDogdGFrZSB0aGF0IHVwIHRvby4KKwkJICovCisJCWlmIChwYXJhbXMuc2V0X2Zl YXR1cmVfcm9fY29tcGF0X21hc2sgJgorCQkgICAgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9V SURfUikgeworCQkJaWYgKHNiaS0+c19pbm9kZV9zaXplIDwgRVhUNF9HT09EX09MRF9JTk9E RV9TSVpFICsKKwkJCQkJCUVYVDRfRVhUUkFfSVNJWkVfVUlEX1IpCisJCQkJcmV0dXJuIC1F SU5WQUw7CisJCQllbmFibGluZ191aWRfciA9IHRydWU7CisJCX0KKwogCQkvKgogCQkgKiBG aWx0ZXIgb3V0IHRoZSBmZWF0dXJlcyB0aGF0IGFyZSBhbHJlYWR5IHNldCBmcm9tCiAJCSAq IHRoZSBzZXRfbWFzay4KQEAgLTE1MzIsNiArMTU1MywxMyBAQCBzdGF0aWMgaW50IGV4dDRf aW9jdGxfc2V0X3R1bmVfc2Ioc3RydWN0IGZpbGUgKmZpbHAsCiAJaWYgKHBhcmFtcy5zZXRf ZmxhZ3MgJiBFWFQ0X1RVTkVfRkxfREVGX0hBU0hfQUxHKQogCQlzYmktPnNfZGVmX2hhc2hf dmVyc2lvbiA9IHBhcmFtcy5kZWZfaGFzaF9hbGc7CiAKKwkvKiBub3QgdW5kZXIgbW50X3dh bnRfd3JpdGVfZmlsZSgpLCBmcmVlemVfc3VwZXIoKSB3b3VsZCB3YWl0IGZvciB1cyAqLwor CWlmICghcmV0ICYmIGVuYWJsaW5nX3VpZF9yKSB7CisJCWRvd25fd3JpdGUoJnNiLT5zX3Vt b3VudCk7CisJCWV4dDRfZW5hYmxlX3VpZF9yKHNiKTsKKwkJdXBfd3JpdGUoJnNiLT5zX3Vt b3VudCk7CisJfQorCiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9z dXBlci5jIGIvZnMvZXh0NC9zdXBlci5jCmluZGV4IDZlMDM0NjcyZi4uNTM5M2E1MDBmIDEw MDY0NAotLS0gYS9mcy9leHQ0L3N1cGVyLmMKKysrIGIvZnMvZXh0NC9zdXBlci5jCkBAIC02 NTUxLDYgKzY1NTEsMzIgQEAgc3RhdGljIGludCBleHQ0X3VuZnJlZXplKHN0cnVjdCBzdXBl cl9ibG9jayAqc2IpCiAJcmV0dXJuIDA7CiB9CiAKKy8qCisgKiBMZXQgdGhlIGZpbGVzeXN0 ZW0gdGFrZSBVVUlEIGFuZCBHVUlEIG93bmVycyB3aGVuIHRoZSB1aWRfciBmZWF0dXJlIHdh cworICogdHVybmVkIG9uIGFmdGVyIHRoZSBtb3VudCwgYnkgYSByZW1vdW50IG9yIEVYVDRf SU9DX1NFVF9UVU5FX1NCX1BBUkFNLgorICogSXQgaXMgbmV2ZXIgdHVybmVkIG9mZiBhZ2Fp biwgYXMgY2FjaGVkIGlub2RlcyBtYXkgaGF2ZSBzdWNoIG93bmVycyBieQorICogbm93LiBD YWxsZWQgd2l0aCBzX3Vtb3VudCBoZWxkIGZvciB3cml0aW5nLgorICovCit2b2lkIGV4dDRf ZW5hYmxlX3VpZF9yKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJc3RydWN0IGV4dDRf c2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisKKwlpZiAoIWV4dDRfaGFzX2ZlYXR1cmVf dWlkX3Ioc2IpIHx8IHRlc3Rfb3B0KHNiLCBOT19VSUQzMikgfHwKKwkgICAgKHNiLT5zX2lm bGFncyAmIFNCX0lfVUlEX1IpKQorCQlyZXR1cm47CisJaWYgKHNiaS0+c19pbm9kZV9zaXpl IDwKKwkgICAgRVhUNF9HT09EX09MRF9JTk9ERV9TSVpFICsgRVhUNF9FWFRSQV9JU0laRV9V SURfUikgeworCQlleHQ0X21zZyhzYiwgS0VSTl9XQVJOSU5HLAorCQkJICJ1aWRfciBuZWVk cyBpbm9kZXMgb2YgYXQgbGVhc3QgJXp1IGJ5dGVzLCBub3QgZW5hYmxlZCIsCisJCQkgRVhU NF9HT09EX09MRF9JTk9ERV9TSVpFICsgRVhUNF9FWFRSQV9JU0laRV9VSURfUik7CisJCXJl dHVybjsKKwl9CisJaWYgKHNiaS0+c193YW50X2V4dHJhX2lzaXplIDwgRVhUNF9FWFRSQV9J U0laRV9VSURfUikKKwkJV1JJVEVfT05DRShzYmktPnNfd2FudF9leHRyYV9pc2l6ZSwgRVhU NF9FWFRSQV9JU0laRV9VSURfUik7CisJc2ItPnNfaWZsYWdzIHw9IFNCX0lfVUlEX1I7CisJ ZXh0NF9tc2coc2IsIEtFUk5fSU5GTywgInVpZF9yIGVuYWJsZWQiKTsKK30KKwogLyoKICAq IFN0cnVjdHVyZSB0byBzYXZlIG1vdW50IG9wdGlvbnMgZm9yIGV4dDRfcmVtb3VudCdzIGJl bmVmaXQKICAqLwpAQCAtNjgzMiw2ICs2ODU4LDkgQEAgc3RhdGljIGludCBfX2V4dDRfcmVt b3VudChzdHJ1Y3QgZnNfY29udGV4dCAqZmMsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiAJ aWYgKCF0ZXN0X29wdChzYiwgQkxPQ0tfVkFMSURJVFkpICYmIHNiaS0+c19zeXN0ZW1fYmxr cykKIAkJZXh0NF9yZWxlYXNlX3N5c3RlbV96b25lKHNiKTsKIAorCS8qIHR1bmUyZnMgbWF5 IGhhdmUgdHVybmVkIG9uIHVpZF9yIHNpbmNlIHRoZSBtb3VudCAqLworCWV4dDRfZW5hYmxl X3VpZF9yKHNiKTsKKwogCS8qCiAJICogUmVpbml0aWFsaXplIGxhenkgaXRhYmxlIGluaXRp YWxpemF0aW9uIHRocmVhZCBiYXNlZCBvbgogCSAqIGN1cnJlbnQgc2V0dGluZ3MK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0033-posix_acl-support-UUID-and-GUID-entries.patch" Content-Disposition: attachment; filename="uid_r-0033-posix_acl-support-UUID-and-GUID-entries.patch" Content-Transfer-Encoding: base64 RnJvbSBjZWJjNTAwOWQ1YjdiYzVjYmY3YWMyY2MyZDRjMzFmYTc3NDVkZjQwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjQyOjEzICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzMy80M10gcG9zaXhfYWNsOiBzdXBwb3J0IFVVSUQgYW5kIEdVSUQgZW50cmllcwoK VGhlIEFDTCB4YXR0cnMgY2FycnkgMzIgYml0IGlkcywgc28gQUNMX1VTRVIgYW5kIEFDTF9H Uk9VUCBlbnRyaWVzIGZvcgpVVUlEIGFuZCBHVUlEIHVzZXJzIGFuZCBncm91cHMgY291bGQg bmVpdGhlciBiZSBzZXQgbm9yIHNob3duLgoKQWRkIHZlcnNpb24gMyBvZiB0aGUgeGF0dHIg Zm9ybWF0LCB3aG9zZSBlbnRyaWVzIGhvbGQgYW4gaWQga2luZCBhbmQKMTYgYnl0ZXMgb2Yg aWQuIHNldHhhdHRyKCkgdGFrZXMgdmVyc2lvbiAyIGFuZCAzOyBnZXR4YXR0cigpIHJldHVy bnMKdmVyc2lvbiAzIG9ubHkgaWYgdGhlIEFDTCBoYXMgc3VjaCBhbiBlbnRyeSB0aGUgY2Fs bGVyIGNhbiBzZWUsIHNvCmV4aXN0aW5nIHRvb2xzIGtlZXAgZ2V0dGluZyB2ZXJzaW9uIDIg Zm9yIGV2ZXJ5dGhpbmcgZWxzZS4KCnNldF9wb3NpeF9hY2woKSByZWZ1c2VzIFVVSUQgYW5k IEdVSUQgZW50cmllcyB3aXRoIC1FT1ZFUkZMT1cgb24KZmlsZXN5c3RlbXMgd2l0aG91dCBT Ql9JX1VJRF9SLCB3aG9zZSBBQ0wgZm9ybWF0cyBjYW4ndCBzdG9yZSB0aGVtLgoKQXNzaXN0 ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBmcy9wb3NpeF9hY2wuYyAgICAg ICAgICAgICAgICAgICAgICAgfCAxMjMgKysrKysrKysrKysrKysrKysrKysrKysrKystCiBp bmNsdWRlL2xpbnV4L3Bvc2l4X2FjbF94YXR0ci5oICAgICAgfCAgMzEgKysrKysrKwogaW5j bHVkZS91YXBpL2xpbnV4L3Bvc2l4X2FjbF94YXR0ci5oIHwgIDE5ICsrKysrCiAzIGZpbGVz IGNoYW5nZWQsIDE3MSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2ZzL3Bvc2l4X2FjbC5jIGIvZnMvcG9zaXhfYWNsLmMKaW5kZXggM2RjNjJjMWMyLi5k ZDlmZDY4NzkgMTAwNjQ0Ci0tLSBhL2ZzL3Bvc2l4X2FjbC5jCisrKyBiL2ZzL3Bvc2l4X2Fj bC5jCkBAIC0xOSw2ICsxOSw4IEBACiAjaW5jbHVkZSA8bGludXgvY3JlZC5oPgogI2luY2x1 ZGUgPGxpbnV4L3Bvc2l4X2FjbC5oPgogI2luY2x1ZGUgPGxpbnV4L3Bvc2l4X2FjbF94YXR0 ci5oPgorI2luY2x1ZGUgPGxpbnV4L3VpZGdpZF9yLmg+CisjaW5jbHVkZSA8bGludXgvdW5h bGlnbmVkLmg+CiAjaW5jbHVkZSA8bGludXgveGF0dHIuaD4KICNpbmNsdWRlIDxsaW51eC9l eHBvcnQuaD4KICNpbmNsdWRlIDxsaW51eC91c2VyX25hbWVzcGFjZS5oPgpAQCAtNzQxLDEw ICs3NDMsMTMgQEAgc3RhdGljIGludCBwb3NpeF9hY2xfZml4X3hhdHRyX2NvbW1vbihjb25z dCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUpCiAJCXJldHVybiAtRUlOVkFMOwogCWlmIChz aXplIDwgc2l6ZW9mKHN0cnVjdCBwb3NpeF9hY2xfeGF0dHJfaGVhZGVyKSkKIAkJcmV0dXJu IC1FSU5WQUw7Ci0JaWYgKGhlYWRlci0+YV92ZXJzaW9uICE9IGNwdV90b19sZTMyKFBPU0lY X0FDTF9YQVRUUl9WRVJTSU9OKSkKKwlpZiAoaGVhZGVyLT5hX3ZlcnNpb24gPT0gY3B1X3Rv X2xlMzIoUE9TSVhfQUNMX1hBVFRSX1ZFUlNJT05fUikpCisJCWNvdW50ID0gcG9zaXhfYWNs X3hhdHRyX2NvdW50X3Ioc2l6ZSk7CisJZWxzZSBpZiAoaGVhZGVyLT5hX3ZlcnNpb24gPT0g Y3B1X3RvX2xlMzIoUE9TSVhfQUNMX1hBVFRSX1ZFUlNJT04pKQorCQljb3VudCA9IHBvc2l4 X2FjbF94YXR0cl9jb3VudChzaXplKTsKKwllbHNlCiAJCXJldHVybiAtRU9QTk9UU1VQUDsK IAotCWNvdW50ID0gcG9zaXhfYWNsX3hhdHRyX2NvdW50KHNpemUpOwogCWlmIChjb3VudCA8 IDApCiAJCXJldHVybiAtRUlOVkFMOwogCWlmIChjb3VudCA9PSAwKQpAQCAtNzUzLDYgKzc1 OCw0OSBAQCBzdGF0aWMgaW50IHBvc2l4X2FjbF9maXhfeGF0dHJfY29tbW9uKGNvbnN0IHZv aWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKIAlyZXR1cm4gY291bnQ7CiB9CiAKKy8qIFRoZSBl bnRyaWVzIG9mIGEgdmVyc2lvbiAzIEFDTCB4YXR0ciBpbnRvIEBhY2w7IC1FSU5WQUwgaWYg bWFsZm9ybWVkICovCitzdGF0aWMgaW50IHBvc2l4X2FjbF9mcm9tX3hhdHRyX3Ioc3RydWN0 IHVzZXJfbmFtZXNwYWNlICp1c2VybnMsCisJCQkJICBjb25zdCBzdHJ1Y3QgcG9zaXhfYWNs X3hhdHRyX2VudHJ5X3IgKmVudHJ5LAorCQkJCSAgc3RydWN0IHBvc2l4X2FjbCAqYWNsKQor eworCXN0cnVjdCBfX2tlcm5lbF91aWRfciBpZDsKKworCWZvciAoaW50IG4gPSAwOyBuIDwg YWNsLT5hX2NvdW50OyBuKyssIGVudHJ5KyspIHsKKwkJc3RydWN0IHBvc2l4X2FjbF9lbnRy eSAqYWNsX2UgPSAmYWNsLT5hX2VudHJpZXNbbl07CisKKwkJYWNsX2UtPmVfdGFnICA9IGxl MTZfdG9fY3B1KGVudHJ5LT5lX3RhZyk7CisJCWFjbF9lLT5lX3Blcm0gPSBsZTE2X3RvX2Nw dShlbnRyeS0+ZV9wZXJtKTsKKworCQltZW1zZXQoJmlkLCAwLCBzaXplb2YoaWQpKTsKKwkJ aWQudHlwZSA9IGxlMzJfdG9fY3B1KGVudHJ5LT5lX3R5cGUpOworCQlpZiAoaWQudHlwZSA9 PSBVSURfUl9MRUdBQ1kpCisJCQlpZC5sZWdhY3kgPSBnZXRfdW5hbGlnbmVkX2xlMzIoZW50 cnktPmVfaWQpOworCQllbHNlCisJCQltZW1jcHkoaWQudXVpZCwgZW50cnktPmVfaWQsIHNp emVvZihpZC51dWlkKSk7CisKKwkJc3dpdGNoIChhY2xfZS0+ZV90YWcpIHsKKwkJY2FzZSBB Q0xfVVNFUl9PQko6CisJCWNhc2UgQUNMX0dST1VQX09CSjoKKwkJY2FzZSBBQ0xfTUFTSzoK KwkJY2FzZSBBQ0xfT1RIRVI6CisJCQlicmVhazsKKwkJY2FzZSBBQ0xfVVNFUjoKKwkJCWFj bF9lLT5lX3VpZCA9IG1ha2Vfa3VpZF9yKHVzZXJucywgJmlkKTsKKwkJCWlmICghdWlkX3Zh bGlkKGFjbF9lLT5lX3VpZCkpCisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQlicmVhazsKKwkJ Y2FzZSBBQ0xfR1JPVVA6CisJCQlhY2xfZS0+ZV9naWQgPSBtYWtlX2tnaWRfcih1c2VybnMs ICZpZCk7CisJCQlpZiAoIWdpZF92YWxpZChhY2xfZS0+ZV9naWQpKQorCQkJCXJldHVybiAt RUlOVkFMOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJ fQorCX0KKwlyZXR1cm4gMDsKK30KKwogLyoqCiAgKiBwb3NpeF9hY2xfZnJvbV94YXR0ciAt IGNvbnZlcnQgUE9TSVggQUNMcyBmcm9tIGJhY2tpbmcgc3RvcmUgdG8gVkZTIGZvcm1hdAog ICogQHVzZXJuczogdGhlIGZpbGVzeXN0ZW0ncyBpZG1hcHBpbmcKQEAgLTc5Nyw2ICs4NDUs MTMgQEAgc3RydWN0IHBvc2l4X2FjbCAqcG9zaXhfYWNsX2Zyb21feGF0dHIoc3RydWN0IHVz ZXJfbmFtZXNwYWNlICp1c2VybnMsCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCWFj bF9lID0gYWNsLT5hX2VudHJpZXM7CiAKKwlpZiAoaGVhZGVyLT5hX3ZlcnNpb24gPT0gY3B1 X3RvX2xlMzIoUE9TSVhfQUNMX1hBVFRSX1ZFUlNJT05fUikpIHsKKwkJaWYgKHBvc2l4X2Fj bF9mcm9tX3hhdHRyX3IodXNlcm5zLCAoY29uc3Qgdm9pZCAqKShoZWFkZXIgKyAxKSwKKwkJ CQkJICAgYWNsKSkKKwkJCWdvdG8gZmFpbDsKKwkJcmV0dXJuIGFjbDsKKwl9CisKIAlmb3Ig KGVuZCA9IGVudHJ5ICsgY291bnQ7IGVudHJ5ICE9IGVuZDsgYWNsX2UrKywgZW50cnkrKykg ewogCQlhY2xfZS0+ZV90YWcgID0gbGUxNl90b19jcHUoZW50cnktPmVfdGFnKTsKIAkJYWNs X2UtPmVfcGVybSA9IGxlMTZfdG9fY3B1KGVudHJ5LT5lX3Blcm0pOwpAQCAtODc2LDYgKzkz MSw2MSBAQCBwb3NpeF9hY2xfdG9feGF0dHIoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2Vy X25zLCBjb25zdCBzdHJ1Y3QgcG9zaXhfYWNsICphY2wsCiB9CiBFWFBPUlRfU1lNQk9MIChw b3NpeF9hY2xfdG9feGF0dHIpOwogCisvKiBMaWtlIHZmc19wb3NpeF9hY2xfdG9feGF0dHIo KSwgaW4gdmVyc2lvbiAzICovCitzdGF0aWMgc3NpemVfdCB2ZnNfcG9zaXhfYWNsX3RvX3hh dHRyX3Ioc3RydWN0IG1udF9pZG1hcCAqaWRtYXAsCisJCQkJCXN0cnVjdCBpbm9kZSAqaW5v ZGUsCisJCQkJCWNvbnN0IHN0cnVjdCBwb3NpeF9hY2wgKmFjbCwKKwkJCQkJdm9pZCAqYnVm ZmVyLCBzaXplX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgcG9zaXhfYWNsX3hhdHRyX2hlYWRlciAq ZXh0X2FjbCA9IGJ1ZmZlcjsKKwlzdHJ1Y3QgcG9zaXhfYWNsX3hhdHRyX2VudHJ5X3IgKmV4 dF9lbnRyeTsKKwlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKmZzX3VzZXJucyA9IGlfdXNlcl9u cyhpbm9kZSk7CisJc3RydWN0IHVzZXJfbmFtZXNwYWNlICpjYWxsZXJfdXNlcm5zID0gY3Vy cmVudF91c2VyX25zKCk7CisJc3RydWN0IF9fa2VybmVsX3VpZF9yIGlkOworCXNzaXplX3Qg cmVhbF9zaXplOworCWJvb2wgbWFwcGVkOworCisJcmVhbF9zaXplID0gcG9zaXhfYWNsX3hh dHRyX3NpemVfcihhY2wtPmFfY291bnQpOworCWlmICghYnVmZmVyKQorCQlyZXR1cm4gcmVh bF9zaXplOworCWlmIChyZWFsX3NpemUgPiBzaXplKQorCQlyZXR1cm4gLUVSQU5HRTsKKwor CWV4dF9lbnRyeSA9ICh2b2lkICopKGV4dF9hY2wgKyAxKTsKKwlleHRfYWNsLT5hX3ZlcnNp b24gPSBjcHVfdG9fbGUzMihQT1NJWF9BQ0xfWEFUVFJfVkVSU0lPTl9SKTsKKworCWZvciAo aW50IG4gPSAwOyBuIDwgYWNsLT5hX2NvdW50OyBuKyssIGV4dF9lbnRyeSsrKSB7CisJCWNv bnN0IHN0cnVjdCBwb3NpeF9hY2xfZW50cnkgKmFjbF9lID0gJmFjbC0+YV9lbnRyaWVzW25d OworCisJCWV4dF9lbnRyeS0+ZV90YWcgID0gY3B1X3RvX2xlMTYoYWNsX2UtPmVfdGFnKTsK KwkJZXh0X2VudHJ5LT5lX3Blcm0gPSBjcHVfdG9fbGUxNihhY2xfZS0+ZV9wZXJtKTsKKwkJ bWVtc2V0KCZpZCwgMCwgc2l6ZW9mKGlkKSk7CisJCW1hcHBlZCA9IHRydWU7CisJCXN3aXRj aCAoYWNsX2UtPmVfdGFnKSB7CisJCWNhc2UgQUNMX1VTRVI6CisJCQltYXBwZWQgPSBmcm9t X2t1aWRfcihjYWxsZXJfdXNlcm5zLCB2ZnN1aWRfaW50b19rdWlkKAorCQkJCW1ha2VfdmZz dWlkKGlkbWFwLCBmc191c2VybnMsIGFjbF9lLT5lX3VpZCkpLCAmaWQpOworCQkJYnJlYWs7 CisJCWNhc2UgQUNMX0dST1VQOgorCQkJbWFwcGVkID0gZnJvbV9rZ2lkX3IoY2FsbGVyX3Vz ZXJucywgdmZzZ2lkX2ludG9fa2dpZCgKKwkJCQltYWtlX3Zmc2dpZChpZG1hcCwgZnNfdXNl cm5zLCBhY2xfZS0+ZV9naWQpKSwgJmlkKTsKKwkJCWJyZWFrOworCQl9CisJCS8qIG5vIG1h cHBpbmc6IHRoZSBjbGFzc2ljIC0xLCBhcyBpbiB2ZXJzaW9uIDIgKi8KKwkJaWYgKCFtYXBw ZWQpIHsKKwkJCWlkLnR5cGUgPSBVSURfUl9MRUdBQ1k7CisJCQlpZC5sZWdhY3kgPSBBQ0xf VU5ERUZJTkVEX0lEOworCQl9CisJCWV4dF9lbnRyeS0+ZV90eXBlID0gY3B1X3RvX2xlMzIo aWQudHlwZSk7CisJCW1lbXNldChleHRfZW50cnktPmVfaWQsIDAsIHNpemVvZihleHRfZW50 cnktPmVfaWQpKTsKKwkJaWYgKGlkLnR5cGUgPT0gVUlEX1JfTEVHQUNZKQorCQkJcHV0X3Vu YWxpZ25lZF9sZTMyKGlkLmxlZ2FjeSwgZXh0X2VudHJ5LT5lX2lkKTsKKwkJZWxzZSBpZiAo aWQudHlwZSAhPSBVSURfUl9OT05FKQorCQkJbWVtY3B5KGV4dF9lbnRyeS0+ZV9pZCwgaWQu dXVpZCwgc2l6ZW9mKGV4dF9lbnRyeS0+ZV9pZCkpOworCX0KKwlyZXR1cm4gcmVhbF9zaXpl OworfQorCiAvKioKICAqIHZmc19wb3NpeF9hY2xfdG9feGF0dHIgLSBjb252ZXJ0IGZyb20g a2VybmVsIHRvIHVzZXJzcGFjZSByZXByZXNlbnRhdGlvbgogICogQGlkbWFwOiBpZG1hcCBv ZiB0aGUgbW91bnQKQEAgLTkwNCw2ICsxMDE0LDExIEBAIHN0YXRpYyBzc2l6ZV90IHZmc19w b3NpeF9hY2xfdG9feGF0dHIoc3RydWN0IG1udF9pZG1hcCAqaWRtYXAsCiAJdmZzdWlkX3Qg dmZzdWlkOwogCXZmc2dpZF90IHZmc2dpZDsKIAorCS8qIFVVSURzIGFuZCBHVUlEcyB0aGUg Y2FsbGVyIGNhbiBzZWUgbmVlZCB2ZXJzaW9uIDMgKi8KKwlpZiAocG9zaXhfYWNsX2hhc19p ZF9yKGFjbCkgJiYgY3VycmVudF91c2VyX25zKCkgPT0gJmluaXRfdXNlcl9ucykKKwkJcmV0 dXJuIHZmc19wb3NpeF9hY2xfdG9feGF0dHJfcihpZG1hcCwgaW5vZGUsIGFjbCwgYnVmZmVy LAorCQkJCQkJc2l6ZSk7CisKIAlyZWFsX3NpemUgPSBwb3NpeF9hY2xfeGF0dHJfc2l6ZShh Y2wtPmFfY291bnQpOwogCWlmICghYnVmZmVyKQogCQlyZXR1cm4gcmVhbF9zaXplOwpAQCAt OTU4LDYgKzEwNzMsMTAgQEAgc2V0X3Bvc2l4X2FjbChzdHJ1Y3QgbW50X2lkbWFwICppZG1h cCwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAogCQlpbnQgcmV0ID0gcG9zaXhfYWNsX3ZhbGlk KGlub2RlLT5pX3NiLT5zX3VzZXJfbnMsIGFjbCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4g cmV0OworCQkvKiBVVUlEIGFuZCBHVUlEIGVudHJpZXMgb25seSB3aGVyZSB0aGUgZmlsZXN5 c3RlbSBzdG9yZXMgdGhlbSAqLworCQlpZiAocG9zaXhfYWNsX2hhc19pZF9yKGFjbCkgJiYK KwkJICAgICEoaW5vZGUtPmlfc2ItPnNfaWZsYWdzICYgU0JfSV9VSURfUikpCisJCQlyZXR1 cm4gLUVPVkVSRkxPVzsKIAl9CiAJcmV0dXJuIGlub2RlLT5pX29wLT5zZXRfYWNsKGlkbWFw LCBkZW50cnksIGFjbCwgdHlwZSk7CiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3Bv c2l4X2FjbF94YXR0ci5oIGIvaW5jbHVkZS9saW51eC9wb3NpeF9hY2xfeGF0dHIuaAppbmRl eCA5ZTE4OTI1MjUuLjMwN2Q1NDNiYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wb3Np eF9hY2xfeGF0dHIuaAorKysgYi9pbmNsdWRlL2xpbnV4L3Bvc2l4X2FjbF94YXR0ci5oCkBA IC0zMiw2ICszMiwzNyBAQCBwb3NpeF9hY2xfeGF0dHJfY291bnQoc2l6ZV90IHNpemUpCiAJ cmV0dXJuIHNpemUgLyBzaXplb2Yoc3RydWN0IHBvc2l4X2FjbF94YXR0cl9lbnRyeSk7CiB9 CiAKK3N0YXRpYyBpbmxpbmUgc2l6ZV90Citwb3NpeF9hY2xfeGF0dHJfc2l6ZV9yKGludCBj b3VudCkKK3sKKwlyZXR1cm4gKHNpemVvZihzdHJ1Y3QgcG9zaXhfYWNsX3hhdHRyX2hlYWRl cikgKworCQkoY291bnQgKiBzaXplb2Yoc3RydWN0IHBvc2l4X2FjbF94YXR0cl9lbnRyeV9y KSkpOworfQorCitzdGF0aWMgaW5saW5lIGludAorcG9zaXhfYWNsX3hhdHRyX2NvdW50X3Io c2l6ZV90IHNpemUpCit7CisJaWYgKHNpemUgPCBzaXplb2Yoc3RydWN0IHBvc2l4X2FjbF94 YXR0cl9oZWFkZXIpKQorCQlyZXR1cm4gLTE7CisJc2l6ZSAtPSBzaXplb2Yoc3RydWN0IHBv c2l4X2FjbF94YXR0cl9oZWFkZXIpOworCWlmIChzaXplICUgc2l6ZW9mKHN0cnVjdCBwb3Np eF9hY2xfeGF0dHJfZW50cnlfcikpCisJCXJldHVybiAtMTsKKwlyZXR1cm4gc2l6ZSAvIHNp emVvZihzdHJ1Y3QgcG9zaXhfYWNsX3hhdHRyX2VudHJ5X3IpOworfQorCisvKiBXaGV0aGVy IGFuIEFDTF9VU0VSIG9yIEFDTF9HUk9VUCBlbnRyeSBvZiBAYWNsIGlzIGEgVVVJRCBvciBH VUlEICovCitzdGF0aWMgaW5saW5lIGJvb2wgcG9zaXhfYWNsX2hhc19pZF9yKGNvbnN0IHN0 cnVjdCBwb3NpeF9hY2wgKmFjbCkKK3sKKwlmb3IgKGludCBuID0gMDsgbiA8IGFjbC0+YV9j b3VudDsgbisrKSB7CisJCWNvbnN0IHN0cnVjdCBwb3NpeF9hY2xfZW50cnkgKmUgPSAmYWNs LT5hX2VudHJpZXNbbl07CisKKwkJaWYgKChlLT5lX3RhZyA9PSBBQ0xfVVNFUiAmJiAhdWlk X2lzX2xlZ2FjeShlLT5lX3VpZCkpIHx8CisJCSAgICAoZS0+ZV90YWcgPT0gQUNMX0dST1VQ ICYmICFnaWRfaXNfbGVnYWN5KGUtPmVfZ2lkKSkpCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CisJ cmV0dXJuIGZhbHNlOworfQorCiAjaWZkZWYgQ09ORklHX0ZTX1BPU0lYX0FDTAogc3RydWN0 IHBvc2l4X2FjbCAqcG9zaXhfYWNsX2Zyb21feGF0dHIoc3RydWN0IHVzZXJfbmFtZXNwYWNl ICp1c2VyX25zLAogCQkJCSAgICAgICBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUp OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L3Bvc2l4X2FjbF94YXR0ci5oIGIv aW5jbHVkZS91YXBpL2xpbnV4L3Bvc2l4X2FjbF94YXR0ci5oCmluZGV4IDUwNjM4MGYwYi4u YTQ0YTUxNTA3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvbGludXgvcG9zaXhfYWNsX3hh dHRyLmgKKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3Bvc2l4X2FjbF94YXR0ci5oCkBAIC0z Niw0ICszNiwyMyBAQCBzdHJ1Y3QgcG9zaXhfYWNsX3hhdHRyX2hlYWRlciB7CiAJX19sZTMy CQkJYV92ZXJzaW9uOwogfTsKIAorLyoKKyAqIFZlcnNpb24gMzogdGhlIGlkcyBvZiBBQ0xf VVNFUiBhbmQgQUNMX0dST1VQIGVudHJpZXMgY2FuIGFsc28gYmUgVVVJRHMKKyAqIGFuZCBH VUlEcy4gZV90eXBlIGlzIGEgVUlEX1JfKiBraW5kICg8bGludXgvdWlkZ2lkX3IuaD4pOyBh IGNsYXNzaWMgaWQKKyAqIGlzIGluIHRoZSBmaXJzdCBmb3VyIGJ5dGVzIG9mIGVfaWQsIGxp dHRsZSBlbmRpYW4sIGEgVVVJRCBvciBHVUlEIHRha2VzCisgKiBhbGwgb2YgaXQgaW4gdGhl IGJ5dGUgb3JkZXIgb2YgX19rZXJuZWxfdWlkX3JfdC4gT3RoZXIgZW50cmllcyBoYXZlCisg KiBlX3R5cGUgVUlEX1JfTk9ORS4KKyAqCisgKiBnZXR4YXR0cigpIHJldHVybnMgdmVyc2lv biAyIHVubGVzcyBhbiBlbnRyeSBoYXMgYSBVVUlEIG9yIEdVSUQ7CisgKiBzZXR4YXR0cigp IHRha2VzIGJvdGguCisgKi8KKyNkZWZpbmUgUE9TSVhfQUNMX1hBVFRSX1ZFUlNJT05fUgkw eDAwMDMKKworc3RydWN0IHBvc2l4X2FjbF94YXR0cl9lbnRyeV9yIHsKKwlfX2xlMTYJCQll X3RhZzsKKwlfX2xlMTYJCQllX3Blcm07CisJX19sZTMyCQkJZV90eXBlOworCV9fdTgJCQll X2lkWzE2XTsKK307CisKICNlbmRpZgkvKiBfX1VBUElfUE9TSVhfQUNMX1hBVFRSX0ggKi8K --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0034-ext4-store-ACLs-with-UUID-and-GUID-entries-on-uid_r-.patch" Content-Disposition: attachment; filename*0="uid_r-0034-ext4-store-ACLs-with-UUID-and-GUID-entries-on-uid"; filename*1="_r-.patch" Content-Transfer-Encoding: base64 RnJvbSA0NzMwYTM5YWY3NDJlYjQ4Y2JhNjA4ZjUzMzY1MGZhN2I3NDVkMDc1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjQyOjEzICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzNC80M10gZXh0NDogc3RvcmUgQUNMcyB3aXRoIFVVSUQgYW5kIEdVSUQgZW50cmll cyBvbiB1aWRfcgogZmlsZXN5c3RlbXMKCkFDTHMgd2hvc2UgQUNMX1VTRVIgb3IgQUNMX0dS T1VQIGVudHJpZXMgYXJlIFVVSURzIG9yIEdVSURzIGFyZSB3cml0dGVuCmluIGEgbmV3IG9u LWRpc2sgZm9ybWF0LCBFWFQ0X0FDTF9WRVJTSU9OX1I6IHRoZSBzaG9ydCBlbnRyaWVzIHN0 YXkgYXMKdGhleSBhcmUsIHRoZSB1c2VyIGFuZCBncm91cCBlbnRyaWVzIGNhcnJ5IGFuIEVY VDRfSURfUl8qIGtpbmQgYW5kIDE2CmJ5dGVzIG9mIGlkLiBPbmx5IHN1Y2ggQUNMcyB1c2Ug aXQsIGFuZCBvbmx5IHVpZF9yIGZpbGVzeXN0ZW1zIGNhbiBoYXZlCnRoZW0gKHNldF9wb3Np eF9hY2woKSByZWZ1c2VzIHRoZW0gZWxzZXdoZXJlKTsgYWxsIG90aGVyIEFDTHMga2VlcApF WFQ0X0FDTF9WRVJTSU9OLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUK LS0tCiBmcy9leHQ0L2FjbC5jIHwgMTA5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCiBmcy9leHQ0L2FjbC5oIHwgIDM0ICsrKysrKysrKysr KystLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTE1IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvYWNsLmMgYi9mcy9leHQ0L2FjbC5jCmluZGV4 IDNiZmZlODYyZi4uMjdmOGExYjUwIDEwMDY0NAotLS0gYS9mcy9leHQ0L2FjbC5jCisrKyBi L2ZzL2V4dDQvYWNsLmMKQEAgLTYsNiArNiw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4 L3F1b3Rhb3BzLmg+CisjaW5jbHVkZSA8bGludXgvdW5hbGlnbmVkLmg+CiAjaW5jbHVkZSAi ZXh0NF9qYmQyLmgiCiAjaW5jbHVkZSAiZXh0NC5oIgogI2luY2x1ZGUgInhhdHRyLmgiCkBA IC0xNCwyMiArMTUsNDEgQEAKIC8qCiAgKiBDb252ZXJ0IGZyb20gZmlsZXN5c3RlbSB0byBp bi1tZW1vcnkgcmVwcmVzZW50YXRpb24uCiAgKi8KKy8qIFRoZSBpZCBvZiBhbiBBQ0xfVVNF UiBvciBBQ0xfR1JPVVAgZW50cnkgb2YgRVhUNF9BQ0xfVkVSU0lPTl9SICovCitzdGF0aWMg aW50IGV4dDRfYWNsX2lkX2Zyb21fZGlzayhjb25zdCBleHQ0X2FjbF9lbnRyeV9yICplbnRy eSwgdTMyICp0eXBlLAorCQkJCSB1MzIgKmxlZ2FjeSwgdXVpZF90ICppZCkKK3sKKwkqdHlw ZSA9IGxlMzJfdG9fY3B1KGVudHJ5LT5lX3R5cGUpOworCWlmICgqdHlwZSA+IEVYVDRfSURf Ul9HVUlEKQorCQlyZXR1cm4gLUVJTlZBTDsKKwkqbGVnYWN5ID0gZ2V0X3VuYWxpZ25lZF9s ZTMyKGVudHJ5LT5lX2lkKTsKKwltZW1jcHkoaWQtPmIsIGVudHJ5LT5lX2lkLCBzaXplb2Yo aWQtPmIpKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBwb3NpeF9hY2wgKgog ZXh0NF9hY2xfZnJvbV9kaXNrKGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKIHsK IAljb25zdCBjaGFyICplbmQgPSAoY2hhciAqKXZhbHVlICsgc2l6ZTsKIAlpbnQgbiwgY291 bnQ7CiAJc3RydWN0IHBvc2l4X2FjbCAqYWNsOworCXNpemVfdCBlbnRyeV9zaXplID0gc2l6 ZW9mKGV4dDRfYWNsX2VudHJ5KTsKKwlib29sIHIgPSBmYWxzZTsKIAogCWlmICghdmFsdWUp CiAJCXJldHVybiBOVUxMOwogCWlmIChzaXplIDwgc2l6ZW9mKGV4dDRfYWNsX2hlYWRlcikp CiAJCSByZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKLQlpZiAoKChleHQ0X2FjbF9oZWFkZXIg Kil2YWx1ZSktPmFfdmVyc2lvbiAhPQotCSAgICBjcHVfdG9fbGUzMihFWFQ0X0FDTF9WRVJT SU9OKSkKKwlpZiAoKChleHQ0X2FjbF9oZWFkZXIgKil2YWx1ZSktPmFfdmVyc2lvbiA9PQor CSAgICBjcHVfdG9fbGUzMihFWFQ0X0FDTF9WRVJTSU9OX1IpKSB7CisJCXIgPSB0cnVlOwor CQllbnRyeV9zaXplID0gc2l6ZW9mKGV4dDRfYWNsX2VudHJ5X3IpOworCX0gZWxzZSBpZiAo KChleHQ0X2FjbF9oZWFkZXIgKil2YWx1ZSktPmFfdmVyc2lvbiAhPQorCQkgICBjcHVfdG9f bGUzMihFWFQ0X0FDTF9WRVJTSU9OKSkgewogCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsK Kwl9CiAJdmFsdWUgPSAoY2hhciAqKXZhbHVlICsgc2l6ZW9mKGV4dDRfYWNsX2hlYWRlcik7 Ci0JY291bnQgPSBleHQ0X2FjbF9jb3VudChzaXplKTsKKwljb3VudCA9IGV4dDRfYWNsX2Nv dW50X2Uoc2l6ZSwgZW50cnlfc2l6ZSk7CiAJaWYgKGNvdW50IDwgMCkKIAkJcmV0dXJuIEVS Ul9QVFIoLUVJTlZBTCk7CiAJaWYgKGNvdW50ID09IDApCkBAIC01NSwyMSArNzUsMzMgQEAg ZXh0NF9hY2xfZnJvbV9kaXNrKGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKIAkJ CWJyZWFrOwogCiAJCWNhc2UgQUNMX1VTRVI6Ci0JCQl2YWx1ZSA9IChjaGFyICopdmFsdWUg KyBzaXplb2YoZXh0NF9hY2xfZW50cnkpOworCQljYXNlIEFDTF9HUk9VUDogeworCQkJdTMy IHR5cGUgPSBFWFQ0X0lEX1JfTEVHQUNZLCBsZWdhY3k7CisJCQl1dWlkX3QgaWQ7CisKKwkJ CXZhbHVlID0gKGNoYXIgKil2YWx1ZSArIGVudHJ5X3NpemU7CiAJCQlpZiAoKGNoYXIgKil2 YWx1ZSA+IGVuZCkKIAkJCQlnb3RvIGZhaWw7Ci0JCQlhY2wtPmFfZW50cmllc1tuXS5lX3Vp ZCA9Ci0JCQkJbWFrZV9rdWlkKCZpbml0X3VzZXJfbnMsCi0JCQkJCSAgbGUzMl90b19jcHUo ZW50cnktPmVfaWQpKTsKLQkJCWJyZWFrOwotCQljYXNlIEFDTF9HUk9VUDoKLQkJCXZhbHVl ID0gKGNoYXIgKil2YWx1ZSArIHNpemVvZihleHQ0X2FjbF9lbnRyeSk7Ci0JCQlpZiAoKGNo YXIgKil2YWx1ZSA+IGVuZCkKKwkJCWxlZ2FjeSA9IGxlMzJfdG9fY3B1KGVudHJ5LT5lX2lk KTsKKwkJCWlmIChyICYmIGV4dDRfYWNsX2lkX2Zyb21fZGlzaygodm9pZCAqKWVudHJ5LCAm dHlwZSwKKwkJCQkJCSAgICAgICAmbGVnYWN5LCAmaWQpKQogCQkJCWdvdG8gZmFpbDsKLQkJ CWFjbC0+YV9lbnRyaWVzW25dLmVfZ2lkID0KLQkJCQltYWtlX2tnaWQoJmluaXRfdXNlcl9u cywKLQkJCQkJICBsZTMyX3RvX2NwdShlbnRyeS0+ZV9pZCkpOworCQkJaWYgKGFjbC0+YV9l bnRyaWVzW25dLmVfdGFnID09IEFDTF9VU0VSKQorCQkJCWFjbC0+YV9lbnRyaWVzW25dLmVf dWlkID0KKwkJCQkJdHlwZSA9PSBFWFQ0X0lEX1JfTEVHQUNZID8KKwkJCQkJbWFrZV9rdWlk KCZpbml0X3VzZXJfbnMsIGxlZ2FjeSkgOgorCQkJCQl0eXBlID09IEVYVDRfSURfUl9VVUlE ID8KKwkJCQkJS1VJRFRfSU5JVF9VVUlEKGlkKSA6CisJCQkJCUtVSURUX0lOSVRfR1VJRCgq KGd1aWRfdCAqKSZpZCk7CisJCQllbHNlCisJCQkJYWNsLT5hX2VudHJpZXNbbl0uZV9naWQg PQorCQkJCQl0eXBlID09IEVYVDRfSURfUl9MRUdBQ1kgPworCQkJCQltYWtlX2tnaWQoJmlu aXRfdXNlcl9ucywgbGVnYWN5KSA6CisJCQkJCXR5cGUgPT0gRVhUNF9JRF9SX1VVSUQgPwor CQkJCQlLR0lEVF9JTklUX1VVSUQoaWQpIDoKKwkJCQkJS0dJRFRfSU5JVF9HVUlEKCooZ3Vp ZF90ICopJmlkKTsKIAkJCWJyZWFrOworCQl9CiAKIAkJZGVmYXVsdDoKIAkJCWdvdG8gZmFp bDsKQEAgLTg3LDE5ICsxMTksMzggQEAgZXh0NF9hY2xfZnJvbV9kaXNrKGNvbnN0IHZvaWQg KnZhbHVlLCBzaXplX3Qgc2l6ZSkKIC8qCiAgKiBDb252ZXJ0IGZyb20gaW4tbWVtb3J5IHRv IGZpbGVzeXN0ZW0gcmVwcmVzZW50YXRpb24uCiAgKi8KKy8qIEFuIEFDTF9VU0VSIG9yIEFD TF9HUk9VUCBpZCBpbnRvIGFuIGVudHJ5IG9mIEVYVDRfQUNMX1ZFUlNJT05fUiAqLworc3Rh dGljIHZvaWQgZXh0NF9hY2xfaWRfdG9fZGlzayhleHQ0X2FjbF9lbnRyeV9yICplbnRyeSwg dTMyIHR5cGUsIHUzMiBsZWdhY3ksCisJCQkJY29uc3QgdXVpZF90ICppZCkKK3sKKwllbnRy eS0+ZV90eXBlID0gY3B1X3RvX2xlMzIodHlwZSk7CisJbWVtc2V0KGVudHJ5LT5lX2lkLCAw LCBzaXplb2YoZW50cnktPmVfaWQpKTsKKwlpZiAodHlwZSA9PSBFWFQ0X0lEX1JfTEVHQUNZ KQorCQlwdXRfdW5hbGlnbmVkX2xlMzIobGVnYWN5LCBlbnRyeS0+ZV9pZCk7CisJZWxzZQor CQltZW1jcHkoZW50cnktPmVfaWQsIGlkLT5iLCBzaXplb2YoZW50cnktPmVfaWQpKTsKK30K KworLyoKKyAqIEFDTHMgd2l0aCBVVUlEIG9yIEdVSUQgZW50cmllcyAob25seSBvbiB1aWRf ciBmaWxlc3lzdGVtcywgc2VlCisgKiBzZXRfcG9zaXhfYWNsKCkpIGFyZSB3cml0dGVuIGFz IEVYVDRfQUNMX1ZFUlNJT05fUiwgb3RoZXJzIGFzIGJlZm9yZS4KKyAqLwogc3RhdGljIHZv aWQgKgogZXh0NF9hY2xfdG9fZGlzayhjb25zdCBzdHJ1Y3QgcG9zaXhfYWNsICphY2wsIHNp emVfdCAqc2l6ZSkKIHsKIAlleHQ0X2FjbF9oZWFkZXIgKmV4dF9hY2w7CiAJY2hhciAqZTsK IAlzaXplX3QgbjsKKwlib29sIHIgPSBwb3NpeF9hY2xfaGFzX2lkX3IoYWNsKTsKKwlzaXpl X3QgZW50cnlfc2l6ZSA9IHIgPyBzaXplb2YoZXh0NF9hY2xfZW50cnlfcikgOiBzaXplb2Yo ZXh0NF9hY2xfZW50cnkpOwogCi0JKnNpemUgPSBleHQ0X2FjbF9zaXplKGFjbC0+YV9jb3Vu dCk7CisJKnNpemUgPSBleHQ0X2FjbF9zaXplX2UoYWNsLT5hX2NvdW50LCBlbnRyeV9zaXpl KTsKIAlleHRfYWNsID0ga21hbGxvYyhzaXplb2YoZXh0NF9hY2xfaGVhZGVyKSArIGFjbC0+ YV9jb3VudCAqCi0JCQlzaXplb2YoZXh0NF9hY2xfZW50cnkpLCBHRlBfTk9GUyk7CisJCQll bnRyeV9zaXplLCBHRlBfTk9GUyk7CiAJaWYgKCFleHRfYWNsKQogCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKLQlleHRfYWNsLT5hX3ZlcnNpb24gPSBjcHVfdG9fbGUzMihFWFQ0X0FD TF9WRVJTSU9OKTsKKwlleHRfYWNsLT5hX3ZlcnNpb24gPSBjcHVfdG9fbGUzMihyID8gRVhU NF9BQ0xfVkVSU0lPTl9SIDoKKwkJCQkJICAgICBFWFQ0X0FDTF9WRVJTSU9OKTsKIAllID0g KGNoYXIgKilleHRfYWNsICsgc2l6ZW9mKGV4dDRfYWNsX2hlYWRlcik7CiAJZm9yIChuID0g MDsgbiA8IGFjbC0+YV9jb3VudDsgbisrKSB7CiAJCWNvbnN0IHN0cnVjdCBwb3NpeF9hY2xf ZW50cnkgKmFjbF9lID0gJmFjbC0+YV9lbnRyaWVzW25dOwpAQCAtMTA4LDE0ICsxNTksMjYg QEAgZXh0NF9hY2xfdG9fZGlzayhjb25zdCBzdHJ1Y3QgcG9zaXhfYWNsICphY2wsIHNpemVf dCAqc2l6ZSkKIAkJZW50cnktPmVfcGVybSA9IGNwdV90b19sZTE2KGFjbF9lLT5lX3Blcm0p OwogCQlzd2l0Y2ggKGFjbF9lLT5lX3RhZykgewogCQljYXNlIEFDTF9VU0VSOgotCQkJZW50 cnktPmVfaWQgPSBjcHVfdG9fbGUzMigKLQkJCQlmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywg YWNsX2UtPmVfdWlkKSk7Ci0JCQllICs9IHNpemVvZihleHQ0X2FjbF9lbnRyeSk7CisJCQlp ZiAocikKKwkJCQlleHQ0X2FjbF9pZF90b19kaXNrKCh2b2lkICopZW50cnksCisJCQkJCQkg ICAgYWNsX2UtPmVfdWlkLnR5cGUsCisJCQkJCQkgICAgZnJvbV9rdWlkKCZpbml0X3VzZXJf bnMsIGFjbF9lLT5lX3VpZCksCisJCQkJCQkgICAgJmFjbF9lLT5lX3VpZC51dWlkKTsKKwkJ CWVsc2UKKwkJCQllbnRyeS0+ZV9pZCA9IGNwdV90b19sZTMyKAorCQkJCQlmcm9tX2t1aWQo JmluaXRfdXNlcl9ucywgYWNsX2UtPmVfdWlkKSk7CisJCQllICs9IGVudHJ5X3NpemU7CiAJ CQlicmVhazsKIAkJY2FzZSBBQ0xfR1JPVVA6Ci0JCQllbnRyeS0+ZV9pZCA9IGNwdV90b19s ZTMyKAotCQkJCWZyb21fa2dpZCgmaW5pdF91c2VyX25zLCBhY2xfZS0+ZV9naWQpKTsKLQkJ CWUgKz0gc2l6ZW9mKGV4dDRfYWNsX2VudHJ5KTsKKwkJCWlmIChyKQorCQkJCWV4dDRfYWNs X2lkX3RvX2Rpc2soKHZvaWQgKillbnRyeSwKKwkJCQkJCSAgICBhY2xfZS0+ZV9naWQudHlw ZSwKKwkJCQkJCSAgICBmcm9tX2tnaWQoJmluaXRfdXNlcl9ucywgYWNsX2UtPmVfZ2lkKSwK KwkJCQkJCSAgICAmYWNsX2UtPmVfZ2lkLnV1aWQpOworCQkJZWxzZQorCQkJCWVudHJ5LT5l X2lkID0gY3B1X3RvX2xlMzIoCisJCQkJCWZyb21fa2dpZCgmaW5pdF91c2VyX25zLCBhY2xf ZS0+ZV9naWQpKTsKKwkJCWUgKz0gZW50cnlfc2l6ZTsKIAkJCWJyZWFrOwogCiAJCWNhc2Ug QUNMX1VTRVJfT0JKOgpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9hY2wuaCBiL2ZzL2V4dDQvYWNs LmgKaW5kZXggMGM1YTc5YzNiLi40OGJjMzUyZWMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvYWNs LmgKKysrIGIvZnMvZXh0NC9hY2wuaApAQCAtOCw2ICs4LDggQEAKICNpbmNsdWRlIDxsaW51 eC9wb3NpeF9hY2xfeGF0dHIuaD4KIAogI2RlZmluZSBFWFQ0X0FDTF9WRVJTSU9OCTB4MDAw MQorLyogdWlkX3I6IEFDTF9VU0VSIGFuZCBBQ0xfR1JPVVAgZW50cmllcyBhcmUgZXh0NF9h Y2xfZW50cnlfciAqLworI2RlZmluZSBFWFQ0X0FDTF9WRVJTSU9OX1IJMHgwMDAyCiAKIHR5 cGVkZWYgc3RydWN0IHsKIAlfX2xlMTYJCWVfdGFnOwpAQCAtMjAsMTEgKzIyLDIzIEBAIHR5 cGVkZWYgc3RydWN0IHsKIAlfX2xlMTYJCWVfcGVybTsKIH0gZXh0NF9hY2xfZW50cnlfc2hv cnQ7CiAKKy8qCisgKiBFWFQ0X0FDTF9WRVJTSU9OX1I6IGVfdHlwZSBhbiBFWFQ0X0lEX1Jf KiBraW5kLCBhIGNsYXNzaWMgaWQgaW4gdGhlCisgKiBmaXJzdCBmb3VyIGJ5dGVzIG9mIGVf aWQgKGxpdHRsZSBlbmRpYW4pLCBhIFVVSUQgb3IgR1VJRCBhbGwgb2YgaXQKKyAqLwordHlw ZWRlZiBzdHJ1Y3QgeworCV9fbGUxNgkJZV90YWc7CisJX19sZTE2CQllX3Blcm07CisJX19s ZTMyCQllX3R5cGU7CisJX191OAkJZV9pZFsxNl07Cit9IGV4dDRfYWNsX2VudHJ5X3I7CisK IHR5cGVkZWYgc3RydWN0IHsKIAlfX2xlMzIJCWFfdmVyc2lvbjsKIH0gZXh0NF9hY2xfaGVh ZGVyOwogCi1zdGF0aWMgaW5saW5lIHNpemVfdCBleHQ0X2FjbF9zaXplKGludCBjb3VudCkK Ky8qIEBlbnRyeTogc2l6ZW9mKGV4dDRfYWNsX2VudHJ5KSBvciwgZm9yIEVYVDRfQUNMX1ZF UlNJT05fUiwgb2YgX3IgKi8KK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGV4dDRfYWNsX3NpemVf ZShpbnQgY291bnQsIHNpemVfdCBlbnRyeSkKIHsKIAlpZiAoY291bnQgPD0gNCkgewogCQly ZXR1cm4gc2l6ZW9mKGV4dDRfYWNsX2hlYWRlcikgKwpAQCAtMzIsMTEgKzQ2LDExIEBAIHN0 YXRpYyBpbmxpbmUgc2l6ZV90IGV4dDRfYWNsX3NpemUoaW50IGNvdW50KQogCX0gZWxzZSB7 CiAJCXJldHVybiBzaXplb2YoZXh0NF9hY2xfaGVhZGVyKSArCiAJCSAgICAgICA0ICogc2l6 ZW9mKGV4dDRfYWNsX2VudHJ5X3Nob3J0KSArCi0JCSAgICAgICAoY291bnQgLSA0KSAqIHNp emVvZihleHQ0X2FjbF9lbnRyeSk7CisJCSAgICAgICAoY291bnQgLSA0KSAqIGVudHJ5Owog CX0KIH0KIAotc3RhdGljIGlubGluZSBpbnQgZXh0NF9hY2xfY291bnQoc2l6ZV90IHNpemUp CitzdGF0aWMgaW5saW5lIGludCBleHQ0X2FjbF9jb3VudF9lKHNpemVfdCBzaXplLCBzaXpl X3QgZW50cnkpCiB7CiAJc3NpemVfdCBzOwogCXNpemUgLT0gc2l6ZW9mKGV4dDRfYWNsX2hl YWRlcik7CkBAIC00NiwxMiArNjAsMjIgQEAgc3RhdGljIGlubGluZSBpbnQgZXh0NF9hY2xf Y291bnQoc2l6ZV90IHNpemUpCiAJCQlyZXR1cm4gLTE7CiAJCXJldHVybiBzaXplIC8gc2l6 ZW9mKGV4dDRfYWNsX2VudHJ5X3Nob3J0KTsKIAl9IGVsc2UgewotCQlpZiAocyAlIHNpemVv ZihleHQ0X2FjbF9lbnRyeSkpCisJCWlmIChzICUgZW50cnkpCiAJCQlyZXR1cm4gLTE7Ci0J CXJldHVybiBzIC8gc2l6ZW9mKGV4dDRfYWNsX2VudHJ5KSArIDQ7CisJCXJldHVybiBzIC8g ZW50cnkgKyA0OwogCX0KIH0KIAorc3RhdGljIGlubGluZSBzaXplX3QgZXh0NF9hY2xfc2l6 ZShpbnQgY291bnQpCit7CisJcmV0dXJuIGV4dDRfYWNsX3NpemVfZShjb3VudCwgc2l6ZW9m KGV4dDRfYWNsX2VudHJ5KSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGV4dDRfYWNsX2Nv dW50KHNpemVfdCBzaXplKQoreworCXJldHVybiBleHQ0X2FjbF9jb3VudF9lKHNpemUsIHNp emVvZihleHQ0X2FjbF9lbnRyeSkpOworfQorCiAjaWZkZWYgQ09ORklHX0VYVDRfRlNfUE9T SVhfQUNMCiAKIC8qIGFjbC5jICovCg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0035-Documentation-describe-UUID-and-GUID-user-and-group-.patch" Content-Disposition: attachment; filename*0="uid_r-0035-Documentation-describe-UUID-and-GUID-user-and-gro"; filename*1="up-.patch" Content-Transfer-Encoding: base64 RnJvbSA4MjVkZjY5MDA4MGZjZGRlODEzN2Q3NTYzMTNlZGIzNGNhMDlmYTY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjQ2OjA5ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzNS80M10gRG9jdW1lbnRhdGlvbjogZGVzY3JpYmUgVVVJRCBhbmQgR1VJRCB1c2Vy IGFuZCBncm91cAogaWRzCgpEZXNjcmliZSBfX2tlcm5lbF91aWRfcl90LCB0aGUgcnVsZXMg Zm9yIFVVSUQgYW5kIEdVSUQgaWRzIChvdmVyZmxvdwppZHMgaW4gY2xhc3NpYyBpbnRlcmZh Y2VzLCB0aGUgaW5pdGlhbCB1c2VyIG5hbWVzcGFjZSBvbmx5LCBmaWxlc3lzdGVtcwp3aXRo IFNCX0lfVUlEX1IpLCB0aGUgKl9yIHN5c3RlbSBjYWxscywgdGhlIGV4dGVuZGVkIGludGVy ZmFjZXMgKHN0YXR4LApzb2NrZXQgY3JlZGVudGlhbHMsIHNpZ2luZm8sIFN5c1YgSVBDLCBr ZXljdGwsIFBPU0lYIEFDTHMsIHByb2NmcywKYXVkaXQpIGFuZCB0aGUgY3VycmVudCBsaW1p dGF0aW9ucy4KCkFzc2lzdGVkLWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogRG9j dW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL2luZGV4LnJzdCB8ICAgMSArCiBEb2N1bWVudGF0 aW9uL3VzZXJzcGFjZS1hcGkvdWlkX3IucnN0IHwgMTY5ICsrKysrKysrKysrKysrKysrKysr KysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE3MCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL3VpZF9yLnJzdAoKZGlmZiAt LWdpdCBhL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9pbmRleC5yc3QgYi9Eb2N1bWVu dGF0aW9uL3VzZXJzcGFjZS1hcGkvaW5kZXgucnN0CmluZGV4IGE2OGIxYmVhNS4uZmNhYzc3 MDNmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvaW5kZXgucnN0 CisrKyBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9pbmRleC5yc3QKQEAgLTIyLDYg KzIyLDcgQEAgU3lzdGVtIGNhbGxzCiAgICBpb2N0bC9pbmRleAogICAgbXNlYWwKICAgIHJz ZXEKKyAgIHVpZF9yCiAKIFNlY3VyaXR5LXJlbGF0ZWQgaW50ZXJmYWNlcwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3VzZXJzcGFj ZS1hcGkvdWlkX3IucnN0IGIvRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL3VpZF9yLnJz dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmMwODA0ODU0NQotLS0g L2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS91aWRfci5yc3QK QEAgLTAsMCArMSwxNjkgQEAKKy4uIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w CisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1VVSUQg YW5kIEdVSUQgdXNlciBhbmQgZ3JvdXAgaWRzIChgYCpfcmBgKQorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitCZXNpZGVzIHRoZSBjbGFzc2ljIDMy IGJpdCBudW1iZXJzLCB1c2VyIGFuZCBncm91cCBpZHMgY2FuIGJlIFVVSURzCisoUkZDIDk1 NjIsIHZlcnNpb24gNCkgb3IgTWljcm9zb2Z0IEdVSURzLiBBIHByb2Nlc3MgY2FuIHJ1biBh cyBzdWNoIGEKK3VzZXIsIGZpbGVzIGNhbiBiZSBvd25lZCBieSBvbmUsIGFuZCBBQ0xzLCBr ZXlzLCBJUEMgb2JqZWN0cywgc29ja2V0cyBhbmQKK3NpZ25hbHMgY2FycnkgdGhlbS4gVGhl IGNsYXNzaWMgc3lzdGVtIGNhbGxzIGtlZXAgdGhlaXIgMzIgYml0IGlkczsgYSBuZXcKK2Zh bWlseSBvZiBjYWxscywgbmFtZWQgYWZ0ZXIgdGhlbSB3aXRoIGFuIGBgX3JgYCBzdWZmaXgs IGFuZCBleHRlbnNpb25zIG9mCitleGlzdGluZyBpbnRlcmZhY2VzIGhhbmRsZSBhbGwga2lu ZHMgb2YgaWQuCisKK1RoZSBpZCB0eXBlCis9PT09PT09PT09PQorCitgYDxsaW51eC91aWRn aWRfci5oPmBgIGRlZmluZXMgYGBfX2tlcm5lbF91aWRfcl90YGAgKGFuZAorYGBfX2tlcm5l bF9naWRfcl90YGAsIHRoZSBzYW1lIHR5cGUpOjoKKworCXR5cGVkZWYgc3RydWN0IF9fa2Vy bmVsX3VpZF9yIHsKKwkJX191MzIgdHlwZTsKKwkJdW5pb24geworCQkJX191MzIgbGVnYWN5 OworCQkJX191OCB1dWlkWzE2XTsKKwkJCV9fdTggZ3VpZFsxNl07CisJCX07CisJfSBfX2tl cm5lbF91aWRfcl90OworCitgYHR5cGVgYCBpcyBvbmUgb2Y6CisKK2BgVUlEX1JfTk9ORWBg ICgwKQorCU5vIGlkLiBBbiBhbGwtemVybyBpZCBpcyBuZXZlciByb290LiBUaGUgYGBzZXQq aWRfcigpYGAgYW5kCisJYGBjaG93bl9yKClgYCBjYWxscyB0YWtlIGl0LCBsaWtlIGEgYGBO VUxMYGAgcG9pbnRlciBvciBhIGNsYXNzaWMKKwlgYC0xYGAsIGFzICJsZWF2ZSB1bmNoYW5n ZWQiLgorCitgYFVJRF9SX0xFR0FDWWBgICgxKQorCUEgY2xhc3NpYyBpZCBpbiBgYGxlZ2Fj eWBgLgorCitgYFVJRF9SX1VVSURgYCAoMikKKwlBIFVVSUQgaW4gYGB1dWlkYGAsIGluIG5l dHdvcmsgYnl0ZSBvcmRlci4gSXQgbXVzdCBiZSB2ZXJzaW9uIDQgd2l0aAorCXRoZSBSRkMg OTU2MiB2YXJpYW50LgorCitgYFVJRF9SX0dVSURgYCAoMykKKwlBIEdVSUQgaW4gYGBndWlk YGAgYXMgV2luZG93cyBzdG9yZXMgaXQ6IERhdGExLCBEYXRhMiBhbmQgRGF0YTMKKwlsaXR0 bGUgZW5kaWFuLiBUaGUgbmlsIEdVSUQgaXMgbm90IGFsbG93ZWQuCisKK0J5dGVzIHBhc3Qg dGhlIG1lbWJlciBgYHR5cGVgYCBzZWxlY3RzIG11c3QgYmUgemVyby4gVGhlIHN0cnVjdCBp cyAyMAorYnl0ZXMgb24gZXZlcnkgQUJJLCBzbyBub25lIG9mIHRoZSBjYWxscyBuZWVkcyBh IGNvbXBhdCB2YXJpYW50LgorCitUaGUgdGV4dCBmb3JtIG9mIGFuIGlkIChpbiBwcm9jZnMs IGF1ZGl0IHJlY29yZHMsIGtleSBkZXNjcmlwdGlvbnMgYW5kCitgYC9wcm9jLzxwaWQ+L2xv Z2ludWlkYGApIGlzIGEgZGVjaW1hbCBudW1iZXIsIGEgVVVJRAorYGB4eHh4eHh4eC14eHh4 LXh4eHgteHh4eC14eHh4eHh4eHh4eHhgYCBvciBhIEdVSUQgaW4gYnJhY2VzCitgYHt4eHh4 eHh4eC14eHh4LXh4eHgteHh4eC14eHh4eHh4eHh4eHh9YGAuCisKK1J1bGVzCis9PT09PQor CistIEludGVyZmFjZXMgd2l0aCAzMiBiaXQgaWRzIHNob3cgYSBVVUlEIG9yIEdVSUQgYXMg dGhlIG92ZXJmbG93IGlkCisgIChgYC9wcm9jL3N5cy9rZXJuZWwvb3ZlcmZsb3d1aWRgYCBh bmQgYGBvdmVyZmxvd2dpZGBgKSwgYXMgdGhlIDE2IGJpdAorICBzeXN0ZW0gY2FsbHMgZG8g Zm9yIGlkcyBhYm92ZSA2NTUzNS4KKworLSBVVUlEcyBhbmQgR1VJRHMgYXJlIG5vdCBwYXJ0 IG9mIGFueSBgYHVpZF9tYXBgYCBvciBgYGdpZF9tYXBgYDogdGhleQorICBleGlzdCBpbiB0 aGUgaW5pdGlhbCB1c2VyIG5hbWVzcGFjZSBvbmx5LiBFbHNld2hlcmUgdGhleSBzaG93IGFz IHRoZQorICBvdmVyZmxvdyBpZCwgY2FuJ3QgYmUgc2V0LCBhbmQgbm8gY2FwYWJpbGl0eSBp biBhbm90aGVyIG5hbWVzcGFjZSBnaXZlcworICBwcml2aWxlZ2Ugb3ZlciB0aGVtLiBPbmx5 IGBgQ0FQX1NFVFVJRGBgL2BgQ0FQX1NFVEdJRGBgIGluIHRoZSBpbml0aWFsCisgIG5hbWVz cGFjZSBjYW4gc3dpdGNoIHRvIG9uZS4KKworLSBJZG1hcHBlZCBtb3VudHMgbWFwIGNsYXNz aWMgaWRzIGFuZCBwYXNzIFVVSURzIGFuZCBHVUlEcyB1bmNoYW5nZWQsIG9uCisgIGZpbGVz eXN0ZW1zIG9mIHRoZSBpbml0aWFsIHVzZXIgbmFtZXNwYWNlLgorCistIE9ubHkgZmlsZXN5 c3RlbXMgdGhhdCBjYW4gc3RvcmUgdGhlbSBhY2NlcHQgVVVJRCBhbmQgR1VJRCBvd25lcnMg YW5kIEFDTAorICBlbnRyaWVzOyBvdGhlcnMgcmVmdXNlIHdpdGggYGBFT1ZFUkZMT1dgYCwg Zm9yIGBgY2hvd25gYCBhcyB3ZWxsIGFzIGZvcgorICBjcmVhdGluZyBhIGZpbGUgYXMgc3Vj aCBhIHVzZXIuIHRtcGZzIGFuZCByYW1mcyBkbywgYW5kIGV4dDQgd2l0aCB0aGUKKyAgYGB1 aWRfcmBgIGZlYXR1cmUgKGBgbWtlMmZzIC1PIHVpZF9yYGA7IGEgcmVhZC1vbmx5IGNvbXBh dGlibGUgZmVhdHVyZSwKKyAgaW5vZGVzIG9mIGF0IGxlYXN0IDI1NiBieXRlcykuIGBgdHVu ZTJmcyAtTyB1aWRfcmBgIHR1cm5zIGl0IG9uIGxhdGVyOyBvbgorICBhIG1vdW50ZWQgZmls ZXN5c3RlbSB0aHJvdWdoIGBgRVhUNF9JT0NfU0VUX1RVTkVfU0JfUEFSQU1gYCwgd2hpY2gg bWFrZXMKKyAgaXQgdXNhYmxlIGF0IG9uY2UsIG90aGVyd2lzZSBhdCB0aGUgbmV4dCBtb3Vu dCBvciByZW1vdW50LgorCitTeXN0ZW0gY2FsbHMKKz09PT09PT09PT09PQorCitBbGwgdGFr ZSBwb2ludGVycyB0byBgYF9fa2VybmVsX3VpZF9yX3RgYCBhbmQgcmV0dXJuIDAgb3IgYSBu ZWdhdGl2ZQorZXJyb3IsIHVubGVzcyBub3RlZCBvdGhlcndpc2UuCisKKz09PT09PT09PT09 PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CitgYGdldHVpZF9yYGAgICAgICAgYGAodWlkX3IgKnVpZClgYCwgYWxzbyBg YGdldGV1aWRfcmBgLCBgYGdldGdpZF9yYGAsCisgICAgICAgICAgICAgICAgICAgYGBnZXRl Z2lkX3JgYAorYGBzZXR1aWRfcmBgICAgICAgIGBgKGNvbnN0IHVpZF9yICp1aWQpYGAsIGFs c28gYGBzZXRnaWRfcmBgCitgYHNldHJldWlkX3JgYCAgICAgYGAoY29uc3QgdWlkX3IgKnJ1 aWQsIGNvbnN0IHVpZF9yICpldWlkKWBgLCBhbHNvCisgICAgICAgICAgICAgICAgICAgYGBz ZXRyZWdpZF9yYGAKK2Bgc2V0cmVzdWlkX3JgYCAgICBgYChjb25zdCB1aWRfciAqcnVpZCwg Y29uc3QgdWlkX3IgKmV1aWQsIGNvbnN0IHVpZF9yCisgICAgICAgICAgICAgICAgICAgKnN1 aWQpYGAsIGFsc28gYGBzZXRyZXNnaWRfcmBgCitgYGdldHJlc3VpZF9yYGAgICAgYGAodWlk X3IgKnJ1aWQsIHVpZF9yICpldWlkLCB1aWRfciAqc3VpZClgYCwgYWxzbworICAgICAgICAg ICAgICAgICAgIGBgZ2V0cmVzZ2lkX3JgYDsgYGBOVUxMYGAgcG9pbnRlcnMgYXJlIHNraXBw ZWQKK2Bgc2V0ZnN1aWRfcmBgICAgICBgYChjb25zdCB1aWRfciAqdWlkLCB1aWRfciAqb2xk KWBgLCBhbHNvCisgICAgICAgICAgICAgICAgICAgYGBzZXRmc2dpZF9yYGAuIFVubGlrZSBg YHNldGZzdWlkKClgYCBpdCBmYWlscyB3aXRoCisgICAgICAgICAgICAgICAgICAgYGBFUEVS TWBgIGluc3RlYWQgb2Ygc2lsZW50bHksIGFuZCByZXR1cm5zIHRoZSBvbGQgaWQKKyAgICAg ICAgICAgICAgICAgICBpbiBgYCpvbGRgYDsgYSBgYE5VTExgYCAqdWlkKiBvbmx5IHF1ZXJp ZXMgaXQuCitgYGdldGdyb3Vwc19yYGAgICAgYGAoaW50IHNpemUsIGdpZF9yICpsaXN0KWBg LCByZXR1cm5zIHRoZSBudW1iZXIgb2YKKyAgICAgICAgICAgICAgICAgICBncm91cHMgbGlr ZSBgYGdldGdyb3VwcygpYGAKK2Bgc2V0Z3JvdXBzX3JgYCAgICBgYChpbnQgc2l6ZSwgY29u c3QgZ2lkX3IgKmxpc3QpYGA7ICJubyBpZCIgaXMgbm90CisgICAgICAgICAgICAgICAgICAg YWxsb3dlZCBpbiB0aGUgbGlzdAorYGBjaG93bl9yYGAgICAgICAgIGBgKGNvbnN0IGNoYXIg KnBhdGgsIGNvbnN0IHVpZF9yICp1c2VyLCBjb25zdCBnaWRfcgorICAgICAgICAgICAgICAg ICAgICpncm91cClgYCwgYWxzbyBgYGxjaG93bl9yYGAsIGBgZmNob3duX3IoaW50IGZkLCAu Li4pYGAKKyAgICAgICAgICAgICAgICAgICBhbmQgYGBmY2hvd25hdF9yKGludCBkZmQsIGNv bnN0IGNoYXIgKnBhdGgsIC4uLiwgaW50CisgICAgICAgICAgICAgICAgICAgZmxhZ3MpYGAK Kz09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CisKK1N1cHBsZW1lbnRhcnkgZ3JvdXBzIGFyZSBzb3J0 ZWQgYnkga2luZCAoY2xhc3NpYywgVVVJRCwgR1VJRCkgYW5kIHZhbHVlLgorCitPdGhlciBp bnRlcmZhY2VzCis9PT09PT09PT09PT09PT09CisKK2Bgc3RhdHgoKWBgCisJYGBTVEFUWF9V SURfUmBgIGFuZCBgYFNUQVRYX0dJRF9SYGAgcmVwb3J0IGBgc3R4X3VpZF9yYGAgYW5kCisJ YGBzdHhfZ2lkX3JgYC4KKworU29ja2V0cworCWBgU09fUEVFUkNSRURfUmBgIHJldHVybnMg YSBgYHN0cnVjdCBfX2tlcm5lbF91Y3JlZF9yYGAgKHBpZCwgdWlkLAorCWdpZCksIGBgU09f UEVFUkdST1VQU19SYGAgdGhlIHBlZXIncyBncm91cHMgYXMgYGBfX2tlcm5lbF9naWRfcl90 YGAuCisJYGBTT19QQVNTQ1JFRF9SYGAgYXNrcyBmb3IgYGBTQ01fQ1JFREVOVElBTFNfUmBg IG1lc3NhZ2VzIHdpdGggYQorCWBgc3RydWN0IF9fa2VybmVsX3VjcmVkX3JgYDsgdGhleSBj YW4gYmUgc2VudCB3aXRoIHRoZSBydWxlcyBvZgorCWBgU0NNX0NSRURFTlRJQUxTYGAuIE5l dGxpbmsga2VlcHMgY2xhc3NpYyBpZHMgaW4gaXRzIG1lc3NhZ2VzLgorCitTaWduYWxzCisJ YGBzaWdpbmZvX3RgYCBoYXMgYGBzaV91aWRfcmBgLCB0aGUgc2VuZGVyJ3MgdWlkLCBhdCBv ZmZzZXQgOTYgaW4KKwlldmVyeSBsYXlvdXQ7IGBgc2lnbmFsZmRfc2lnaW5mb2BgIGhhcyBg YHNzaV91aWRfcmBgLiBJdCBpcworCWBgVUlEX1JfTk9ORWBgIHdoZXJlIHRoZSBrZXJuZWwg ZG9lc24ndCBzZXQgaXQ7IGBgd2FpdGlkKClgYCBmaWxscyBpdAorCWluLgorCitTeXN0ZW0g ViBJUEMKKwlgYElQQ19TVEFUX1JgYCBhbmQgYGBJUENfU0VUX1JgYCBmb3IgYGBtc2djdGwo KWBgLCBgYHNlbWN0bCgpYGAgYW5kCisJYGBzaG1jdGwoKWBgIHJlYWQgYW5kIHNldCBhIGBg c3RydWN0IGlwY19wZXJtX3JgYCAoa2V5LCBtb2RlLCB1aWQsCisJZ2lkLCBjdWlkLCBjZ2lk KS4KKworS2V5cworCWBgS0VZQ1RMX0NIT1dOX1JgYCB0YWtlcyBgYF9fa2VybmVsX3VpZF9y X3RgYCBvd25lciBhbmQgZ3JvdXAuCisKK1BPU0lYIEFDTHMKKwlWZXJzaW9uIDMgb2YgdGhl IEFDTCB4YXR0ciBmb3JtYXQgKGBgUE9TSVhfQUNMX1hBVFRSX1ZFUlNJT05fUmBgKQorCWhh cyBgYHN0cnVjdCBwb3NpeF9hY2xfeGF0dHJfZW50cnlfcmBgIGVudHJpZXMgd2l0aCBhbiBp ZCBraW5kIGFuZAorCTE2IGJ5dGVzIG9mIGlkLiBgYGdldHhhdHRyKClgYCByZXR1cm5zIHZl cnNpb24gMyBvbmx5IGlmIGFuIGVudHJ5IGlzCisJYSBVVUlEIG9yIEdVSUQ7IGBgc2V0eGF0 dHIoKWBgIHRha2VzIGJvdGggdmVyc2lvbnMuCisKK3Byb2NmcworCWBgL3Byb2MvPHBpZD4v c3RhdHVzYGAgaGFzIGBgVWlkX3I6YGAsIGBgR2lkX3I6YGAgYW5kIGBgR3JvdXBzX3I6YGAK KwlsaW5lcyB3aXRoIHRoZSB0ZXh0IGZvcm0gb2YgdGhlIGlkczsgYGAvcHJvYy88cGlkPi9s b2dpbnVpZGBgIHJlYWRzCisJYW5kIHdyaXRlcyBVVUlEcyBhbmQgR1VJRHMgYXMgdGV4dC4K KworQXVkaXQKKwlSZWNvcmRzIHNob3cgVVVJRHMgYW5kIEdVSURzIGluIHRoZWlyIHRleHQg Zm9ybTsgY2xhc3NpYyBpZHMgYXJlCisJcHJpbnRlZCBhcyBiZWZvcmUuCisKK1JQQ1NFQ19H U1MgdXBjYWxscworCVRoZSB0ZXh0ICh2MSkgdXBjYWxsIHRvIGdzc2QgbmFtZXMgYSBVVUlE IG9yIEdVSUQgdXNlciBhcworCWBgdWlkX3I9PHRleHQgZm9ybT5gYCBpbnN0ZWFkIG9mIGBg dWlkPTxudW1iZXI+YGA7IGdzc2QgdmVyc2lvbnMgdGhhdAorCWRvbid0IGtub3cgaXQgZmlu ZCBubyBgYHVpZD1gYCBhbmQgcmVmdXNlIHRoZSB1cGNhbGwuIEEgZG93bmNhbGwgZm9yCisJ c3VjaCBhIHVzZXIgc3RhcnRzIHdpdGggdGhlIHVpZCBgYC0xYGAgKG5ldmVyIHZhbGlkKSBm b2xsb3dlZCBieSB0aGUKKwl1c2VyIGFzIGBgX19rZXJuZWxfdWlkX3JfdGBgLCB0aGVuIHRo ZSB1c3VhbCBmaWVsZHMuIFRoZSBiaW5hcnkgKHYwKQorCXVwY2FsbCBjYW4ndCBjYXJyeSBz dWNoIHVzZXJzIGFuZCBmYWlscyB3aXRoIGBgRUFDQ0VTYGAuCisKK0xpbWl0YXRpb25zCis9 PT09PT09PT09PQorCistIFF1b3RhcyBkb24ndCBhY2NvdW50IFVVSUQgYW5kIEdVSUQgb3du ZXJzOyBxdW90YSBmaWxlcyBob2xkIDMyIGJpdCBpZHMuCistIFJQQ1NFQ19HU1MgbmVlZHMg YSBnc3NkIHRoYXQga25vd3MgYGB1aWRfcj1gYCBmb3IgVVVJRCBhbmQgR1VJRCB1c2Vycy4K Ky0gVVVJRCBhbmQgR1VJRCB1c2VycyBjYW4ndCBjcmVhdGUgdW5wcml2aWxlZ2VkIHVibGsg ZGV2aWNlcy4KKy0gQXVkaXQgZmlsdGVyIHJ1bGVzLCBTYWZlU2V0SUQgcG9saWNpZXMgYW5k IElNQSBwb2xpY3kgcnVsZXMgbmFtZQorICBjbGFzc2ljIGlkcyBvbmx5Lgo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0036-selftests-add-tests-for-UUID-and-GUID-ids.patch" Content-Disposition: attachment; filename*0="uid_r-0036-selftests-add-tests-for-UUID-and-GUID-ids.patch" Content-Transfer-Encoding: base64 RnJvbSAzNzBkZjQ5YTE3Y2EwMTU3YTdkZGFlMzE2MWNkZmIyM2MxOTRiN2E2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDA5OjQ4OjMwICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzNi80M10gc2VsZnRlc3RzOiBhZGQgdGVzdHMgZm9yIFVVSUQgYW5kIEdVSUQgaWRz CgpUZXN0IHRoZSAqX3Igc3lzdGVtIGNhbGxzIChtYWxmb3JtZWQgaWRzLCBzd2l0Y2hpbmcg dG8gYSBVVUlEIHVzZXIgYW5kCmJhY2sgdGhyb3VnaCB0aGUgc2F2ZWQgdWlkLCBHVUlEIGdy b3Vwcywgc29ydGVkIHN1cHBsZW1lbnRhcnkgZ3JvdXBzLApjaG93bl9yKCkgYW5kIHN0YXR4 KCkgb24gdG1wZnMsIGNyZWF0aW5nIGZpbGVzIGFzIGEgVVVJRCBmc3VpZCwKLUVPVkVSRkxP VyBvbiBzeXNmcykgYW5kIHRoZSBleHRlbmRlZCBpbnRlcmZhY2VzOiBTT19QRUVSQ1JFRF9S LApTT19QRUVSR1JPVVBTX1IsIFNDTV9DUkVERU5USUFMU19SLCBzc2lfdWlkX3IsIElQQ19T VEFUX1IvSVBDX1NFVF9SLAp2ZXJzaW9uIDMgUE9TSVggQUNMIHhhdHRycywgdGhlIFVpZF9y OiBsaW5lIG9mIC9wcm9jLzxwaWQ+L3N0YXR1cywgYW5kCnRoYXQgdGhlIHJvb3Qgb2YgYSB1 c2VyIG5hbWVzcGFjZSBoYXMgbm8gcHJpdmlsZWdlIG92ZXIgVVVJRCBvd25lcnMuCgpBc3Np c3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUtNQotLS0KIHRvb2xzL3Rlc3Rpbmcvc2Vs ZnRlc3RzL01ha2VmaWxlICAgICAgICAgICB8ICAgMSArCiB0b29scy90ZXN0aW5nL3NlbGZ0 ZXN0cy91aWRfci8uZ2l0aWdub3JlICAgfCAgIDEgKwogdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvdWlkX3IvTWFrZWZpbGUgICAgIHwgICA2ICsKIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L3VpZF9yL2NvbmZpZyAgICAgICB8ICAgNCArCiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy91 aWRfci91aWRfcl90ZXN0LmMgfCA1MzUgKysrKysrKysrKysrKysrKysrKysrCiA1IGZpbGVz IGNoYW5nZWQsIDU0NyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMv dGVzdGluZy9zZWxmdGVzdHMvdWlkX3IvLmdpdGlnbm9yZQogY3JlYXRlIG1vZGUgMTAwNjQ0 IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3VpZF9yL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAx MDA2NDQgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdWlkX3IvY29uZmlnCiBjcmVhdGUgbW9k ZSAxMDA2NDQgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdWlkX3IvdWlkX3JfdGVzdC5jCgpk aWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvTWFrZWZpbGUgYi90b29scy90 ZXN0aW5nL3NlbGZ0ZXN0cy9NYWtlZmlsZQppbmRleCBiNjIyMDUyZWMuLjI4NGVlMmM2ZiAx MDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvTWFrZWZpbGUKKysrIGIvdG9v bHMvdGVzdGluZy9zZWxmdGVzdHMvTWFrZWZpbGUKQEAgLTEzMSw2ICsxMzEsNyBAQCBUQVJH RVRTICs9IHRwbTIKIFRBUkdFVFMgKz0gdHR5CiBUQVJHRVRTICs9IHVibGsKIFRBUkdFVFMg Kz0gdWV2ZW50CitUQVJHRVRTICs9IHVpZF9yCiBUQVJHRVRTICs9IHVzZXJfZXZlbnRzCiBU QVJHRVRTICs9IHZEU08KIFRBUkdFVFMgKz0gbW0KZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL3VpZF9yLy5naXRpZ25vcmUgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0 cy91aWRfci8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uNTg1NWU4NWUzCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvdWlkX3IvLmdpdGlnbm9yZQpAQCAtMCwwICsxIEBACit1aWRfcl90ZXN0CmRpZmYgLS1n aXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy91aWRfci9NYWtlZmlsZSBiL3Rvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL3VpZF9yL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uZDVkYzNlNmFhCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvdGVz dGluZy9zZWxmdGVzdHMvdWlkX3IvTWFrZWZpbGUKQEAgLTAsMCArMSw2IEBACisjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCitDRkxBR1MgKz0gLWcgLVdhbGwgJChLSERS X0lOQ0xVREVTKSAkKFRPT0xTX0lOQ0xVREVTKQorCitURVNUX0dFTl9QUk9HUyA6PSB1aWRf cl90ZXN0CisKK2luY2x1ZGUgLi4vbGliLm1rCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy91aWRfci9jb25maWcgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy91aWRf ci9jb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi40MjRhYzBh MmMKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy91aWRfci9j b25maWcKQEAgLTAsMCArMSw0IEBACitDT05GSUdfVE1QRlM9eQorQ09ORklHX1RNUEZTX1BP U0lYX0FDTD15CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU0lHTkFMRkQ9eQpkaWZmIC0t Z2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdWlkX3IvdWlkX3JfdGVzdC5jIGIvdG9v bHMvdGVzdGluZy9zZWxmdGVzdHMvdWlkX3IvdWlkX3JfdGVzdC5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDYyNzU4OWEyCi0tLSAvZGV2L251bGwKKysrIGIv dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdWlkX3IvdWlkX3JfdGVzdC5jCkBAIC0wLDAgKzEs NTM1IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorLyoKKyAqIFRl c3RzIG9mIFVVSUQgYW5kIEdVSUQgdXNlciBhbmQgZ3JvdXAgaWRzOiB0aGUgKl9yIHN5c3Rl bSBjYWxscyBhbmQgdGhlCisgKiBpbnRlcmZhY2VzIGV4dGVuZGVkIGZvciB0aGVtLiBOZWVk cyByb290IGluIHRoZSBpbml0aWFsIHVzZXIgbmFtZXNwYWNlOworICogZXZlcnkgdGVzdCBy dW5zIGluIGEgY2hpbGQgcHJvY2VzcywgZmlsZSB0ZXN0cyBvbiBhIHByaXZhdGUgdG1wZnMu CisgKi8KKyNkZWZpbmUgX0dOVV9TT1VSQ0UKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1 ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c2NoZWQuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4K KyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0 cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9pcGMuaD4KKyNp bmNsdWRlIDxzeXMvbW91bnQuaD4KKyNpbmNsdWRlIDxzeXMvc2htLmg+CisjaW5jbHVkZSA8 c3lzL3NpZ25hbGZkLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPHN5 cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy94YXR0ci5oPgor I2luY2x1ZGUgPGxpbnV4L3VpZGdpZF9yLmg+CisKKyNpbmNsdWRlICIuLi9rc2VsZnRlc3Rf aGFybmVzcy5oIgorCisjaWZuZGVmIF9fTlJfZ2V0dWlkX3IKKyNkZWZpbmUgX19OUl9nZXR1 aWRfcgkJNDcyCisjZGVmaW5lIF9fTlJfZ2V0ZXVpZF9yCQk0NzMKKyNkZWZpbmUgX19OUl9n ZXRnaWRfcgkJNDc0CisjZGVmaW5lIF9fTlJfZ2V0ZWdpZF9yCQk0NzUKKyNkZWZpbmUgX19O Ul9zZXR1aWRfcgkJNDc2CisjZGVmaW5lIF9fTlJfc2V0Z2lkX3IJCTQ3NworI2RlZmluZSBf X05SX3NldHJldWlkX3IJCTQ3OAorI2RlZmluZSBfX05SX3NldHJlZ2lkX3IJCTQ3OQorI2Rl ZmluZSBfX05SX3NldHJlc3VpZF9yCTQ4MAorI2RlZmluZSBfX05SX2dldHJlc3VpZF9yCTQ4 MQorI2RlZmluZSBfX05SX3NldHJlc2dpZF9yCTQ4MgorI2RlZmluZSBfX05SX2dldHJlc2dp ZF9yCTQ4MworI2RlZmluZSBfX05SX3NldGZzdWlkX3IJCTQ4NAorI2RlZmluZSBfX05SX3Nl dGZzZ2lkX3IJCTQ4NQorI2RlZmluZSBfX05SX2dldGdyb3Vwc19yCTQ4NgorI2RlZmluZSBf X05SX3NldGdyb3Vwc19yCTQ4NworI2RlZmluZSBfX05SX2Nob3duX3IJCTQ4OAorI2RlZmlu ZSBfX05SX2xjaG93bl9yCQk0ODkKKyNkZWZpbmUgX19OUl9mY2hvd25fcgkJNDkwCisjZGVm aW5lIF9fTlJfZmNob3duYXRfcgkJNDkxCisjZW5kaWYKKworI2lmbmRlZiBTVEFUWF9VSURf UgorI2RlZmluZSBTVEFUWF9VSURfUgkJMHgwMDA0MDAwMFUKKyNkZWZpbmUgU1RBVFhfR0lE X1IJCTB4MDAwODAwMDBVCisjZW5kaWYKKyNpZm5kZWYgU09fUEVFUkNSRURfUgorI2RlZmlu ZSBTT19QRUVSQ1JFRF9SCQk4NQorI2RlZmluZSBTT19QRUVSR1JPVVBTX1IJCTg2CisjZGVm aW5lIFNPX1BBU1NDUkVEX1IJCTg3CisjZW5kaWYKKyNpZm5kZWYgU0NNX0NSRURFTlRJQUxT X1IKKyNkZWZpbmUgU0NNX0NSRURFTlRJQUxTX1IJMHgwNQorI2VuZGlmCisjaWZuZGVmIElQ Q19TVEFUX1IKKyNkZWZpbmUgSVBDX1NFVF9SCQkyMQorI2RlZmluZSBJUENfU1RBVF9SCQky MgorI2VuZGlmCisKK3R5cGVkZWYgX19rZXJuZWxfdWlkX3JfdCBpZF9yOworCitzdHJ1Y3Qg dWNyZWRfciB7CisJX191MzIgcGlkOworCWlkX3IgdWlkLCBnaWQ7Cit9OworCitzdHJ1Y3Qg aXBjX3Blcm1fcl90IHsKKwlpbnQga2V5OworCV9fdTMyIG1vZGU7CisJaWRfciB1aWQsIGdp ZCwgY3VpZCwgY2dpZDsKK307CisKKy8qCisgKiBSZXNlcnZlZCBieXRlcyBtdXN0IGJlIHpl cm8sIGFuZCBhbiBpbml0aWFsaXplciBvZiBvbmUgdW5pb24gbWVtYmVyCisgKiBsZWF2ZXMg dGhlIG90aGVycyB1bmRlZmluZWQ6IGFsd2F5cyBjbGVhciB0aGUgd2hvbGUgaWQgZmlyc3Qu CisgKi8KK3N0YXRpYyBpZF9yIGxlZ2FjeSh1bnNpZ25lZCBpbnQgdikKK3sKKwlpZF9yIGlk OworCisJbWVtc2V0KCZpZCwgMCwgc2l6ZW9mKGlkKSk7CisJaWQudHlwZSA9IFVJRF9SX0xF R0FDWTsKKwlpZC5sZWdhY3kgPSB2OworCXJldHVybiBpZDsKK30KKworLyogYSB2ZXJzaW9u IDQgVVVJRCwgbWFkZSBkaXN0aW5jdCBieSBAdGFnICovCitzdGF0aWMgaWRfciB1dWlkKHVu c2lnbmVkIGNoYXIgdGFnKQoreworCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGJbMTZd ID0geworCQkweDZmLCAweDFjLCAweDJhLCAweDNiLCAweDRkLCAweDVlLCAweDRmLCAweDYw LAorCQkweDhhLCAweDdiLCAweDBjLCAweDFkLCAweDJlLCAweDNmLCAweDRhLCAweDAwIH07 CisJaWRfciBpZDsKKworCW1lbXNldCgmaWQsIDAsIHNpemVvZihpZCkpOworCWlkLnR5cGUg PSBVSURfUl9VVUlEOworCW1lbWNweShpZC51dWlkLCBiLCBzaXplb2YoYikpOworCWlkLnV1 aWRbMTVdID0gdGFnOworCXJldHVybiBpZDsKK30KKworc3RhdGljIGlkX3IgZ3VpZCh1bnNp Z25lZCBjaGFyIHRhZykKK3sKKwlpZF9yIGlkOworCisJbWVtc2V0KCZpZCwgMCwgc2l6ZW9m KGlkKSk7CisJaWQudHlwZSA9IFVJRF9SX0dVSUQ7CisJZm9yIChpbnQgaSA9IDA7IGkgPCAx NjsgaSsrKQorCQlpZC5ndWlkW2ldID0gMHgxMCArIGk7CisJaWQuZ3VpZFsxNV0gPSB0YWc7 CisJcmV0dXJuIGlkOworfQorCitzdGF0aWMgaW50IGlkZXEoY29uc3QgaWRfciAqYSwgY29u c3QgaWRfciAqYikKK3sKKwlyZXR1cm4gIW1lbWNtcChhLCBiLCBzaXplb2YoKmEpKTsKK30K Kworc3RhdGljIGxvbmcgc3lzKGxvbmcgbnIsIGxvbmcgYSwgbG9uZyBiLCBsb25nIGMsIGxv bmcgZCwgbG9uZyBlKQoreworCWxvbmcgcmV0ID0gc3lzY2FsbChuciwgYSwgYiwgYywgZCwg ZSk7CisKKwlyZXR1cm4gcmV0IDwgMCA/IC1lcnJubyA6IHJldDsKK30KKworLyogYSBwcml2 YXRlIHRtcGZzIGF0IGEgZnJlc2ggZGlyZWN0b3J5LCBmb3IgZmlsZSB0ZXN0cyAqLworc3Rh dGljIHZvaWQgcHJpdmF0ZV90bXBmcyhzdHJ1Y3QgX190ZXN0X21ldGFkYXRhICpfbWV0YWRh dGEsIGNoYXIgKmRpcikKK3sKKwlzdHJjcHkoZGlyLCAiL3RtcC91aWRfci5YWFhYWFgiKTsK KwlBU1NFUlRfRVEoMCwgdW5zaGFyZShDTE9ORV9ORVdOUykpOworCUFTU0VSVF9FUSgwLCBt b3VudChOVUxMLCAiLyIsIE5VTEwsIE1TX1JFQyB8IE1TX1BSSVZBVEUsIE5VTEwpKTsKKwlB U1NFUlRfTkUoTlVMTCwgbWtkdGVtcChkaXIpKTsKKwlBU1NFUlRfRVEoMCwgbW91bnQoInRt cGZzIiwgZGlyLCAidG1wZnMiLCAwLCAibW9kZT0xNzc3IikpOworfQorCitzdGF0aWMgaW50 IHN0YXR4X293bmVyKGNvbnN0IGNoYXIgKnBhdGgsIGlkX3IgKnVpZCwgaWRfciAqZ2lkKQor eworCXN0cnVjdCBzdGF0eCBzdHg7CisKKwltZW1zZXQoJnN0eCwgMCwgc2l6ZW9mKHN0eCkp OworCWlmIChzdGF0eChBVF9GRENXRCwgcGF0aCwgMCwgU1RBVFhfVUlEX1IgfCBTVEFUWF9H SURfUiwgJnN0eCkpCisJCXJldHVybiAtZXJybm87CisJaWYgKChzdHguc3R4X21hc2sgJiAo U1RBVFhfVUlEX1IgfCBTVEFUWF9HSURfUikpICE9CisJICAgIChTVEFUWF9VSURfUiB8IFNU QVRYX0dJRF9SKSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCS8qIHN0eF91aWRfciBhbmQgc3R4 X2dpZF9yIGF0IDB4YzAgKi8KKwltZW1jcHkodWlkLCAoY2hhciAqKSZzdHggKyAweGMwLCBz aXplb2YoKnVpZCkpOworCW1lbWNweShnaWQsIChjaGFyICopJnN0eCArIDB4YzAgKyBzaXpl b2YoKnVpZCksIHNpemVvZigqZ2lkKSk7CisJcmV0dXJuIDA7Cit9CisKK0ZJWFRVUkUodWlk X3IpIHsKKwljaGFyIGRpcls2NF07Cit9OworCitGSVhUVVJFX1NFVFVQKHVpZF9yKQorewor CWlkX3IgaWQ7CisKKwlpZiAoZ2V0ZXVpZCgpICE9IDApCisJCVNLSVAocmV0dXJuLCAibmVl ZHMgcm9vdCIpOworCWlmIChzeXMoX19OUl9nZXR1aWRfciwgKGxvbmcpJmlkLCAwLCAwLCAw LCAwKSA9PSAtRU5PU1lTKQorCQlTS0lQKHJldHVybiwgIm5vICpfciBzeXN0ZW0gY2FsbHMi KTsKKwlzZWxmLT5kaXJbMF0gPSAwOworfQorCitGSVhUVVJFX1RFQVJET1dOKHVpZF9yKQor eworfQorCitURVNUX0YodWlkX3IsIG1hbGZvcm1lZF9pZHMpCit7CisJaWRfciBpZDsKKwor CWlkID0gdXVpZCgxKTsKKwlpZC51dWlkWzZdID0gMHgxNDsJCQkvKiB2ZXJzaW9uIDEgKi8K KwlFWFBFQ1RfRVEoLUVJTlZBTCwgc3lzKF9fTlJfc2V0dWlkX3IsIChsb25nKSZpZCwgMCwg MCwgMCwgMCkpOworCWlkID0gdXVpZCgxKTsKKwlpZC50eXBlID0gOTsKKwlFWFBFQ1RfRVEo LUVJTlZBTCwgc3lzKF9fTlJfc2V0dWlkX3IsIChsb25nKSZpZCwgMCwgMCwgMCwgMCkpOwor CWlkID0gbGVnYWN5KDUpOworCWlkLnV1aWRbMTBdID0gMTsJCQkvKiByZXNlcnZlZCBieXRl ICovCisJRVhQRUNUX0VRKC1FSU5WQUwsIHN5cyhfX05SX3NldHVpZF9yLCAobG9uZykmaWQs IDAsIDAsIDAsIDApKTsKKwltZW1zZXQoJmlkLCAwLCBzaXplb2YoaWQpKTsKKwlpZC50eXBl ID0gVUlEX1JfR1VJRDsJCQkvKiBuaWwgR1VJRCAqLworCUVYUEVDVF9FUSgtRUlOVkFMLCBz eXMoX19OUl9zZXR1aWRfciwgKGxvbmcpJmlkLCAwLCAwLCAwLCAwKSk7CisJRVhQRUNUX0VR KC1FSU5WQUwsIHN5cyhfX05SX3NldHVpZF9yLCAwLCAwLCAwLCAwLCAwKSk7CisJRVhQRUNU X0VRKC1FRkFVTFQsIHN5cyhfX05SX2dldHVpZF9yLCAxLCAwLCAwLCAwLCAwKSk7Cit9CisK K1RFU1RfRih1aWRfciwgc2V0cmVzdWlkX3IpCit7CisJaWRfciB1ID0gdXVpZCgxKSwgczAg PSBsZWdhY3koMCksIHIsIGUsIHM7CisKKwlBU1NFUlRfRVEoMCwgc3lzKF9fTlJfc2V0cmVz dWlkX3IsIChsb25nKSZ1LCAobG9uZykmdSwgKGxvbmcpJnMwLCAwLCAwKSk7CisJRVhQRUNU X0VRKDY1NTM0LCBnZXR1aWQoKSk7CisJRVhQRUNUX0VRKDY1NTM0LCBnZXRldWlkKCkpOwor CUFTU0VSVF9FUSgwLCBzeXMoX19OUl9nZXRyZXN1aWRfciwgKGxvbmcpJnIsIChsb25nKSZl LCAobG9uZykmcywgMCwgMCkpOworCUVYUEVDVF9UUlVFKGlkZXEoJnIsICZ1KSk7CisJRVhQ RUNUX1RSVUUoaWRlcSgmZSwgJnUpKTsKKwlFWFBFQ1RfVFJVRShpZGVxKCZzLCAmczApKTsK KworCS8qIHdpdGhvdXQgZXVpZCAwIG5vIGNhcGFiaWxpdGllczogbm8gb3RoZXIgVVVJRCAq LworCXIgPSB1dWlkKDIpOworCUVYUEVDVF9FUSgtRVBFUk0sIHN5cyhfX05SX3NldHVpZF9y LCAobG9uZykmciwgMCwgMCwgMCwgMCkpOworCisJLyogYmFjayB0aHJvdWdoIHRoZSBzYXZl ZCB1aWQgKi8KKwlBU1NFUlRfRVEoMCwgc3lzKF9fTlJfc2V0cmVzdWlkX3IsIDAsIChsb25n KSZzMCwgMCwgMCwgMCkpOworCUVYUEVDVF9FUSgwLCBnZXRldWlkKCkpOworfQorCitURVNU X0YodWlkX3IsIGd1aWRfZ3JvdXApCit7CisJaWRfciBnID0gZ3VpZCg3KSwgZTsKKworCUFT U0VSVF9FUSgwLCBzeXMoX19OUl9zZXRyZXNnaWRfciwgMCwgKGxvbmcpJmcsIDAsIDAsIDAp KTsKKwlFWFBFQ1RfRVEoNjU1MzQsIGdldGVnaWQoKSk7CisJQVNTRVJUX0VRKDAsIHN5cyhf X05SX2dldGVnaWRfciwgKGxvbmcpJmUsIDAsIDAsIDAsIDApKTsKKwlFWFBFQ1RfVFJVRShp ZGVxKCZlLCAmZykpOworfQorCitURVNUX0YodWlkX3IsIGdyb3Vwc19yKQoreworCWlkX3Ig aW5bM10gPSB7IGd1aWQoOSksIGxlZ2FjeSgxMCksIHV1aWQoNCkgfSwgb3V0WzRdOworCWdp ZF90IGNsYXNzaWNbNF07CisKKwlBU1NFUlRfRVEoMCwgc3lzKF9fTlJfc2V0Z3JvdXBzX3Is IDMsIChsb25nKWluLCAwLCAwLCAwKSk7CisJQVNTRVJUX0VRKDMsIHN5cyhfX05SX2dldGdy b3Vwc19yLCA0LCAobG9uZylvdXQsIDAsIDAsIDApKTsKKwkvKiBzb3J0ZWQ6IGxlZ2FjeSwg VVVJRCwgR1VJRCAqLworCUVYUEVDVF9UUlVFKGlkZXEoJm91dFswXSwgJmluWzFdKSk7CisJ RVhQRUNUX1RSVUUoaWRlcSgmb3V0WzFdLCAmaW5bMl0pKTsKKwlFWFBFQ1RfVFJVRShpZGVx KCZvdXRbMl0sICZpblswXSkpOworCUFTU0VSVF9FUSgzLCBnZXRncm91cHMoNCwgY2xhc3Np YykpOworCUVYUEVDVF9FUSgxMCwgY2xhc3NpY1swXSk7CisJRVhQRUNUX0VRKDY1NTM0LCBj bGFzc2ljWzFdKTsKKwltZW1zZXQoJmluWzBdLCAwLCBzaXplb2YoaW5bMF0pKTsKKwlFWFBF Q1RfRVEoLUVJTlZBTCwgc3lzKF9fTlJfc2V0Z3JvdXBzX3IsIDEsIChsb25nKWluLCAwLCAw LCAwKSk7Cit9CisKK1RFU1RfRih1aWRfciwgY2hvd25fcl9zdGF0eCkKK3sKKwlpZF9yIHUg PSB1dWlkKDUpLCBnID0gZ3VpZCg2KSwgciwgcmc7CisJY2hhciBwYXRoWzk2XTsKKwlzdHJ1 Y3Qgc3RhdCBzdDsKKwlpbnQgZmQ7CisKKwlwcml2YXRlX3RtcGZzKF9tZXRhZGF0YSwgc2Vs Zi0+ZGlyKTsKKwlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy9mIiwgc2VsZi0+ ZGlyKTsKKwlmZCA9IG9wZW4ocGF0aCwgT19DUkVBVCB8IE9fV1JPTkxZLCAwNjQ0KTsKKwlB U1NFUlRfTEUoMCwgZmQpOworCUFTU0VSVF9FUSgwLCBzeXMoX19OUl9mY2hvd25fciwgZmQs IChsb25nKSZ1LCAobG9uZykmZywgMCwgMCkpOworCWNsb3NlKGZkKTsKKwlBU1NFUlRfRVEo MCwgc3RhdChwYXRoLCAmc3QpKTsKKwlFWFBFQ1RfRVEoNjU1MzQsIHN0LnN0X3VpZCk7CisJ QVNTRVJUX0VRKDAsIHN0YXR4X293bmVyKHBhdGgsICZyLCAmcmcpKTsKKwlFWFBFQ1RfVFJV RShpZGVxKCZyLCAmdSkpOworCUVYUEVDVF9UUlVFKGlkZXEoJnJnLCAmZykpOworCisJLyog TlVMTCBsZWF2ZXMgdGhlIG93bmVyLCBVSURfUl9OT05FIHRvbyAqLworCXIgPSBsZWdhY3ko NDIpOworCW1lbXNldCgmcmcsIDAsIHNpemVvZihyZykpOworCUFTU0VSVF9FUSgwLCBzeXMo X19OUl9jaG93bl9yLCAobG9uZylwYXRoLCAwLCAobG9uZykmciwgMCwgMCkpOworCUFTU0VS VF9FUSgwLCBzeXMoX19OUl9mY2hvd25hdF9yLCBBVF9GRENXRCwgKGxvbmcpcGF0aCwgKGxv bmcpJnJnLCAwLCAwKSk7CisJQVNTRVJUX0VRKDAsIHN0YXR4X293bmVyKHBhdGgsICZyLCAm cmcpKTsKKwlFWFBFQ1RfVFJVRShpZGVxKCZyLCAmdSkpOworCUVYUEVDVF9FUShVSURfUl9M RUdBQ1ksIHJnLnR5cGUpOworCUVYUEVDVF9FUSg0MiwgcmcubGVnYWN5KTsKK30KKworVEVT VF9GKHVpZF9yLCBjcmVhdGVfYXNfdXVpZF9mc3VpZCkKK3sKKwlpZF9yIHUgPSB1dWlkKDMp LCBzMCA9IGxlZ2FjeSgwKSwgb2xkLCByLCByZzsKKwljaGFyIHBhdGhbOTZdOworCWludCBm ZDsKKworCXByaXZhdGVfdG1wZnMoX21ldGFkYXRhLCBzZWxmLT5kaXIpOworCXNucHJpbnRm KHBhdGgsIHNpemVvZihwYXRoKSwgIiVzL2J5dXVpZCIsIHNlbGYtPmRpcik7CisJQVNTRVJU X0VRKDAsIHN5cyhfX05SX3NldGZzdWlkX3IsIChsb25nKSZ1LCAobG9uZykmb2xkLCAwLCAw LCAwKSk7CisJRVhQRUNUX1RSVUUoaWRlcSgmb2xkLCAmczApKTsKKwlmZCA9IG9wZW4ocGF0 aCwgT19DUkVBVCB8IE9fV1JPTkxZLCAwNjQ0KTsKKwlBU1NFUlRfRVEoMCwgc3lzKF9fTlJf c2V0ZnN1aWRfciwgKGxvbmcpJnMwLCAwLCAwLCAwLCAwKSk7CisJQVNTRVJUX0xFKDAsIGZk KTsKKwljbG9zZShmZCk7CisJQVNTRVJUX0VRKDAsIHN0YXR4X293bmVyKHBhdGgsICZyLCAm cmcpKTsKKwlFWFBFQ1RfVFJVRShpZGVxKCZyLCAmdSkpOworfQorCitURVNUX0YodWlkX3Is IGNsYXNzaWNfb25seV9mcykKK3sKKwlpZF9yIHUgPSB1dWlkKDUpOworCisJLyogc3lzZnMg KGtlcm5mcykgY2FuJ3Qgc3RvcmUgVVVJRCBvd25lcnMgKi8KKwlFWFBFQ1RfRVEoLUVPVkVS RkxPVywgc3lzKF9fTlJfY2hvd25fciwgKGxvbmcpIi9zeXMva2VybmVsIiwKKwkJCQkgIChs b25nKSZ1LCAwLCAwLCAwKSk7Cit9CisKK1RFU1RfRih1aWRfciwgcGVlcmNyZWRfcikKK3sK KwlpZF9yIHUgPSB1dWlkKDgpLCBzMCA9IGxlZ2FjeSgwKSwgZyA9IGd1aWQoMTApLCBncm91 cHNbMl07CisJc3RydWN0IHVjcmVkX3IgcGM7CisJc3RydWN0IHVjcmVkIGxjOworCXNvY2ts ZW5fdCBsZW47CisJaW50IHN2WzJdOworCisJZ3JvdXBzWzBdID0gZzsKKwlncm91cHNbMV0g PSBsZWdhY3koNyk7CisJQVNTRVJUX0VRKDAsIHN5cyhfX05SX3NldGdyb3Vwc19yLCAyLCAo bG9uZylncm91cHMsIDAsIDAsIDApKTsKKwlBU1NFUlRfRVEoMCwgc3lzKF9fTlJfc2V0cmVz dWlkX3IsIDAsIChsb25nKSZ1LCAobG9uZykmczAsIDAsIDApKTsKKwlBU1NFUlRfRVEoMCwg c29ja2V0cGFpcihBRl9VTklYLCBTT0NLX1NUUkVBTSwgMCwgc3YpKTsKKwlBU1NFUlRfRVEo MCwgc3lzKF9fTlJfc2V0cmVzdWlkX3IsIDAsIChsb25nKSZzMCwgMCwgMCwgMCkpOworCisJ bGVuID0gc2l6ZW9mKHBjKTsKKwlBU1NFUlRfRVEoMCwgZ2V0c29ja29wdChzdlsxXSwgU09M X1NPQ0tFVCwgU09fUEVFUkNSRURfUiwgJnBjLCAmbGVuKSk7CisJRVhQRUNUX1RSVUUoaWRl cSgmcGMudWlkLCAmdSkpOworCWxlbiA9IHNpemVvZihsYyk7CisJQVNTRVJUX0VRKDAsIGdl dHNvY2tvcHQoc3ZbMV0sIFNPTF9TT0NLRVQsIFNPX1BFRVJDUkVELCAmbGMsICZsZW4pKTsK KwlFWFBFQ1RfRVEoNjU1MzQsIGxjLnVpZCk7CisJbGVuID0gc2l6ZW9mKGdyb3Vwcyk7CisJ QVNTRVJUX0VRKDAsIGdldHNvY2tvcHQoc3ZbMV0sIFNPTF9TT0NLRVQsIFNPX1BFRVJHUk9V UFNfUiwgZ3JvdXBzLCAmbGVuKSk7CisJRVhQRUNUX0VRKDIgKiBzaXplb2YoaWRfciksIGxl bik7CisJRVhQRUNUX1RSVUUoaWRlcSgmZ3JvdXBzWzFdLCAmZykpOworfQorCitURVNUX0Yo dWlkX3IsIHNjbV9jcmVkZW50aWFsc19yKQoreworCWlkX3IgdSA9IHV1aWQoOSksIHMwID0g bGVnYWN5KDApOworCWNoYXIgZGF0YSA9ICd4JywgY2J1ZlsyNTZdOworCXN0cnVjdCBpb3Zl YyBpb3YgPSB7ICZkYXRhLCAxIH07CisJc3RydWN0IG1zZ2hkciBtaCA9IHsgMCB9OworCXN0 cnVjdCBjbXNnaGRyICpjOworCWludCBzdlsyXSwgb25lID0gMSwgZ290X3IgPSAwLCBnb3Rf bCA9IDA7CisKKwlBU1NFUlRfRVEoMCwgc29ja2V0cGFpcihBRl9VTklYLCBTT0NLX1NUUkVB TSwgMCwgc3YpKTsKKwlBU1NFUlRfRVEoMCwgc2V0c29ja29wdChzdlsxXSwgU09MX1NPQ0tF VCwgU09fUEFTU0NSRUQsICZvbmUsIHNpemVvZihvbmUpKSk7CisJQVNTRVJUX0VRKDAsIHNl dHNvY2tvcHQoc3ZbMV0sIFNPTF9TT0NLRVQsIFNPX1BBU1NDUkVEX1IsICZvbmUsIHNpemVv ZihvbmUpKSk7CisJLyogU0NNIGNyZWRlbnRpYWxzIGNhcnJ5IHRoZSByZWFsIGlkcyAqLwor CUFTU0VSVF9FUSgwLCBzeXMoX19OUl9zZXRyZXN1aWRfciwgKGxvbmcpJnUsIDAsIChsb25n KSZzMCwgMCwgMCkpOworCUFTU0VSVF9FUSgxLCB3cml0ZShzdlswXSwgJmRhdGEsIDEpKTsK KwlBU1NFUlRfRVEoMCwgc3lzKF9fTlJfc2V0cmVzdWlkX3IsIChsb25nKSZzMCwgMCwgMCwg MCwgMCkpOworCisJbWgubXNnX2lvdiA9ICZpb3Y7CisJbWgubXNnX2lvdmxlbiA9IDE7CisJ bWgubXNnX2NvbnRyb2wgPSBjYnVmOworCW1oLm1zZ19jb250cm9sbGVuID0gc2l6ZW9mKGNi dWYpOworCUFTU0VSVF9FUSgxLCByZWN2bXNnKHN2WzFdLCAmbWgsIDApKTsKKwlFWFBFQ1Rf RkFMU0UobWgubXNnX2ZsYWdzICYgTVNHX0NUUlVOQyk7CisJZm9yIChjID0gQ01TR19GSVJT VEhEUigmbWgpOyBjOyBjID0gQ01TR19OWFRIRFIoJm1oLCBjKSkgeworCQlpZiAoYy0+Y21z Z19sZXZlbCAhPSBTT0xfU09DS0VUKQorCQkJY29udGludWU7CisJCWlmIChjLT5jbXNnX3R5 cGUgPT0gU0NNX0NSRURFTlRJQUxTX1IpIHsKKwkJCXN0cnVjdCB1Y3JlZF9yIHBjOworCisJ CQltZW1jcHkoJnBjLCBDTVNHX0RBVEEoYyksIHNpemVvZihwYykpOworCQkJZ290X3IgPSBp ZGVxKCZwYy51aWQsICZ1KTsKKwkJfSBlbHNlIGlmIChjLT5jbXNnX3R5cGUgPT0gU0NNX0NS RURFTlRJQUxTKSB7CisJCQlzdHJ1Y3QgdWNyZWQgbGM7CisKKwkJCW1lbWNweSgmbGMsIENN U0dfREFUQShjKSwgc2l6ZW9mKGxjKSk7CisJCQlnb3RfbCA9IGxjLnVpZCA9PSA2NTUzNDsK KwkJfQorCX0KKwlFWFBFQ1RfVFJVRShnb3Rfcik7CisJRVhQRUNUX1RSVUUoZ290X2wpOwor fQorCitURVNUX0YodWlkX3IsIHNpZ25hbGZkX3VpZF9yKQoreworCWlkX3IgdSA9IHV1aWQo MTEpLCBzMCA9IGxlZ2FjeSgwKSwgZ290OworCXN0cnVjdCBzaWduYWxmZF9zaWdpbmZvIHNz aTsKKwlzaWdzZXRfdCBtYXNrOworCWludCBzZmQ7CisKKwlzaWdlbXB0eXNldCgmbWFzayk7 CisJc2lnYWRkc2V0KCZtYXNrLCBTSUdVU1IxKTsKKwlBU1NFUlRfRVEoMCwgc2lncHJvY21h c2soU0lHX0JMT0NLLCAmbWFzaywgTlVMTCkpOworCXNmZCA9IHNpZ25hbGZkKC0xLCAmbWFz aywgMCk7CisJQVNTRVJUX0xFKDAsIHNmZCk7CisJQVNTRVJUX0VRKDAsIHN5cyhfX05SX3Nl dHJlc3VpZF9yLCAobG9uZykmdSwgMCwgMCwgMCwgMCkpOworCUFTU0VSVF9FUSgwLCBraWxs KGdldHBpZCgpLCBTSUdVU1IxKSk7CisJQVNTRVJUX0VRKDAsIHN5cyhfX05SX3NldHJlc3Vp ZF9yLCAobG9uZykmczAsIDAsIDAsIDAsIDApKTsKKwlBU1NFUlRfRVEoc2l6ZW9mKHNzaSks IHJlYWQoc2ZkLCAmc3NpLCBzaXplb2Yoc3NpKSkpOworCUVYUEVDVF9FUSg2NTUzNCwgc3Np LnNzaV91aWQpOworCS8qIHNzaV91aWRfciBmb2xsb3dzIHNzaV9hcmNoICovCisJbWVtY3B5 KCZnb3QsIChjaGFyICopJnNzaSArIDEwMCwgc2l6ZW9mKGdvdCkpOworCUVYUEVDVF9UUlVF KGlkZXEoJmdvdCwgJnUpKTsKK30KKworVEVTVF9GKHVpZF9yLCBpcGNfc3RhdF9yKQorewor CWlkX3IgdSA9IHV1aWQoMTIpLCBnID0gZ3VpZCgxMyk7CisJc3RydWN0IGlwY19wZXJtX3Jf dCBwcjsKKwlzdHJ1Y3Qgc2htaWRfZHMgZHM7CisJaW50IGlkOworCisJbWVtc2V0KCZwciwg MCwgc2l6ZW9mKHByKSk7CisJcHIubW9kZSA9IDA2NDA7CisJcHIudWlkID0gdTsKKwlwci5n aWQgPSBnOworCisJaWQgPSBzaG1nZXQoSVBDX1BSSVZBVEUsIDQwOTYsIElQQ19DUkVBVCB8 IDA2MDApOworCUFTU0VSVF9MRSgwLCBpZCk7CisJQVNTRVJUX0VRKDAsIHNobWN0bChpZCwg SVBDX1NFVF9SLCAodm9pZCAqKSZwcikpOworCW1lbXNldCgmcHIsIDAsIHNpemVvZihwcikp OworCUFTU0VSVF9FUSgwLCBzaG1jdGwoaWQsIElQQ19TVEFUX1IsICh2b2lkICopJnByKSk7 CisJRVhQRUNUX1RSVUUoaWRlcSgmcHIudWlkLCAmdSkpOworCUVYUEVDVF9UUlVFKGlkZXEo JnByLmdpZCwgJmcpKTsKKwlFWFBFQ1RfRVEoMDY0MCwgcHIubW9kZSAmIDA3NzcpOworCUFT U0VSVF9FUSgwLCBzaG1jdGwoaWQsIElQQ19TVEFULCAmZHMpKTsKKwlFWFBFQ1RfRVEoNjU1 MzQsIGRzLnNobV9wZXJtLnVpZCk7CisJc2htY3RsKGlkLCBJUENfUk1JRCwgTlVMTCk7Cit9 CisKKy8qIHVzZXI6OnJ3LSB1c2VyOjx1PjpyLS0gZ3JvdXA6Oi0tLSBtYXNrOjpyLS0gb3Ro ZXI6Oi0tLSBpbiB2ZXJzaW9uIDMgKi8KK3N0YXRpYyBzaXplX3QgYWNsX3YzKHVuc2lnbmVk IGNoYXIgKmJ1ZiwgY29uc3QgaWRfciAqdSkKK3sKKwlzdGF0aWMgY29uc3QgdW5zaWduZWQg c2hvcnQgZW50WzVdWzJdID0geworCQl7IDB4MDEsIDYgfSwgeyAweDAyLCA0IH0sIHsgMHgw NCwgMCB9LCB7IDB4MTAsIDQgfSwgeyAweDIwLCAwIH0gfTsKKwl1bnNpZ25lZCBjaGFyICpl ID0gYnVmICsgNDsKKwl1bnNpZ25lZCBpbnQgdmVyID0gMzsKKworCW1lbWNweShidWYsICZ2 ZXIsIDQpOworCWZvciAoaW50IGkgPSAwOyBpIDwgNTsgaSsrLCBlICs9IDI0KSB7CisJCXVu c2lnbmVkIGludCB0eXBlID0gMDsKKworCQltZW1zZXQoZSwgMCwgMjQpOworCQltZW1jcHko ZSwgJmVudFtpXVswXSwgMik7CisJCW1lbWNweShlICsgMiwgJmVudFtpXVsxXSwgMik7CisJ CWlmIChlbnRbaV1bMF0gPT0gMHgwMikgeworCQkJdHlwZSA9IHUtPnR5cGU7CisJCQltZW1j cHkoZSArIDgsIHUtPnV1aWQsIDE2KTsKKwkJfQorCQltZW1jcHkoZSArIDQsICZ0eXBlLCA0 KTsKKwl9CisJcmV0dXJuIDQgKyA1ICogMjQ7Cit9CisKK1RFU1RfRih1aWRfciwgcG9zaXhf YWNsX3YzKQoreworCXVuc2lnbmVkIGNoYXIgYnVmWzI1Nl0sIGdvdFsyNTZdOworCWlkX3Ig dSA9IHV1aWQoMjApLCBzMCA9IGxlZ2FjeSgwKTsKKwljaGFyIHBhdGhbOTZdOworCXNpemVf dCBsZW47CisJaW50IGZkOworCisJcHJpdmF0ZV90bXBmcyhfbWV0YWRhdGEsIHNlbGYtPmRp cik7CisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiJXMvYWNsIiwgc2VsZi0+ZGly KTsKKwlmZCA9IG9wZW4ocGF0aCwgT19DUkVBVCB8IE9fV1JPTkxZLCAwNjAwKTsKKwlBU1NF UlRfTEUoMCwgZmQpOworCWNsb3NlKGZkKTsKKwlsZW4gPSBhY2xfdjMoYnVmLCAmdSk7CisJ aWYgKHNldHhhdHRyKHBhdGgsICJzeXN0ZW0ucG9zaXhfYWNsX2FjY2VzcyIsIGJ1ZiwgbGVu LCAwKSAmJgorCSAgICBlcnJubyA9PSBFT1BOT1RTVVBQKQorCQlTS0lQKHJldHVybiwgInRt cGZzIHdpdGhvdXQgUE9TSVggQUNMcyIpOworCUFTU0VSVF9FUShsZW4sIGdldHhhdHRyKHBh dGgsICJzeXN0ZW0ucG9zaXhfYWNsX2FjY2VzcyIsIGdvdCwgc2l6ZW9mKGdvdCkpKTsKKwlF WFBFQ1RfRVEoMywgZ290WzBdKTsKKwlFWFBFQ1RfRVEoMCwgbWVtY21wKGdvdCArIDQgKyAy NCArIDgsIHUudXVpZCwgMTYpKTsKKworCS8qIHRoZSBBQ0wgbGV0cyB0aGUgVVVJRCB1c2Vy IHJlYWQgdGhlIDA2MDAgcm9vdCBmaWxlICovCisJQVNTRVJUX0VRKDAsIHN5cyhfX05SX3Nl dGZzdWlkX3IsIChsb25nKSZ1LCAwLCAwLCAwLCAwKSk7CisJZmQgPSBvcGVuKHBhdGgsIE9f UkRPTkxZKTsKKwlBU1NFUlRfRVEoMCwgc3lzKF9fTlJfc2V0ZnN1aWRfciwgKGxvbmcpJnMw LCAwLCAwLCAwLCAwKSk7CisJRVhQRUNUX0xFKDAsIGZkKTsKK30KKworVEVTVF9GKHVpZF9y LCBwcm9jX3N0YXR1cykKK3sKKwlpZF9yIHUgPSB1dWlkKDYpLCBzMCA9IGxlZ2FjeSgwKTsK KwljaGFyIGJ1Zls0MDk2XSwgbGluZVsxNjBdOworCWludCBmZCwgbjsKKworCUFTU0VSVF9F USgwLCBzeXMoX19OUl9zZXRyZXN1aWRfciwgMCwgKGxvbmcpJnUsIChsb25nKSZzMCwgMCwg MCkpOworCWZkID0gb3BlbigiL3Byb2Mvc2VsZi9zdGF0dXMiLCBPX1JET05MWSk7CisJbiA9 IGZkIDwgMCA/IC0xIDogcmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSAtIDEpOworCUFTU0VS VF9FUSgwLCBzeXMoX19OUl9zZXRyZXN1aWRfciwgMCwgKGxvbmcpJnMwLCAwLCAwLCAwKSk7 CisJQVNTRVJUX0xUKDAsIG4pOworCWJ1ZltuXSA9IDA7CisJY2xvc2UoZmQpOworCUVYUEVD VF9ORShOVUxMLCBzdHJzdHIoYnVmLCAiVWlkOlx0MFx0NjU1MzRcdDBcdDY1NTM0XG4iKSk7 CisJc25wcmludGYobGluZSwgc2l6ZW9mKGxpbmUpLAorCQkgIlVpZF9yOlx0MFx0NmYxYzJh M2ItNGQ1ZS00ZjYwLThhN2ItMGMxZDJlM2Y0YTA2XHQwXHQiCisJCSAiNmYxYzJhM2ItNGQ1 ZS00ZjYwLThhN2ItMGMxZDJlM2Y0YTA2XG4iKTsKKwlFWFBFQ1RfTkUoTlVMTCwgc3Ryc3Ry KGJ1ZiwgbGluZSkpOworfQorCitURVNUX0YodWlkX3IsIHVzZXJfbmFtZXNwYWNlKQorewor CWlkX3IgdSA9IHV1aWQoMjEpLCByOworCWNoYXIgcGF0aFs5Nl07CisJaW50IGZkLCBzdGF0 dXM7CisJcGlkX3QgcGlkOworCisJcHJpdmF0ZV90bXBmcyhfbWV0YWRhdGEsIHNlbGYtPmRp cik7CisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiJXMvbnNmaWxlIiwgc2VsZi0+ ZGlyKTsKKwlmZCA9IG9wZW4ocGF0aCwgT19DUkVBVCB8IE9fV1JPTkxZLCAwNjQ0KTsKKwlB U1NFUlRfTEUoMCwgZmQpOworCWNsb3NlKGZkKTsKKwlBU1NFUlRfRVEoMCwgc3lzKF9fTlJf Y2hvd25fciwgKGxvbmcpcGF0aCwgKGxvbmcpJnUsIDAsIDAsIDApKTsKKworCXBpZCA9IGZv cmsoKTsKKwlBU1NFUlRfTEUoMCwgcGlkKTsKKwlpZiAocGlkID09IDApIHsKKwkJaW50IGJh ZCA9IDA7CisKKwkJaWYgKHVuc2hhcmUoQ0xPTkVfTkVXVVNFUikpCisJCQlfZXhpdCgxMDAp OworCQkvKiBmcm9tIGluc2lkZSwgb25seSB0aGUgb3duIGlkIGNhbiBiZSBtYXBwZWQgKi8K KwkJZmQgPSBvcGVuKCIvcHJvYy9zZWxmL3VpZF9tYXAiLCBPX1dST05MWSk7CisJCWlmIChm ZCA8IDAgfHwgd3JpdGUoZmQsICIwIDAgMSIsIDUpICE9IDUpCisJCQliYWQgfD0gMTsKKwkJ Y2xvc2UoZmQpOworCQlpZiAoc3lzKF9fTlJfc2V0dWlkX3IsIChsb25nKSZ1LCAwLCAwLCAw LCAwKSAhPSAtRUlOVkFMKQorCQkJYmFkIHw9IDI7CisJCS8qIENBUF9GT1dORVIgaW4gdGhl IG5hbWVzcGFjZSBnaXZlcyBub3RoaW5nIG92ZXIgYSBVVUlEICovCisJCWlmIChjaG1vZChw YXRoLCAwNjAwKSA9PSAwIHx8IGVycm5vICE9IEVQRVJNKQorCQkJYmFkIHw9IDQ7CisJCSh2 b2lkKXI7CisJCV9leGl0KGJhZCk7CisJfQorCUFTU0VSVF9FUShwaWQsIHdhaXRwaWQocGlk LCAmc3RhdHVzLCAwKSk7CisJaWYgKFdFWElUU1RBVFVTKHN0YXR1cykgPT0gMTAwKQorCQlT S0lQKHJldHVybiwgIm5vIHVzZXIgbmFtZXNwYWNlcyIpOworCUVYUEVDVF9FUSgwLCBXRVhJ VFNUQVRVUyhzdGF0dXMpKTsKK30KKworVEVTVF9IQVJORVNTX01BSU4K --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0037-ovl-allow-UUID-and-GUID-owners-when-the-upper-layer-.patch" Content-Disposition: attachment; filename*0="uid_r-0037-ovl-allow-UUID-and-GUID-owners-when-the-upper-lay"; filename*1="er-.patch" Content-Transfer-Encoding: base64 RnJvbSBiMTBkZDAxMzE1N2ZiYmU1NDY1OGYwMjFiYmM1MjQyOTliNzgxZDQzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDEzOjU4OjMwICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzNy80M10gb3ZsOiBhbGxvdyBVVUlEIGFuZCBHVUlEIG93bmVycyB3aGVuIHRoZSB1 cHBlciBsYXllcgogZG9lcwoKQ2hhbmdlcyB0byBhbiBvdmVybGF5IGxhbmQgaW4gaXRzIHVw cGVyIGxheWVyLCBzbyB3aGV0aGVyIHRoZSBvdmVybGF5CmNhbiBzdG9yZSBVVUlEIGFuZCBH VUlEIG93bmVycyBpcyB0aGUgdXBwZXIgbGF5ZXIncyBidXNpbmVzczogdGFrZQpTQl9JX1VJ RF9SIG92ZXIgZnJvbSBpdC4gQ29weS11cCBvZiBzdWNoIGFuIG93bmVyIGZyb20gYSBsb3dl ciBsYXllcgppbnRvIGFuIHVwcGVyIGxheWVyIHdpdGhvdXQgdGhlIGZsYWcga2VlcHMgZmFp bGluZyB3aXRoIC1FT1ZFUkZMT1cuCgpUaGlzIGlzIHdoYXQgYSBsaXZlIHN5c3RlbSB3aXRo IGEgdG1wZnMgb3ZlciBhIHJlYWQtb25seSBpbWFnZSBuZWVkcwp0byBnaXZlIGZpbGVzIHRv IFVVSUQgYW5kIEdVSUQgdXNlcnMuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVz LTUtNQotLS0KIGZzL292ZXJsYXlmcy9zdXBlci5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvc3VwZXIuYyBi L2ZzL292ZXJsYXlmcy9zdXBlci5jCmluZGV4IDQzZWIwYzA1My4uNWI0OGE5NDk5IDEwMDY0 NAotLS0gYS9mcy9vdmVybGF5ZnMvc3VwZXIuYworKysgYi9mcy9vdmVybGF5ZnMvc3VwZXIu YwpAQCAtMTQ1NSw2ICsxNDU1LDkgQEAgc3RhdGljIGludCBvdmxfZmlsbF9zdXBlcl9jcmVk cyhzdHJ1Y3QgZnNfY29udGV4dCAqZmMsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiAKIAkJ c2ItPnNfc3RhY2tfZGVwdGggPSB1cHBlcl9zYi0+c19zdGFja19kZXB0aDsKIAkJc2ItPnNf dGltZV9ncmFuID0gdXBwZXJfc2ItPnNfdGltZV9ncmFuOworCQkvKiBjaGFuZ2VzIGxhbmQg aW4gdGhlIHVwcGVyIGxheWVyOiBpdHMga2luZHMgb2Ygb3duZXIgKi8KKwkJaWYgKHVwcGVy X3NiLT5zX2lmbGFncyAmIFNCX0lfVUlEX1IpCisJCQlzYi0+c19pZmxhZ3MgfD0gU0JfSV9V SURfUjsKIAl9CiAJb2UgPSBvdmxfZ2V0X2xvd2Vyc3RhY2soc2IsIGN0eCwgb2ZzLCBsYXll cnMpOwogCWVyciA9IFBUUl9FUlIob2UpOwo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0038-devpts-allow-UUID-and-GUID-owners.patch" Content-Disposition: attachment; filename="uid_r-0038-devpts-allow-UUID-and-GUID-owners.patch" Content-Transfer-Encoding: base64 RnJvbSA3NjRjYjQ2MDA0MjdjOTU2YjdhZGRmNDAyYzZlN2NlYWU0NzUxZDFjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDE0OjMxOjE2ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzOC80M10gZGV2cHRzOiBhbGxvdyBVVUlEIGFuZCBHVUlEIG93bmVycwoKVGVybWlu YWxzIGFyZSBnaXZlbiB0byB0aGUgdXNlciBvZiBhIGxvZ2luIHNlc3Npb246IHNzaGQgYW5k IGxvZ2luCmNob3duIHRoZSBzbGF2ZSB0byB0aGUgdXNlciwgYW5kIGEgcHR5IG9wZW5lZCBi eSBhIFVVSUQgb3IgR1VJRCB1c2VyCmdldHMgdGhhdCB1c2VyIGFzIGl0cyBvd25lci4gZGV2 cHRzIGtlZXBzIG93bmVycyBpbiBpdHMgaW5vZGVzIG9ubHksCnNvIGxpa2UgdG1wZnMgYW5k IHJhbWZzIGl0IGNhbiBob2xkIGFueSBraW5kIG9mIG93bmVyOiBzZXQgU0JfSV9VSURfUi4K CldpdGhvdXQgaXQsIHNzaGQncyBjaG93bigpIG9mIHRoZSBwdHkgb2YgYSBVVUlEIHVzZXIg ZmFpbHMgd2l0aAotRU9WRVJGTE9XIGFuZCB0aGUgc2Vzc2lvbiBpcyBjbG9zZWQuCgpBc3Np c3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUtNQotLS0KIGZzL2RldnB0cy9pbm9kZS5j IHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2ZzL2RldnB0cy9pbm9kZS5jIGIvZnMvZGV2cHRzL2lub2RlLmMKaW5kZXggOTg0NGRjZjM1 Li4xYmRkYTQ2OGQgMTAwNjQ0Ci0tLSBhL2ZzL2RldnB0cy9pbm9kZS5jCisrKyBiL2ZzL2Rl dnB0cy9pbm9kZS5jCkBAIC0zNjMsNiArMzYzLDggQEAgc3RhdGljIGludCBkZXZwdHNfZmls bF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnMsIHN0cnVjdCBmc19jb250ZXh0ICpmYykK IAlzdHJ1Y3QgaW5vZGUgKmlub2RlOwogCiAJcy0+c19pZmxhZ3MgJj0gflNCX0lfTk9ERVY7 CisJLyogb3duZXJzIGxpdmUgaW4gbWVtb3J5IG9ubHksIGEgVVVJRCBvciBHVUlEIG9uZSBh cyB3ZWxsICovCisJcy0+c19pZmxhZ3MgfD0gU0JfSV9VSURfUjsKIAlzLT5zX2Jsb2Nrc2l6 ZSA9IDEwMjQ7CiAJcy0+c19ibG9ja3NpemVfYml0cyA9IDEwOwogCXMtPnNfbWFnaWMgPSBE RVZQVFNfU1VQRVJfTUFHSUM7Cg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0039-ksmbd-log-in-UUID-and-GUID-users-and-map-them-to-SID.patch" Content-Disposition: attachment; filename*0="uid_r-0039-ksmbd-log-in-UUID-and-GUID-users-and-map-them-to-"; filename*1="SID.patch" Content-Transfer-Encoding: base64 RnJvbSBlOTcwOGQ4ZGQ0YThlNjI0MWYzODA5ODNiMjdiYjE1MWRhNWIxMWJhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDE0OjQzOjUwICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzOS80M10ga3NtYmQ6IGxvZyBpbiBVVUlEIGFuZCBHVUlEIHVzZXJzIGFuZCBtYXAg dGhlbSB0byBTSURzCgpBIHVzZXIgd2hvc2UgaWRzIGFyZSBVVUlEcyBvciBHVUlEcyBjb3Vs ZCBub3QgdXNlIGtzbWJkOiB0aGUgbG9naW4KcmVzcG9uc2UgY2FycmllcyAzMiBiaXQgaWRz LCBzZXNzaW9ucyByYW4gYXMgbWFrZV9rdWlkKHVpZCksIGFuZCBTSURzCndlcmUgYnVpbHQg ZnJvbSBmcm9tX2t1aWRfbXVuZ2VkKCksIHNvIHN1Y2ggdXNlcnMgYW5kIHRoZWlyIGZpbGVz IGFsbApiZWNhbWUgdGhlIG92ZXJmbG93IGlkLgoKVGFrZSB0aGUgaWRzIGZyb20gdGhlIGxv Z2luIHJlc3BvbnNlIGV4dGVuc2lvbjogZmxhZ3MsIGZvcm1lcmx5CnJlc2VydmVkIGFuZCB6 ZXJvLCBoYXMgS1NNQkRfTE9HSU5fRVhUX0lEX1Igd2hlbiB1aWRfciBhbmQgZ2lkX3IgKGFs c28KZm9ybWVybHkgcmVzZXJ2ZWQpIGhvbGQgdGhlIHVzZXIncyBpZHMgYXMgX19rZXJuZWxf dWlkX3JfdCwgYW5kCktTTUJEX0xPR0lOX0VYVF9HUk9VUFNfUiB3aGVuIHRoZSBwYXlsb2Fk IGhvbGRzIF9fa2VybmVsX2dpZF9yX3QKc3VwcGxlbWVudGFyeSBncm91cHMgaW5zdGVhZCBv ZiBnaWRfdC4gc3RydWN0IGtzbWJkX3VzZXIga2VlcHMga3VpZCwKa2dpZCBhbmQga2dpZF90 IGdyb3Vwcywgd2hpY2ggdGhlIHNlc3Npb24ncyBjcmVkZW50aWFscyBhbmQgZHVyYWJsZQpo YW5kbGUgb3duZXJzIHVzZS4KClVVSUQgYW5kIEdVSUQgdXNlcnMgYW5kIGdyb3VwcyBoYXZl IG5vIFJJRDsgdGhleSBhcmUgcmVwcmVzZW50ZWQgYXMKUy0xLTIyLTxraW5kPi13MC13MS13 Mi13MyAoa2luZCAzLzQ6IFVVSUQgdXNlci9ncm91cCwgNS82OiBHVUlECnVzZXIvZ3JvdXA7 IHcwLi53MyB0aGUgMTYgYnl0ZXMgYXMgYmlnIGVuZGlhbiB3b3JkcyksIG5leHQgdG8gdGhl CmV4aXN0aW5nIFMtMS0yMi0xLTx1aWQ+IGFuZCBTLTEtMjItMi08Z2lkPiwgaW4gc2VjdXJp dHkgZGVzY3JpcHRvcnMsCmluaGVyaXRlZCBBQ0VzLCBQT1NJWCBBQ0wgZW50cmllcyBhbmQg b3duZXIgY2hhbmdlcyBmcm9tIGNsaWVudHMuCgpUaGUgU01CMyBQT1NJWCBleHRlbnNpb24n cyBmaXhlZCAxNiBhbmQgMjggYnl0ZSBTSUQgYnVmZmVycyBjYW4ndCBob2xkCnN1Y2ggYSBT SUQ7IHRoZXkga2VlcCBzaG93aW5nIHRoZSBvdmVyZmxvdyBpZC4KCkFzc2lzdGVkLWJ5OiBD bGF1ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogZnMvc21iL3NlcnZlci9rc21iZF9uZXRsaW5r LmggICAgfCAgMTUgKystCiBmcy9zbWIvc2VydmVyL21nbXQvdXNlcl9jb25maWcuYyB8ICAz NSArKysrKy0KIGZzL3NtYi9zZXJ2ZXIvbWdtdC91c2VyX2NvbmZpZy5oIHwgICA0ICstCiBm cy9zbWIvc2VydmVyL3NtYjJwZHUuYyAgICAgICAgICB8ICAgOCArLQogZnMvc21iL3NlcnZl ci9zbWJfY29tbW9uLmMgICAgICAgfCAgMTggKystLQogZnMvc21iL3NlcnZlci9zbWJhY2wu YyAgICAgICAgICAgfCAxNzYgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogZnMv c21iL3NlcnZlci9zbWJhY2wuaCAgICAgICAgICAgfCAgMTkgKysrLQogZnMvc21iL3NlcnZl ci90cmFuc3BvcnRfaXBjLmMgICAgfCAgIDQgKy0KIGZzL3NtYi9zZXJ2ZXIvdmZzX2NhY2hl LmMgICAgICAgIHwgICA5ICstCiBmcy9zbWIvc2VydmVyL3Zmc19jYWNoZS5oICAgICAgICB8 ICAgNCArLQogMTAgZmlsZXMgY2hhbmdlZCwgMjI3IGluc2VydGlvbnMoKyksIDY1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZzL3NtYi9zZXJ2ZXIva3NtYmRfbmV0bGluay5oIGIv ZnMvc21iL3NlcnZlci9rc21iZF9uZXRsaW5rLmgKaW5kZXggYWYxZTc2MDQ1Li40MGM0MzUw N2IgMTAwNjQ0Ci0tLSBhL2ZzL3NtYi9zZXJ2ZXIva3NtYmRfbmV0bGluay5oCisrKyBiL2Zz L3NtYi9zZXJ2ZXIva3NtYmRfbmV0bGluay5oCkBAIC05LDYgKzksNyBAQAogI2RlZmluZSBf TElOVVhfS1NNQkRfU0VSVkVSX0gKIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5j bHVkZSA8bGludXgvdWlkZ2lkX3IuaD4KIAogLyoKICAqIFRoaXMgaXMgYSB1c2Vyc3BhY2Ug QUJJIHRvIGNvbW11bmljYXRlIGRhdGEgYmV0d2VlbiBrc21iZCBhbmQgdXNlciBJUEMKQEAg LTE1MywxNCArMTU0LDI2IEBAIHN0cnVjdCBrc21iZF9sb2dpbl9yZXNwb25zZSB7CiAKIC8q CiAgKiBJUEMgdXNlciBsb2dpbiByZXNwb25zZSBleHRlbnNpb24uCisgKgorICogV2l0aCBL U01CRF9MT0dJTl9FWFRfSURfUiwgdWlkX3IgYW5kIGdpZF9yIGFyZSB0aGUgdXNlcidzIGlk cyBhbmQgbWF5IGJlCisgKiBVVUlEcyBvciBHVUlEcyAoc2VlIERvY3VtZW50YXRpb24vdXNl cnNwYWNlLWFwaS91aWRfci5yc3QpOyB0aGUgcmVzcG9uc2UncworICogdWlkIGFuZCBnaWQg YXJlIHRoZW4gaWdub3JlZC4gV2l0aCBLU01CRF9MT0dJTl9FWFRfR1JPVVBTX1IgdGhlIHBh eWxvYWQKKyAqIGhvbGRzIG5ncm91cHMgX19rZXJuZWxfZ2lkX3JfdCBpbnN0ZWFkIG9mIG5n cm91cHMgZ2lkX3QuIEEgdXNlciBzcGFjZQorICogdGhhdCBrbm93cyBuZWl0aGVyIGxlYXZl cyBmbGFncyAoZm9ybWVybHkgcmVzZXJ2ZWQpIHplcm8uCiAgKi8KIHN0cnVjdCBrc21iZF9s b2dpbl9yZXNwb25zZV9leHQgewogCV9fdTMyCWhhbmRsZTsKIAlfX3MzMgluZ3JvdXBzOwkJ CS8qIHN1cHBsZW1lbnRhcnkgZ3JvdXAgY291bnQgKi8KLQlfX3M4CXJlc2VydmVkWzEyOF07 CQkJLyogUmVzZXJ2ZWQgcm9vbSAqLworCV9fdTMyCWZsYWdzOwkJCQkvKiBLU01CRF9MT0dJ Tl9FWFRfKiAqLworCV9fa2VybmVsX3VpZF9yX3QgdWlkX3I7CQkJLyogd2l0aCBLU01CRF9M T0dJTl9FWFRfSURfUiAqLworCV9fa2VybmVsX2dpZF9yX3QgZ2lkX3I7CisJX19zOAlyZXNl cnZlZFs4NF07CQkJLyogUmVzZXJ2ZWQgcm9vbSAqLwogCV9fczgJX19fX3BheWxvYWRbXTsK IH07CiAKKyNkZWZpbmUgS1NNQkRfTE9HSU5fRVhUX0lEX1IJCTB4MQorI2RlZmluZSBLU01C RF9MT0dJTl9FWFRfR1JPVVBTX1IJMHgyCisKIC8qCiAgKiBJUEMgcmVxdWVzdCB0byBmZXRj aCBuZXQgc2hhcmUgY29uZmlnLgogICovCmRpZmYgLS1naXQgYS9mcy9zbWIvc2VydmVyL21n bXQvdXNlcl9jb25maWcuYyBiL2ZzL3NtYi9zZXJ2ZXIvbWdtdC91c2VyX2NvbmZpZy5jCmlu ZGV4IDBiZTA4Y2YxOC4uNjA1MGJjNzQ4IDEwMDY0NAotLS0gYS9mcy9zbWIvc2VydmVyL21n bXQvdXNlcl9jb25maWcuYworKysgYi9mcy9zbWIvc2VydmVyL21nbXQvdXNlcl9jb25maWcu YwpAQCAtNTYsNiArNTYsOCBAQCBzdHJ1Y3Qga3NtYmRfdXNlciAqa3NtYmRfYWxsb2NfdXNl cihzdHJ1Y3Qga3NtYmRfbG9naW5fcmVzcG9uc2UgKnJlc3AsCiAJdXNlci0+ZmxhZ3MgPSBy ZXNwLT5zdGF0dXM7CiAJdXNlci0+Z2lkID0gcmVzcC0+Z2lkOwogCXVzZXItPnVpZCA9IHJl c3AtPnVpZDsKKwl1c2VyLT5rdWlkID0gbWFrZV9rdWlkKCZpbml0X3VzZXJfbnMsIHJlc3At PnVpZCk7CisJdXNlci0+a2dpZCA9IG1ha2Vfa2dpZCgmaW5pdF91c2VyX25zLCByZXNwLT5n aWQpOwogCXVzZXItPnBhc3NrZXlfc3ogPSByZXNwLT5oYXNoX3N6OwogCXVzZXItPnBhc3Nr ZXkgPSBrbWFsbG9jKHJlc3AtPmhhc2hfc3osIEtTTUJEX0RFRkFVTFRfR0ZQKTsKIAlpZiAo dXNlci0+cGFzc2tleSkKQEAgLTY4LDEyICs3MCwzOCBAQCBzdHJ1Y3Qga3NtYmRfdXNlciAq a3NtYmRfYWxsb2NfdXNlcihzdHJ1Y3Qga3NtYmRfbG9naW5fcmVzcG9uc2UgKnJlc3AsCiAJ CWdvdG8gZXJyX2ZyZWU7CiAKIAlpZiAocmVzcF9leHQpIHsKLQkJdXNlci0+c2dpZCA9IGtt ZW1kdXAocmVzcF9leHQtPl9fX19wYXlsb2FkLAotCQkJCSAgICAgcmVzcF9leHQtPm5ncm91 cHMgKiBzaXplb2YoZ2lkX3QpLAorCQlpbnQgaTsKKworCQlpZiAocmVzcF9leHQtPmZsYWdz ICYgS1NNQkRfTE9HSU5fRVhUX0lEX1IpIHsKKwkJCS8qIHRoZSB1c2VyJ3MgaWRzIG1heSBi ZSBVVUlEcyBvciBHVUlEcyAqLworCQkJdXNlci0+a3VpZCA9IG1ha2Vfa3VpZF9yKCZpbml0 X3VzZXJfbnMsICZyZXNwX2V4dC0+dWlkX3IpOworCQkJdXNlci0+a2dpZCA9IG1ha2Vfa2dp ZF9yKCZpbml0X3VzZXJfbnMsICZyZXNwX2V4dC0+Z2lkX3IpOworCQkJaWYgKCF1aWRfdmFs aWQodXNlci0+a3VpZCkgfHwgIWdpZF92YWxpZCh1c2VyLT5rZ2lkKSkKKwkJCQlnb3RvIGVy cl9mcmVlOworCQkJdXNlci0+dWlkID0gZnJvbV9rdWlkX211bmdlZCgmaW5pdF91c2VyX25z LCB1c2VyLT5rdWlkKTsKKwkJCXVzZXItPmdpZCA9IGZyb21fa2dpZF9tdW5nZWQoJmluaXRf dXNlcl9ucywgdXNlci0+a2dpZCk7CisJCX0KKworCQl1c2VyLT5zZ2lkID0ga2NhbGxvYyhy ZXNwX2V4dC0+bmdyb3Vwcywgc2l6ZW9mKGtnaWRfdCksCiAJCQkJICAgICBLU01CRF9ERUZB VUxUX0dGUCk7Ci0JCWlmICghdXNlci0+c2dpZCkKKwkJaWYgKCF1c2VyLT5zZ2lkICYmIHJl c3BfZXh0LT5uZ3JvdXBzKQogCQkJZ290byBlcnJfZnJlZTsKIAorCQlmb3IgKGkgPSAwOyBp IDwgcmVzcF9leHQtPm5ncm91cHM7IGkrKykgeworCQkJaWYgKHJlc3BfZXh0LT5mbGFncyAm IEtTTUJEX0xPR0lOX0VYVF9HUk9VUFNfUikgeworCQkJCWNvbnN0IF9fa2VybmVsX2dpZF9y X3QgKmcgPSAoY29uc3QgX19rZXJuZWxfZ2lkX3JfdCAqKQorCQkJCQlyZXNwX2V4dC0+X19f X3BheWxvYWQgKyBpOworCisJCQkJdXNlci0+c2dpZFtpXSA9IG1ha2Vfa2dpZF9yKCZpbml0 X3VzZXJfbnMsIGcpOworCQkJfSBlbHNlIHsKKwkJCQljb25zdCBnaWRfdCAqZyA9IChjb25z dCBnaWRfdCAqKXJlc3BfZXh0LT5fX19fcGF5bG9hZCArIGk7CisKKwkJCQl1c2VyLT5zZ2lk W2ldID0gbWFrZV9rZ2lkKCZpbml0X3VzZXJfbnMsICpnKTsKKwkJCX0KKwkJCWlmICghZ2lk X3ZhbGlkKHVzZXItPnNnaWRbaV0pKQorCQkJCWdvdG8gZXJyX2ZyZWU7CisJCX0KKwogCQl1 c2VyLT5uZ3JvdXBzID0gcmVzcF9leHQtPm5ncm91cHM7CiAJCWtzbWJkX2RlYnVnKFNNQiwg InN1cHBsZW1lbnRhcnkgZ3JvdXBzIDogJWRcbiIsIHVzZXItPm5ncm91cHMpOwogCX0KQEAg LTgxLDYgKzEwOSw3IEBAIHN0cnVjdCBrc21iZF91c2VyICprc21iZF9hbGxvY191c2VyKHN0 cnVjdCBrc21iZF9sb2dpbl9yZXNwb25zZSAqcmVzcCwKIAlyZXR1cm4gdXNlcjsKIAogZXJy X2ZyZWU6CisJa2ZyZWUodXNlci0+c2dpZCk7CiAJa2ZyZWUodXNlci0+bmFtZSk7CiAJa2Zy ZWUodXNlci0+cGFzc2tleSk7CiAJa2ZyZWUodXNlcik7CmRpZmYgLS1naXQgYS9mcy9zbWIv c2VydmVyL21nbXQvdXNlcl9jb25maWcuaCBiL2ZzL3NtYi9zZXJ2ZXIvbWdtdC91c2VyX2Nv bmZpZy5oCmluZGV4IGNjNDYwYjRmZi4uZTU1NDcwZTAwIDEwMDY0NAotLS0gYS9mcy9zbWIv c2VydmVyL21nbXQvdXNlcl9jb25maWcuaAorKysgYi9mcy9zbWIvc2VydmVyL21nbXQvdXNl cl9jb25maWcuaApAQCAtMTMsMTMgKzEzLDE1IEBAIHN0cnVjdCBrc21iZF91c2VyIHsKIAog CXVuc2lnbmVkIGludAkJdWlkOwogCXVuc2lnbmVkIGludAkJZ2lkOworCWt1aWRfdAkJCWt1 aWQ7CS8qIHRoZSB1c2VyOiB1aWQsIG9yIGEgVVVJRCBvciBHVUlEICovCisJa2dpZF90CQkJ a2dpZDsKIAogCWNoYXIJCQkqbmFtZTsKIAogCXNpemVfdAkJCXBhc3NrZXlfc3o7CiAJY2hh cgkJCSpwYXNza2V5OwogCWludAkJCW5ncm91cHM7Ci0JZ2lkX3QJCQkqc2dpZDsKKwlrZ2lk X3QJCQkqc2dpZDsKIH07CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCB1c2VyX2d1ZXN0KHN0cnVj dCBrc21iZF91c2VyICp1c2VyKQpkaWZmIC0tZ2l0IGEvZnMvc21iL3NlcnZlci9zbWIycGR1 LmMgYi9mcy9zbWIvc2VydmVyL3NtYjJwZHUuYwppbmRleCAzZTZkMzAyNDIuLmY5OWYyZmQ5 MiAxMDA2NDQKLS0tIGEvZnMvc21iL3NlcnZlci9zbWIycGR1LmMKKysrIGIvZnMvc21iL3Nl cnZlci9zbWIycGR1LmMKQEAgLTQwODMsNyArNDA4Myw3IEBAIGludCBzbWIyX29wZW4oc3Ry dWN0IGtzbWJkX3dvcmsgKndvcmspCiAJaWYgKGZpbGVfcHJlc2VudCAmJiAhKHJlcS0+Q3Jl YXRlT3B0aW9ucyAmIEZJTEVfREVMRVRFX09OX0NMT1NFX0xFKSkgewogCQlyYyA9IHNtYl9j aGVja19wZXJtX2RhY2woY29ubiwgJnBhdGgsICZkYWNjZXNzLAogCQkJCQkgcmVxLT5EZXNp cmVkQWNjZXNzLAotCQkJCQkgc2Vzcy0+dXNlci0+dWlkLCBmYWxzZSk7CisJCQkJCSBzZXNz LT51c2VyLT5rdWlkLCBmYWxzZSk7CiAJCWlmIChyYykKIAkJCWdvdG8gZXJyX291dDsKIAl9 CkBAIC00MjUyLDggKzQyNTIsOCBAQCBpbnQgc21iMl9vcGVuKHN0cnVjdCBrc21iZF93b3Jr ICp3b3JrKQogCQlpZiAocmMgPT0gLUVOT0VOVCkgewogCQkJaWYgKHRlc3Rfc2hhcmVfY29u ZmlnX2ZsYWcod29yay0+dGNvbi0+c2hhcmVfY29uZiwKIAkJCQkJCSAgIEtTTUJEX1NIQVJF X0ZMQUdfQUNMX1hBVFRSKSkgewotCQkJCXJjID0gc21iX2luaGVyaXRfZGFjbChjb25uLCAm cGF0aCwgc2Vzcy0+dXNlci0+dWlkLAotCQkJCQkJICAgICAgc2Vzcy0+dXNlci0+Z2lkKTsK KwkJCQlyYyA9IHNtYl9pbmhlcml0X2RhY2woY29ubiwgJnBhdGgsIHNlc3MtPnVzZXItPmt1 aWQsCisJCQkJCQkgICAgICBzZXNzLT51c2VyLT5rZ2lkKTsKIAkJCX0KIAkJCWlmIChyYykg ewogCQkJCWlmIChwb3NpeF9hY2xfcmMpCkBAIC01MTg2LDcgKzUxODYsNyBAQCBzdGF0aWMg aW50IHByb2Nlc3NfcXVlcnlfZGlyX2VudHJpZXMoc3RydWN0IHNtYjJfcXVlcnlfZGlyX3By aXZhdGUgKnByaXYpCiAJCQlwYXRoLmRlbnRyeSA9IGRlbnQ7CiAJCQlyYyA9IHNtYl9jaGVj a19wZXJtX2RhY2wocHJpdi0+d29yay0+Y29ubiwgJnBhdGgsCiAJCQkJCQkgJmRhY2Nlc3Ms IGRhY2Nlc3MsCi0JCQkJCQkgcHJpdi0+d29yay0+c2Vzcy0+dXNlci0+dWlkLAorCQkJCQkJ IHByaXYtPndvcmstPnNlc3MtPnVzZXItPmt1aWQsCiAJCQkJCQkgdHJ1ZSk7CiAJCQlpZiAo cmMpIHsKIAkJCQlkcHV0KGRlbnQpOwpkaWZmIC0tZ2l0IGEvZnMvc21iL3NlcnZlci9zbWJf Y29tbW9uLmMgYi9mcy9zbWIvc2VydmVyL3NtYl9jb21tb24uYwppbmRleCAwODBmYmM5ZWIu LjgyNzhjOTlhNyAxMDA2NDQKLS0tIGEvZnMvc21iL3NlcnZlci9zbWJfY29tbW9uLmMKKysr IGIvZnMvc21iL3NlcnZlci9zbWJfY29tbW9uLmMKQEAgLTc4MiwyMyArNzgyLDIzIEBAIGlu dCBfX2tzbWJkX292ZXJyaWRlX2ZzaWRzKHN0cnVjdCBrc21iZF93b3JrICp3b3JrLAogCXN0 cnVjdCBrc21iZF91c2VyICp1c2VyID0gc2Vzcy0+dXNlcjsKIAlzdHJ1Y3QgY3JlZCAqY3Jl ZDsKIAlzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ2k7Ci0JdW5zaWduZWQgaW50IHVpZDsKLQl1bnNp Z25lZCBpbnQgZ2lkOworCWt1aWRfdCB1aWQ7CisJa2dpZF90IGdpZDsKIAlpbnQgaTsKIAot CXVpZCA9IHVzZXJfdWlkKHVzZXIpOwotCWdpZCA9IHVzZXJfZ2lkKHVzZXIpOworCXVpZCA9 IHVzZXItPmt1aWQ7CisJZ2lkID0gdXNlci0+a2dpZDsKIAlpZiAoc2hhcmUtPmZvcmNlX3Vp ZCAhPSBLU01CRF9TSEFSRV9JTlZBTElEX1VJRCkKLQkJdWlkID0gc2hhcmUtPmZvcmNlX3Vp ZDsKKwkJdWlkID0gbWFrZV9rdWlkKCZpbml0X3VzZXJfbnMsIHNoYXJlLT5mb3JjZV91aWQp OwogCWlmIChzaGFyZS0+Zm9yY2VfZ2lkICE9IEtTTUJEX1NIQVJFX0lOVkFMSURfR0lEKQot CQlnaWQgPSBzaGFyZS0+Zm9yY2VfZ2lkOworCQlnaWQgPSBtYWtlX2tnaWQoJmluaXRfdXNl cl9ucywgc2hhcmUtPmZvcmNlX2dpZCk7CiAKIAljcmVkID0gcHJlcGFyZV9rZXJuZWxfY3Jl ZCgmaW5pdF90YXNrKTsKIAlpZiAoIWNyZWQpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JY3Jl ZC0+ZnN1aWQgPSBtYWtlX2t1aWQoJmluaXRfdXNlcl9ucywgdWlkKTsKLQljcmVkLT5mc2dp ZCA9IG1ha2Vfa2dpZCgmaW5pdF91c2VyX25zLCBnaWQpOworCWNyZWQtPmZzdWlkID0gdWlk OworCWNyZWQtPmZzZ2lkID0gZ2lkOwogCiAJZ2kgPSBncm91cHNfYWxsb2ModXNlci0+bmdy b3Vwcyk7CiAJaWYgKCFnaSkgewpAQCAtODA3LDcgKzgwNyw3IEBAIGludCBfX2tzbWJkX292 ZXJyaWRlX2ZzaWRzKHN0cnVjdCBrc21iZF93b3JrICp3b3JrLAogCX0KIAogCWZvciAoaSA9 IDA7IGkgPCB1c2VyLT5uZ3JvdXBzOyBpKyspCi0JCWdpLT5naWRbaV0gPSBtYWtlX2tnaWQo JmluaXRfdXNlcl9ucywgdXNlci0+c2dpZFtpXSk7CisJCWdpLT5naWRbaV0gPSB1c2VyLT5z Z2lkW2ldOwogCiAJaWYgKHVzZXItPm5ncm91cHMpCiAJCWdyb3Vwc19zb3J0KGdpKTsKZGlm ZiAtLWdpdCBhL2ZzL3NtYi9zZXJ2ZXIvc21iYWNsLmMgYi9mcy9zbWIvc2VydmVyL3NtYmFj bC5jCmluZGV4IGFlMTUyN2FhNi4uMTBjOWIxMTFmIDEwMDY0NAotLS0gYS9mcy9zbWIvc2Vy dmVyL3NtYmFjbC5jCisrKyBiL2ZzL3NtYi9zZXJ2ZXIvc21iYWNsLmMKQEAgLTcsNiArNyw3 IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvdW5h bGlnbmVkLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3N0 cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L21udF9pZG1hcHBpbmcuaD4KQEAgLTI1NCw2ICsy NTUsNjcgQEAgdm9pZCBpZF90b19zaWQodW5zaWduZWQgaW50IGNpZCwgdWludCBzaWR0eXBl LCBzdHJ1Y3Qgc21iX3NpZCAqc3NpZCkKIAlzc2lkLT5udW1fc3ViYXV0aCsrOwogfQogCisv KgorICogVVVJRCBhbmQgR1VJRCB1c2VycyBhbmQgZ3JvdXBzIChEb2N1bWVudGF0aW9uL3Vz ZXJzcGFjZS1hcGkvdWlkX3IucnN0KQorICogaGF2ZSBubyBSSUQ6IHRoZXkgYXJlIFMtMS0y Mi08a2luZD4tdzAtdzEtdzItdzMsIHRoZSAxNiBieXRlcyBvZiB0aGUgaWQKKyAqIGFzIGZv dXIgYmlnIGVuZGlhbiB3b3JkcywgbmV4dCB0byBTLTEtMjItMS08dWlkPiBhbmQgUy0xLTIy LTItPGdpZD4uCisgKi8KKyNkZWZpbmUgU0lEX1VOSVhfVVVJRF9VU0VSCTMKKyNkZWZpbmUg U0lEX1VOSVhfVVVJRF9HUk9VUAk0CisjZGVmaW5lIFNJRF9VTklYX0dVSURfVVNFUgk1Cisj ZGVmaW5lIFNJRF9VTklYX0dVSURfR1JPVVAJNgorCitzdGF0aWMgdm9pZCBpZF9yX3RvX3Np ZCh1MzIga2luZCwgY29uc3QgdTggKmlkLCBzdHJ1Y3Qgc21iX3NpZCAqc3NpZCkKK3sKKwlp bnQgaTsKKworCXNtYl9jb3B5X3NpZChzc2lkLCAmc2lkX3VuaXhfdXNlcnMpOworCXNzaWQt PnN1Yl9hdXRoWzBdID0gY3B1X3RvX2xlMzIoa2luZCk7CisJZm9yIChpID0gMDsgaSA8IDQ7 IGkrKykKKwkJc3NpZC0+c3ViX2F1dGhbMSArIGldID0gY3B1X3RvX2xlMzIoZ2V0X3VuYWxp Z25lZF9iZTMyKGlkICsgNCAqIGkpKTsKKwlzc2lkLT5udW1fc3ViYXV0aCA9IDU7Cit9CisK Ky8qIHRoZSBraW5kIChTSURfVU5JWF8qKSBhbmQgMTYgYnl0ZXMgb2YgYSBVVUlEIG9yIEdV SUQgU0lELCBvciAwICovCitzdGF0aWMgdTMyIHNpZF90b19pZF9yKGNvbnN0IHN0cnVjdCBz bWJfc2lkICpwc2lkLCB1OCAqaWQpCit7CisJdTMyIGtpbmQ7CisJaW50IGk7CisKKwlpZiAo cHNpZC0+bnVtX3N1YmF1dGggIT0gNSB8fCBwc2lkLT5yZXZpc2lvbiAhPSBzaWRfdW5peF91 c2Vycy5yZXZpc2lvbiB8fAorCSAgICBtZW1jbXAocHNpZC0+YXV0aG9yaXR5LCBzaWRfdW5p eF91c2Vycy5hdXRob3JpdHksIE5VTV9BVVRIUykpCisJCXJldHVybiAwOworCWtpbmQgPSBs ZTMyX3RvX2NwdShwc2lkLT5zdWJfYXV0aFswXSk7CisJaWYgKGtpbmQgPCBTSURfVU5JWF9V VUlEX1VTRVIgfHwga2luZCA+IFNJRF9VTklYX0dVSURfR1JPVVApCisJCXJldHVybiAwOwor CWZvciAoaSA9IDA7IGkgPCA0OyBpKyspCisJCXB1dF91bmFsaWduZWRfYmUzMihsZTMyX3Rv X2NwdShwc2lkLT5zdWJfYXV0aFsxICsgaV0pLCBpZCArIDQgKiBpKTsKKwlyZXR1cm4ga2lu ZDsKK30KKworLyogaWRfdG9fc2lkKCkgZm9yIGFueSBrdWlkOiBhIGNsYXNzaWMgb25lIGdl dHMgdGhlIHVzdWFsIFNJRHMgKi8KK3ZvaWQga3NtYmRfdWlkX3RvX3NpZChrdWlkX3QgdWlk LCB1aW50IHNpZHR5cGUsIHN0cnVjdCBzbWJfc2lkICpzc2lkKQoreworCWlmICh1aWRfaXNf bGVnYWN5KHVpZCkgfHwgc2lkdHlwZSA9PSBTSURDUkVBVE9SX09XTkVSIHx8CisJICAgIHNp ZHR5cGUgPT0gU0lEQ1JFQVRPUl9HUk9VUCkKKwkJaWRfdG9fc2lkKGZyb21fa3VpZF9tdW5n ZWQoJmluaXRfdXNlcl9ucywgdWlkKSwgc2lkdHlwZSwgc3NpZCk7CisJZWxzZSBpZiAodWlk LnR5cGUgPT0gS0lEX1VVSUQpCisJCWlkX3JfdG9fc2lkKFNJRF9VTklYX1VVSURfVVNFUiwg dWlkLnV1aWQuYiwgc3NpZCk7CisJZWxzZQorCQlpZF9yX3RvX3NpZChTSURfVU5JWF9HVUlE X1VTRVIsIHVpZC5ndWlkLmIsIHNzaWQpOworfQorCit2b2lkIGtzbWJkX2dpZF90b19zaWQo a2dpZF90IGdpZCwgdWludCBzaWR0eXBlLCBzdHJ1Y3Qgc21iX3NpZCAqc3NpZCkKK3sKKwlp ZiAoZ2lkX2lzX2xlZ2FjeShnaWQpIHx8IHNpZHR5cGUgPT0gU0lEQ1JFQVRPUl9PV05FUiB8 fAorCSAgICBzaWR0eXBlID09IFNJRENSRUFUT1JfR1JPVVApCisJCWlkX3RvX3NpZChmcm9t X2tnaWRfbXVuZ2VkKCZpbml0X3VzZXJfbnMsIGdpZCksIHNpZHR5cGUsIHNzaWQpOworCWVs c2UgaWYgKGdpZC50eXBlID09IEtJRF9VVUlEKQorCQlpZF9yX3RvX3NpZChTSURfVU5JWF9V VUlEX0dST1VQLCBnaWQudXVpZC5iLCBzc2lkKTsKKwllbHNlCisJCWlkX3JfdG9fc2lkKFNJ RF9VTklYX0dVSURfR1JPVVAsIGdpZC5ndWlkLmIsIHNzaWQpOworfQorCiBzdGF0aWMgaW50 IHNpZF90b19pZChzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwKIAkJICAgICBzdHJ1Y3Qgc21i X3NpZCAqcHNpZCwgdWludCBzaWR0eXBlLAogCQkgICAgIHN0cnVjdCBzbWJfZmF0dHIgKmZh dHRyKQpAQCAtMjc2LDYgKzMzOCw0MiBAQCBzdGF0aWMgaW50IHNpZF90b19pZChzdHJ1Y3Qg bW50X2lkbWFwICppZG1hcCwKIAkJcmV0dXJuIC1FSU87CiAJfQogCisJeworCQl1OCBpZFsx Nl07CisJCXUzMiBraW5kID0gc2lkX3RvX2lkX3IocHNpZCwgaWQpOworCisJCWlmIChraW5k ICYmIHNpZHR5cGUgPT0gU0lET1dORVIgJiYKKwkJICAgIChraW5kID09IFNJRF9VTklYX1VV SURfVVNFUiB8fCBraW5kID09IFNJRF9VTklYX0dVSURfVVNFUikpIHsKKwkJCWt1aWRfdCB1 aWQ7CisKKwkJCWlmIChraW5kID09IFNJRF9VTklYX1VVSURfVVNFUikKKwkJCQl1aWQgPSBL VUlEVF9JTklUX1VVSUQoKih1dWlkX3QgKilpZCk7CisJCQllbHNlCisJCQkJdWlkID0gS1VJ RFRfSU5JVF9HVUlEKCooZ3VpZF90ICopaWQpOworCQkJdWlkID0gZnJvbV92ZnN1aWQoaWRt YXAsICZpbml0X3VzZXJfbnMsIFZGU1VJRFRfSU5JVCh1aWQpKTsKKwkJCWlmICghdWlkX3Zh bGlkKHVpZCkpCisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQlmYXR0ci0+Y2ZfdWlkID0gdWlk OworCQkJcmV0dXJuIDA7CisJCX0KKwkJaWYgKGtpbmQgJiYgc2lkdHlwZSAhPSBTSURPV05F UiAmJgorCQkgICAgKGtpbmQgPT0gU0lEX1VOSVhfVVVJRF9HUk9VUCB8fCBraW5kID09IFNJ RF9VTklYX0dVSURfR1JPVVApKSB7CisJCQlrZ2lkX3QgZ2lkOworCisJCQlpZiAoa2luZCA9 PSBTSURfVU5JWF9VVUlEX0dST1VQKQorCQkJCWdpZCA9IEtHSURUX0lOSVRfVVVJRCgqKHV1 aWRfdCAqKWlkKTsKKwkJCWVsc2UKKwkJCQlnaWQgPSBLR0lEVF9JTklUX0dVSUQoKihndWlk X3QgKilpZCk7CisJCQlnaWQgPSBmcm9tX3Zmc2dpZChpZG1hcCwgJmluaXRfdXNlcl9ucywg VkZTR0lEVF9JTklUKGdpZCkpOworCQkJaWYgKCFnaWRfdmFsaWQoZ2lkKSkKKwkJCQlyZXR1 cm4gLUVJTlZBTDsKKwkJCWZhdHRyLT5jZl9naWQgPSBnaWQ7CisJCQlyZXR1cm4gMDsKKwkJ fQorCQlpZiAoa2luZCkKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWlmIChzaWR0eXBl ID09IFNJRE9XTkVSKSB7CiAJCWt1aWRfdCB1aWQ7CiAJCXVpZF90IGlkOwpAQCAtNjQwLDE4 ICs3MzgsMTggQEAgc3RhdGljIHZvaWQgc2V0X3Bvc2l4X2FjbF9lbnRyaWVzX2RhY2woc3Ry dWN0IG1udF9pZG1hcCAqaWRtYXAsCiAJCQlicmVhazsKIAogCQlpZiAocGFjZS0+ZV90YWcg PT0gQUNMX1VTRVIpIHsKLQkJCXVpZF90IHVpZDsKKwkJCWt1aWRfdCB1aWQ7CiAJCQl1bnNp Z25lZCBpbnQgc2lkX3R5cGUgPSBTSURPV05FUjsKIAotCQkJdWlkID0gcG9zaXhfYWNsX3Vp ZF90cmFuc2xhdGUoaWRtYXAsIHBhY2UpOwotCQkJaWYgKCF1aWQpCisJCQl1aWQgPSBwb3Np eF9hY2xfa3VpZF90cmFuc2xhdGUoaWRtYXAsIHBhY2UpOworCQkJaWYgKHVpZF9lcSh1aWQs IEdMT0JBTF9ST09UX1VJRCkpCiAJCQkJc2lkX3R5cGUgPSBTSURVTklYX1VTRVI7Ci0JCQlp ZF90b19zaWQodWlkLCBzaWRfdHlwZSwgc2lkKTsKKwkJCWtzbWJkX3VpZF90b19zaWQodWlk LCBzaWRfdHlwZSwgc2lkKTsKIAkJfSBlbHNlIGlmIChwYWNlLT5lX3RhZyA9PSBBQ0xfR1JP VVApIHsKLQkJCWdpZF90IGdpZDsKKwkJCWtnaWRfdCBnaWQ7CiAKLQkJCWdpZCA9IHBvc2l4 X2FjbF9naWRfdHJhbnNsYXRlKGlkbWFwLCBwYWNlKTsKLQkJCWlkX3RvX3NpZChnaWQsIFNJ RFVOSVhfR1JPVVAsIHNpZCk7CisJCQlnaWQgPSBwb3NpeF9hY2xfa2dpZF90cmFuc2xhdGUo aWRtYXAsIHBhY2UpOworCQkJa3NtYmRfZ2lkX3RvX3NpZChnaWQsIFNJRFVOSVhfR1JPVVAs IHNpZCk7CiAJCX0gZWxzZSBpZiAocGFjZS0+ZV90YWcgPT0gQUNMX09USEVSICYmICFoYWRf bnRfYWNlcykgewogCQkJc21iX2NvcHlfc2lkKHNpZCwgJnNpZF9ldmVyeW9uZSk7CiAJCX0g ZWxzZSB7CkBAIC04MTMsNyArOTExLDcgQEAgc3RhdGljIHZvaWQgc2V0X21vZGVfZGFjbChz dHJ1Y3QgbW50X2lkbWFwICppZG1hcCwKIAl1MTYgbnVtX2FjZXMgPSAwOwogCXUxNiBzaXpl ID0gMCwgYWNlX3NpemUgPSAwOwogCXVpZF90IHVpZDsKLQljb25zdCBzdHJ1Y3Qgc21iX3Np ZCAqc2lkOworCXN0cnVjdCBzbWJfc2lkIG93bmVyX3NpZCwgZ3JvdXBfc2lkOwogCiAJcGFj ZSA9IHBuZGFjZSA9IChzdHJ1Y3Qgc21iX2FjZSAqKSgoY2hhciAqKXBuZGFjbCArIHNpemVv ZihzdHJ1Y3Qgc21iX2FjbCkpOwogCkBAIC04MjMsMjUgKzkyMSwyMCBAQCBzdGF0aWMgdm9p ZCBzZXRfbW9kZV9kYWNsKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLAogCQlnb3RvIG91dDsK IAl9CiAKLQkvKiBvd25lciBSSUQgKi8KKwkvKiBvd25lcjogUklELCBvciBhIFVVSUQgb3Ig R1VJRCBTSUQgKi8KIAl1aWQgPSBmcm9tX2t1aWQoJmluaXRfdXNlcl9ucywgZmF0dHItPmNm X3VpZCk7Ci0JaWYgKHVpZCkKLQkJc2lkID0gJnNlcnZlcl9jb25mLmRvbWFpbl9zaWQ7Ci0J ZWxzZQotCQlzaWQgPSAmc2lkX3VuaXhfdXNlcnM7Ci0JYWNlX3NpemUgPSBmaWxsX2FjZV9m b3Jfc2lkKHBhY2UsIHNpZCwgQUNDRVNTX0FMTE9XRUQsIDAsCisJa3NtYmRfdWlkX3RvX3Np ZChmYXR0ci0+Y2ZfdWlkLCB1aWQgPyBTSURPV05FUiA6IFNJRFVOSVhfVVNFUiwgJm93bmVy X3NpZCk7CisJYWNlX3NpemUgPSBmaWxsX2FjZV9mb3Jfc2lkKHBhY2UsICZvd25lcl9zaWQs IEFDQ0VTU19BTExPV0VELCAwLAogCQkJCSAgICBmYXR0ci0+Y2ZfbW9kZSwgMDcwMCk7Ci0J cGFjZS0+c2lkLnN1Yl9hdXRoW3BhY2UtPnNpZC5udW1fc3ViYXV0aCsrXSA9IGNwdV90b19s ZTMyKHVpZCk7Ci0JcGFjZS0+c2l6ZSA9IGNwdV90b19sZTE2KGFjZV9zaXplICsgNCk7CisJ cGFjZS0+c2l6ZSA9IGNwdV90b19sZTE2KGFjZV9zaXplKTsKIAlzaXplICs9IGxlMTZfdG9f Y3B1KHBhY2UtPnNpemUpOwogCXBhY2UgPSAoc3RydWN0IHNtYl9hY2UgKikoKGNoYXIgKilw bmRhY2UgKyBzaXplKTsKIAotCS8qIEdyb3VwIFJJRCAqLwotCWFjZV9zaXplID0gZmlsbF9h Y2VfZm9yX3NpZChwYWNlLCAmc2lkX3VuaXhfZ3JvdXBzLAorCS8qIEdyb3VwOiBSSUQsIG9y IGEgVVVJRCBvciBHVUlEIFNJRCAqLworCWtzbWJkX2dpZF90b19zaWQoZmF0dHItPmNmX2dp ZCwgU0lEVU5JWF9HUk9VUCwgJmdyb3VwX3NpZCk7CisJYWNlX3NpemUgPSBmaWxsX2FjZV9m b3Jfc2lkKHBhY2UsICZncm91cF9zaWQsCiAJCQkJICAgIEFDQ0VTU19BTExPV0VELCAwLCBm YXR0ci0+Y2ZfbW9kZSwgMDA3MCk7Ci0JcGFjZS0+c2lkLnN1Yl9hdXRoW3BhY2UtPnNpZC5u dW1fc3ViYXV0aCsrXSA9Ci0JCWNwdV90b19sZTMyKGZyb21fa2dpZCgmaW5pdF91c2VyX25z LCBmYXR0ci0+Y2ZfZ2lkKSk7Ci0JcGFjZS0+c2l6ZSA9IGNwdV90b19sZTE2KGFjZV9zaXpl ICsgNCk7CisJcGFjZS0+c2l6ZSA9IGNwdV90b19sZTE2KGFjZV9zaXplKTsKIAlzaXplICs9 IGxlMTZfdG9fY3B1KHBhY2UtPnNpemUpOwogCXBhY2UgPSAoc3RydWN0IHNtYl9hY2UgKiko KGNoYXIgKilwbmRhY2UgKyBzaXplKTsKIAludW1fYWNlcyA9IDM7CkBAIC0xMDM4LDcgKzEx MzEsNiBAQCBpbnQgYnVpbGRfc2VjX2Rlc2Moc3RydWN0IG1udF9pZG1hcCAqaWRtYXAsCiAJ c3RydWN0IHNtYl9zaWQgKm5vd25lcl9zaWRfcHRyLCAqbmdyb3VwX3NpZF9wdHI7CiAJc3Ry dWN0IHNtYl9hY2wgKmRhY2xfcHRyID0gTlVMTDsgLyogbm8gbmVlZCBmb3IgU0FDTCBwdHIg Ki8KIAl1aWRfdCB1aWQ7Ci0JZ2lkX3QgZ2lkOwogCXVuc2lnbmVkIGludCBzaWRfdHlwZSA9 IFNJRE9XTkVSOwogCiAJbm93bmVyX3NpZF9wdHIgPSBrbWFsbG9jX29iaihzdHJ1Y3Qgc21i X3NpZCwgS1NNQkRfREVGQVVMVF9HRlApOwpAQCAtMTA0OCw3ICsxMTQwLDcgQEAgaW50IGJ1 aWxkX3NlY19kZXNjKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLAogCXVpZCA9IGZyb21fa3Vp ZCgmaW5pdF91c2VyX25zLCBmYXR0ci0+Y2ZfdWlkKTsKIAlpZiAoIXVpZCkKIAkJc2lkX3R5 cGUgPSBTSURVTklYX1VTRVI7Ci0JaWRfdG9fc2lkKHVpZCwgc2lkX3R5cGUsIG5vd25lcl9z aWRfcHRyKTsKKwlrc21iZF91aWRfdG9fc2lkKGZhdHRyLT5jZl91aWQsIHNpZF90eXBlLCBu b3duZXJfc2lkX3B0cik7CiAKIAluZ3JvdXBfc2lkX3B0ciA9IGttYWxsb2Nfb2JqKHN0cnVj dCBzbWJfc2lkLCBLU01CRF9ERUZBVUxUX0dGUCk7CiAJaWYgKCFuZ3JvdXBfc2lkX3B0cikg ewpAQCAtMTA1Niw4ICsxMTQ4LDcgQEAgaW50IGJ1aWxkX3NlY19kZXNjKHN0cnVjdCBtbnRf aWRtYXAgKmlkbWFwLAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKLQlnaWQgPSBmcm9tX2tn aWQoJmluaXRfdXNlcl9ucywgZmF0dHItPmNmX2dpZCk7Ci0JaWRfdG9fc2lkKGdpZCwgU0lE VU5JWF9HUk9VUCwgbmdyb3VwX3NpZF9wdHIpOworCWtzbWJkX2dpZF90b19zaWQoZmF0dHIt PmNmX2dpZCwgU0lEVU5JWF9HUk9VUCwgbmdyb3VwX3NpZF9wdHIpOwogCiAJb2Zmc2V0ID0g c2l6ZW9mKHN0cnVjdCBzbWJfbnRzZCk7CiAJcG50c2QtPnNhY2xvZmZzZXQgPSAwOwpAQCAt MTE4NSw3ICsxMjc2LDcgQEAgc3RhdGljIGludCBzbWJfdmFsaWRhdGVfbnRzZF9zaWQoc3Ry dWN0IHNtYl9udHNkICpwbnRzZCwgc2l6ZV90IHBudHNkX3NpemUsCiAKIGludCBzbWJfaW5o ZXJpdF9kYWNsKHN0cnVjdCBrc21iZF9jb25uICpjb25uLAogCQkgICAgIGNvbnN0IHN0cnVj dCBwYXRoICpwYXRoLAotCQkgICAgIHVuc2lnbmVkIGludCB1aWQsIHVuc2lnbmVkIGludCBn aWQpCisJCSAgICAga3VpZF90IHVpZCwga2dpZF90IGdpZCkKIHsKIAljb25zdCBzdHJ1Y3Qg c21iX3NpZCAqcHNpZCwgKmNyZWF0b3IgPSBOVUxMOwogCXN0cnVjdCBzbWJfYWNlICpwYXJl bnRfYWNlcywgKmFjZXM7CkBAIC0xMjkyLDExICsxMzgzLDExIEBAIGludCBzbWJfaW5oZXJp dF9kYWNsKHN0cnVjdCBrc21iZF9jb25uICpjb25uLAogCiAJCWlmICghY29tcGFyZV9zaWRz KCZjcmVhdG9yX293bmVyLCAmcGFyZW50X2FjZXMtPnNpZCkpIHsKIAkJCWNyZWF0b3IgPSAm Y3JlYXRvcl9vd25lcjsKLQkJCWlkX3RvX3NpZCh1aWQsIFNJRE9XTkVSLCAmb3duZXJfc2lk KTsKKwkJCWtzbWJkX3VpZF90b19zaWQodWlkLCBTSURPV05FUiwgJm93bmVyX3NpZCk7CiAJ CQlwc2lkID0gJm93bmVyX3NpZDsKIAkJfSBlbHNlIGlmICghY29tcGFyZV9zaWRzKCZjcmVh dG9yX2dyb3VwLCAmcGFyZW50X2FjZXMtPnNpZCkpIHsKIAkJCWNyZWF0b3IgPSAmY3JlYXRv cl9ncm91cDsKLQkJCWlkX3RvX3NpZChnaWQsIFNJRFVOSVhfR1JPVVAsICZncm91cF9zaWQp OworCQkJa3NtYmRfZ2lkX3RvX3NpZChnaWQsIFNJRFVOSVhfR1JPVVAsICZncm91cF9zaWQp OwogCQkJcHNpZCA9ICZncm91cF9zaWQ7CiAJCX0gZWxzZSB7CiAJCQljcmVhdG9yID0gTlVM TDsKQEAgLTE0NDUsNyArMTUzNiw3IEBAIGJvb2wgc21iX2luaGVyaXRfZmxhZ3MoaW50IGZs YWdzLCBib29sIGlzX2RpcikKIH0KIAogaW50IHNtYl9jaGVja19wZXJtX2RhY2woc3RydWN0 IGtzbWJkX2Nvbm4gKmNvbm4sIGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLAotCQkJX19sZTMy ICpwZGFjY2VzcywgX19sZTMyIHJhd19kYWNjZXNzLCBpbnQgdWlkLAorCQkJX19sZTMyICpw ZGFjY2VzcywgX19sZTMyIHJhd19kYWNjZXNzLCBrdWlkX3QgdWlkLAogCQkJYm9vbCBzdHJp Y3QpCiB7CiAJc3RydWN0IG1udF9pZG1hcCAqaWRtYXAgPSBtbnRfaWRtYXAocGF0aC0+bW50 KTsKQEAgLTE0OTQsOSArMTU4NSw5IEBAIGludCBzbWJfY2hlY2tfcGVybV9kYWNsKHN0cnVj dCBrc21iZF9jb25uICpjb25uLCBjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwKIAkJZ290byBl cnJfb3V0OwogCX0KIAotCWlmICghdWlkKQorCWlmICh1aWRfZXEodWlkLCBHTE9CQUxfUk9P VF9VSUQpKQogCQlzaWRfdHlwZSA9IFNJRFVOSVhfVVNFUjsKLQlpZF90b19zaWQodWlkLCBz aWRfdHlwZSwgJnNpZCk7CisJa3NtYmRfdWlkX3RvX3NpZCh1aWQsIHNpZF90eXBlLCAmc2lk KTsKIAogCWlmICgqcGRhY2Nlc3MgJiBGSUxFX01BWElNQUxfQUNDRVNTX0xFKSB7CiAJCWFj Y2Vzc19iaXRzID0gUkVBRF9DT05UUk9MIHwgV1JJVEVfREFDIHwgRklMRV9SRUFEX0FUVFJJ QlVURVMgfApAQCAtMTU4MSwxOCArMTY3MiwyNyBAQCBpbnQgc21iX2NoZWNrX3Blcm1fZGFj bChzdHJ1Y3Qga3NtYmRfY29ubiAqY29ubiwgY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsCiAJ aWYgKElTX0VOQUJMRUQoQ09ORklHX0ZTX1BPU0lYX0FDTCkpIHsKIAkJcG9zaXhfYWNscyA9 IGdldF9pbm9kZV9hY2woZF9pbm9kZShwYXRoLT5kZW50cnkpLCBBQ0xfVFlQRV9BQ0NFU1Mp OwogCQlpZiAoIUlTX0VSUl9PUl9OVUxMKHBvc2l4X2FjbHMpICYmICFmb3VuZCAmJiAhb3Ro ZXJzX2FjZSkgewotCQkJdW5zaWduZWQgaW50IGlkID0gLTE7CisJCQlrdWlkX3QgcGFfdWlk OworCQkJYm9vbCBtYXRjaDsKIAogCQkJcGFfZW50cnkgPSBwb3NpeF9hY2xzLT5hX2VudHJp ZXM7CiAJCQlmb3IgKGkgPSAwOyBpIDwgcG9zaXhfYWNscy0+YV9jb3VudDsgaSsrLCBwYV9l bnRyeSsrKSB7Ci0JCQkJaWYgKHBhX2VudHJ5LT5lX3RhZyA9PSBBQ0xfVVNFUikKLQkJCQkJ aWQgPSBwb3NpeF9hY2xfdWlkX3RyYW5zbGF0ZShpZG1hcCwgcGFfZW50cnkpOwotCQkJCWVs c2UgaWYgKHBhX2VudHJ5LT5lX3RhZyA9PSBBQ0xfR1JPVVApCi0JCQkJCWlkID0gcG9zaXhf YWNsX2dpZF90cmFuc2xhdGUoaWRtYXAsIHBhX2VudHJ5KTsKLQkJCQllbHNlCisJCQkJLyoK KwkJCQkgKiBBIGdyb3VwIGVudHJ5IG1hdGNoZXMgYSBnaWQgZXF1YWwgdG8gdGhlIHVpZCwK KwkJCQkgKiBhcyBpdCBhbHdheXMgaGFzLgorCQkJCSAqLworCQkJCWlmIChwYV9lbnRyeS0+ ZV90YWcgPT0gQUNMX1VTRVIpIHsKKwkJCQkJcGFfdWlkID0gcG9zaXhfYWNsX2t1aWRfdHJh bnNsYXRlKGlkbWFwLCBwYV9lbnRyeSk7CisJCQkJCW1hdGNoID0gdWlkX2VxKHBhX3VpZCwg dWlkKTsKKwkJCQl9IGVsc2UgaWYgKHBhX2VudHJ5LT5lX3RhZyA9PSBBQ0xfR1JPVVApIHsK KwkJCQkJbWF0Y2ggPSB1aWRfaXNfbGVnYWN5KHVpZCkgJiYKKwkJCQkJCXBvc2l4X2FjbF9n aWRfdHJhbnNsYXRlKGlkbWFwLCBwYV9lbnRyeSkgPT0KKwkJCQkJCWZyb21fa3VpZCgmaW5p dF91c2VyX25zLCB1aWQpOworCQkJCX0gZWxzZSB7CiAJCQkJCWNvbnRpbnVlOworCQkJCX0K IAotCQkJCWlmIChpZCA9PSB1aWQpIHsKKwkJCQlpZiAobWF0Y2gpIHsKIAkJCQkJbW9kZV90 b19hY2Nlc3NfZmxhZ3MocGFfZW50cnktPmVfcGVybSwKIAkJCQkJCQkgICAgIDA3NzcsCiAJ CQkJCQkJICAgICAmYWNjZXNzX2JpdHMpOwpkaWZmIC0tZ2l0IGEvZnMvc21iL3NlcnZlci9z bWJhY2wuaCBiL2ZzL3NtYi9zZXJ2ZXIvc21iYWNsLmgKaW5kZXggMDE4MTBjMTZjLi5iNmEw MWYwZDQgMTAwNjQ0Ci0tLSBhL2ZzL3NtYi9zZXJ2ZXIvc21iYWNsLmgKKysrIGIvZnMvc21i L3NlcnZlci9zbWJhY2wuaApAQCAtOTMsMTggKzkzLDMzIEBAIHZvaWQgcG9zaXhfc3RhdGVf dG9fYWNsKHN0cnVjdCBwb3NpeF9hY2xfc3RhdGUgKnN0YXRlLAogaW50IGNvbXBhcmVfc2lk cyhjb25zdCBzdHJ1Y3Qgc21iX3NpZCAqY3RzaWQsIGNvbnN0IHN0cnVjdCBzbWJfc2lkICpj d3NpZCk7CiBib29sIHNtYl9pbmhlcml0X2ZsYWdzKGludCBmbGFncywgYm9vbCBpc19kaXIp OwogaW50IHNtYl9pbmhlcml0X2RhY2woc3RydWN0IGtzbWJkX2Nvbm4gKmNvbm4sIGNvbnN0 IHN0cnVjdCBwYXRoICpwYXRoLAotCQkgICAgIHVuc2lnbmVkIGludCB1aWQsIHVuc2lnbmVk IGludCBnaWQpOworCQkgICAgIGt1aWRfdCB1aWQsIGtnaWRfdCBnaWQpOwogaW50IHNtYl9j aGVja19wZXJtX2RhY2woc3RydWN0IGtzbWJkX2Nvbm4gKmNvbm4sIGNvbnN0IHN0cnVjdCBw YXRoICpwYXRoLAotCQkJX19sZTMyICpwZGFjY2VzcywgX19sZTMyIHJhd19kYWNjZXNzLCBp bnQgdWlkLAorCQkJX19sZTMyICpwZGFjY2VzcywgX19sZTMyIHJhd19kYWNjZXNzLCBrdWlk X3QgdWlkLAogCQkJYm9vbCBzdHJpY3QpOwogaW50IHNldF9pbmZvX3NlYyhzdHJ1Y3Qga3Nt YmRfY29ubiAqY29ubiwgc3RydWN0IGtzbWJkX3RyZWVfY29ubmVjdCAqdGNvbiwKIAkJIGNv bnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3Qgc21iX250c2QgKnBudHNkLCBpbnQgbnRz ZF9sZW4sCiAJCSBib29sIHR5cGVfY2hlY2ssIGJvb2wgZ2V0X3dyaXRlKTsKIHZvaWQgaWRf dG9fc2lkKHVuc2lnbmVkIGludCBjaWQsIHVpbnQgc2lkdHlwZSwgc3RydWN0IHNtYl9zaWQg KnNzaWQpOwordm9pZCBrc21iZF91aWRfdG9fc2lkKGt1aWRfdCB1aWQsIHVpbnQgc2lkdHlw ZSwgc3RydWN0IHNtYl9zaWQgKnNzaWQpOwordm9pZCBrc21iZF9naWRfdG9fc2lkKGtnaWRf dCBnaWQsIHVpbnQgc2lkdHlwZSwgc3RydWN0IHNtYl9zaWQgKnNzaWQpOwogdm9pZCBrc21i ZF9pbml0X2RvbWFpbih1MzIgKnN1Yl9hdXRoKTsKIHNpemVfdCBzbWJfYWNsX3NlY19kZXNj X3NjcmF0Y2hfbGVuKHN0cnVjdCBzbWJfZmF0dHIgKmZhdHRyLAogCQlzdHJ1Y3Qgc21iX250 c2QgKnBwbnRzZCwgaW50IHBwbnRzZF9zaXplLCBpbnQgYWRkaXRpb25faW5mbyk7CiAKKy8q IHRoZSBvd25lciBvZiBhbiBBQ0wgZW50cnkgYXMgYSBrdWlkIChhbHNvIGEgVVVJRCBvciBH VUlEKSAqLworc3RhdGljIGlubGluZSBrdWlkX3QgcG9zaXhfYWNsX2t1aWRfdHJhbnNsYXRl KHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLAorCQkJCQkgICAgICBzdHJ1Y3QgcG9zaXhfYWNs X2VudHJ5ICpwYWNlKQoreworCXJldHVybiB2ZnN1aWRfaW50b19rdWlkKG1ha2VfdmZzdWlk KGlkbWFwLCAmaW5pdF91c2VyX25zLCBwYWNlLT5lX3VpZCkpOworfQorCitzdGF0aWMgaW5s aW5lIGtnaWRfdCBwb3NpeF9hY2xfa2dpZF90cmFuc2xhdGUoc3RydWN0IG1udF9pZG1hcCAq aWRtYXAsCisJCQkJCSAgICAgIHN0cnVjdCBwb3NpeF9hY2xfZW50cnkgKnBhY2UpCit7CisJ cmV0dXJuIHZmc2dpZF9pbnRvX2tnaWQobWFrZV92ZnNnaWQoaWRtYXAsICZpbml0X3VzZXJf bnMsIHBhY2UtPmVfZ2lkKSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdWlkX3QgcG9zaXhfYWNs X3VpZF90cmFuc2xhdGUoc3RydWN0IG1udF9pZG1hcCAqaWRtYXAsCiAJCQkJCSAgICBzdHJ1 Y3QgcG9zaXhfYWNsX2VudHJ5ICpwYWNlKQogewpkaWZmIC0tZ2l0IGEvZnMvc21iL3NlcnZl ci90cmFuc3BvcnRfaXBjLmMgYi9mcy9zbWIvc2VydmVyL3RyYW5zcG9ydF9pcGMuYwppbmRl eCA1YWQzM2ZiZmMuLjkzNGU2MmRlMCAxMDA2NDQKLS0tIGEvZnMvc21iL3NlcnZlci90cmFu c3BvcnRfaXBjLmMKKysrIGIvZnMvc21iL3NlcnZlci90cmFuc3BvcnRfaXBjLmMKQEAgLTU2 NCw3ICs1NjQsOSBAQCBzdGF0aWMgaW50IGlwY192YWxpZGF0ZV9tc2coc3RydWN0IGlwY19t c2dfdGFibGVfZW50cnkgKmVudHJ5KQogCQkJCXJldHVybiAtRUlOVkFMOwogCQkJfQogCQkJ bXNnX3N6ID0gc2l6ZW9mKHN0cnVjdCBrc21iZF9sb2dpbl9yZXNwb25zZV9leHQpICsKLQkJ CQkJcmVzcC0+bmdyb3VwcyAqIHNpemVvZihnaWRfdCk7CisJCQkJCXJlc3AtPm5ncm91cHMg KgorCQkJCQkocmVzcC0+ZmxhZ3MgJiBLU01CRF9MT0dJTl9FWFRfR1JPVVBTX1IgPworCQkJ CQkgc2l6ZW9mKF9fa2VybmVsX2dpZF9yX3QpIDogc2l6ZW9mKGdpZF90KSk7CiAJCX0KIAl9 CiAJfQpkaWZmIC0tZ2l0IGEvZnMvc21iL3NlcnZlci92ZnNfY2FjaGUuYyBiL2ZzL3NtYi9z ZXJ2ZXIvdmZzX2NhY2hlLmMKaW5kZXggNWVhZTQ5ZWQxLi5jMGIwMWQ4YTMgMTAwNjQ0Ci0t LSBhL2ZzL3NtYi9zZXJ2ZXIvdmZzX2NhY2hlLmMKKysrIGIvZnMvc21iL3NlcnZlci92ZnNf Y2FjaGUuYwpAQCAtMTU4MCw4ICsxNTgwLDggQEAgaW50IGtzbWJkX3Zmc19zZXRfZHVyYWJs ZV9vd25lcihzdHJ1Y3Qga3NtYmRfZmlsZSAqZnAsCiAJCXJldHVybiAtRU5PTUVNOwogCiAJ c3Bpbl9sb2NrKCZmcC0+Zl9sb2NrKTsKLQlmcC0+b3duZXIudWlkID0gdXNlci0+dWlkOwot CWZwLT5vd25lci5naWQgPSB1c2VyLT5naWQ7CisJZnAtPm93bmVyLnVpZCA9IHVzZXItPmt1 aWQ7CisJZnAtPm93bmVyLmdpZCA9IHVzZXItPmtnaWQ7CiAJZnAtPm93bmVyLm5hbWUgPSBu YW1lOwogCXNwaW5fdW5sb2NrKCZmcC0+Zl9sb2NrKTsKIApAQCAtMTYxMSw3ICsxNjExLDcg QEAgYm9vbCBrc21iZF92ZnNfY29tcGFyZV9kdXJhYmxlX293bmVyKHN0cnVjdCBrc21iZF9m aWxlICpmcCwKIAkJZ290byBvdXQ7CiAKIAkvKiBDaGVjayBpZiB0aGUgVUlEIGFuZCBHSUQg bWF0Y2ggZmlyc3QgKGZhc3QgcGF0aCkgKi8KLQlpZiAoZnAtPm93bmVyLnVpZCAhPSB1c2Vy LT51aWQgfHwgZnAtPm93bmVyLmdpZCAhPSB1c2VyLT5naWQpCisJaWYgKCF1aWRfZXEoZnAt Pm93bmVyLnVpZCwgdXNlci0+a3VpZCkgfHwgIWdpZF9lcShmcC0+b3duZXIuZ2lkLCB1c2Vy LT5rZ2lkKSkKIAkJZ290byBvdXQ7CiAKIAkvKiBWYWxpZGF0ZSB0aGUgYWNjb3VudCBuYW1l IHRvIGVuc3VyZSB0aGUgc2FtZSBTZWN1cml0eUNvbnRleHQgKi8KQEAgLTE4MTcsNyArMTgx Nyw4IEBAIGludCBrc21iZF9yZW9wZW5fZHVyYWJsZV9mZChzdHJ1Y3Qga3NtYmRfd29yayAq d29yaywgc3RydWN0IGtzbWJkX2ZpbGUgKmZwKQogCXVwX3dyaXRlKCZjaS0+bV9sb2NrKTsK IAogCXNwaW5fbG9jaygmZnAtPmZfbG9jayk7Ci0JZnAtPm93bmVyLnVpZCA9IGZwLT5vd25l ci5naWQgPSAwOworCWZwLT5vd25lci51aWQgPSBHTE9CQUxfUk9PVF9VSUQ7CisJZnAtPm93 bmVyLmdpZCA9IEdMT0JBTF9ST09UX0dJRDsKIAlrZnJlZShmcC0+b3duZXIubmFtZSk7CiAJ ZnAtPm93bmVyLm5hbWUgPSBOVUxMOwogCXNwaW5fdW5sb2NrKCZmcC0+Zl9sb2NrKTsKZGlm ZiAtLWdpdCBhL2ZzL3NtYi9zZXJ2ZXIvdmZzX2NhY2hlLmggYi9mcy9zbWIvc2VydmVyL3Zm c19jYWNoZS5oCmluZGV4IDFjNmZjNDM0OS4uZDAyOGEzOTQ0IDEwMDY0NAotLS0gYS9mcy9z bWIvc2VydmVyL3Zmc19jYWNoZS5oCisrKyBiL2ZzL3NtYi9zZXJ2ZXIvdmZzX2NhY2hlLmgK QEAgLTc3LDggKzc3LDggQEAgZW51bSB7CiAKIC8qIE93bmVyIGluZm9ybWF0aW9uIGZvciBk dXJhYmxlIGhhbmRsZSByZWNvbm5lY3QgKi8KIHN0cnVjdCBkdXJhYmxlX293bmVyIHsKLQl1 bnNpZ25lZCBpbnQgdWlkOwotCXVuc2lnbmVkIGludCBnaWQ7CisJa3VpZF90CQl1aWQ7CisJ a2dpZF90CQlnaWQ7CiAJY2hhciAqbmFtZTsKIH07CiAK --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0040-nfsd-nfs-carry-UUID-and-GUID-owners-as-their-text-fo.patch" Content-Disposition: attachment; filename*0="uid_r-0040-nfsd-nfs-carry-UUID-and-GUID-owners-as-their-text"; filename*1="-fo.patch" Content-Transfer-Encoding: base64 RnJvbSBhYjRmNjM4YmE4N2RhMzJlZWI4NTU2ODliNTJhOWRmMmMyYmFkZWMxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDE0OjQ1OjQ4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCA0MC80M10gbmZzZCwgbmZzOiBjYXJyeSBVVUlEIGFuZCBHVUlEIG93bmVycyBhcyB0 aGVpciB0ZXh0CiBmb3JtCgpORlN2NCBvd25lcnMgYW5kIEFDTCBwcmluY2lwYWxzIGFyZSBz dHJpbmdzLiBDbGFzc2ljIGlkcyBnbyB0aHJvdWdoCmlkbWFwZCBvciwgd2l0aCBpZCBtYXBw aW5nIGRpc2FibGVkLCBhcyBkZWNpbWFsIG51bWJlcnM7IGEgVVVJRCBvciBHVUlECnVzZXIg b3IgZ3JvdXAgKERvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS91aWRfci5yc3QpIGhhcyBu ZWl0aGVyIGEKbnVtYmVyIG5vciBhbiBpZG1hcGQgZW50cnkgYW5kIHNob3dlZCBhcyB0aGUg b3ZlcmZsb3cgaWQuCgpFbmNvZGUgc3VjaCBhbiBpZCBhcyBpdHMgdGV4dCBmb3JtIC0tICJ4 eHh4eHh4eC14eHh4LXh4eHgteHh4eC0KeHh4eHh4eHh4eHh4IiBmb3IgYSBVVUlELCB0aGUg c2FtZSBpbiBicmFjZXMgZm9yIGEgR1VJRCAtLSBpbiBib3RoCmRpcmVjdGlvbnMgb24gdGhl IHNlcnZlciBhbmQgdGhlIGNsaWVudCwgYW5kIHRha2Ugc3VjaCBhIHN0cmluZyAoaXQKaGFz IG5vICdAJywgc28gaXQgY2FuJ3QgYmUgYSB1c2VyQGRvbWFpbiBuYW1lKSBhcyB0aGF0IGlk IGFnYWluLiBORlN2NApzdXBlcmJsb2NrcyBzZXQgU0JfSV9VSURfUiwgc28gdGhlIGNsaWVu dCBjYW4gY2hvd24gdG8gc3VjaCBvd25lcnMuCgpSUEMgY3JlZGVudGlhbHMgc3RheSBjbGFz c2ljOiBBVVRIX1NZUyBoYXMgYSAzMiBiaXQgdWlkLCBzbyBhIFVVSUQgb3IKR1VJRCB1c2Vy IG9uIGEgY2xpZW50IHN0aWxsIHJlYWNoZXMgdGhlIHNlcnZlciBhcyB0aGUgb3ZlcmZsb3cg aWQuCgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1vcHVzLTUtNQotLS0KIGZzL25mcy9u ZnM0aWRtYXAuYyAgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog ZnMvbmZzL3N1cGVyLmMgICAgICB8ICAyICsrCiBmcy9uZnNkL25mczRpZG1hcC5jIHwgNjgg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAzIGZpbGVz IGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2ZzL25mcy9uZnM0aWRtYXAuYyBiL2ZzL25mcy9uZnM0aWRtYXAuYwppbmRleCBiYzM5 NzExMGQuLjBjYTUwYmY4ZiAxMDA2NDQKLS0tIGEvZnMvbmZzL25mczRpZG1hcC5jCisrKyBi L2ZzL25mcy9uZnM0aWRtYXAuYwpAQCAtNzI5LDExICs3MjksNDQgQEAgaWRtYXBfcmVsZWFz ZV9waXBlKHN0cnVjdCBpbm9kZSAqaW5vZGUpCiAJCW5mc19pZG1hcF9jb21wbGV0ZV9waXBl X3VwY2FsbChkYXRhLCAtRVBJUEUpOwogfQogCisvKgorICogVVVJRCBhbmQgR1VJRCBvd25l cnMgKERvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS91aWRfci5yc3QpIHRyYXZlbCBhcwor ICogdGhlIGlkJ3MgdGV4dCBmb3JtLCB3aGljaCBoYXMgbm8gJ0AnIGFuZCBubyBudW1iZXIg Zm9yIGlkbWFwZC4KKyAqLworc3RhdGljIGJvb2wgbmZzX2lkX3JfbmFtZShjb25zdCBjaGFy ICpuYW1lLCBzaXplX3QgbmFtZWxlbiwgY2hhciAqYnVmKQoreworCWlmIChuYW1lbGVuICE9 IDM2ICYmICEobmFtZWxlbiA9PSAzOCAmJiBuYW1lWzBdID09ICd7JykpCisJCXJldHVybiBm YWxzZTsKKwltZW1jcHkoYnVmLCBuYW1lLCBuYW1lbGVuKTsKKwlidWZbbmFtZWxlbl0gPSAn XDAnOworCXJldHVybiB0cnVlOworfQorCitzdGF0aWMgaW50IG5mc19pZF9yX3RvX3N0cmlu Zyhjb25zdCBjaGFyICpzdHIsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbikKK3sKKwlzaXpl X3QgbGVuID0gc3RybGVuKHN0cik7CisKKwlpZiAobGVuID4gYnVmbGVuKQorCQlyZXR1cm4g LUVSQU5HRTsKKwltZW1jcHkoYnVmLCBzdHIsIGxlbik7CisJcmV0dXJuIGxlbjsKK30KKwog aW50IG5mc19tYXBfbmFtZV90b191aWQoY29uc3Qgc3RydWN0IG5mc19zZXJ2ZXIgKnNlcnZl ciwgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVsZW4sIGt1aWRfdCAqdWlkKQogewog CXN0cnVjdCBpZG1hcCAqaWRtYXAgPSBzZXJ2ZXItPm5mc19jbGllbnQtPmNsX2lkbWFwOwog CV9fdTMyIGlkID0gLTE7CiAJaW50IHJldCA9IDA7CisJY2hhciBpZGJ1ZltLSURfU1RSX0xF Tl07CisKKwlpZiAobmZzX2lkX3JfbmFtZShuYW1lLCBuYW1lbGVuLCBpZGJ1ZikpIHsKKwkJ a3VpZF90IGsgPSBtYWtlX2t1aWRfc3RyKGlkbWFwX3VzZXJucyhpZG1hcCksIGlkYnVmKTsK KworCQlpZiAodWlkX3ZhbGlkKGspICYmICF1aWRfaXNfbGVnYWN5KGspKSB7CisJCQkqdWlk ID0gazsKKwkJCXJldHVybiAwOworCQl9CisJfQogCiAJaWYgKCFuZnNfbWFwX3N0cmluZ190 b19udW1lcmljKG5hbWUsIG5hbWVsZW4sICZpZCkpCiAJCXJldCA9IG5mc19pZG1hcF9sb29r dXBfaWQobmFtZSwgbmFtZWxlbiwgInVpZCIsICZpZCwgaWRtYXApOwpAQCAtNzUxLDYgKzc4 NCwxNiBAQCBpbnQgbmZzX21hcF9ncm91cF90b19naWQoY29uc3Qgc3RydWN0IG5mc19zZXJ2 ZXIgKnNlcnZlciwgY29uc3QgY2hhciAqbmFtZSwgc2l6ZQogCXN0cnVjdCBpZG1hcCAqaWRt YXAgPSBzZXJ2ZXItPm5mc19jbGllbnQtPmNsX2lkbWFwOwogCV9fdTMyIGlkID0gLTE7CiAJ aW50IHJldCA9IDA7CisJY2hhciBpZGJ1ZltLSURfU1RSX0xFTl07CisKKwlpZiAobmZzX2lk X3JfbmFtZShuYW1lLCBuYW1lbGVuLCBpZGJ1ZikpIHsKKwkJa2dpZF90IGsgPSBtYWtlX2tn aWRfc3RyKGlkbWFwX3VzZXJucyhpZG1hcCksIGlkYnVmKTsKKworCQlpZiAoZ2lkX3ZhbGlk KGspICYmICFnaWRfaXNfbGVnYWN5KGspKSB7CisJCQkqZ2lkID0gazsKKwkJCXJldHVybiAw OworCQl9CisJfQogCiAJaWYgKCFuZnNfbWFwX3N0cmluZ190b19udW1lcmljKG5hbWUsIG5h bWVsZW4sICZpZCkpCiAJCXJldCA9IG5mc19pZG1hcF9sb29rdXBfaWQobmFtZSwgbmFtZWxl biwgImdpZCIsICZpZCwgaWRtYXApOwpAQCAtNzY5LDYgKzgxMiwxMSBAQCBpbnQgbmZzX21h cF91aWRfdG9fbmFtZShjb25zdCBzdHJ1Y3QgbmZzX3NlcnZlciAqc2VydmVyLCBrdWlkX3Qg dWlkLCBjaGFyICpidWYsCiAJaW50IHJldCA9IC1FSU5WQUw7CiAJX191MzIgaWQ7CiAKKwlp ZiAoIXVpZF9pc19sZWdhY3kodWlkKSAmJiBrdWlkX2hhc19tYXBwaW5nKGlkbWFwX3VzZXJu cyhpZG1hcCksIHVpZCkpIHsKKwkJY2hhciBzdHJbS0lEX1NUUl9MRU5dOworCisJCXJldHVy biBuZnNfaWRfcl90b19zdHJpbmcoa3VpZF9zdHIodWlkLCBzdHIpLCBidWYsIGJ1Zmxlbik7 CisJfQogCWlkID0gZnJvbV9rdWlkX211bmdlZChpZG1hcF91c2VybnMoaWRtYXApLCB1aWQp OwogCWlmICghKHNlcnZlci0+Y2FwcyAmIE5GU19DQVBfVUlER0lEX05PTUFQKSkKIAkJcmV0 ID0gbmZzX2lkbWFwX2xvb2t1cF9uYW1lKGlkLCAidXNlciIsIGJ1ZiwgYnVmbGVuLCBpZG1h cCk7CkBAIC03ODMsNiArODMxLDExIEBAIGludCBuZnNfbWFwX2dpZF90b19ncm91cChjb25z dCBzdHJ1Y3QgbmZzX3NlcnZlciAqc2VydmVyLCBrZ2lkX3QgZ2lkLCBjaGFyICpidWYsCiAJ aW50IHJldCA9IC1FSU5WQUw7CiAJX191MzIgaWQ7CiAKKwlpZiAoIWdpZF9pc19sZWdhY3ko Z2lkKSAmJiBrZ2lkX2hhc19tYXBwaW5nKGlkbWFwX3VzZXJucyhpZG1hcCksIGdpZCkpIHsK KwkJY2hhciBzdHJbS0lEX1NUUl9MRU5dOworCisJCXJldHVybiBuZnNfaWRfcl90b19zdHJp bmcoa2dpZF9zdHIoZ2lkLCBzdHIpLCBidWYsIGJ1Zmxlbik7CisJfQogCWlkID0gZnJvbV9r Z2lkX211bmdlZChpZG1hcF91c2VybnMoaWRtYXApLCBnaWQpOwogCWlmICghKHNlcnZlci0+ Y2FwcyAmIE5GU19DQVBfVUlER0lEX05PTUFQKSkKIAkJcmV0ID0gbmZzX2lkbWFwX2xvb2t1 cF9uYW1lKGlkLCAiZ3JvdXAiLCBidWYsIGJ1ZmxlbiwgaWRtYXApOwpkaWZmIC0tZ2l0IGEv ZnMvbmZzL3N1cGVyLmMgYi9mcy9uZnMvc3VwZXIuYwppbmRleCBjYjE5ZjE1NDAuLjJkMjky ZTQ0MSAxMDA2NDQKLS0tIGEvZnMvbmZzL3N1cGVyLmMKKysrIGIvZnMvbmZzL3N1cGVyLmMK QEAgLTExMDAsNiArMTEwMCw4IEBAIHN0YXRpYyB2b2lkIG5mc19maWxsX3N1cGVyKHN0cnVj dCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBuZnNfZnNfY29udGV4dCAqY3R4KQogCQlicmVh azsKIAljYXNlIDQ6CiAJCXNiLT5zX2lmbGFncyB8PSBTQl9JX05PVU1BU0s7CisJCS8qIG93 bmVycyBhcmUgc3RyaW5nczogVVVJRHMgYW5kIEdVSURzIGluIHRoZWlyIHRleHQgZm9ybSAq LworCQlzYi0+c19pZmxhZ3MgfD0gU0JfSV9VSURfUjsKIAkJc2ItPnNfdGltZV9ncmFuID0g MTsKIAkJc2ItPnNfdGltZV9taW4gPSBTNjRfTUlOOwogCQlzYi0+c190aW1lX21heCA9IFM2 NF9NQVg7CmRpZmYgLS1naXQgYS9mcy9uZnNkL25mczRpZG1hcC5jIGIvZnMvbmZzZC9uZnM0 aWRtYXAuYwppbmRleCA3MWJhNjFiNWQuLjY2OTQ4NGViMyAxMDA2NDQKLS0tIGEvZnMvbmZz ZC9uZnM0aWRtYXAuYworKysgYi9mcy9uZnNkL25mczRpZG1hcC5jCkBAIC02NDMsNiArNjQz LDMzIEBAIHN0YXRpYyBfX2JlMzIgZW5jb2RlX25hbWVfZnJvbV9pZChzdHJ1Y3QgeGRyX3N0 cmVhbSAqeGRyLAogCXJldHVybiBpZG1hcF9pZF90b19uYW1lKHhkciwgcnFzdHAsIHR5cGUs IGlkKTsKIH0KIAorLyoKKyAqIFVVSUQgYW5kIEdVSUQgdXNlcnMgYW5kIGdyb3VwcyAoRG9j dW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL3VpZF9yLnJzdCkKKyAqIGhhdmUgbm8gbnVtYmVy IGZvciBpZG1hcGQgb3IgZm9yIG51bWVyaWMgb3duZXIgc3RyaW5nczogdGhlaXIgb3duZXIK KyAqIHN0cmluZyBpcyB0aGUgaWQncyB0ZXh0IGZvcm0sICJ4eHh4eHh4eC14eHh4LXh4eHgt eHh4eC14eHh4eHh4eHh4eHgiIG9yCisgKiAie3h4eHh4eHh4LXh4eHgteHh4eC14eHh4LXh4 eHh4eHh4eHh4eH0iLCBpbiBlaXRoZXIgbW9kZS4gU3VjaCBhIHN0cmluZworICogKGl0IGhh cyBubyAnQCcpIGlzIHRha2VuIGFzIHRoYXQgaWQgYWdhaW47IGNsYXNzaWMgaWRzIGFyZSB1 bmNoYW5nZWQuCisgKi8KK3N0YXRpYyBib29sIGlkX3JfbmFtZShjb25zdCBjaGFyICpuYW1l LCBzaXplX3QgbmFtZWxlbiwgY2hhciAqYnVmKQoreworCWlmIChuYW1lbGVuICE9IDM2ICYm ICEobmFtZWxlbiA9PSAzOCAmJiBuYW1lWzBdID09ICd7JykpCisJCXJldHVybiBmYWxzZTsK KwltZW1jcHkoYnVmLCBuYW1lLCBuYW1lbGVuKTsKKwlidWZbbmFtZWxlbl0gPSAnXDAnOwor CXJldHVybiB0cnVlOworfQorCitzdGF0aWMgX19iZTMyIGVuY29kZV9pZF9yKHN0cnVjdCB4 ZHJfc3RyZWFtICp4ZHIsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlzaXplX3QgbGVuID0gc3Ry bGVuKHN0cik7CisJX19iZTMyICpwID0geGRyX3Jlc2VydmVfc3BhY2UoeGRyLCBsZW4gKyA0 KTsKKworCWlmICghcCkKKwkJcmV0dXJuIG5mc2Vycl9yZXNvdXJjZTsKKwl4ZHJfZW5jb2Rl X29wYXF1ZShwLCBzdHIsIGxlbik7CisJcmV0dXJuIDA7Cit9CisKIC8qKgogICogbmZzZF9t YXBfbmFtZV90b191aWQgLSBNYXAgdXNlckBkb21haW4gdG8gbG9jYWwgVUlECiAgKiBAcnFz dHA6IFJQQyBleGVjdXRpb24gY29udGV4dApAQCAtNjcxLDYgKzY5OCwxNiBAQCBfX2JlMzIg bmZzZF9tYXBfbmFtZV90b191aWQoc3RydWN0IHN2Y19ycXN0ICpycXN0cCwgY29uc3QgY2hh ciAqbmFtZSwKIAlpZiAobmFtZSA9PSBOVUxMIHx8IG5hbWVsZW4gPT0gMCkKIAkJcmV0dXJu IG5mc2Vycl9pbnZhbDsKIAorCXsKKwkJY2hhciBidWZbS0lEX1NUUl9MRU5dOworCisJCWlm IChpZF9yX25hbWUobmFtZSwgbmFtZWxlbiwgYnVmKSkgeworCQkJKnVpZCA9IG1ha2Vfa3Vp ZF9zdHIobmZzZF91c2VyX25hbWVzcGFjZShycXN0cCksIGJ1Zik7CisJCQlpZiAodWlkX3Zh bGlkKCp1aWQpICYmICF1aWRfaXNfbGVnYWN5KCp1aWQpKQorCQkJCXJldHVybiBuZnNfb2s7 CisJCX0KKwl9CisKIAlzdGF0dXMgPSBkb19uYW1lX3RvX2lkKHJxc3RwLCBJRE1BUF9UWVBF X1VTRVIsIG5hbWUsIG5hbWVsZW4sICZpZCk7CiAJaWYgKHN0YXR1cykKIAkJcmV0dXJuIHN0 YXR1czsKQEAgLTcwOCw2ICs3NDUsMTYgQEAgX19iZTMyIG5mc2RfbWFwX25hbWVfdG9fZ2lk KHN0cnVjdCBzdmNfcnFzdCAqcnFzdHAsIGNvbnN0IGNoYXIgKm5hbWUsCiAJaWYgKG5hbWUg PT0gTlVMTCB8fCBuYW1lbGVuID09IDApCiAJCXJldHVybiBuZnNlcnJfaW52YWw7CiAKKwl7 CisJCWNoYXIgYnVmW0tJRF9TVFJfTEVOXTsKKworCQlpZiAoaWRfcl9uYW1lKG5hbWUsIG5h bWVsZW4sIGJ1ZikpIHsKKwkJCSpnaWQgPSBtYWtlX2tnaWRfc3RyKG5mc2RfdXNlcl9uYW1l c3BhY2UocnFzdHApLCBidWYpOworCQkJaWYgKGdpZF92YWxpZCgqZ2lkKSAmJiAhZ2lkX2lz X2xlZ2FjeSgqZ2lkKSkKKwkJCQlyZXR1cm4gbmZzX29rOworCQl9CisJfQorCiAJc3RhdHVz ID0gZG9fbmFtZV90b19pZChycXN0cCwgSURNQVBfVFlQRV9HUk9VUCwgbmFtZSwgbmFtZWxl biwgJmlkKTsKIAlpZiAoc3RhdHVzKQogCQlyZXR1cm4gc3RhdHVzOwpAQCAtNzIwLDEzICs3 NjcsMzAgQEAgX19iZTMyIG5mc2RfbWFwX25hbWVfdG9fZ2lkKHN0cnVjdCBzdmNfcnFzdCAq cnFzdHAsIGNvbnN0IGNoYXIgKm5hbWUsCiBfX2JlMzIgbmZzZDRfZW5jb2RlX3VzZXIoc3Ry dWN0IHhkcl9zdHJlYW0gKnhkciwgc3RydWN0IHN2Y19ycXN0ICpycXN0cCwKIAkJCSBrdWlk X3QgdWlkKQogewotCXUzMiBpZCA9IGZyb21fa3VpZF9tdW5nZWQobmZzZF91c2VyX25hbWVz cGFjZShycXN0cCksIHVpZCk7CisJdTMyIGlkOworCisJLyogKG91dHNpZGUgdGhlIGluaXRp YWwgdXNlciBuYW1lc3BhY2U6IHRoZSBvdmVyZmxvdyBpZCBiZWxvdykgKi8KKwlpZiAoIXVp ZF9pc19sZWdhY3kodWlkKSAmJgorCSAgICBrdWlkX2hhc19tYXBwaW5nKG5mc2RfdXNlcl9u YW1lc3BhY2UocnFzdHApLCB1aWQpKSB7CisJCWNoYXIgYnVmW0tJRF9TVFJfTEVOXTsKKwor CQlyZXR1cm4gZW5jb2RlX2lkX3IoeGRyLCBrdWlkX3N0cih1aWQsIGJ1ZikpOworCX0KKwlp ZCA9IGZyb21fa3VpZF9tdW5nZWQobmZzZF91c2VyX25hbWVzcGFjZShycXN0cCksIHVpZCk7 CiAJcmV0dXJuIGVuY29kZV9uYW1lX2Zyb21faWQoeGRyLCBycXN0cCwgSURNQVBfVFlQRV9V U0VSLCBpZCk7CiB9CiAKIF9fYmUzMiBuZnNkNF9lbmNvZGVfZ3JvdXAoc3RydWN0IHhkcl9z dHJlYW0gKnhkciwgc3RydWN0IHN2Y19ycXN0ICpycXN0cCwKIAkJCSAga2dpZF90IGdpZCkK IHsKLQl1MzIgaWQgPSBmcm9tX2tnaWRfbXVuZ2VkKG5mc2RfdXNlcl9uYW1lc3BhY2UocnFz dHApLCBnaWQpOworCXUzMiBpZDsKKworCWlmICghZ2lkX2lzX2xlZ2FjeShnaWQpICYmCisJ ICAgIGtnaWRfaGFzX21hcHBpbmcobmZzZF91c2VyX25hbWVzcGFjZShycXN0cCksIGdpZCkp IHsKKwkJY2hhciBidWZbS0lEX1NUUl9MRU5dOworCisJCXJldHVybiBlbmNvZGVfaWRfcih4 ZHIsIGtnaWRfc3RyKGdpZCwgYnVmKSk7CisJfQorCWlkID0gZnJvbV9rZ2lkX211bmdlZChu ZnNkX3VzZXJfbmFtZXNwYWNlKHJxc3RwKSwgZ2lkKTsKIAlyZXR1cm4gZW5jb2RlX25hbWVf ZnJvbV9pZCh4ZHIsIHJxc3RwLCBJRE1BUF9UWVBFX0dST1VQLCBpZCk7CiB9Cg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0041-Documentation-uid_r-describe-SMB-and-NFSv4.patch" Content-Disposition: attachment; filename*0="uid_r-0041-Documentation-uid_r-describe-SMB-and-NFSv4.patch" Content-Transfer-Encoding: base64 RnJvbSA1OTFhYmM3YTEyNDk4NWIwMmMyYTBmZjg3MzE0Yjc4M2UxMzM1NDJlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8dHV4aXN0QGdvb2dsZW1haWwu Y29tPgpEYXRlOiBTYXQsIDEwIE9jdCAyMDI2IDE0OjQ2OjAzICswMjAwClN1YmplY3Q6IFtQ QVRDSCA0MS80M10gRG9jdW1lbnRhdGlvbjogdWlkX3I6IGRlc2NyaWJlIFNNQiBhbmQgTkZT djQKCmtzbWJkJ3MgbG9naW4gZXh0ZW5zaW9uIGFuZCBTSURzIGZvciBVVUlEIGFuZCBHVUlE IHVzZXJzLCBORlN2NCBvd25lcgpzdHJpbmdzLCBhbmQgd2hhdCBBVVRIX1NZUyBhbmQgdGhl IFNNQjMgUE9TSVggZXh0ZW5zaW9ucyBjYW4ndCBjYXJyeS4KCkFzc2lzdGVkLWJ5OiBDbGF1 ZGU6Y2xhdWRlLW9wdXMtNS01Ci0tLQogRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL3Vp ZF9yLnJzdCB8IDE3ICsrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS91 aWRfci5yc3QgYi9Eb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvdWlkX3IucnN0CmluZGV4 IGMwODA0ODU0NS4uZDE2ZDQzMTdmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3VzZXJz cGFjZS1hcGkvdWlkX3IucnN0CisrKyBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS91 aWRfci5yc3QKQEAgLTE1OSwxMSArMTU5LDI4IEBAIFJQQ1NFQ19HU1MgdXBjYWxscwogCXVz ZXIgYXMgYGBfX2tlcm5lbF91aWRfcl90YGAsIHRoZW4gdGhlIHVzdWFsIGZpZWxkcy4gVGhl IGJpbmFyeSAodjApCiAJdXBjYWxsIGNhbid0IGNhcnJ5IHN1Y2ggdXNlcnMgYW5kIGZhaWxz IHdpdGggYGBFQUNDRVNgYC4KIAorU01CIChrc21iZCkKKwlUaGUgbG9naW4gcmVzcG9uc2Ug ZXh0ZW5zaW9uIChgYHN0cnVjdCBrc21iZF9sb2dpbl9yZXNwb25zZV9leHRgYCkKKwljYXJy aWVzIHRoZSB1c2VyJ3MgaWRzIGFzIGBgX19rZXJuZWxfdWlkX3JfdGBgIHdpdGgKKwlgYEtT TUJEX0xPR0lOX0VYVF9JRF9SYGAgYW5kIHRoZSBzdXBwbGVtZW50YXJ5IGdyb3VwcyBhcwor CWBgX19rZXJuZWxfZ2lkX3JfdGBgIHdpdGggYGBLU01CRF9MT0dJTl9FWFRfR1JPVVBTX1Jg YC4gU3VjaCB1c2VycyBhbmQKKwlncm91cHMgYXBwZWFyIGluIHNlY3VyaXR5IGRlc2NyaXB0 b3JzIGFzCisJYGBTLTEtMjItPGtpbmQ+LXcwLXcxLXcyLXczYGA6IGtpbmQgMyBhbmQgNCBm b3IgYSBVVUlEIHVzZXIgYW5kIGdyb3VwLAorCTUgYW5kIDYgZm9yIGEgR1VJRCB1c2VyIGFu ZCBncm91cCwgdzAgdG8gdzMgdGhlIDE2IGJ5dGVzIG9mIHRoZSBpZCBhcworCWJpZyBlbmRp YW4gd29yZHMuCisKK05GU3Y0CisJT3duZXJzIGFuZCBBQ0wgcHJpbmNpcGFscyB0aGF0IGFy ZSBVVUlEcyBvciBHVUlEcyB0cmF2ZWwgYXMgdGhlaXIgdGV4dAorCWZvcm0sIG9uIHRoZSBz ZXJ2ZXIgYW5kIHRoZSBjbGllbnQsIHdpdGggb3Igd2l0aG91dCBpZG1hcGQuCisKIExpbWl0 YXRpb25zCiA9PT09PT09PT09PQogCiAtIFF1b3RhcyBkb24ndCBhY2NvdW50IFVVSUQgYW5k IEdVSUQgb3duZXJzOyBxdW90YSBmaWxlcyBob2xkIDMyIGJpdCBpZHMuCiAtIFJQQ1NFQ19H U1MgbmVlZHMgYSBnc3NkIHRoYXQga25vd3MgYGB1aWRfcj1gYCBmb3IgVVVJRCBhbmQgR1VJ RCB1c2Vycy4KKy0gTkZTIHdpdGggQVVUSF9TWVMgc2VuZHMgYSAzMiBiaXQgdWlkOiBhIFVV SUQgb3IgR1VJRCB1c2VyIG9uIGEgY2xpZW50CisgIHJlYWNoZXMgdGhlIHNlcnZlciBhcyB0 aGUgb3ZlcmZsb3cgaWQuCistIFRoZSBTTUIzIFBPU0lYIGV4dGVuc2lvbnMnIGZpeGVkIHNp emUgU0lEIGZpZWxkcyBzaG93IHRoZSBvdmVyZmxvdyBpZC4KIC0gVVVJRCBhbmQgR1VJRCB1 c2VycyBjYW4ndCBjcmVhdGUgdW5wcml2aWxlZ2VkIHVibGsgZGV2aWNlcy4KIC0gQXVkaXQg ZmlsdGVyIHJ1bGVzLCBTYWZlU2V0SUQgcG9saWNpZXMgYW5kIElNQSBwb2xpY3kgcnVsZXMg bmFtZQogICBjbGFzc2ljIGlkcyBvbmx5Lgo= --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0042-ksmbd-pass-through-NTLM-authentication-to-a-domain-c.patch" Content-Disposition: attachment; filename*0="uid_r-0042-ksmbd-pass-through-NTLM-authentication-to-a-domai"; filename*1="n-c.patch" Content-Transfer-Encoding: base64 RnJvbSBjM2JkMDBlOWVhYzAzMmYyNWQyNDY4Y2ZkMjg2Nzg4ZWUzNTM5ZmM4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8amFuLmtvZXN0ZXJAdHV4aXN0 LmRlPgpEYXRlOiBTdW4sIDExIE9jdCAyMDI2IDE3OjI4OjI4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCA0Mi80M10ga3NtYmQ6IHBhc3MgdGhyb3VnaCBOVExNIGF1dGhlbnRpY2F0aW9uIHRv IGEgZG9tYWluCiBjb250cm9sbGVyCgpBIGtzbWJkIHNlcnZlciB0aGF0IGlzIGEgbWVtYmVy IG9mIGFuIEFjdGl2ZSBEaXJlY3RvcnkgZG9tYWluIGNhbm5vdApjaGVjayB0aGUgTlRMTSBy ZXNwb25zZSBvZiBhIGRvbWFpbiB1c2VyIG9uIGl0cyBvd246IGl0IGhhcyBubyBwYXNzd29y ZApoYXNoIGZvciB0aGF0IHVzZXIuIEFkZCBhIHdheSB0byBkZWZlciB0aGUgY2hlY2sgdG8g dXNlciBzcGFjZSwgd2hpY2gKY2FuIGFzayBhIGRvbWFpbiBjb250cm9sbGVyIG92ZXIgTkVU TE9HT04gKE5ldHJMb2dvblNhbUxvZ29uRXgpLgoKV2hlbiB0aGUgbG9naW4gcmVzcG9uc2Ug Zm9yIGEgdXNlciBjYXJyaWVzIHRoZSBuZXcKS1NNQkRfVVNFUl9GTEFHX1BBU1NUSFJPVUdI IGZsYWcsIGtzbWJkIG5vIGxvbmdlciBjb21wdXRlcyB0aGUgTlRMTXYyCnJlc3BvbnNlIGZy b20gYSBsb2NhbCBoYXNoLiBJbnN0ZWFkIGtzbWJkX2RlY29kZV9udGxtc3NwX2F1dGhfYmxv YigpCmhhbmRzIHRoZSBzZXJ2ZXIgY2hhbGxlbmdlIGFuZCB0aGUgY2xpZW50J3MgdXNlciBu YW1lLCBkb21haW4gbmFtZSwKd29ya3N0YXRpb24gYW5kIE5UL0xNIHJlc3BvbnNlcyB0byB1 c2VyIHNwYWNlIHRocm91Z2ggdGhlIG5ldwpLU01CRF9FVkVOVF9OVExNX0FVVEhFTl9SRVFV RVNUIGV2ZW50IGFuZCB0YWtlcyB0aGUgc2Vzc2lvbiBiYXNlIGtleQpmcm9tIHRoZSBLU01C RF9FVkVOVF9OVExNX0FVVEhFTl9SRVNQT05TRSwgdGhlbiBjb250aW51ZXMgd2l0aCB0aGUK ZXhpc3Rpbmcga2V5LWV4Y2hhbmdlIHBhdGguCgpUaGUgdHdvIG5ldyBldmVudHMgZ2V0IGEg c3RyaWN0IG5ldGxpbmsgcG9saWN5IGFuZCBhcmUgdmFsaWRhdGVkIGluCmlwY192YWxpZGF0 ZV9tc2coKTsga3NtYmRfbmxfaW5pdF9maXh1cCgpIGtlZXBzIHN0cmljdCB2YWxpZGF0aW9u IGZvcgpjb21tYW5kcyBhdCBvciBhZnRlciByZXN2X3N0YXJ0X29wIHNvIHRoZSBuZXcgZml4 ZWQtc2l6ZSByZXNwb25zZSBpcwpjaGVja2VkLgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1 ZGUtb3B1cy00LTgKLS0tCiBmcy9zbWIvc2VydmVyL2F1dGguYyAgICAgICAgICB8IDY4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBmcy9zbWIvc2VydmVyL2tzbWJkX25l dGxpbmsuaCB8IDQxICsrKysrKysrKysrKysrKysrKysrCiBmcy9zbWIvc2VydmVyL3RyYW5z cG9ydF9pcGMuYyB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBm cy9zbWIvc2VydmVyL3RyYW5zcG9ydF9pcGMuaCB8ICAzICsrCiA0IGZpbGVzIGNoYW5nZWQs IDE4MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZzL3Nt Yi9zZXJ2ZXIvYXV0aC5jIGIvZnMvc21iL3NlcnZlci9hdXRoLmMKaW5kZXggOGQyMmQyOGEx Li4zNTM2MDMyYTEgMTAwNjQ0Ci0tLSBhL2ZzL3NtYi9zZXJ2ZXIvYXV0aC5jCisrKyBiL2Zz L3NtYi9zZXJ2ZXIvYXV0aC5jCkBAIC03OSw2ICs3OSwxNiBAQCBzdGF0aWMgaW50IGNhbGNf bnRsbXYyX2hhc2goc3RydWN0IGtzbWJkX2Nvbm4gKmNvbm4sIHN0cnVjdCBrc21iZF9zZXNz aW9uICpzZXNzLAogCV9fbGUxNiAqdW5pbmFtZSA9IE5VTEw7CiAJc3RydWN0IGhtYWNfbWQ1 X2N0eCBjdHg7CiAKKwkvKgorCSAqIEEgcGFzcy10aHJvdWdoIHVzZXIgKEtTTUJEX1VTRVJf RkxBR19QQVNTVEhST1VHSCkgaGFzIG5vIGxvY2FsCisJICogcGFzc3dvcmQgaGFzaCBhbmQg bXVzdCBuZXZlciByZWFjaCB0aGUgTlRMTXYyIGNvZGUgLS0gaXQgaXMgaGFuZGxlZAorCSAq IGluIGtzbWJkX2RlY29kZV9udGxtc3NwX2F1dGhfYmxvYigpIGluc3RlYWQuIEd1YXJkIGFn YWluc3QgYSBOVUxMCisJICogcGFzc2tleSBhbnl3YXkgc28gYSB1c2VyIHNwYWNlIHRoYXQg c2V0cyBLU01CRF9VU0VSX0ZMQUdfT0sgd2l0aG91dCBhCisJICogaGFzaCBjYW4gb25seSBm YWlsIHRoZSBsb2dpbiwgbm90IGNyYXNoIHRoZSBrZXJuZWwuCisJICovCisJaWYgKCF1c2Vy X3Bhc3NrZXkoc2Vzcy0+dXNlcikpCisJCXJldHVybiAtRUlOVkFMOworCiAJaG1hY19tZDVf aW5pdF91c2luZ3Jhd2tleSgmY3R4LCB1c2VyX3Bhc3NrZXkoc2Vzcy0+dXNlciksCiAJCQkJ ICBDSUZTX0VOQ1BXRF9TSVpFKTsKIApAQCAtMTgyLDYgKzE5Miw1NSBAQCBpbnQga3NtYmRf YXV0aF9udGxtdjIoc3RydWN0IGtzbWJkX2Nvbm4gKmNvbm4sIHN0cnVjdCBrc21iZF9zZXNz aW9uICpzZXNzLAogCXJldHVybiByYzsKIH0KIAorLyoqCisgKiBrc21iZF9hdXRoX250bG1f cGFzc3Rocm91Z2goKSAtIE5UTE0gYXV0aGVudGljYXRpb24gYnkgdXNlciBzcGFjZQorICog QGNvbm46CQljb25uZWN0aW9uCisgKiBAYXV0aGJsb2I6CQlhdXRoZW50aWNhdGUgYmxvYgor ICogQGJsb2JfbGVuOgkJbGVuZ3RoIG9mIEBhdXRoYmxvYgorICogQHNlc3Nfa2V5OgkJc2Vz c2lvbiBiYXNlIGtleSBvdXRwdXQgYnVmZmVyCisgKgorICogRm9yIGEgdXNlciB0aGF0IHVz ZXIgc3BhY2UgaGFzIG5vIHBhc3N3b3JkIGhhc2ggZm9yIChhIGRvbWFpbiB1c2VyKTogaXQK KyAqIGNoZWNrcyB0aGUgcmVzcG9uc2UsIGUuZy4gd2l0aCBhIGRvbWFpbiBjb250cm9sbGVy LCBhbmQgcmV0dXJucyB0aGUKKyAqIHNlc3Npb24gYmFzZSBrZXkuCisgKgorICogUmV0dXJu OgkwIG9uIHN1Y2Nlc3MsIGVycm9yIG51bWJlciBvbiBlcnJvcgorICovCitzdGF0aWMgaW50 IGtzbWJkX2F1dGhfbnRsbV9wYXNzdGhyb3VnaChzdHJ1Y3Qga3NtYmRfY29ubiAqY29ubiwK KwkJCQkgICAgICAgc3RydWN0IGF1dGhlbnRpY2F0ZV9tZXNzYWdlICphdXRoYmxvYiwKKwkJ CQkgICAgICAgaW50IGJsb2JfbGVuLCBjaGFyICpzZXNzX2tleSkKK3sKKwljb25zdCBzdHJ1 Y3Qgc2VjdXJpdHlfYnVmZmVyICpidWZzWzVdID0geworCQkmYXV0aGJsb2ItPlVzZXJOYW1l LCAmYXV0aGJsb2ItPkRvbWFpbk5hbWUsCisJCSZhdXRoYmxvYi0+V29ya3N0YXRpb25OYW1l LCAmYXV0aGJsb2ItPk50Q2hhbGxlbmdlUmVzcG9uc2UsCisJCSZhdXRoYmxvYi0+TG1DaGFs bGVuZ2VSZXNwb25zZSwKKwl9OworCXN0cnVjdCBrc21iZF9udGxtX2F1dGhlbl9yZXNwb25z ZSAqcmVzcDsKKwljb25zdCBjaGFyICpwYXJ0c1s1XTsKKwl1bnNpZ25lZCBzaG9ydCBsZW5z WzVdOworCWludCBpLCByYzsKKworCWZvciAoaSA9IDA7IGkgPCA1OyBpKyspIHsKKwkJdW5z aWduZWQgaW50IG9mZiA9IGxlMzJfdG9fY3B1KGJ1ZnNbaV0tPkJ1ZmZlck9mZnNldCk7CisK KwkJbGVuc1tpXSA9IGxlMTZfdG9fY3B1KGJ1ZnNbaV0tPkxlbmd0aCk7CisJCWlmIChibG9i X2xlbiA8ICh1NjQpb2ZmICsgbGVuc1tpXSkKKwkJCXJldHVybiAtRUlOVkFMOworCQlwYXJ0 c1tpXSA9IChjb25zdCBjaGFyICopYXV0aGJsb2IgKyBvZmY7CisJfQorCisJcmVzcCA9IGtz bWJkX2lwY19udGxtX2F1dGhlbl9yZXF1ZXN0KGNvbm4tPm50bG1zc3AuY3J5cHRrZXksIHBh cnRzLAorCQkJCQkgICAgIGxlbnMpOworCWlmICghcmVzcCkKKwkJcmV0dXJuIC1FSU5WQUw7 CisKKwlyYyA9IHJlc3AtPnN0YXR1cyAmIEtTTUJEX1VTRVJfRkxBR19PSyA/IDAgOiAtRUlO VkFMOworCWlmICghcmMpCisJCW1lbWNweShzZXNzX2tleSwgcmVzcC0+c2Vzc2lvbl9rZXks IFNNQjJfTlRMTVYyX1NFU1NLRVlfU0laRSk7CisJbWVtemVyb19leHBsaWNpdChyZXNwLT5z ZXNzaW9uX2tleSwgc2l6ZW9mKHJlc3AtPnNlc3Npb25fa2V5KSk7CisJa3ZmcmVlKHJlc3Ap OworCXJldHVybiByYzsKK30KKwogLyoqCiAgKiBrc21iZF9kZWNvZGVfbnRsbXNzcF9hdXRo X2Jsb2IoKSAtIGhlbHBlciBmdW5jdGlvbiB0byBjb25zdHJ1Y3QKICAqIGF1dGhlbnRpY2F0 ZSBibG9iCkBAIC0yMjMsNiArMjgyLDE0IEBAIGludCBrc21iZF9kZWNvZGVfbnRsbXNzcF9h dXRoX2Jsb2Ioc3RydWN0IGF1dGhlbnRpY2F0ZV9tZXNzYWdlICphdXRoYmxvYiwKIAkgICAg bnRfbGVuIDwgQ0lGU19FTkNQV0RfU0laRSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKKwlpZiAo dGVzdF91c2VyX2ZsYWcoc2Vzcy0+dXNlciwgS1NNQkRfVVNFUl9GTEFHX1BBU1NUSFJPVUdI KSkgeworCQlyZXQgPSBrc21iZF9hdXRoX250bG1fcGFzc3Rocm91Z2goY29ubiwgYXV0aGJs b2IsIGJsb2JfbGVuLAorCQkJCQkJICBzZXNzX2tleSk7CisJCWlmIChyZXQpCisJCQlyZXR1 cm4gcmV0OworCQlnb3RvIGtleV9leGNoYW5nZTsKKwl9CisKIAkvKiBUT0RPIDogdXNlIGRv bWFpbiBuYW1lIHRoYXQgaW1wb3J0ZWQgZnJvbSBjb25maWd1cmF0aW9uIGZpbGUgKi8KIAlk b21haW5fbmFtZSA9IHNtYl9zdHJuZHVwX2Zyb21fdXRmMTYoKGNvbnN0IGNoYXIgKilhdXRo YmxvYiArIGRuX29mZiwKIAkJCQkJICAgICBkbl9sZW4sIHRydWUsIGNvbm4tPmxvY2FsX25s cyk7CkBAIC0yNDAsNiArMzA3LDcgQEAgaW50IGtzbWJkX2RlY29kZV9udGxtc3NwX2F1dGhf YmxvYihzdHJ1Y3QgYXV0aGVudGljYXRlX21lc3NhZ2UgKmF1dGhibG9iLAogCWlmIChyZXQp CiAJCXJldHVybiByZXQ7CiAKK2tleV9leGNoYW5nZToKIAkvKiBUaGUgcmVjb3ZlcmVkIHNl Y29uZGFyeSBzZXNzaW9uIGtleSAqLwogCWlmIChjb25uLT5udGxtc3NwLmNsaWVudF9mbGFn cyAmIE5UTE1TU1BfTkVHT1RJQVRFX0tFWV9YQ0gpIHsKIAkJc3RydWN0IGFyYzRfY3R4ICpj dHhfYXJjNDsKZGlmZiAtLWdpdCBhL2ZzL3NtYi9zZXJ2ZXIva3NtYmRfbmV0bGluay5oIGIv ZnMvc21iL3NlcnZlci9rc21iZF9uZXRsaW5rLmgKaW5kZXggNDBjNDM1MDdiLi5jOTNlYjk1 NmMgMTAwNjQ0Ci0tLSBhL2ZzL3NtYi9zZXJ2ZXIva3NtYmRfbmV0bGluay5oCisrKyBiL2Zz L3NtYi9zZXJ2ZXIva3NtYmRfbmV0bGluay5oCkBAIC01NSw2ICs1NSwxMSBAQAogICoKICAq ICAtIEtTTUJEX0VWRU5UX0xPR0lOX1JFUVVFU1RfRVhUL1JFU1BPTlNFX0VYVChrc21iZF9s b2dpbl9yZXF1ZXN0X2V4dC9yZXNwb25zZV9leHQpCiAgKiAgICBUaGlzIGV2ZW50IGlzIHRv IGdldCB1c2VyIGFjY291bnQgZXh0ZW5zaW9uIGluZm8gdG8gdXNlciBJUEMgZGFlbW9uLgor ICoKKyAqICAtIEtTTUJEX0VWRU5UX05UTE1fQVVUSEVOX1JFUVVFU1QvUkVTUE9OU0Uoa3Nt YmRfbnRsbV9hdXRoZW5fcmVxdWVzdC9yZXNwb25zZSkKKyAqICAgIFRoaXMgZXZlbnQgaXMg dG8gbWFrZSBOVExNIGF1dGhlbnRpY2F0aW9uIG9mIGEgdXNlciB0aGUgbG9naW4gcmVzcG9u c2UKKyAqICAgIG1hcmtlZCBLU01CRF9VU0VSX0ZMQUdfUEFTU1RIUk9VR0ggdG8gYmUgcHJv Y2Vzc2VkIGluIHVzZXJzcGFjZSwgZS5nLgorICogICAgYnkgYSBkb21haW4gY29udHJvbGxl ci4KICAqLwogCiAjZGVmaW5lIEtTTUJEX0dFTkxfTkFNRQkJIlNNQkRfR0VOTCIKQEAgLTE3 NCw2ICsxNzksMzggQEAgc3RydWN0IGtzbWJkX2xvZ2luX3Jlc3BvbnNlX2V4dCB7CiAjZGVm aW5lIEtTTUJEX0xPR0lOX0VYVF9JRF9SCQkweDEKICNkZWZpbmUgS1NNQkRfTE9HSU5fRVhU X0dST1VQU19SCTB4MgogCisvKgorICogSVBDIHJlcXVlc3QgdG8gY2hlY2sgdGhlIE5UTE0g cmVzcG9uc2Ugb2YgYSB1c2VyIHdob3NlIGxvZ2luIHJlc3BvbnNlCisgKiBoYWQgS1NNQkRf VVNFUl9GTEFHX1BBU1NUSFJPVUdIOiB1c2VyIHNwYWNlIGhhcyBubyBwYXNzd29yZCBoYXNo IGZvciBpdAorICogYW5kIGFza3Mgc29tZW9uZSB3aG8gaGFzLCBlLmcuIGEgZG9tYWluIGNv bnRyb2xsZXIgKE5FVExPR09OKS4KKyAqLworc3RydWN0IGtzbWJkX250bG1fYXV0aGVuX3Jl cXVlc3QgeworCV9fdTMyCWhhbmRsZTsKKwlfX3U4CWNoYWxsZW5nZVs4XTsJCS8qIHRoZSBz ZXJ2ZXIgY2hhbGxlbmdlICovCisJX191MTYJdXNlcl9uYW1lX2xlbjsJCS8qIGxlbmd0aHMg b2YgdGhlIHBheWxvYWQgcGFydHMgKi8KKwlfX3UxNglkb21haW5fbmFtZV9sZW47CisJX191 MTYJd29ya3N0YXRpb25fbGVuOworCV9fdTE2CW50X3Jlc3BvbnNlX2xlbjsKKwlfX3UxNgls bV9yZXNwb25zZV9sZW47CisJX191MTYJcmVzZXJ2ZWQxNjsKKwlfX3UzMglyZXNlcnZlZFsx Nl07CQkvKiBSZXNlcnZlZCByb29tICovCisJX191OAlwYXlsb2FkW107CQkvKgorCQkJCQkg KiB1c2VyIG5hbWUsIGRvbWFpbiBuYW1lLCB3b3Jrc3RhdGlvbgorCQkJCQkgKiAoVVRGLTE2 TEUsIGFzIHRoZSBjbGllbnQgc2VudCB0aGVtKSwKKwkJCQkJICogTlQgcmVzcG9uc2UsIExN IHJlc3BvbnNlCisJCQkJCSAqLworfTsKKworLyoKKyAqIElQQyByZXNwb25zZSB0byBhbiBO VExNIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QKKyAqLworc3RydWN0IGtzbWJkX250bG1fYXV0 aGVuX3Jlc3BvbnNlIHsKKwlfX3UzMgloYW5kbGU7CisJX191MzIJc3RhdHVzOwkJCS8qIEtT TUJEX1VTRVJfRkxBR19PSyBvciBfQkFEX1BBU1NXT1JEICovCisJX191OAlzZXNzaW9uX2tl eVsxNl07CS8qIHRoZSBzZXNzaW9uIGJhc2Uga2V5ICovCisJX191MzIJcmVzZXJ2ZWRbMTZd OwkJLyogUmVzZXJ2ZWQgcm9vbSAqLworfTsKKwogLyoKICAqIElQQyByZXF1ZXN0IHRvIGZl dGNoIG5ldCBzaGFyZSBjb25maWcuCiAgKi8KQEAgLTMzOSw2ICszNzYsOSBAQCBlbnVtIGtz bWJkX2V2ZW50IHsKIAlLU01CRF9FVkVOVF9MT0dJTl9SRVFVRVNUX0VYVCwKIAlLU01CRF9F VkVOVF9MT0dJTl9SRVNQT05TRV9FWFQsCiAKKwlLU01CRF9FVkVOVF9OVExNX0FVVEhFTl9S RVFVRVNULAorCUtTTUJEX0VWRU5UX05UTE1fQVVUSEVOX1JFU1BPTlNFLAorCiAJX19LU01C RF9FVkVOVF9NQVgsCiAJS1NNQkRfRVZFTlRfTUFYID0gX19LU01CRF9FVkVOVF9NQVggLSAx CiB9OwpAQCAtMzcwLDYgKzQxMCw3IEBAIGVudW0gS1NNQkRfVFJFRV9DT05OX1NUQVRVUyB7 CiAjZGVmaW5lIEtTTUJEX1VTRVJfRkxBR19HVUVTVF9BQ0NPVU5UCUJJVCg0KQogI2RlZmlu ZSBLU01CRF9VU0VSX0ZMQUdfREVMQVlfU0VTU0lPTglCSVQoNSkKICNkZWZpbmUgS1NNQkRf VVNFUl9GTEFHX0VYVEVOU0lPTglCSVQoNikKKyNkZWZpbmUgS1NNQkRfVVNFUl9GTEFHX1BB U1NUSFJPVUdICUJJVCg3KQogCiAvKgogICogU2hhcmUgY29uZmlnIGZsYWdzLgpkaWZmIC0t Z2l0IGEvZnMvc21iL3NlcnZlci90cmFuc3BvcnRfaXBjLmMgYi9mcy9zbWIvc2VydmVyL3Ry YW5zcG9ydF9pcGMuYwppbmRleCA5MzRlNjJkZTAuLmEyYzQ2YmI2OCAxMDA2NDQKLS0tIGEv ZnMvc21iL3NlcnZlci90cmFuc3BvcnRfaXBjLmMKKysrIGIvZnMvc21iL3NlcnZlci90cmFu c3BvcnRfaXBjLmMKQEAgLTEyNyw2ICsxMjcsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBu bGFfcG9saWN5IGtzbWJkX25sX3BvbGljeVtLU01CRF9FVkVOVF9NQVggKyAxXSA9IHsKIAlb S1NNQkRfRVZFTlRfTE9HSU5fUkVTUE9OU0VfRVhUXSA9IHsKIAkJLmxlbiA9IHNpemVvZihz dHJ1Y3Qga3NtYmRfbG9naW5fcmVzcG9uc2VfZXh0KSwKIAl9LAorCVtLU01CRF9FVkVOVF9O VExNX0FVVEhFTl9SRVFVRVNUXSA9CisJCU5MQV9QT0xJQ1lfTUlOX0xFTihzaXplb2Yoc3Ry dWN0IGtzbWJkX250bG1fYXV0aGVuX3JlcXVlc3QpKSwKKwlbS1NNQkRfRVZFTlRfTlRMTV9B VVRIRU5fUkVTUE9OU0VdID0KKwkJTkxBX1BPTElDWV9FWEFDVF9MRU4oc2l6ZW9mKHN0cnVj dCBrc21iZF9udGxtX2F1dGhlbl9yZXNwb25zZSkpLAogfTsKIAogc3RhdGljIHN0cnVjdCBn ZW5sX29wcyBrc21iZF9nZW5sX29wc1tdID0gewpAQCAtMjAyLDYgKzIwNiwxNCBAQCBzdGF0 aWMgc3RydWN0IGdlbmxfb3BzIGtzbWJkX2dlbmxfb3BzW10gPSB7CiAJCS5jbWQJPSBLU01C RF9FVkVOVF9MT0dJTl9SRVNQT05TRV9FWFQsCiAJCS5kb2l0CT0gaGFuZGxlX2dlbmVyaWNf ZXZlbnQsCiAJfSwKKwl7CisJCS5jbWQJPSBLU01CRF9FVkVOVF9OVExNX0FVVEhFTl9SRVFV RVNULAorCQkuZG9pdAk9IGhhbmRsZV91bnN1cHBvcnRlZF9ldmVudCwKKwl9LAorCXsKKwkJ LmNtZAk9IEtTTUJEX0VWRU5UX05UTE1fQVVUSEVOX1JFU1BPTlNFLAorCQkuZG9pdAk9IGhh bmRsZV9nZW5lcmljX2V2ZW50LAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IGdlbmxfZmFt aWx5IGtzbWJkX2dlbmxfZmFtaWx5ID0gewpAQCAtMjIwLDkgKzIzMiwxMSBAQCBzdGF0aWMg dm9pZCBrc21iZF9ubF9pbml0X2ZpeHVwKHZvaWQpCiB7CiAJaW50IGk7CiAKKwkvKiB0aGUg Y29tbWFuZHMgZnJvbSByZXN2X3N0YXJ0X29wIG9uIGFyZSB2YWxpZGF0ZWQgc3RyaWN0bHkg Ki8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShrc21iZF9nZW5sX29wcyk7IGkrKykK LQkJa3NtYmRfZ2VubF9vcHNbaV0udmFsaWRhdGUgPSBHRU5MX0RPTlRfVkFMSURBVEVfU1RS SUNUIHwKLQkJCQkJCUdFTkxfRE9OVF9WQUxJREFURV9EVU1QOworCQlpZiAoa3NtYmRfZ2Vu bF9vcHNbaV0uY21kIDwga3NtYmRfZ2VubF9mYW1pbHkucmVzdl9zdGFydF9vcCkKKwkJCWtz bWJkX2dlbmxfb3BzW2ldLnZhbGlkYXRlID0gR0VOTF9ET05UX1ZBTElEQVRFX1NUUklDVCB8 CisJCQkJCQkJR0VOTF9ET05UX1ZBTElEQVRFX0RVTVA7CiAKIAlrc21iZF9nZW5sX2ZhbWls eS5wb2xpY3kgPSBrc21iZF9ubF9wb2xpY3k7CiB9CkBAIC01NDksNiArNTYzLDEwIEBAIHN0 YXRpYyBpbnQgaXBjX3ZhbGlkYXRlX21zZyhzdHJ1Y3QgaXBjX21zZ190YWJsZV9lbnRyeSAq ZW50cnkpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJYnJlYWs7CiAJfQorCWNhc2UgS1NNQkRf RVZFTlRfTlRMTV9BVVRIRU5fUkVRVUVTVDoKKwkJaWYgKGVudHJ5LT5tc2dfc3ogIT0gc2l6 ZW9mKHN0cnVjdCBrc21iZF9udGxtX2F1dGhlbl9yZXNwb25zZSkpCisJCQlyZXR1cm4gLUVJ TlZBTDsKKwkJYnJlYWs7CiAJY2FzZSBLU01CRF9FVkVOVF9MT0dJTl9SRVFVRVNUX0VYVDoK IAl7CiAJCXN0cnVjdCBrc21iZF9sb2dpbl9yZXNwb25zZV9leHQgKnJlc3AgPSBlbnRyeS0+ cmVzcG9uc2U7CkBAIC03MDQsNiArNzIyLDU3IEBAIGtzbWJkX2lwY19zcG5lZ29fYXV0aGVu X3JlcXVlc3QoY29uc3QgY2hhciAqc3BuZWdvX2Jsb2IsIGludCBibG9iX2xlbikKIAlyZXR1 cm4gcmVzcDsKIH0KIAorLyoqCisgKiBrc21iZF9pcGNfbnRsbV9hdXRoZW5fcmVxdWVzdCgp IC0gaGF2ZSB1c2VyIHNwYWNlIGNoZWNrIGFuIE5UTE0gcmVzcG9uc2UKKyAqIEBjaGFsbGVu Z2U6CQl0aGUgc2VydmVyIGNoYWxsZW5nZSAoQ0lGU19DUllQVE9fS0VZX1NJWkUgYnl0ZXMp CisgKiBAcGFydHM6CQl1c2VyIG5hbWUsIGRvbWFpbiBuYW1lLCB3b3Jrc3RhdGlvbiAoVVRG LTE2TEUpLAorICoJCQlOVCByZXNwb25zZSwgTE0gcmVzcG9uc2UKKyAqIEBsZW5zOgkJdGhl aXIgbGVuZ3RocworICoKKyAqIEZvciBhIHVzZXIgd2hvc2UgbG9naW4gcmVzcG9uc2UgaGFk IEtTTUJEX1VTRVJfRkxBR19QQVNTVEhST1VHSC4KKyAqCisgKiBSZXR1cm46CXRoZSByZXNw b25zZSAoa3ZmcmVlKCkgaXQpLCBOVUxMIG9uIGVycm9yCisgKi8KK3N0cnVjdCBrc21iZF9u dGxtX2F1dGhlbl9yZXNwb25zZSAqCitrc21iZF9pcGNfbnRsbV9hdXRoZW5fcmVxdWVzdChj b25zdCBjaGFyICpjaGFsbGVuZ2UsIGNvbnN0IGNoYXIgKnBhcnRzWzVdLAorCQkJICAgICAg Y29uc3QgdW5zaWduZWQgc2hvcnQgbGVuc1s1XSkKK3sKKwlzdHJ1Y3Qga3NtYmRfaXBjX21z ZyAqbXNnOworCXN0cnVjdCBrc21iZF9udGxtX2F1dGhlbl9yZXF1ZXN0ICpyZXE7CisJc3Ry dWN0IGtzbWJkX250bG1fYXV0aGVuX3Jlc3BvbnNlICpyZXNwOworCXNpemVfdCBwYXlsb2Fk X3N6ID0gMCwgb2ZmID0gMDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCA1OyBpKysp CisJCXBheWxvYWRfc3ogKz0gbGVuc1tpXTsKKwlpZiAocGF5bG9hZF9zeiA+IEtTTUJEX0lQ Q19NQVhfUEFZTE9BRCkKKwkJcmV0dXJuIE5VTEw7CisKKwltc2cgPSBpcGNfbXNnX2FsbG9j KHNpemVvZihzdHJ1Y3Qga3NtYmRfbnRsbV9hdXRoZW5fcmVxdWVzdCkgKworCQkJICAgIHBh eWxvYWRfc3opOworCWlmICghbXNnKQorCQlyZXR1cm4gTlVMTDsKKworCW1zZy0+dHlwZSA9 IEtTTUJEX0VWRU5UX05UTE1fQVVUSEVOX1JFUVVFU1Q7CisJcmVxID0gKHN0cnVjdCBrc21i ZF9udGxtX2F1dGhlbl9yZXF1ZXN0ICopbXNnLT5wYXlsb2FkOworCXJlcS0+aGFuZGxlID0g a3NtYmRfYWNxdWlyZV9pZCgmaXBjX2lkYSk7CisJbWVtY3B5KHJlcS0+Y2hhbGxlbmdlLCBj aGFsbGVuZ2UsIHNpemVvZihyZXEtPmNoYWxsZW5nZSkpOworCXJlcS0+dXNlcl9uYW1lX2xl biA9IGxlbnNbMF07CisJcmVxLT5kb21haW5fbmFtZV9sZW4gPSBsZW5zWzFdOworCXJlcS0+ d29ya3N0YXRpb25fbGVuID0gbGVuc1syXTsKKwlyZXEtPm50X3Jlc3BvbnNlX2xlbiA9IGxl bnNbM107CisJcmVxLT5sbV9yZXNwb25zZV9sZW4gPSBsZW5zWzRdOworCWZvciAoaSA9IDA7 IGkgPCA1OyBpKyspIHsKKwkJbWVtY3B5KHJlcS0+cGF5bG9hZCArIG9mZiwgcGFydHNbaV0s IGxlbnNbaV0pOworCQlvZmYgKz0gbGVuc1tpXTsKKwl9CisKKwlyZXNwID0gaXBjX21zZ19z ZW5kX3JlcXVlc3QobXNnLCByZXEtPmhhbmRsZSk7CisJaXBjX21zZ19oYW5kbGVfZnJlZShy ZXEtPmhhbmRsZSk7CisJaXBjX21zZ19mcmVlKG1zZyk7CisJcmV0dXJuIHJlc3A7Cit9CisK IHN0cnVjdCBrc21iZF90cmVlX2Nvbm5lY3RfcmVzcG9uc2UgKgoga3NtYmRfaXBjX3RyZWVf Y29ubmVjdF9yZXF1ZXN0KHN0cnVjdCBrc21iZF9zZXNzaW9uICpzZXNzLAogCQkJICAgICAg IHN0cnVjdCBrc21iZF9zaGFyZV9jb25maWcgKnNoYXJlLApkaWZmIC0tZ2l0IGEvZnMvc21i L3NlcnZlci90cmFuc3BvcnRfaXBjLmggYi9mcy9zbWIvc2VydmVyL3RyYW5zcG9ydF9pcGMu aAppbmRleCBlNTE4NTBmMTQuLmY5NTdhMzNhZSAxMDA2NDQKLS0tIGEvZnMvc21iL3NlcnZl ci90cmFuc3BvcnRfaXBjLmgKKysrIGIvZnMvc21iL3NlcnZlci90cmFuc3BvcnRfaXBjLmgK QEAgLTMyLDYgKzMyLDkgQEAgc3RydWN0IGtzbWJkX3NoYXJlX2NvbmZpZ19yZXNwb25zZSAq CiBrc21iZF9pcGNfc2hhcmVfY29uZmlnX3JlcXVlc3QoY29uc3QgY2hhciAqbmFtZSk7CiBz dHJ1Y3Qga3NtYmRfc3BuZWdvX2F1dGhlbl9yZXNwb25zZSAqCiBrc21iZF9pcGNfc3BuZWdv X2F1dGhlbl9yZXF1ZXN0KGNvbnN0IGNoYXIgKnNwbmVnb19ibG9iLCBpbnQgYmxvYl9sZW4p Oworc3RydWN0IGtzbWJkX250bG1fYXV0aGVuX3Jlc3BvbnNlICoKK2tzbWJkX2lwY19udGxt X2F1dGhlbl9yZXF1ZXN0KGNvbnN0IGNoYXIgKmNoYWxsZW5nZSwgY29uc3QgY2hhciAqcGFy dHNbNV0sCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBsZW5zWzVdKTsKIGludCBr c21iZF9pcGNfaWRfYWxsb2Modm9pZCk7CiB2b2lkIGtzbWJkX3JwY19pZF9mcmVlKGludCBo YW5kbGUpOwogc3RydWN0IGtzbWJkX3JwY19jb21tYW5kICprc21iZF9ycGNfb3BlbihzdHJ1 Y3Qga3NtYmRfc2Vzc2lvbiAqc2VzcywgaW50IGhhbmRsZSk7Cg== --------------KKSAO7YPFe0rwYoCb4kkrxnV Content-Type: text/x-patch; charset=UTF-8; name="uid_r-0043-ksmbd-put-the-workgroup-into-the-NTLMSSP-target-info.patch" Content-Disposition: attachment; filename*0="uid_r-0043-ksmbd-put-the-workgroup-into-the-NTLMSSP-target-i"; filename*1="nfo.patch" Content-Transfer-Encoding: base64 RnJvbSA2ZDJiNTMwMjAxMDc5MjI2MTBmMDNhNTcyYzUyZjRiOTI0MDU0NDExIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS29lc3RlciA8amFuLmtvZXN0ZXJAdHV4aXN0 LmRlPgpEYXRlOiBTYXQsIDE3IE9jdCAyMDI2IDA5OjI5OjA3ICswMjAwClN1YmplY3Q6IFtQ QVRDSCA0My80M10ga3NtYmQ6IHB1dCB0aGUgd29ya2dyb3VwIGludG8gdGhlIE5UTE1TU1Ag dGFyZ2V0IGluZm8ncwogZG9tYWluIG5hbWVzCgprc21iZF9idWlsZF9udGxtc3NwX2NoYWxs ZW5nZV9ibG9iKCkgd3JpdGVzIHRoZSBuZXRiaW9zIG5hbWUgaW50byBhbGwKZm91ciBBViBw YWlycyBvZiB0aGUgY2hhbGxlbmdlJ3MgdGFyZ2V0IGluZm8sIHRoZSBkb21haW4gbmFtZXMK KE1zdkF2TmJEb21haW5OYW1lLCBNc3ZBdkRuc0RvbWFpbk5hbWUpIGluY2x1ZGVkLiBUaGUg Y2xpZW50IGNvcGllcwp0aGVtIGludG8gaXRzIE5UTE12MiByZXNwb25zZS4KCldpdGggTlRM TSBwYXNzLXRocm91Z2gsIGEgZG9tYWluIGNvbnRyb2xsZXIgdmVyaWZpZXMgdGhhdCByZXNw b25zZSBvdmVyCk5FVExPR09OLCBhbmQgU2FtYmEgKE5UTE12Ml9SRVNQT05TRV92ZXJpZnlf d29ya3N0YXRpb24oKSkgcmVmdXNlcyBpdAp3aXRoIE5UX1NUQVRVU19MT0dPTl9GQUlMVVJF IHVubGVzcyBNc3ZBdk5iQ29tcHV0ZXJOYW1lIGlzIHRoZSBzZWN1cmUKY2hhbm5lbCdzIGNv bXB1dGVyIGFjY291bnQgYW5kIE1zdkF2TmJEb21haW5OYW1lIGl0cyB3b3JrZ3JvdXAuIEV2 ZXJ5CnBhc3MtdGhyb3VnaCBsb2dpbiBvZiBhIGRvbWFpbiB1c2VyIHRoZW4gZmFpbHMuCgpQ dXQgdGhlIHdvcmtncm91cCBpbnRvIHRoZSB0d28gZG9tYWluIG5hbWVzLiBTaXplIHRoZSBj aGFsbGVuZ2UgYmxvYgpmcm9tIGJvdGggbmFtZXMgaW4gb25lIGhlbHBlciwgbnRsbXNzcF9j aGFsbGVuZ2Vfc2l6ZSgpLCBhbmQgY2hlY2sgdGhhdAp0aGUgYmxvYiBmaXRzIGludG8gdGhl IHJlc3BvbnNlIGJ1ZmZlciB3aGVuIGl0IGlzIGJ1aWx0IGluIHBsYWNlCndpdGhvdXQgU1BO RUdPOiB0aGUgd29ya2dyb3VwIG1heSBiZSBsb25nZXIgdGhhbiB0aGUgbmV0YmlvcyBuYW1l LgoKQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy01LTUKLS0tCiBmcy9zbWIvc2Vy dmVyL2F1dGguYyAgICB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tCiBmcy9zbWIvc2VydmVyL3NtYjJwZHUuYyB8IDIxICsrKysrKysrKysrKysrKysr KystLQogMiBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2ZzL3NtYi9zZXJ2ZXIvYXV0aC5jIGIvZnMvc21iL3NlcnZlci9h dXRoLmMKaW5kZXggMzUzNjAzMmExLi5hODc0NjkyYzUgMTAwNjQ0Ci0tLSBhL2ZzL3NtYi9z ZXJ2ZXIvYXV0aC5jCisrKyBiL2ZzL3NtYi9zZXJ2ZXIvYXV0aC5jCkBAIC0zNzQsMTAgKzM3 NCwxMCBAQCBrc21iZF9idWlsZF9udGxtc3NwX2NoYWxsZW5nZV9ibG9iKHN0cnVjdCBjaGFs bGVuZ2VfbWVzc2FnZSAqY2hnYmxvYiwKIAkJCQkgICBzdHJ1Y3Qga3NtYmRfY29ubiAqY29u bikKIHsKIAlzdHJ1Y3QgdGFyZ2V0X2luZm8gKnRpbmZvOwotCXdjaGFyX3QgKm5hbWU7CisJ d2NoYXJfdCAqbmFtZSwgKmRvbWFpbjsKIAlfX3U4ICp0YXJnZXRfbmFtZTsKIAl1bnNpZ25l ZCBpbnQgZmxhZ3MsIGJsb2Jfb2ZmLCBibG9iX2xlbiwgdHlwZSwgdGFyZ2V0X2luZm9fbGVu ID0gMDsKLQlpbnQgbGVuLCB1bmlfbGVuLCBjb252X2xlbjsKKwlpbnQgbGVuLCB1bmlfbGVu LCBkb21fbGVuLCBjb252X2xlbjsKIAlpbnQgY2ZsYWdzID0gY29ubi0+bnRsbXNzcC5jbGll bnRfZmxhZ3M7CiAKIAltZW1jcHkoY2hnYmxvYi0+U2lnbmF0dXJlLCBOVExNU1NQX1NJR05B VFVSRSwgOCk7CkBAIC00MjQsNiArNDI0LDIzIEBAIGtzbWJkX2J1aWxkX250bG1zc3BfY2hh bGxlbmdlX2Jsb2Ioc3RydWN0IGNoYWxsZW5nZV9tZXNzYWdlICpjaGdibG9iLAogCiAJdW5p X2xlbiA9IFVOSUNPREVfTEVOKGNvbnZfbGVuKTsKIAorCWxlbiA9IHN0cmxlbihrc21iZF93 b3JrX2dyb3VwKCkpOworCWRvbWFpbiA9IGttYWxsb2MoMiArIFVOSUNPREVfTEVOKGxlbiks IEtTTUJEX0RFRkFVTFRfR0ZQKTsKKwlpZiAoIWRvbWFpbikgeworCQlrZnJlZShuYW1lKTsK KwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJY29udl9sZW4gPSBzbWJfc3RydG9VVEYxNigo X19sZTE2ICopZG9tYWluLCBrc21iZF93b3JrX2dyb3VwKCksIGxlbiwKKwkJCQkgIGNvbm4t PmxvY2FsX25scyk7CisJaWYgKGNvbnZfbGVuIDwgMCB8fCBjb252X2xlbiA+IGxlbikgewor CQlrZnJlZShkb21haW4pOworCQlrZnJlZShuYW1lKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJ fQorCisJZG9tX2xlbiA9IFVOSUNPREVfTEVOKGNvbnZfbGVuKTsKKwogCWJsb2Jfb2ZmID0g c2l6ZW9mKHN0cnVjdCBjaGFsbGVuZ2VfbWVzc2FnZSk7CiAJYmxvYl9sZW4gPSBibG9iX29m ZiArIHVuaV9sZW47CiAKQEAgLTQ0NCwxNCArNDYxLDIzIEBAIGtzbWJkX2J1aWxkX250bG1z c3BfY2hhbGxlbmdlX2Jsb2Ioc3RydWN0IGNoYWxsZW5nZV9tZXNzYWdlICpjaGdibG9iLAog CXRpbmZvID0gKHN0cnVjdCB0YXJnZXRfaW5mbyAqKSh0YXJnZXRfbmFtZSArIHVuaV9sZW4p OwogCiAJY2hnYmxvYi0+VGFyZ2V0SW5mb0FycmF5Lkxlbmd0aCA9IDA7Ci0JLyogQWRkIHRh cmdldCBpbmZvIGxpc3QgZm9yIE5ldEJJT1MvRE5TIHNldHRpbmdzICovCisJLyoKKwkgKiBB ZGQgdGFyZ2V0IGluZm8gbGlzdCBmb3IgTmV0QklPUy9ETlMgc2V0dGluZ3M6IHRoZSBjb21w dXRlciBuYW1lcworCSAqIGFyZSB0aGUgbmV0YmlvcyBuYW1lLCB0aGUgZG9tYWluIG5hbWVz IHRoZSB3b3JrZ3JvdXAuIEEgZG9tYWluCisJICogY29udHJvbGxlciBjaGVja3MgdGhlIGxh dHRlciB3aGVuIGl0IGlzIGFza2VkIHRvIHZlcmlmeSB0aGUKKwkgKiBOVExNdjIgcmVzcG9u c2Ugb2YgYSBkb21haW4gdXNlciAoTkVUTE9HT04gcGFzcy10aHJvdWdoKS4KKwkgKi8KIAlm b3IgKHR5cGUgPSBOVExNU1NQX0FWX05CX0NPTVBVVEVSX05BTUU7CiAJICAgICB0eXBlIDw9 IE5UTE1TU1BfQVZfRE5TX0RPTUFJTl9OQU1FOyB0eXBlKyspIHsKKwkJYm9vbCBpc19kb21h aW4gPSB0eXBlID09IE5UTE1TU1BfQVZfTkJfRE9NQUlOX05BTUUgfHwKKwkJCQkgdHlwZSA9 PSBOVExNU1NQX0FWX0ROU19ET01BSU5fTkFNRTsKKwkJaW50IGF2X2xlbiA9IGlzX2RvbWFp biA/IGRvbV9sZW4gOiB1bmlfbGVuOworCiAJCXRpbmZvLT5UeXBlID0gY3B1X3RvX2xlMTYo dHlwZSk7Ci0JCXRpbmZvLT5MZW5ndGggPSBjcHVfdG9fbGUxNih1bmlfbGVuKTsKLQkJbWVt Y3B5KHRpbmZvLT5Db250ZW50LCBuYW1lLCB1bmlfbGVuKTsKLQkJdGluZm8gPSAoc3RydWN0 IHRhcmdldF9pbmZvICopKChjaGFyICopdGluZm8gKyA0ICsgdW5pX2xlbik7Ci0JCXRhcmdl dF9pbmZvX2xlbiArPSA0ICsgdW5pX2xlbjsKKwkJdGluZm8tPkxlbmd0aCA9IGNwdV90b19s ZTE2KGF2X2xlbik7CisJCW1lbWNweSh0aW5mby0+Q29udGVudCwgaXNfZG9tYWluID8gZG9t YWluIDogbmFtZSwgYXZfbGVuKTsKKwkJdGluZm8gPSAoc3RydWN0IHRhcmdldF9pbmZvICop KChjaGFyICopdGluZm8gKyA0ICsgYXZfbGVuKTsKKwkJdGFyZ2V0X2luZm9fbGVuICs9IDQg KyBhdl9sZW47CiAJfQogCiAJLyogQWRkIHRlcm1pbmF0b3Igc3ViYmxvY2sgKi8KQEAgLTQ2 Miw2ICs0ODgsNyBAQCBrc21iZF9idWlsZF9udGxtc3NwX2NoYWxsZW5nZV9ibG9iKHN0cnVj dCBjaGFsbGVuZ2VfbWVzc2FnZSAqY2hnYmxvYiwKIAljaGdibG9iLT5UYXJnZXRJbmZvQXJy YXkuTGVuZ3RoID0gY3B1X3RvX2xlMTYodGFyZ2V0X2luZm9fbGVuKTsKIAljaGdibG9iLT5U YXJnZXRJbmZvQXJyYXkuTWF4aW11bUxlbmd0aCA9IGNwdV90b19sZTE2KHRhcmdldF9pbmZv X2xlbik7CiAJYmxvYl9sZW4gKz0gdGFyZ2V0X2luZm9fbGVuOworCWtmcmVlKGRvbWFpbik7 CiAJa2ZyZWUobmFtZSk7CiAJa3NtYmRfZGVidWcoQVVUSCwgIk5UTE1TU1AgU2VjdXJpdHlC dWZmZXJMZW5ndGggJWRcbiIsIGJsb2JfbGVuKTsKIAlyZXR1cm4gYmxvYl9sZW47CmRpZmYg LS1naXQgYS9mcy9zbWIvc2VydmVyL3NtYjJwZHUuYyBiL2ZzL3NtYi9zZXJ2ZXIvc21iMnBk dS5jCmluZGV4IGY5OWYyZmQ5Mi4uZTZiMmI2YTVkIDEwMDY0NAotLS0gYS9mcy9zbWIvc2Vy dmVyL3NtYjJwZHUuYworKysgYi9mcy9zbWIvc2VydmVyL3NtYjJwZHUuYwpAQCAtMTU4Niw2 ICsxNTg2LDIwIEBAIHN0YXRpYyBfX2xlMzIgZGVhc3NlbWJsZV9uZWdfY29udGV4dHMoc3Ry dWN0IGtzbWJkX2Nvbm4gKmNvbm4sCiAJcmV0dXJuIHN0YXR1czsKIH0KIAorLyoKKyAqIG50 bG1zc3BfY2hhbGxlbmdlX3NpemUoKSAtIHJvb20gZm9yIHRoZSBjaGFsbGVuZ2UgYmxvYjog dGhlIG5ldGJpb3MgbmFtZSBhcworICogdGFyZ2V0IG5hbWUgYW5kIHRoZSB0d28gY29tcHV0 ZXIgbmFtZXMsIHRoZSB3b3JrZ3JvdXAgYXMgdGhlIHR3byBkb21haW4KKyAqIG5hbWVzIChV VEYtMTYsIGVhY2ggd2l0aCBpdHMgNC1ieXRlIEFWIHBhaXIgaGVhZGVyKSwgdGhlIHRlcm1p bmF0b3IKKyAqLworc3RhdGljIHNpemVfdCBudGxtc3NwX2NoYWxsZW5nZV9zaXplKHZvaWQp Cit7CisJc2l6ZV90IG5iID0gc3RybGVuKGtzbWJkX25ldGJpb3NfbmFtZSgpKSAqIDI7CisJ c2l6ZV90IHdnID0gc3RybGVuKGtzbWJkX3dvcmtfZ3JvdXAoKSkgKiAyOworCisJcmV0dXJu IHNpemVvZihzdHJ1Y3QgY2hhbGxlbmdlX21lc3NhZ2UpICsgbmIgKyAyICogKDQgKyBuYikg KworCSAgICAgICAyICogKDQgKyB3ZykgKyA0OworfQorCiAvKioKICAqIHNtYjJfaGFuZGxl X25lZ290aWF0ZSgpIC0gaGFuZGxlciBmb3Igc21iMiBuZWdvdGlhdGUgY29tbWFuZAogICog QHdvcms6CXNtYiB3b3JrIGNvbnRhaW5pbmcgc21iIHJlcXVlc3QgYnVmZmVyCkBAIC0xODUy LDYgKzE4NjYsMTAgQEAgc3RhdGljIGludCBudGxtX25lZ290aWF0ZShzdHJ1Y3Qga3NtYmRf d29yayAqd29yaywKIAltZW1zZXQoY2hnYmxvYiwgMCwgc2l6ZW9mKHN0cnVjdCBjaGFsbGVu Z2VfbWVzc2FnZSkpOwogCiAJaWYgKCF3b3JrLT5jb25uLT51c2Vfc3BuZWdvKSB7CisJCWlm ICgoY2hhciAqKXJzcC0+QnVmZmVyICsgbnRsbXNzcF9jaGFsbGVuZ2Vfc2l6ZSgpID4KKwkJ ICAgIChjaGFyICopd29yay0+cmVzcG9uc2VfYnVmICsgd29yay0+cmVzcG9uc2Vfc3opCisJ CQlyZXR1cm4gLUVJTlZBTDsKKwogCQlzeiA9IGtzbWJkX2J1aWxkX250bG1zc3BfY2hhbGxl bmdlX2Jsb2IoY2hnYmxvYiwgd29yay0+Y29ubik7CiAJCWlmIChzeiA8IDApCiAJCQlyZXR1 cm4gLUVOT01FTTsKQEAgLTE4NjAsOCArMTg3OCw3IEBAIHN0YXRpYyBpbnQgbnRsbV9uZWdv dGlhdGUoc3RydWN0IGtzbWJkX3dvcmsgKndvcmssCiAJCXJldHVybiAwOwogCX0KIAotCXN6 ID0gc2l6ZW9mKHN0cnVjdCBjaGFsbGVuZ2VfbWVzc2FnZSk7Ci0Jc3ogKz0gKHN0cmxlbihr c21iZF9uZXRiaW9zX25hbWUoKSkgKiAyICsgMSArIDQpICogNjsKKwlzeiA9IG50bG1zc3Bf Y2hhbGxlbmdlX3NpemUoKTsKIAogCW5lZ19ibG9iID0ga3phbGxvYyhzeiwgS1NNQkRfREVG QVVMVF9HRlApOwogCWlmICghbmVnX2Jsb2IpCg== --------------KKSAO7YPFe0rwYoCb4kkrxnV--