Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Feb 2013 16:07:12 +0100
From:      Christoph Mallon <christoph.mallon@gmx.de>
To:        Pawel Jakub Dawidek <pjd@FreeBSD.org>
Cc:        freebsd-arch@FreeBSD.org
Subject:   Re: Large Capsicum patch for review.
Message-ID:  <512A2CA0.2050509@gmx.de>
In-Reply-To: <5129ADC5.5040306@gmx.de>
References:  <20130213025547.GA2025@garage.freebsd.pl> <20130213230221.GB1375@garage.freebsd.pl> <20130223221116.GR1377@garage.freebsd.pl> <5129ADC5.5040306@gmx.de>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.02.2013 07:05, Christoph Mallon wrote:
> I started reading the patch and found some minor glitches, e.g. mode in cap_sandboxed() should be u_int, not int.
> I will report more later.

I placed several patches with suggested changes at http://tron.homeunix.org/zeug/FreeBSD/capsicum/ (I also attached them).
Please have a look at them.
I also have some comments:
- A bitmask for cap_rights_limit() seems limited.
  There are only six bits left unused.
  Maybe a more general mechanism should be used.
- I think that CAP_SEND, CAP_RECV, CAP_FCHMODAT, CAP_FCHOWNAT, CAP_FSTATAT and CAP_FUTIMESAT are pointless aliases, which provide no benefit, but rather might cause confusion, whether there is a difference between e.g. CAP_WRITE and CAP_SEND.
- Why did you choose INT_MAX to represent "all capabilities"?
  The data type used is ssize_t, so SSIZE_MAX seems more logical.
  Further, there are several places where size_t and ssize_t come into contact, which need careful tests and casts to get right.
  Maybe it is better to always use size_t and represent "all capabilities" with SIZE_T_MAX or (size_t)-1 (which is guaranteed by C to be the maximal value).
- Is it correct, that fdp seems to be not locked in fp_getfvp()?
  Otherweise, fget_locked() could be used instead of the manual check.
- I could not verify many changes, e.g. changed requested permissions, because this is just a big diff with no information about the intention of the changes.
  A series of smaller diffs with commit logs to state their intent would be really useful for reviewing.

	Christoph

--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0002-Use-the-correct-type-for-the-parameter-of-cap_getmod.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0002-Use-the-correct-type-for-the-parameter-of-cap_getmod.pa";
 filename*1="tch"

RnJvbSA3ZjE4MTg2YzQ1MWMyMzViY2MzZGJmMmUyNWY2NTYxM2UxY2U3ZjE2IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzowMTowMCArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMDIvMjRdIFVzZSB0aGUgY29ycmVjdCB0eXBlIGZvciB0aGUgcGFyYW1l
dGVyIG9mCiBjYXBfZ2V0bW9kZSgpLgoKLS0tCiBsaWIvbGliYy9nZW4vY2FwX3NhbmRib3hl
ZC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u
KC0pCgpkaWZmIC0tZ2l0IGEvbGliL2xpYmMvZ2VuL2NhcF9zYW5kYm94ZWQuYyBiL2xpYi9s
aWJjL2dlbi9jYXBfc2FuZGJveGVkLmMKaW5kZXggOTVlNWIyMy4uNTc0M2YyYSAxMDA2NDQK
LS0tIGEvbGliL2xpYmMvZ2VuL2NhcF9zYW5kYm94ZWQuYworKysgYi9saWIvbGliYy9nZW4v
Y2FwX3NhbmRib3hlZC5jCkBAIC0zOSw3ICszOSw3IEBAIF9fRkJTRElEKCIkRnJlZUJTRCQi
KTsKIGJvb2wKIGNhcF9zYW5kYm94ZWQodm9pZCkKIHsKLQlpbnQgbW9kZTsKKwl1X2ludCBt
b2RlOwogCiAJaWYgKGNhcF9nZXRtb2RlKCZtb2RlKSA9PSAtMSkgewogCQlhc3NlcnQoZXJy
bm8gPT0gRU5PU1lTKTsKLS0gCjEuOC4xLjMKCg==
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0003-Use-cheaper-0-tests.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0003-Use-cheaper-0-tests.patch"

RnJvbSA3YWQwOWEwY2YwY2ViOTgyODE3MTEzM2UzMmY3MTQ4ZmZkZTYyZDk3IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzowMzowMyArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMDMvMjRdIFVzZSBjaGVhcGVyICE9IDAgdGVzdHMuCgotLS0KIGxpYi9s
aWJjL2dlbi9jYXBfc2FuZGJveGVkLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGlu
c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2xpYmMvZ2Vu
L2NhcF9zYW5kYm94ZWQuYyBiL2xpYi9saWJjL2dlbi9jYXBfc2FuZGJveGVkLmMKaW5kZXgg
NTc0M2YyYS4uZjA5YjU5MCAxMDA2NDQKLS0tIGEvbGliL2xpYmMvZ2VuL2NhcF9zYW5kYm94
ZWQuYworKysgYi9saWIvbGliYy9nZW4vY2FwX3NhbmRib3hlZC5jCkBAIC00MSwxMCArNDEs
MTAgQEAgY2FwX3NhbmRib3hlZCh2b2lkKQogewogCXVfaW50IG1vZGU7CiAKLQlpZiAoY2Fw
X2dldG1vZGUoJm1vZGUpID09IC0xKSB7CisJaWYgKGNhcF9nZXRtb2RlKCZtb2RlKSAhPSAw
KSB7CiAJCWFzc2VydChlcnJubyA9PSBFTk9TWVMpOwogCQlyZXR1cm4gKGZhbHNlKTsKIAl9
CiAJYXNzZXJ0KG1vZGUgPT0gMCB8fCBtb2RlID09IDEpOwotCXJldHVybiAobW9kZSA9PSAx
KTsKKwlyZXR1cm4gKG1vZGUgIT0gMCk7CiB9Ci0tIAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0004-Add-cap_sandboxed-to-Symbol.map.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0004-Add-cap_sandboxed-to-Symbol.map.patch"

RnJvbSBhZTZhYzhiODIzNzRlODNkY2MyYmRhN2RkNmUxN2RhNWQ2NWQ5ZWFlIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzowMzoyNCArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMDQvMjRdIEFkZCBjYXBfc2FuZGJveGVkIHRvIFN5bWJvbC5tYXAuCgot
LS0KIGxpYi9saWJjL3N5cy9TeW1ib2wubWFwIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBp
bnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9saWIvbGliYy9zeXMvU3ltYm9sLm1hcCBiL2xp
Yi9saWJjL3N5cy9TeW1ib2wubWFwCmluZGV4IDM3NmFjZTAuLjc3MzhlNDYgMTAwNjQ0Ci0t
LSBhL2xpYi9saWJjL3N5cy9TeW1ib2wubWFwCisrKyBiL2xpYi9saWJjL3N5cy9TeW1ib2wu
bWFwCkBAIC0zODQsNiArMzg0LDcgQEAgRkJTRF8xLjMgewogCWNhcF9pb2N0bHNfbGltaXQ7
CiAJY2FwX3JpZ2h0c19nZXQ7CiAJY2FwX3JpZ2h0c19saW1pdDsKKwljYXBfc2FuZGJveGVk
OwogCWNsb2NrX2dldGNwdWNsb2NraWQyOwogCWZmY2xvY2tfZ2V0Y291bnRlcjsKIAlmZmNs
b2NrX2dldGVzdGltYXRlOwotLSAKMS44LjEuMwoK
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0005-Use-standard-inline-instead-of-the-GNUism-__inline.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0005-Use-standard-inline-instead-of-the-GNUism-__inline.patc";
 filename*1="h"

RnJvbSA0ODIyZmFlYzhlYTVjNTNjNjczNzQwZWVlYzBjYjYwNDk2MGFmMzdiIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzowMzo1OSArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMDUvMjRdIFVzZSBzdGFuZGFyZCBpbmxpbmUgaW5zdGVhZCBvZiB0aGUg
R05VaXNtIF9faW5saW5lLgoKLS0tCiBzeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jIHwgMiAr
LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm
IC0tZ2l0IGEvc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYyBiL3N5cy9rZXJuL3N5c19jYXBh
YmlsaXR5LmMKaW5kZXggOTQxZWE0OS4uMGY0ZWYxMiAxMDA2NDQKLS0tIGEvc3lzL2tlcm4v
c3lzX2NhcGFiaWxpdHkuYworKysgYi9zeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jCkBAIC0x
NDQsNyArMTQ0LDcgQEAgc3lzX2NhcF9nZXRtb2RlKHN0cnVjdCB0aHJlYWQgKnRkLCBzdHJ1
Y3QgY2FwX2dldG1vZGVfYXJncyAqdWFwKQogCiBGRUFUVVJFKHNlY3VyaXR5X2NhcGFiaWxp
dGllcywgIkNhcHNpY3VtIENhcGFiaWxpdGllcyIpOwogCi1zdGF0aWMgX19pbmxpbmUgaW50
CitzdGF0aWMgaW5saW5lIGludAogX2NhcF9jaGVjayhjYXBfcmlnaHRzX3QgaGF2ZSwgY2Fw
X3JpZ2h0c190IG5lZWQsIGVudW0ga3RyX2NhcF9mYWlsX3R5cGUgdHlwZSkKIHsKIAotLSAK
MS44LjEuMwoK
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0006-Avoid-polluting-the-global-namespace-with-stdbool.h.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0006-Avoid-polluting-the-global-namespace-with-stdbool.h.pat";
 filename*1="ch"

RnJvbSAxZDFkZWZkZjdkZDExN2FmYTU2MzMwYzk1OGRhZWFjNWQ1MmJlMDVmIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzowNDo0MSArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMDYvMjRdIEF2b2lkIHBvbGx1dGluZyB0aGUgZ2xvYmFsIG5hbWVzcGFj
ZSB3aXRoIHN0ZGJvb2wuaC4KCi0tLQogc3lzL3N5cy9jYXBhYmlsaXR5LmggfCAzICstLQog
MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL3N5cy9zeXMvY2FwYWJpbGl0eS5oIGIvc3lzL3N5cy9jYXBhYmlsaXR5LmgKaW5k
ZXggZGY5NWFlNC4uOWVlZDRkMSAxMDA2NDQKLS0tIGEvc3lzL3N5cy9jYXBhYmlsaXR5LmgK
KysrIGIvc3lzL3N5cy9jYXBhYmlsaXR5LmgKQEAgLTI1MSw3ICsyNTEsNiBAQCBpbnQJY2Fw
X2ZjbnRsX2NoZWNrKHN0cnVjdCBmaWxlZGVzYyAqZmRwLCBpbnQgZmQsIGludCBjbWQpOwog
I2Vsc2UgLyogIV9LRVJORUwgKi8KIAogX19CRUdJTl9ERUNMUwotI2luY2x1ZGUgPHN0ZGJv
b2wuaD4KIAogLyoKICAqIGNhcF9lbnRlcigpOiBDYXVzZSB0aGUgcHJvY2VzcyB0byBlbnRl
ciBjYXBhYmlsaXR5IG1vZGUsIHdoaWNoIHdpbGwKQEAgLTI3MCw3ICsyNjksNyBAQCBpbnQJ
Y2FwX2VudGVyKHZvaWQpOwogICogQXJlIHdlIHNhbmRib3hlZCAoaW4gY2FwYWJpbGl0eSBt
b2RlKT8KICAqIFRoaXMgaXMgbGliYyB3cmFwcGVyIGFyb3VuZCBjYXBfZ2V0bW9kZSgyKSBz
eXN0ZW0gY2FsbC4KICAqLwotYm9vbAljYXBfc2FuZGJveGVkKHZvaWQpOworX0Jvb2wJY2Fw
X3NhbmRib3hlZCh2b2lkKTsKIAogLyoKICAqIGNhcF9nZXRtb2RlKCk6IEFyZSB3ZSBpbiBj
YXBhYmlsaXR5IG1vZGU/Ci0tIAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0007-Use-CC-instead-of-hardcoding-gcc.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0007-Use-CC-instead-of-hardcoding-gcc.patch"

RnJvbSA1MTA3YWI5YWVjNjc2NmM5Y2U1Mjg1OTM5NjM3YzU3MzliMmFlZDBjIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzowNToxOSArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMDcvMjRdIFVzZSAke0NDfSBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgZ2Nj
LgoKLS0tCiB0b29scy9yZWdyZXNzaW9uL2NhcHNpY3VtL3N5c2NhbGxzL01ha2VmaWxlIHwg
MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk
aWZmIC0tZ2l0IGEvdG9vbHMvcmVncmVzc2lvbi9jYXBzaWN1bS9zeXNjYWxscy9NYWtlZmls
ZSBiL3Rvb2xzL3JlZ3Jlc3Npb24vY2Fwc2ljdW0vc3lzY2FsbHMvTWFrZWZpbGUKaW5kZXgg
Y2IxYjA3Yi4uNWQzNDIyNiAxMDA2NDQKLS0tIGEvdG9vbHMvcmVncmVzc2lvbi9jYXBzaWN1
bS9zeXNjYWxscy9NYWtlZmlsZQorKysgYi90b29scy9yZWdyZXNzaW9uL2NhcHNpY3VtL3N5
c2NhbGxzL01ha2VmaWxlCkBAIC0xNCw3ICsxNCw3IEBAIGFsbDoJJHtTWVNDQUxMU30gJHtT
WVNDQUxMUzo9LnR9CiAuZm9yIFNZU0NBTEwgaW4gJHtTWVNDQUxMU30KIAogJHtTWVNDQUxM
fToJJHtTWVNDQUxMfS5jIG1pc2MuYwotCWdjYyAke0NGTEFHU30gJHtAfS5jIG1pc2MuYyAt
byAkQAorCSR7Q0N9ICR7Q0ZMQUdTfSAke0B9LmMgbWlzYy5jIC1vICRACiAKICR7U1lTQ0FM
TH0udDoJJHtTWVNDQUxMfQogCUBwcmludGYgIiMhL2Jpbi9zaFxuXG4lcy8lc1xuIiAkey5D
VVJESVJ9ICR7QDoudD19ID4gJEAKLS0gCjEuOC4xLjMKCg==
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0008-Use-fget_locked-instead-of-duplicating-it.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0008-Use-fget_locked-instead-of-duplicating-it.patch"

RnJvbSBkMmZlN2E2ZjlkOGUwODk0MzYwMGIxZjVkNmEyODE4YzZjNGFhNzk0IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzozMTozNyArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMDgvMjRdIFVzZSBmZ2V0X2xvY2tlZCgpIGluc3RlYWQgb2YgZHVwbGlj
YXRpbmcgaXQuCgotLS0KIHN5cy9rZXJuL3VpcGNfdXNycmVxLmMgfCAzICstLQogc3lzL25l
dHNtYi9zbWJfZGV2LmMgICB8IDQgKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlv
bnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3lzL2tlcm4vdWlwY191c3Jy
ZXEuYyBiL3N5cy9rZXJuL3VpcGNfdXNycmVxLmMKaW5kZXggMTVhMWM4YS4uNTI5ZDJlYiAx
MDA2NDQKLS0tIGEvc3lzL2tlcm4vdWlwY191c3JyZXEuYworKysgYi9zeXMva2Vybi91aXBj
X3VzcnJlcS5jCkBAIC0xODU4LDggKzE4NTgsNyBAQCB1bnBfaW50ZXJuYWxpemUoc3RydWN0
IG1idWYgKipjb250cm9scCwgc3RydWN0IHRocmVhZCAqdGQpCiAJCQlGSUxFREVTQ19TTE9D
SyhmZGVzYyk7CiAJCQlmb3IgKGkgPSAwOyBpIDwgb2xkZmRzOyBpKyspIHsKIAkJCQlmZCA9
ICpmZHArKzsKLQkJCQlpZiAoZmQgPCAwIHx8IGZkID49IGZkZXNjLT5mZF9uZmlsZXMgfHwK
LQkJCQkgICAgZmRlc2MtPmZkX29maWxlc1tmZF0uZmRlX2ZpbGUgPT0gTlVMTCkgeworCQkJ
CWlmIChmZ2V0X2xvY2tlZChmZHAsIGZkKSA9PSBOVUxMKSB7CiAJCQkJCUZJTEVERVNDX1NV
TkxPQ0soZmRlc2MpOwogCQkJCQllcnJvciA9IEVCQURGOwogCQkJCQlnb3RvIG91dDsKZGlm
ZiAtLWdpdCBhL3N5cy9uZXRzbWIvc21iX2Rldi5jIGIvc3lzL25ldHNtYi9zbWJfZGV2LmMK
aW5kZXggMGNlZTMyNS4uYTA5ZDc0ZCAxMDA2NDQKLS0tIGEvc3lzL25ldHNtYi9zbWJfZGV2
LmMKKysrIGIvc3lzL25ldHNtYi9zbWJfZGV2LmMKQEAgLTM5OSw5ICszOTksNyBAQCBuc21i
X2dldGZwKHN0cnVjdCBmaWxlZGVzYyogZmRwLCBpbnQgZmQsIGludCBmbGFnKQogCXN0cnVj
dCBmaWxlKiBmcDsKIAogCUZJTEVERVNDX1NMT0NLKGZkcCk7Ci0JaWYgKGZkIDwgMCB8fCBm
ZCA+PSBmZHAtPmZkX25maWxlcyB8fAotCSAgICAoZnAgPSBmZHAtPmZkX29maWxlc1tmZF0u
ZmRlX2ZpbGUpID09IE5VTEwgfHwKLQkgICAgKGZwLT5mX2ZsYWcgJiBmbGFnKSA9PSAwKSB7
CisJaWYgKChmcCA9IGZnZXRfbG9ja2VkKGZkcCwgZmQpKSA9PSBOVUxMIHx8IChmcC0+Zl9m
bGFnICYgZmxhZykgPT0gMCkgewogCQlGSUxFREVTQ19TVU5MT0NLKGZkcCk7CiAJCXJldHVy
biAoTlVMTCk7CiAJfQotLSAKMS44LjEuMwoK
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0009-Remove-duplicate-checks.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0009-Remove-duplicate-checks.patch"

RnJvbSBjYzJkZTQyZTk0NDgyODk0M2MxN2ZjYmEyYTgyMWJlY2M2MzRiOWE0IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzozMzo0OSArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMDkvMjRdIFJlbW92ZSBkdXBsaWNhdGUgY2hlY2tzLgoKZmdldF9sb2Nr
ZWQoKSBqdXN0IGJlbG93IGRvZXMgdGhlIHNhbWUgY2hlY2tzLgotLS0KIHN5cy9rZXJuL2tl
cm5fZGVzY3JpcC5jIHwgNSAtLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMgYi9zeXMva2Vybi9rZXJu
X2Rlc2NyaXAuYwppbmRleCBiZWQ1ZDhmLi40NzNhYjQwIDEwMDY0NAotLS0gYS9zeXMva2Vy
bi9rZXJuX2Rlc2NyaXAuYworKysgYi9zeXMva2Vybi9rZXJuX2Rlc2NyaXAuYwpAQCAtMjQ1
OSwxMSArMjQ1OSw2IEBAIGZnZXR2cF9yaWdodHMoc3RydWN0IHRocmVhZCAqdGQsIGludCBm
ZCwgY2FwX3JpZ2h0c190IG5lZWQsCiAJaWYgKHRkID09IE5VTEwgfHwgKGZkcCA9IHRkLT50
ZF9wcm9jLT5wX2ZkKSA9PSBOVUxMKQogCQlyZXR1cm4gKEVCQURGKTsKIAotCUZJTEVERVND
X0xPQ0tfQVNTRVJUKGZkcCk7Ci0KLQlpZiAoZmQgPCAwIHx8IGZkID49IGZkcC0+ZmRfbmZp
bGVzKQotCQlyZXR1cm4gKEVCQURGKTsKLQogCWZwID0gZmdldF9sb2NrZWQoZmRwLCBmZCk7
CiAJaWYgKGZwID09IE5VTEwgfHwgZnAtPmZfb3BzID09ICZiYWRmaWxlb3BzKQogCQlyZXR1
cm4gKEVCQURGKTsKLS0gCjEuOC4xLjMKCg==
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0010-Make-fp_getfvp-static.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0010-Make-fp_getfvp-static.patch"

RnJvbSAyYjlhZGQ3Mzk2YTk0ODVhZGQ2YTQyNDYwNzFjZjA0MWE1MDE2MWQxIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzozNDo0MyArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTAvMjRdIE1ha2UgZnBfZ2V0ZnZwKCkgc3RhdGljLgoKLS0tCiBzeXMv
ZnMvbmZzL25mc2Rwb3J0LmggICAgICAgICAgIHwgMiAtLQogc3lzL2ZzL25mc3NlcnZlci9u
ZnNfbmZzZHBvcnQuYyB8IDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks
IDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3lzL2ZzL25mcy9uZnNkcG9ydC5oIGIv
c3lzL2ZzL25mcy9uZnNkcG9ydC5oCmluZGV4IDUyOWFkYTIuLmEwOWE2ZGQgMTAwNjQ0Ci0t
LSBhL3N5cy9mcy9uZnMvbmZzZHBvcnQuaAorKysgYi9zeXMvZnMvbmZzL25mc2Rwb3J0LmgK
QEAgLTk0LDggKzk0LDYgQEAgc3RydWN0IG5mc2V4c3R1ZmYgewogI2RlZmluZQlORlNGUENS
RUQoZikJKChmKS0+Zl9jcmVkKQogI2RlZmluZQlORlNGUEZMQUcoZikJKChmKS0+Zl9mbGFn
KQogCi1pbnQgZnBfZ2V0ZnZwKE5GU1BST0NfVCAqLCBpbnQsIHN0cnVjdCBmaWxlICoqLCBz
dHJ1Y3Qgdm5vZGUgKiopOwotCiAjZGVmaW5lCU5GU05BTUVJQ05EU0VUKG4sIGMsIG8sIGYp
CWRvIHsJCQkJXAogCShuKS0+Y25fY3JlZCA9IChjKTsJCQkJCQlcCiAJKG4pLT5jbl9uYW1l
aW9wID0gKG8pOwkJCQkJCVwKZGlmZiAtLWdpdCBhL3N5cy9mcy9uZnNzZXJ2ZXIvbmZzX25m
c2Rwb3J0LmMgYi9zeXMvZnMvbmZzc2VydmVyL25mc19uZnNkcG9ydC5jCmluZGV4IGNkNzgx
NGMuLjg4MGY5NjUgMTAwNjQ0Ci0tLSBhL3N5cy9mcy9uZnNzZXJ2ZXIvbmZzX25mc2Rwb3J0
LmMKKysrIGIvc3lzL2ZzL25mc3NlcnZlci9uZnNfbmZzZHBvcnQuYwpAQCAtMjc2Nyw3ICsy
NzY3LDcgQEAgb3V0OgogLyoKICAqIGdsdWUgZm9yIGZwLgogICovCi1pbnQKK3N0YXRpYyBp
bnQKIGZwX2dldGZ2cChzdHJ1Y3QgdGhyZWFkICpwLCBpbnQgZmQsIHN0cnVjdCBmaWxlICoq
ZnBwLCBzdHJ1Y3Qgdm5vZGUgKip2cHApCiB7CiAJc3RydWN0IGZpbGVkZXNjICpmZHA7Ci0t
IAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0011-Use-simple-assignment-instead-of-bcopy-to-copy-struc.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0011-Use-simple-assignment-instead-of-bcopy-to-copy-struc.pa";
 filename*1="tch"

RnJvbSA0NjQ1Y2M2ZGI1NGYyOWMxZjVlYzMyYzQ3Nzk0ZmQxMzVmOTljZjYwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzozNzoyMiArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTEvMjRdIFVzZSBzaW1wbGUgYXNzaWdubWVudCBpbnN0ZWFkIG9mIGJj
b3B5KCkgdG8gY29weQogc3RydWN0cy4KCi0tLQogc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMg
fCAxNSArKysrKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyks
IDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMg
Yi9zeXMva2Vybi9rZXJuX2Rlc2NyaXAuYwppbmRleCA0NzNhYjQwLi45NGJiNzRhIDEwMDY0
NAotLS0gYS9zeXMva2Vybi9rZXJuX2Rlc2NyaXAuYworKysgYi9zeXMva2Vybi9rZXJuX2Rl
c2NyaXAuYwpAQCAtODM5LDggKzgzOSw3IEBAIGRvX2R1cChzdHJ1Y3QgdGhyZWFkICp0ZCwg
aW50IGZsYWdzLCBpbnQgb2xkLCBpbnQgbmV3LAogCS8qCiAJICogRHVwbGljYXRlIHRoZSBz
b3VyY2UgZGVzY3JpcHRvci4KIAkgKi8KLQliY29weSgmZmRwLT5mZF9vZmlsZXNbb2xkXSwg
JmZkcC0+ZmRfb2ZpbGVzW25ld10sCi0JICAgIHNpemVvZihmZHAtPmZkX29maWxlc1tuZXdd
KSk7CisJZmRwLT5mZF9vZmlsZXNbbmV3XSA9IGZkcC0+ZmRfb2ZpbGVzW29sZF07CiAJZmls
ZWNhcHNfY29weSgmZmRwLT5mZF9vZmlsZXNbb2xkXS5mZGVfY2FwcywKIAkgICAgJmZkcC0+
ZmRfb2ZpbGVzW25ld10uZmRlX2NhcHMpOwogCWlmICgoZmxhZ3MgJiBEVVBfQ0xPRVhFQykg
IT0gMCkgewpAQCAtMTM3NCw3ICsxMzczLDcgQEAgZmlsZWNhcHNfY29weShjb25zdCBzdHJ1
Y3QgZmlsZWNhcHMgKnNyYywgc3RydWN0IGZpbGVjYXBzICpkc3QpCiB7CiAJc2l6ZV90IHNp
emU7CiAKLQliY29weShzcmMsIGRzdCwgc2l6ZW9mKCpkc3QpKTsKKwkqZHN0ID0gKnNyYzsK
IAlpZiAoc3JjLT5mY19pb2N0bHMgIT0gTlVMTCkgewogCQlLQVNTRVJUKHNyYy0+ZmNfbmlv
Y3RscyA+IDAsCiAJCSAgICAoImZjX2lvY3RscyAhPSBOVUxMLCBidXQgZmNfbmlvY3Rscz0l
aGQiLCBzcmMtPmZjX25pb2N0bHMpKTsKQEAgLTEzOTIsNyArMTM5MSw3IEBAIHN0YXRpYyB2
b2lkCiBmaWxlY2Fwc19tb3ZlKHN0cnVjdCBmaWxlY2FwcyAqc3JjLCBzdHJ1Y3QgZmlsZWNh
cHMgKmRzdCkKIHsKIAotCWJjb3B5KHNyYywgZHN0LCBzaXplb2YoKmRzdCkpOworCSpkc3Qg
PSAqc3JjOwogCWJ6ZXJvKHNyYywgc2l6ZW9mKCpzcmMpKTsKIH0KIApAQCAtMTgzNSw3ICsx
ODM0LDcgQEAgZmRjb3B5KHN0cnVjdCBmaWxlZGVzYyAqZmRwKQogCQkgICAgKG9mZGUtPmZk
ZV9maWxlLT5mX29wcy0+Zm9fZmxhZ3MgJiBERkxBR19QQVNTQUJMRSkgJiYKIAkJICAgIG9m
ZGUtPmZkZV9maWxlLT5mX29wcyAhPSAmYmFkZmlsZW9wcykgewogCQkJbmZkZSA9ICZuZXdm
ZHAtPmZkX29maWxlc1tpXTsKLQkJCWJjb3B5KG9mZGUsIG5mZGUsIHNpemVvZigqbmZkZSkp
OworCQkJKm5mZGUgPSAqb2ZkZTsKIAkJCWZpbGVjYXBzX2NvcHkoJm9mZGUtPmZkZV9jYXBz
LCAmbmZkZS0+ZmRlX2NhcHMpOwogCQkJZmhvbGQobmZkZS0+ZmRlX2ZpbGUpOwogCQkJbmV3
ZmRwLT5mZF9sYXN0ZmlsZSA9IGk7CkBAIC0yNjgxLDggKzI2ODAsNyBAQCBkdXBmZG9wZW4o
c3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCBmaWxlZGVzYyAqZmRwLCBpbnQgZGZkLCBpbnQg
bW9kZSwKIAkJCXJldHVybiAoRUFDQ0VTKTsKIAkJfQogCQlmaG9sZChmcCk7Ci0JCWJjb3B5
KCZmZHAtPmZkX29maWxlc1tkZmRdLCAmZmRwLT5mZF9vZmlsZXNbaW5keF0sCi0JCSAgICBz
aXplb2YoZmRwLT5mZF9vZmlsZXNbaW5keF0pKTsKKwkJZmRwLT5mZF9vZmlsZXNbaW5keF0g
PSBmZHAtPmZkX29maWxlc1tkZmRdOwogCQlmaWxlY2Fwc19jb3B5KCZmZHAtPmZkX29maWxl
c1tkZmRdLmZkZV9jYXBzLAogCQkgICAgJmZkcC0+ZmRfb2ZpbGVzW2luZHhdLmZkZV9jYXBz
KTsKIAkJYnJlYWs7CkBAIC0yNjkwLDggKzI2ODgsNyBAQCBkdXBmZG9wZW4oc3RydWN0IHRo
cmVhZCAqdGQsIHN0cnVjdCBmaWxlZGVzYyAqZmRwLCBpbnQgZGZkLCBpbnQgbW9kZSwKIAkJ
LyoKIAkJICogU3RlYWwgYXdheSB0aGUgZmlsZSBwb2ludGVyIGZyb20gZGZkIGFuZCBzdHVm
ZiBpdCBpbnRvIGluZHguCiAJCSAqLwotCQliY29weSgmZmRwLT5mZF9vZmlsZXNbZGZkXSwg
JmZkcC0+ZmRfb2ZpbGVzW2luZHhdLAotCQkgICAgc2l6ZW9mKGZkcC0+ZmRfb2ZpbGVzW2lu
ZHhdKSk7CisJCWZkcC0+ZmRfb2ZpbGVzW2luZHhdID0gZmRwLT5mZF9vZmlsZXNbZGZkXTsK
IAkJYnplcm8oJmZkcC0+ZmRfb2ZpbGVzW2RmZF0sIHNpemVvZihmZHAtPmZkX29maWxlc1tk
ZmRdKSk7CiAJCWZkdW51c2VkKGZkcCwgZGZkKTsKIAkJYnJlYWs7Ci0tIAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0012-Remove-redundant-null-pointer-tests-before-free.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0012-Remove-redundant-null-pointer-tests-before-free.patch"

RnJvbSBmYzg4NzhkMGE0M2VhM2Y5ZDc3YjFmZDUxZjkwZjRiNGJlMTg4ZmIyIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzo0MDozMiArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTIvMjRdIFJlbW92ZSByZWR1bmRhbnQgbnVsbCBwb2ludGVyIHRlc3Rz
IGJlZm9yZSBmcmVlKCkuCgotLS0KIHN5cy9rZXJuL2tlcm5fZGVzY3JpcC5jICAgfCAgMyAr
LS0KIHN5cy9rZXJuL3N5c19jYXBhYmlsaXR5LmMgfCAxNSArKysrKy0tLS0tLS0tLS0KIDIg
ZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9zeXMva2Vybi9rZXJuX2Rlc2NyaXAuYyBiL3N5cy9rZXJuL2tlcm5fZGVzY3Jp
cC5jCmluZGV4IDk0YmI3NGEuLjUzYjI0YjEgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL2tlcm5f
ZGVzY3JpcC5jCisrKyBiL3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCkBAIC0xNDE1LDggKzE0
MTUsNyBAQCB2b2lkCiBmaWxlY2Fwc19mcmVlKHN0cnVjdCBmaWxlY2FwcyAqZmNhcHMpCiB7
CiAKLQlpZiAoZmNhcHMtPmZjX2lvY3RscyAhPSBOVUxMKQotCQlmcmVlKGZjYXBzLT5mY19p
b2N0bHMsIE1fVEVNUCk7CisJZnJlZShmY2Fwcy0+ZmNfaW9jdGxzLCBNX1RFTVApOwogCWJ6
ZXJvKGZjYXBzLCBzaXplb2YoKmZjYXBzKSk7CiB9CiAKZGlmZiAtLWdpdCBhL3N5cy9rZXJu
L3N5c19jYXBhYmlsaXR5LmMgYi9zeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jCmluZGV4IDBm
NGVmMTIuLmVjYjNhNmIgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL3N5c19jYXBhYmlsaXR5LmMK
KysrIGIvc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYwpAQCAtMjI4LDEwICsyMjgsOCBAQCBz
eXNfY2FwX3JpZ2h0c19saW1pdChzdHJ1Y3QgdGhyZWFkICp0ZCwgc3RydWN0IGNhcF9yaWdo
dHNfbGltaXRfYXJncyAqdWFwKQogCWlmIChlcnJvciA9PSAwKSB7CiAJCWZkcC0+ZmRfb2Zp
bGVzW2ZkXS5mZGVfcmlnaHRzID0gcmlnaHRzOwogCQlpZiAoKHJpZ2h0cyAmIENBUF9JT0NU
TCkgPT0gMCkgewotCQkJaWYgKGZkcC0+ZmRfb2ZpbGVzW2ZkXS5mZGVfaW9jdGxzICE9IE5V
TEwpIHsKLQkJCQlmcmVlKGZkcC0+ZmRfb2ZpbGVzW2ZkXS5mZGVfaW9jdGxzLCBNX1RFTVAp
OwotCQkJCWZkcC0+ZmRfb2ZpbGVzW2ZkXS5mZGVfaW9jdGxzID0gTlVMTDsKLQkJCX0KKwkJ
CWZyZWUoZmRwLT5mZF9vZmlsZXNbZmRdLmZkZV9pb2N0bHMsIE1fVEVNUCk7CisJCQlmZHAt
PmZkX29maWxlc1tmZF0uZmRlX2lvY3RscyA9IE5VTEw7CiAJCQlmZHAtPmZkX29maWxlc1tm
ZF0uZmRlX25pb2N0bHMgPSAwOwogCQl9CiAJCWlmICgocmlnaHRzICYgQ0FQX0ZDTlRMKSA9
PSAwICYmCkBAIC0zNzYsOCArMzc0LDcgQEAgc3lzX2NhcF9pb2N0bHNfbGltaXQoc3RydWN0
IHRocmVhZCAqdGQsIHN0cnVjdCBjYXBfaW9jdGxzX2xpbWl0X2FyZ3MgKnVhcCkKIAogCUZJ
TEVERVNDX1hVTkxPQ0soZmRwKTsKIAotCWlmIChvY21kcyAhPSBOVUxMKQotCQlmcmVlKG9j
bWRzLCBNX1RFTVApOworCWZyZWUob2NtZHMsIE1fVEVNUCk7CiAKIAlyZXR1cm4gKDApOwog
fQpAQCAtNTU2LDEwICs1NTMsOCBAQCBzeXNfY2FwX25ldyhzdHJ1Y3QgdGhyZWFkICp0ZCwg
c3RydWN0IGNhcF9uZXdfYXJncyAqdWFwKQogCSAqLwogCWZkcC0+ZmRfb2ZpbGVzW25ld2Zk
XS5mZGVfcmlnaHRzID0gcmlnaHRzOwogCWlmICgocmlnaHRzICYgQ0FQX0lPQ1RMKSA9PSAw
KSB7Ci0JCWlmIChmZHAtPmZkX29maWxlc1tuZXdmZF0uZmRlX2lvY3RscyAhPSBOVUxMKSB7
Ci0JCQlmcmVlKGZkcC0+ZmRfb2ZpbGVzW25ld2ZkXS5mZGVfaW9jdGxzLCBNX1RFTVApOwot
CQkJZmRwLT5mZF9vZmlsZXNbbmV3ZmRdLmZkZV9pb2N0bHMgPSBOVUxMOwotCQl9CisJCWZy
ZWUoZmRwLT5mZF9vZmlsZXNbbmV3ZmRdLmZkZV9pb2N0bHMsIE1fVEVNUCk7CisJCWZkcC0+
ZmRfb2ZpbGVzW25ld2ZkXS5mZGVfaW9jdGxzID0gTlVMTDsKIAkJZmRwLT5mZF9vZmlsZXNb
bmV3ZmRdLmZkZV9uaW9jdGxzID0gMDsKIAl9CiAJaWYgKChyaWdodHMgJiBDQVBfRkNOVEwp
ID09IDAgJiYgZmRwLT5mZF9vZmlsZXNbbmV3ZmRdLmZkZV9mY250bHMgIT0gMCkKLS0gCjEu
OC4xLjMKCg==
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0013-Remove-redundant-test.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0013-Remove-redundant-test.patch"

RnJvbSA0MWZjMWYzOWExODMzMWY1N2U2YTAzYjU0ZjRiNzhjYmJkMTIzY2Q1IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzo0MTozOCArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTMvMjRdIFJlbW92ZSByZWR1bmRhbnQgdGVzdC4KCmlmIG5lZWRyaWdo
dHMgaXMgMCwgdGhlIGlubmVyIHRlc3RzIHdpbGwgc3VjY2VlZC4KLS0tCiBzeXMva2Vybi9r
ZXJuX2Rlc2NyaXAuYyB8IDEyICsrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5z
ZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zeXMva2Vybi9rZXJu
X2Rlc2NyaXAuYyBiL3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCmluZGV4IDUzYjI0YjEuLmQx
NDY1YTAgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCisrKyBiL3N5cy9r
ZXJuL2tlcm5fZGVzY3JpcC5jCkBAIC0yMjcwLDE1ICsyMjcwLDEzIEBAIGZnZXRfdW5sb2Nr
ZWQoc3RydWN0IGZpbGVkZXNjICpmZHAsIGludCBmZCwgY2FwX3JpZ2h0c190IG5lZWRyaWdo
dHMsCiAJCQlyZXR1cm4gKEVCQURGKTsKICNpZmRlZiBDQVBBQklMSVRJRVMKIAkJaGF2ZXJp
Z2h0cyA9IGNhcF9yaWdodHMoZmRwLCBmZCk7Ci0JCWlmIChuZWVkcmlnaHRzICE9IDApIHsK
LQkJCWVycm9yID0gY2FwX2NoZWNrKGhhdmVyaWdodHMsIG5lZWRyaWdodHMpOworCQllcnJv
ciA9IGNhcF9jaGVjayhoYXZlcmlnaHRzLCBuZWVkcmlnaHRzKTsKKwkJaWYgKGVycm9yICE9
IDApCisJCQlyZXR1cm4gKGVycm9yKTsKKwkJaWYgKChuZWVkcmlnaHRzICYgQ0FQX0ZDTlRM
KSAhPSAwKSB7CisJCQllcnJvciA9IGNhcF9mY250bF9jaGVjayhmZHAsIGZkLCBuZWVkZmNu
dGwpOwogCQkJaWYgKGVycm9yICE9IDApCiAJCQkJcmV0dXJuIChlcnJvcik7Ci0JCQlpZiAo
KG5lZWRyaWdodHMgJiBDQVBfRkNOVEwpICE9IDApIHsKLQkJCQllcnJvciA9IGNhcF9mY250
bF9jaGVjayhmZHAsIGZkLCBuZWVkZmNudGwpOwotCQkJCWlmIChlcnJvciAhPSAwKQotCQkJ
CQlyZXR1cm4gKGVycm9yKTsKLQkJCX0KIAkJfQogI2VuZGlmCiAJCWNvdW50ID0gZnAtPmZf
Y291bnQ7Ci0tIAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0014-Avoide-double-test.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0014-Avoide-double-test.patch"

RnJvbSBkNGM4ZTZiYmViNjc4ODY3YjJiZDFjMGVjMDlmYWY2MDY0MjQ2NWQwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzo0MzoyOCArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTQvMjRdIEF2b2lkZSBkb3VibGUgdGVzdC4KCi0tLQogc3lzL2tlcm4v
c3lzX2NhcGFiaWxpdHkuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp
b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3N5cy9rZXJuL3N5c19jYXBh
YmlsaXR5LmMgYi9zeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jCmluZGV4IGVjYjNhNmIuLmRi
YmRhMDEgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL3N5c19jYXBhYmlsaXR5LmMKKysrIGIvc3lz
L2tlcm4vc3lzX2NhcGFiaWxpdHkuYwpAQCAtMzE0LDEyICszMTQsMTIgQEAgY2FwX2lvY3Rs
X2xpbWl0X2NoZWNrKHN0cnVjdCBmaWxlZGVzYyAqZmRwLCBpbnQgZmQsIGNvbnN0IHVfbG9u
ZyAqY21kcywKIAogCW9jbWRzID0gZmRwLT5mZF9vZmlsZXNbZmRdLmZkZV9pb2N0bHM7CiAJ
Zm9yIChpID0gMDsgaSA8IG5jbWRzOyBpKyspIHsKLQkJZm9yIChqID0gMDsgaiA8IG9uY21k
czsgaisrKSB7CisJCWZvciAoaiA9IDA7OyBqKyspIHsKKwkJCWlmIChqID09IG9uY21kcykK
KwkJCQlyZXR1cm4gKEVOT1RDQVBBQkxFKTsKIAkJCWlmIChjbWRzW2ldID09IG9jbWRzW2pd
KQogCQkJCWJyZWFrOwogCQl9Ci0JCWlmIChqID09IG9uY21kcykKLQkJCXJldHVybiAoRU5P
VENBUEFCTEUpOwogCX0KIAogCXJldHVybiAoMCk7Ci0tIAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0015-Simplify-if-x-0-x-0-to-just-x-0.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0015-Simplify-if-x-0-x-0-to-just-x-0.patch"

RnJvbSBiYTEwMjc0YWI0OGJmOWIyYTJlNmI4ZDUwYzU5ZWIyNDA3NGU2ZWMwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzo0NTowOSArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTUvMjRdIFNpbXBsaWZ5IGlmICh4ICE9IDApIHggPSAwOyB0byBqdXN0
IHggPSAwOy4KCi0tLQogc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYyB8IDYgKystLS0tCiAx
IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL3N5cy9rZXJuL3N5c19jYXBhYmlsaXR5LmMgYi9zeXMva2Vybi9zeXNfY2FwYWJp
bGl0eS5jCmluZGV4IGRiYmRhMDEuLjE1MzM2NGIgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL3N5
c19jYXBhYmlsaXR5LmMKKysrIGIvc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYwpAQCAtMjMy
LDEwICsyMzIsOCBAQCBzeXNfY2FwX3JpZ2h0c19saW1pdChzdHJ1Y3QgdGhyZWFkICp0ZCwg
c3RydWN0IGNhcF9yaWdodHNfbGltaXRfYXJncyAqdWFwKQogCQkJZmRwLT5mZF9vZmlsZXNb
ZmRdLmZkZV9pb2N0bHMgPSBOVUxMOwogCQkJZmRwLT5mZF9vZmlsZXNbZmRdLmZkZV9uaW9j
dGxzID0gMDsKIAkJfQotCQlpZiAoKHJpZ2h0cyAmIENBUF9GQ05UTCkgPT0gMCAmJgotCQkg
ICAgZmRwLT5mZF9vZmlsZXNbZmRdLmZkZV9mY250bHMgIT0gMCkgeworCQlpZiAoKHJpZ2h0
cyAmIENBUF9GQ05UTCkgPT0gMCkKIAkJCWZkcC0+ZmRfb2ZpbGVzW2ZkXS5mZGVfZmNudGxz
ID0gMDsKLQkJfQogCX0KIAlGSUxFREVTQ19YVU5MT0NLKGZkcCk7CiAJcmV0dXJuIChlcnJv
cik7CkBAIC01NTcsNyArNTU1LDcgQEAgc3lzX2NhcF9uZXcoc3RydWN0IHRocmVhZCAqdGQs
IHN0cnVjdCBjYXBfbmV3X2FyZ3MgKnVhcCkKIAkJZmRwLT5mZF9vZmlsZXNbbmV3ZmRdLmZk
ZV9pb2N0bHMgPSBOVUxMOwogCQlmZHAtPmZkX29maWxlc1tuZXdmZF0uZmRlX25pb2N0bHMg
PSAwOwogCX0KLQlpZiAoKHJpZ2h0cyAmIENBUF9GQ05UTCkgPT0gMCAmJiBmZHAtPmZkX29m
aWxlc1tuZXdmZF0uZmRlX2ZjbnRscyAhPSAwKQorCWlmICgocmlnaHRzICYgQ0FQX0ZDTlRM
KSA9PSAwKQogCQlmZHAtPmZkX29maWxlc1tuZXdmZF0uZmRlX2ZjbnRscyA9IDA7CiAJRklM
RURFU0NfWFVOTE9DSyhmZHApOwogCi0tIAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0016-Reduce-indentation.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0016-Reduce-indentation.patch"

RnJvbSAzOGVjNTUzMzg3MTRlNjhiODQ1ZWU0NTI3MmZhYzdlNzMzMzcyN2VmIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzo0NzoyMyArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTYvMjRdIFJlZHVjZSBpbmRlbnRhdGlvbi4KCi0tLQogc3lzL2tlcm4v
a2Vybl9kZXNjcmlwLmMgfCAxNCArKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYg
aW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zeXMva2Vybi9r
ZXJuX2Rlc2NyaXAuYyBiL3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCmluZGV4IGQxNDY1YTAu
LjYxMmQ1MWEgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCisrKyBiL3N5
cy9rZXJuL2tlcm5fZGVzY3JpcC5jCkBAIC0yNDYzLDE1ICsyNDYzLDEzIEBAIGZnZXR2cF9y
aWdodHMoc3RydWN0IHRocmVhZCAqdGQsIGludCBmZCwgY2FwX3JpZ2h0c190IG5lZWQsCiAJ
aWYgKGVycm9yICE9IDApCiAJCXJldHVybiAoZXJyb3IpOwogCi0JaWYgKGZwLT5mX3Zub2Rl
ID09IE5VTEwpIHsKLQkJZXJyb3IgPSBFSU5WQUw7Ci0JfSBlbHNlIHsKLQkJKnZwcCA9IGZw
LT5mX3Zub2RlOwotCQl2cmVmKCp2cHApOwotCQlmaWxlY2Fwc19jb3B5KCZmZHAtPmZkX29m
aWxlc1tmZF0uZmRlX2NhcHMsIGhhdmVjYXBzKTsKLQl9CisJaWYgKGZwLT5mX3Zub2RlID09
IE5VTEwpCisJCXJldHVybiBFSU5WQUw7CiAKLQlyZXR1cm4gKGVycm9yKTsKKwkqdnBwID0g
ZnAtPmZfdm5vZGU7CisJdnJlZigqdnBwKTsKKwlmaWxlY2Fwc19jb3B5KCZmZHAtPmZkX29m
aWxlc1tmZF0uZmRlX2NhcHMsIGhhdmVjYXBzKTsKKwlyZXR1cm4gKDApOwogfQogCiBpbnQK
LS0gCjEuOC4xLjMKCg==
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0017-Avoid-code-duplication-on-error-paths.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0017-Avoid-code-duplication-on-error-paths.patch"

RnJvbSA2NGU2NjI3N2MyNjViM2ExMjIxZDllMjY5YzhmMzMzNDVlNDMzMzJjIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxMzo0OTozNyArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTcvMjRdIEF2b2lkIGNvZGUgZHVwbGljYXRpb24gb24gZXJyb3IgcGF0
aHMuCgotLS0KIHN5cy9rZXJuL3N5c19jYXBhYmlsaXR5LmMgfCA0MiArKysrKysrKysrKysr
KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNl
cnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zeXMva2Vybi9zeXNf
Y2FwYWJpbGl0eS5jIGIvc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYwppbmRleCAxNTMzNjRi
Li5lODdhNGU1IDEwMDY0NAotLS0gYS9zeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jCisrKyBi
L3N5cy9rZXJuL3N5c19jYXBhYmlsaXR5LmMKQEAgLTM0NCwzNyArMzQ0LDMyIEBAIHN5c19j
YXBfaW9jdGxzX2xpbWl0KHN0cnVjdCB0aHJlYWQgKnRkLCBzdHJ1Y3QgY2FwX2lvY3Rsc19s
aW1pdF9hcmdzICp1YXApCiAJfSBlbHNlIHsKIAkJY21kcyA9IG1hbGxvYyhzaXplb2YoY21k
c1swXSkgKiBuY21kcywgTV9URU1QLCBNX1dBSVRPSyk7CiAJCWVycm9yID0gY29weWluKHVh
cC0+Y21kcywgY21kcywgc2l6ZW9mKGNtZHNbMF0pICogbmNtZHMpOwotCQlpZiAoZXJyb3Ig
IT0gMCkgewotCQkJZnJlZShjbWRzLCBNX1RFTVApOwotCQkJcmV0dXJuIChlcnJvcik7Ci0J
CX0KKwkJaWYgKGVycm9yICE9IDApCisJCQlnb3RvIG91dDsKIAl9CiAKIAlmZHAgPSB0ZC0+
dGRfcHJvYy0+cF9mZDsKIAlGSUxFREVTQ19YTE9DSyhmZHApOwogCiAJaWYgKGZnZXRfbG9j
a2VkKGZkcCwgZmQpID09IE5VTEwpIHsKLQkJRklMRURFU0NfWFVOTE9DSyhmZHApOwotCQlm
cmVlKGNtZHMsIE1fVEVNUCk7Ci0JCXJldHVybiAoRUJBREYpOworCQllcnJvciA9IEVCQURG
OworCQlnb3RvIG91dF9sb2NrZWQ7CiAJfQogCiAJZXJyb3IgPSBjYXBfaW9jdGxfbGltaXRf
Y2hlY2soZmRwLCBmZCwgY21kcywgbmNtZHMpOwotCWlmIChlcnJvciAhPSAwKSB7Ci0JCUZJ
TEVERVNDX1hVTkxPQ0soZmRwKTsKLQkJZnJlZShjbWRzLCBNX1RFTVApOwotCQlyZXR1cm4g
KGVycm9yKTsKLQl9CisJaWYgKGVycm9yICE9IDApCisJCWdvdG8gb3V0X2xvY2tlZDsKIAog
CW9jbWRzID0gZmRwLT5mZF9vZmlsZXNbZmRdLmZkZV9pb2N0bHM7CiAJZmRwLT5mZF9vZmls
ZXNbZmRdLmZkZV9pb2N0bHMgPSBjbWRzOwogCWZkcC0+ZmRfb2ZpbGVzW2ZkXS5mZGVfbmlv
Y3RscyA9IG5jbWRzOworCWNtZHMgPSBvY21kczsKIAorb3V0X2xvY2tlZDoKIAlGSUxFREVT
Q19YVU5MT0NLKGZkcCk7Ci0KLQlmcmVlKG9jbWRzLCBNX1RFTVApOwotCi0JcmV0dXJuICgw
KTsKK291dDoKKwlmcmVlKGNtZHMsIE1fVEVNUCk7CisJcmV0dXJuIChlcnJvcik7CiB9CiAK
IGludApAQCAtMzk2LDggKzM5MSw4IEBAIHN5c19jYXBfaW9jdGxzX2dldChzdHJ1Y3QgdGhy
ZWFkICp0ZCwgc3RydWN0IGNhcF9pb2N0bHNfZ2V0X2FyZ3MgKnVhcCkKIAlGSUxFREVTQ19T
TE9DSyhmZHApOwogCiAJaWYgKGZnZXRfbG9ja2VkKGZkcCwgZmQpID09IE5VTEwpIHsKLQkJ
RklMRURFU0NfU1VOTE9DSyhmZHApOwotCQlyZXR1cm4gKEVCQURGKTsKKwkJZXJyb3IgPSBF
QkFERjsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyoKQEAgLTQxMCwxOSArNDA1LDE4IEBAIHN5
c19jYXBfaW9jdGxzX2dldChzdHJ1Y3QgdGhyZWFkICp0ZCwgc3RydWN0IGNhcF9pb2N0bHNf
Z2V0X2FyZ3MgKnVhcCkKIAlpZiAoY21kcyAhPSBOVUxMICYmIGZkZXAtPmZkZV9pb2N0bHMg
IT0gTlVMTCkgewogCQllcnJvciA9IGNvcHlvdXQoZmRlcC0+ZmRlX2lvY3RscywgY21kcywK
IAkJICAgIHNpemVvZihjbWRzWzBdKSAqIE1JTihmZGVwLT5mZGVfbmlvY3RscywgbWF4Y21k
cykpOwotCQlpZiAoZXJyb3IgIT0gMCkgewotCQkJRklMRURFU0NfU1VOTE9DSyhmZHApOwot
CQkJcmV0dXJuIChlcnJvcik7Ci0JCX0KKwkJaWYgKGVycm9yICE9IDApCisJCQlnb3RvIG91
dDsKIAl9CiAJaWYgKGZkZXAtPmZkZV9uaW9jdGxzID09IC0xKQogCQl0ZC0+dGRfcmV0dmFs
WzBdID0gSU5UX01BWDsKIAllbHNlCiAJCXRkLT50ZF9yZXR2YWxbMF0gPSBmZGVwLT5mZGVf
bmlvY3RsczsKKwllcnJvciA9IDA7CiAKK291dDoKIAlGSUxFREVTQ19TVU5MT0NLKGZkcCk7
Ci0KLQlyZXR1cm4gKDApOworCXJldHVybiAoZXJyb3IpOwogfQogCiAvKgotLSAKMS44LjEu
MwoK
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0018-Hopefully-slightly-improve-manpages-and-comments.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0018-Hopefully-slightly-improve-manpages-and-comments.patch"

RnJvbSAwZTY5MmUwNWFjY2Q1NmE0ZGIxZjkzOGFkN2FhNGM1MDk3OWE2MTQ4IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxNDowMDowMSArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTgvMjRdIChIb3BlZnVsbHkpIHNsaWdodGx5IGltcHJvdmUgbWFucGFn
ZXMgYW5kIGNvbW1lbnRzLgoKLS0tCiBsaWIvbGliYy9nZW4vY2FwX3NhbmRib3hlZC4zICAg
IHwgIDYgKysrLS0tCiBsaWIvbGliYy9zeXMvY2FwX2ZjbnRsc19saW1pdC4yIHwgMTQgKysr
KysrKy0tLS0tLS0KIGxpYi9saWJjL3N5cy9jYXBfaW9jdGxzX2xpbWl0LjIgfCAyNCArKysr
KysrKysrKystLS0tLS0tLS0tLS0KIGxpYi9saWJjL3N5cy9jYXBfcmlnaHRzX2xpbWl0LjIg
fCAxMCArKysrKy0tLS0tCiBzeXMvc3lzL2NhcGFiaWxpdHkuaCAgICAgICAgICAgIHwgIDQg
KystLQogNSBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9saWIvbGliYy9nZW4vY2FwX3NhbmRib3hlZC4zIGIvbGliL2xp
YmMvZ2VuL2NhcF9zYW5kYm94ZWQuMwppbmRleCA0ODk2ZTAyLi4wNjdkNmQyIDEwMDY0NAot
LS0gYS9saWIvbGliYy9nZW4vY2FwX3NhbmRib3hlZC4zCisrKyBiL2xpYi9saWJjL2dlbi9j
YXBfc2FuZGJveGVkLjMKQEAgLTQ0LDEwICs0NCwxMCBAQAogLkZuIGNhcF9zYW5kYm94ZWQK
IHJldHVybnMKIC5WYSB0cnVlCi1pcyB0aGUgcHJvY2VzcyBpcyBpbiBhIGNhcGFiaWxpdHkg
bW9kZSBzYW5kYm94IG9yCitpZiB0aGUgcHJvY2VzcyBpcyBpbiBhIGNhcGFiaWxpdHkgbW9k
ZSBzYW5kYm94IG9yCiAuVmEgZmFsc2UKIGlmIGl0IGlzIG5vdC4KLVRoaXMgZnVuY3Rpb24g
aXMgbW9yZSBoYW5keSBhbHRlcm5hdGl2ZSB0byB0aGUKK1RoaXMgZnVuY3Rpb24gaXMgYSBt
b3JlIGhhbmR5IGFsdGVybmF0aXZlIHRvIHRoZQogLlhyIGNhcF9nZXRtb2RlIDIKIHN5c3Rl
bSBjYWxsIGFzIGl0IGFsd2F5cyBzdWNjZWVkcywgc28gdGhlcmUgaXMgbm8gbmVlZCBmb3Ig
ZXJyb3IgY2hlY2tpbmcuCiBJZiB0aGUgc3VwcG9ydCBmb3IgY2FwYWJpbGl0eSBtb2RlIGlz
IG5vdCBjb21waWxlZCBpbnRvIHRoZSBrZXJuZWwsCkBAIC01Nyw3ICs1Nyw3IEBAIHdpbGwg
YWx3YXlzIHJldHVybgogLlNoIFJFVFVSTiBWQUxVRVMKIEZ1bmN0aW9uCiAuRm4gY2FwX3Nh
bmRib3hlZAotaXMgYWx3YXlzIHN1Y2Nlc3NmdWwgYW5kIGNhbiByZXR1cm4gZWl0aGVyCitp
cyBhbHdheXMgc3VjY2Vzc2Z1bCBhbmQgd2lsbCByZXR1cm4gZWl0aGVyCiAuVmEgdHJ1ZQog
b3IKIC5WYSBmYWxzZSAuCmRpZmYgLS1naXQgYS9saWIvbGliYy9zeXMvY2FwX2ZjbnRsc19s
aW1pdC4yIGIvbGliL2xpYmMvc3lzL2NhcF9mY250bHNfbGltaXQuMgppbmRleCAzOGFiOWNi
Li44ZmE3NDYzIDEwMDY0NAotLS0gYS9saWIvbGliYy9zeXMvY2FwX2ZjbnRsc19saW1pdC4y
CisrKyBiL2xpYi9saWJjL3N5cy9jYXBfZmNudGxzX2xpbWl0LjIKQEAgLTQ0LDE1ICs0NCwx
NSBAQAogLkZ0IGludAogLkZuIGNhcF9mY250bHNfZ2V0ICJpbnQgZmQiICJ1aW50MzJfdCAq
ZmNudGxyaWdodHNwIgogLlNoIERFU0NSSVBUSU9OCi1JZiBhIGZpbGUgZGVzY3JpcHRvciBp
cyBncmFudGVkCitJZiBhIGZpbGUgZGVzY3JpcHRvciBpcyBncmFudGVkIHRoZQogLkR2IENB
UF9GQ05UTAotY2FwYWJpbGl0eSByaWdodCwgbGlzdCBvZiBhbGxvd2VkCitjYXBhYmlsaXR5
IHJpZ2h0LCB0aGUgbGlzdCBvZiBhbGxvd2VkCiAuWHIgZmNudGwgMgogY29tbWFuZHMgY2Fu
IGJlIHNlbGVjdGl2ZWx5IHJlZHVjZWQgKGJ1dCBuZXZlciBleHBhbmRlZCkgd2l0aCB0aGUK
IC5GbiBjYXBfZmNudGxzX2xpbWl0CiBzeXN0ZW0gY2FsbC4KIC5QcAotQml0bWFzayBvZiBh
bGxvd2VkIGZjbnRscyBjb21tYW5kcyBmb3IgYSBnaXZlbiBmaWxlIGRlc2NyaXB0b3IgY2Fu
IGJlIG9idGFpbmVkCitBIGJpdG1hc2sgb2YgYWxsb3dlZCBmY250bHMgY29tbWFuZHMgZm9y
IGEgZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yIGNhbiBiZSBvYnRhaW5lZAogd2l0aCB0aGUKIC5G
biBjYXBfZmNudGxzX2dldAogc3lzdGVtIGNhbGwuCkBAIC04OSwxMyArODksMTMgQEAgc3Vj
Y2VlZHMgdW5sZXNzOgogLkl0IEJxIEVyIEVCQURGCiBUaGUKIC5GYSBmZAotYXJndW1lbnQg
aXMgbm90IGEgdmFsaWQgYWN0aXZlIGRlc2NyaXB0b3IuCithcmd1bWVudCBpcyBub3QgYSB2
YWxpZCBkZXNjcmlwdG9yLgogLkl0IEJxIEVyIEVJTlZBTAogQW4gaW52YWxpZCBmbGFnIGhh
cyBiZWVuIHBhc3NlZCBpbgogLkZhIGZjbnRscmlnaHRzIC4KIC5JdCBCcSBFciBFTk9UQ0FQ
QUJMRQogLkZhIGZjbnRscmlnaHRzCi13b3VsZCBleHBhbmQgbGlzdCBvZiBhbGxvd2VkCit3
b3VsZCBleHBhbmQgdGhlIGxpc3Qgb2YgYWxsb3dlZAogLlhyIGZjbnRsIDIKIGNvbW1hbmRz
LgogLkVsCkBAIC0xMDYsMTEgKzEwNiwxMSBAQCBzdWNjZWVkcyB1bmxlc3M6CiAuSXQgQnEg
RXIgRUJBREYKIFRoZQogLkZhIGZkCi1hcmd1bWVudCBpcyBub3QgYSB2YWxpZCBhY3RpdmUg
ZGVzY3JpcHRvci4KK2FyZ3VtZW50IGlzIG5vdCBhIHZhbGlkIGRlc2NyaXB0b3IuCiAuSXQg
QnEgRXIgRUZBVUxUCiBUaGUKIC5GYSBmY250bHJpZ2h0c3AKLWFyZ3VtZW50IHBvaW50cyBh
dCBpbnZhbGlkIGFkZHJlc3MuCithcmd1bWVudCBwb2ludHMgYXQgYW4gaW52YWxpZCBhZGRy
ZXNzLgogLkVsCiAuU2ggU0VFIEFMU08KIC5YciBjYXBfaW9jdGxzX2xpbWl0IDIgLApkaWZm
IC0tZ2l0IGEvbGliL2xpYmMvc3lzL2NhcF9pb2N0bHNfbGltaXQuMiBiL2xpYi9saWJjL3N5
cy9jYXBfaW9jdGxzX2xpbWl0LjIKaW5kZXggMzRhOWJmZi4uZGU1MjRkNyAxMDA2NDQKLS0t
IGEvbGliL2xpYmMvc3lzL2NhcF9pb2N0bHNfbGltaXQuMgorKysgYi9saWIvbGliYy9zeXMv
Y2FwX2lvY3Rsc19saW1pdC4yCkBAIC00NCw5ICs0NCw5IEBACiAuRnQgc3NpemVfdAogLkZu
IGNhcF9pb2N0bHNfZ2V0ICJpbnQgZmQiICJ1bnNpZ25lZCBsb25nICpjbWRzIiAic2l6ZV90
IG1heGNtZHMiCiAuU2ggREVTQ1JJUFRJT04KLUlmIGEgZmlsZSBkZXNjcmlwdG9yIGlzIGdy
YW50ZWQKK0lmIGEgZmlsZSBkZXNjcmlwdG9yIGlzIGdyYW50ZWQgdGhlCiAuRHYgQ0FQX0lP
Q1RMCi1jYXBhYmlsaXR5IHJpZ2h0LCBsaXN0IG9mIGFsbG93ZWQKK2NhcGFiaWxpdHkgcmln
aHQsIHRoZSBsaXN0IG9mIGFsbG93ZWQKIC5YciBpb2N0bCAyCiBjb21tYW5kcyBjYW4gYmUg
c2VsZWN0aXZlbHkgcmVkdWNlZCAoYnV0IG5ldmVyIGV4cGFuZGVkKSB3aXRoIHRoZQogLkZu
IGNhcF9pb2N0bHNfbGltaXQKQEAgLTYyLDIxICs2MiwyMSBAQCBUaGVyZSBtaWdodCBiZSB1
cCB0bwogLlZhIDI1NgogZWxlbWVudHMgaW4gdGhlIGFycmF5LgogLlBwCi1MaXN0IG9mIGFs
bG93ZWQgaW9jdGwgY29tbWFuZHMgZm9yIGEgZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yIGNhbiBi
ZSBvYnRhaW5lZAorVGhlIGxpc3Qgb2YgYWxsb3dlZCBpb2N0bCBjb21tYW5kcyBmb3IgYSBn
aXZlbiBmaWxlIGRlc2NyaXB0b3IgY2FuIGJlIG9idGFpbmVkCiB3aXRoIHRoZQogLkZuIGNh
cF9pb2N0bHNfZ2V0CiBzeXN0ZW0gY2FsbC4KIFRoZQogLkZhIGNtZHMKLWFyZ3VtZW50cyBw
b2ludHMgYXQgdGhlIG1lbW9yeSB0aGF0IGNhbiBob2xkIHVwIHRvCithcmd1bWVudCBwb2lu
dHMgYXQgbWVtb3J5IHRoYXQgY2FuIGhvbGQgdXAgdG8KIC5GYSBtYXhjbWRzCiB2YWx1ZXMu
Ci1UaGUgZnVuY3Rpb24gcG9wdWxhdGVzIHByb3ZpZGVkIGJ1ZmZlciB3aXRoIHVwIHRvCitU
aGUgZnVuY3Rpb24gcG9wdWxhdGVzIHRoZSBwcm92aWRlZCBidWZmZXIgd2l0aCB1cCB0bwog
LkZhIG1heGNtZHMKLWVsZW1lbnRzLCBidXQgYWx3YXlzIHJldHVybnMgdG90YWwgbnVtYmVy
IG9mIGlvY3RsIGNvbW1hbmRzIGFsbG93ZWQgZm9yIHRoZQorZWxlbWVudHMsIGJ1dCBhbHdh
eXMgcmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGlvY3RsIGNvbW1hbmRzIGFsbG93ZWQg
Zm9yIHRoZQogZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yLgotVG90YWwgbnVtYmVyIG9mIGlvY3Rs
cyBjb21tYW5kcyBmb3IgdGhlIGdpdmVuIGZpbGUgZGVzY3JpcHRvciBjYW4gYmUgb2J0YWlu
ZWQKLWJ5IHBhc3NpbmcKK1RoZSB0b3RhbCBudW1iZXIgb2YgaW9jdGxzIGNvbW1hbmRzIGZv
ciB0aGUgZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yIGNhbiBiZQorb2J0YWluZWQgYnkgcGFzc2lu
ZwogLkR2IE5VTEwgYXMgdGhlCiAuRmEgY21kcwogYXJndW1lbnQgYW5kCkBAIC0xMTQsMTEg
KzExNCwxMSBAQCBzdWNjZWVkcyB1bmxlc3M6CiAuSXQgQnEgRXIgRUJBREYKIFRoZQogLkZh
IGZkCi1hcmd1bWVudCBpcyBub3QgYSB2YWxpZCBhY3RpdmUgZGVzY3JpcHRvci4KK2FyZ3Vt
ZW50IGlzIG5vdCBhIHZhbGlkIGRlc2NyaXB0b3IuCiAuSXQgQnEgRXIgRUZBVUxUCiBUaGUK
IC5GYSBjbWRzCi1hcmd1bWVudCBwb2ludHMgYXQgaW52YWxpZCBhZGRyZXNzLgorYXJndW1l
bnQgcG9pbnRzIGF0IGFuIGludmFsaWQgYWRkcmVzcy4KIC5JdCBCcSBFciBFSU5WQUwKIFRo
ZQogLkZhIG5jbWRzCkBAIC0xMjYsNyArMTI2LDcgQEAgYXJndW1lbnQgaXMgZ3JlYXRlciB0
aGFuCiAuVmEgMjU2IC4KIC5JdCBCcSBFciBFTk9UQ0FQQUJMRQogLkZhIGNtZHMKLXdvdWxk
IGV4cGFuZCBsaXN0IG9mIGFsbG93ZWQKK3dvdWxkIGV4cGFuZCB0aGUgbGlzdCBvZiBhbGxv
d2VkCiAuWHIgaW9jdGwgMgogY29tbWFuZHMuCiAuRWwKQEAgLTEzNyw3ICsxMzcsNyBAQCBz
dWNjZWVkcyB1bmxlc3M6CiAuSXQgQnEgRXIgRUJBREYKIFRoZQogLkZhIGZkCi1hcmd1bWVu
dCBpcyBub3QgYSB2YWxpZCBhY3RpdmUgZGVzY3JpcHRvci4KK2FyZ3VtZW50IGlzIG5vdCBh
IHZhbGlkIGRlc2NyaXB0b3IuCiAuSXQgQnEgRXIgRUZBVUxUCiBUaGUKIC5GYSBjbWRzCmRp
ZmYgLS1naXQgYS9saWIvbGliYy9zeXMvY2FwX3JpZ2h0c19saW1pdC4yIGIvbGliL2xpYmMv
c3lzL2NhcF9yaWdodHNfbGltaXQuMgppbmRleCAyZTgzZWEwLi5lMmZmMTM0IDEwMDY0NAot
LS0gYS9saWIvbGliYy9zeXMvY2FwX3JpZ2h0c19saW1pdC4yCisrKyBiL2xpYi9saWJjL3N5
cy9jYXBfcmlnaHRzX2xpbWl0LjIKQEAgLTY4LDcgKzY4LDcgQEAgT25jZSBjYXBhYmlsaXR5
IHJpZ2h0cyBhcmUgcmVkdWNlZCwgb3BlcmF0aW9ucyBvbiB0aGUgZmlsZSBkZXNjcmlwdG9y
IHdpbGwgYmUKIGxpbWl0ZWQgdG8gdGhvc2UgcGVybWl0dGVkIGJ5CiAuRmEgcmlnaHRzIC4K
IC5QcAotQml0bWFzayBvZiBjYXBhYmlsaXR5IHJpZ2h0cyBhc3NpZ25lZCB0byBhIGZpbGUg
ZGVzY3JpcHRvciBjYW4gYmUgb2J0YWluZWQgd2l0aAorQSBiaXRtYXNrIG9mIGNhcGFiaWxp
dHkgcmlnaHRzIGFzc2lnbmVkIHRvIGEgZmlsZSBkZXNjcmlwdG9yIGNhbiBiZSBvYnRhaW5l
ZCB3aXRoCiB0aGUKIC5GbiBjYXBfcmlnaHRzX2dldAogc3lzdGVtIGNhbGwuCkBAIC0xNzgs
NyArMTc4LDcgQEAgTm90ZSB0aGF0IG9ubHkgdGhlCiBhbmQKIC5EdiBGX1NFVE9XTgogY29t
bWFuZHMgcmVxdWlyZSB0aGlzIGNhcGFiaWxpdHkgcmlnaHQuCi1BbHNvIG5vdGUgdGhhdCB0
aGUgbGlzdCBvZiBwZXJtaXR0ZWQgY29tbWFuZHMgY2FuIGJlIGZ1dGhlciBsaW1pdGVkIHdp
dGggdGhlCitBbHNvIG5vdGUgdGhhdCB0aGUgbGlzdCBvZiBwZXJtaXR0ZWQgY29tbWFuZHMg
Y2FuIGJlIGZ1cnRoZXIgbGltaXRlZCB3aXRoIHRoZQogLlhyIGNhcF9mY250bHNfbGltaXQg
Mgogc3lzdGVtIGNhbGwuCiAuSXQgRHYgQ0FQX0ZMT0NLCkBAIC0yNTQsNyArMjU0LDcgQEAg
UGVybWl0CiAuWHIgaW9jdGwgMiAuCiBCZSBhd2FyZSB0aGF0IHRoaXMgc3lzdGVtIGNhbGwg
aGFzIGVub3Jtb3VzIHNjb3BlLCBpbmNsdWRpbmcgcG90ZW50aWFsbHkKIGdsb2JhbCBzY29w
ZSBmb3Igc29tZSBvYmplY3RzLgotVGhlIGxpc3Qgb2YgcGVybWl0dGVkIGlvY3RsIGNvbW1h
bmRzIGNhbiBiZSBmdXRoZXIgbGltaXRlZCB3aXRoIHRoZQorVGhlIGxpc3Qgb2YgcGVybWl0
dGVkIGlvY3RsIGNvbW1hbmRzIGNhbiBiZSBmdXJ0aGVyIGxpbWl0ZWQgd2l0aCB0aGUKIC5Y
ciBjYXBfaW9jdGxzX2xpbWl0IDIKIHN5c3RlbSBjYWxsLgogLlwiIFhYWFBKRDogRG9lc24n
dCBleGlzdCBhbnltb3JlLgpAQCAtNDcwLDcgKzQ3MCw3IEBAIHdpdGggdGhlCiAuRHYgT19X
Uk9OTFkKIGZsYWcsIGJ1dCB3aXRob3V0IHRoZQogLkR2IE9fQVBQRU5ECi1mbGFnCitmbGFn
LAogLkR2IENBUF9TRUVLCiBpcyBhbHNvIHJlcXVpcmVkLgogLkVsCkBAIC01MDMsNyArNTAz
LDcgQEAgYXJndW1lbnQgaXMgbm90IGEgdmFsaWQgYWN0aXZlIGRlc2NyaXB0b3IuCiAuSXQg
QnEgRXIgRUZBVUxUCiBUaGUKIC5GYSByaWdodHNwCi1hcmd1bWVudCBwb2ludHMgYXQgaW52
YWxpZCBhZGRyZXNzLgorYXJndW1lbnQgcG9pbnRzIGF0IGFuIGludmFsaWQgYWRkcmVzcy4K
IC5FbAogLlNoIFNFRSBBTFNPCiAuWHIgYWNjZXB0IDIgLApkaWZmIC0tZ2l0IGEvc3lzL3N5
cy9jYXBhYmlsaXR5LmggYi9zeXMvc3lzL2NhcGFiaWxpdHkuaAppbmRleCA5ZWVkNGQxLi4x
MzBkMjAwIDEwMDY0NAotLS0gYS9zeXMvc3lzL2NhcGFiaWxpdHkuaAorKysgYi9zeXMvc3lz
L2NhcGFiaWxpdHkuaApAQCAtMjY3LDcgKzI2Nyw3IEBAIGludAljYXBfZW50ZXIodm9pZCk7
CiAKIC8qCiAgKiBBcmUgd2Ugc2FuZGJveGVkIChpbiBjYXBhYmlsaXR5IG1vZGUpPwotICog
VGhpcyBpcyBsaWJjIHdyYXBwZXIgYXJvdW5kIGNhcF9nZXRtb2RlKDIpIHN5c3RlbSBjYWxs
LgorICogVGhpcyBpcyBhIGxpYmMgd3JhcHBlciBhcm91bmQgdGhlIGNhcF9nZXRtb2RlKDIp
IHN5c3RlbSBjYWxsLgogICovCiBfQm9vbAljYXBfc2FuZGJveGVkKHZvaWQpOwogCkBAIC0y
ODksNyArMjg5LDcgQEAgaW50IGNhcF9yaWdodHNfZ2V0KGludCBmZCwgY2FwX3JpZ2h0c190
ICpyaWdodHNwKTsKICAqLwogaW50IGNhcF9pb2N0bHNfbGltaXQoaW50IGZkLCBjb25zdCB1
bnNpZ25lZCBsb25nICpjbWRzLCBzaXplX3QgbmNtZHMpOwogLyoKLSAqIFJldHVybnMgYXJy
YXkgb2YgYWxsb3dlZCBpb2N0bHMgZm9yIHRoZSBnaXZlbiBkZXNjcmlwdG9ycy4KKyAqIFJl
dHVybnMgYXJyYXkgb2YgYWxsb3dlZCBpb2N0bHMgZm9yIHRoZSBnaXZlbiBkZXNjcmlwdG9y
LgogICogSWYgYWxsIGlvY3RscyBhcmUgYWxsb3dlZCwgdGhlIGNtZHMgYXJyYXkgaXMgbm90
IHBvcHVsYXRlZCBhbmQKICAqIHRoZSBmdW5jdGlvbiByZXR1cm5zIElOVF9NQVguCiAgKi8K
LS0gCjEuOC4xLjMKCg==
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0019-Sort-Xr.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0019-Sort-Xr.patch"

RnJvbSAyYjhhMTU0MzEyZjY5MjkxMmZjOTBiYzJhY2Q4ZTU1YWIxZmM0YmE0IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxNDowMDozMSArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMTkvMjRdIFNvcnQgWHIuCgotLS0KIGxpYi9saWJjL3N5cy9jYXBfcmln
aHRzX2xpbWl0LjIgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg
ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWIvbGliYy9zeXMvY2FwX3JpZ2h0c19saW1p
dC4yIGIvbGliL2xpYmMvc3lzL2NhcF9yaWdodHNfbGltaXQuMgppbmRleCBlMmZmMTM0Li5k
OGQ4Nzc3IDEwMDY0NAotLS0gYS9saWIvbGliYy9zeXMvY2FwX3JpZ2h0c19saW1pdC4yCisr
KyBiL2xpYi9saWJjL3N5cy9jYXBfcmlnaHRzX2xpbWl0LjIKQEAgLTU0Niw4ICs1NDYsOCBA
QCBhcmd1bWVudCBwb2ludHMgYXQgYW4gaW52YWxpZCBhZGRyZXNzLgogLlhyIG1xX29wZW4g
MiAsCiAuWHIgb3BlbiAyICwKIC5YciBvcGVuYXQgMiAsCi0uWHIgcGRnZXRwaWQgMiAsCiAu
WHIgcGRmb3JrIDIgLAorLlhyIHBkZ2V0cGlkIDIgLAogLlhyIHBka2lsbCAyICwKIC5YciBw
ZHdhaXQ0IDIgLAogLlhyIHBpcGUgMiAsCi0tIAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0020-Avoid-comparing-signed-with-unsigned-values.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0020-Avoid-comparing-signed-with-unsigned-values.patch"

RnJvbSA0MmFhYWExNGM1YzFhNWQ5NjUwM2E4OGEzODE5MDlkNmMzMjU0NzI3IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxNDowNDozNiArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMjAvMjRdIEF2b2lkIGNvbXBhcmluZyBzaWduZWQgd2l0aCB1bnNpZ25l
ZCB2YWx1ZXMuCgotLS0KIHN5cy9mcy9uZnNzZXJ2ZXIvbmZzX25mc2Rwb3J0LmMgfCAyICst
CiBzeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jICAgICAgIHwgNyArKysrLS0tCiAyIGZpbGVz
IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9zeXMvZnMvbmZzc2VydmVyL25mc19uZnNkcG9ydC5jIGIvc3lzL2ZzL25mc3NlcnZlci9u
ZnNfbmZzZHBvcnQuYwppbmRleCA4ODBmOTY1Li42OWY1NjI5IDEwMDY0NAotLS0gYS9zeXMv
ZnMvbmZzc2VydmVyL25mc19uZnNkcG9ydC5jCisrKyBiL3N5cy9mcy9uZnNzZXJ2ZXIvbmZz
X25mc2Rwb3J0LmMKQEAgLTI3NzUsNyArMjc3NSw3IEBAIGZwX2dldGZ2cChzdHJ1Y3QgdGhy
ZWFkICpwLCBpbnQgZmQsIHN0cnVjdCBmaWxlICoqZnBwLCBzdHJ1Y3Qgdm5vZGUgKip2cHAp
CiAJaW50IGVycm9yID0gMDsKIAogCWZkcCA9IHAtPnRkX3Byb2MtPnBfZmQ7Ci0JaWYgKCh1
X2ludClmZCA+PSBmZHAtPmZkX25maWxlcyB8fAorCWlmIChmZCA8IDAgfHwgZmRwLT5mZF9u
ZmlsZXMgPD0gZmQgfHwKIAkgICAgKGZwID0gZmRwLT5mZF9vZmlsZXNbZmRdLmZkZV9maWxl
KSA9PSBOVUxMKSB7CiAJCWVycm9yID0gRUJBREY7CiAJCWdvdG8gb3V0OwpkaWZmIC0tZ2l0
IGEvc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYyBiL3N5cy9rZXJuL3N5c19jYXBhYmlsaXR5
LmMKaW5kZXggZTg3YTRlNS4uZTM2MjJiMCAxMDA2NDQKLS0tIGEvc3lzL2tlcm4vc3lzX2Nh
cGFiaWxpdHkuYworKysgYi9zeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jCkBAIC0yNzQsNyAr
Mjc0LDcgQEAgY2FwX2lvY3RsX2NoZWNrKHN0cnVjdCBmaWxlZGVzYyAqZmRwLCBpbnQgZmQs
IHVfbG9uZyBjbWQpCiB7CiAJdV9sb25nICpjbWRzOwogCXNzaXplX3QgbmNtZHM7Ci0JdV9p
bnQgaTsKKwlzc2l6ZV90IGk7CiAKIAlGSUxFREVTQ19MT0NLX0FTU0VSVChmZHApOwogCUtB
U1NFUlQoZmQgPj0gMCAmJiBmZCA8IGZkcC0+ZmRfbmZpbGVzLApAQCAtMzAyLDEyICszMDIs
MTMgQEAgY2FwX2lvY3RsX2xpbWl0X2NoZWNrKHN0cnVjdCBmaWxlZGVzYyAqZmRwLCBpbnQg
ZmQsIGNvbnN0IHVfbG9uZyAqY21kcywKIHsKIAl1X2xvbmcgKm9jbWRzOwogCXNzaXplX3Qg
b25jbWRzOwotCXVfaW50IGksIGo7CisJc2l6ZV90IGk7CisJc3NpemVfdCBqOwogCiAJb25j
bWRzID0gZmRwLT5mZF9vZmlsZXNbZmRdLmZkZV9uaW9jdGxzOwogCWlmIChvbmNtZHMgPT0g
LTEpCiAJCXJldHVybiAoMCk7Ci0JaWYgKG9uY21kcyA8IG5jbWRzKQorCWlmICgoc2l6ZV90
KW9uY21kcyA8IG5jbWRzKQogCQlyZXR1cm4gKEVOT1RDQVBBQkxFKTsKIAogCW9jbWRzID0g
ZmRwLT5mZF9vZmlsZXNbZmRdLmZkZV9pb2N0bHM7Ci0tIAoxLjguMS4zCgo=
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0021-For-readability-simplify-if-x-y-a-else-y-b-with-long.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0021-For-readability-simplify-if-x-y-a-else-y-b-with-long.pa";
 filename*1="tch"

RnJvbSBhMDUxNDRlMTk0MTFkMmIzZmM4NzE2ZTcyZWYyZmFkN2NjOTQ0OWFlIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxNTowOToxNiArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMjEvMjRdIEZvciByZWFkYWJpbGl0eSBzaW1wbGlmeSBpZiAoeCkgeSA9
IGE7IGVsc2UgeSA9IGI7IHdpdGgKIGxvbmcgeSB0byB5ID0geCA/IGEgOiBiLgoKLS0tCiBz
eXMva2Vybi9rZXJuX2Rlc2NyaXAuYyAgIHwgMTAgKysrLS0tLS0tLQogc3lzL2tlcm4vc3lz
X2NhcGFiaWxpdHkuYyB8ICA2ICsrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlv
bnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3N5cy9rZXJuL2tlcm5fZGVz
Y3JpcC5jIGIvc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMKaW5kZXggNjEyZDUxYS4uMzBkYWMw
NCAxMDA2NDQKLS0tIGEvc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMKKysrIGIvc3lzL2tlcm4v
a2Vybl9kZXNjcmlwLmMKQEAgLTg0MiwxMyArODQyLDkgQEAgZG9fZHVwKHN0cnVjdCB0aHJl
YWQgKnRkLCBpbnQgZmxhZ3MsIGludCBvbGQsIGludCBuZXcsCiAJZmRwLT5mZF9vZmlsZXNb
bmV3XSA9IGZkcC0+ZmRfb2ZpbGVzW29sZF07CiAJZmlsZWNhcHNfY29weSgmZmRwLT5mZF9v
ZmlsZXNbb2xkXS5mZGVfY2FwcywKIAkgICAgJmZkcC0+ZmRfb2ZpbGVzW25ld10uZmRlX2Nh
cHMpOwotCWlmICgoZmxhZ3MgJiBEVVBfQ0xPRVhFQykgIT0gMCkgewotCQlmZHAtPmZkX29m
aWxlc1tuZXddLmZkZV9mbGFncyA9Ci0JCSAgICBmZHAtPmZkX29maWxlc1tvbGRdLmZkZV9m
bGFncyB8IFVGX0VYQ0xPU0U7Ci0JfSBlbHNlIHsKLQkJZmRwLT5mZF9vZmlsZXNbbmV3XS5m
ZGVfZmxhZ3MgPQotCQkgICAgZmRwLT5mZF9vZmlsZXNbb2xkXS5mZGVfZmxhZ3MgJiB+VUZf
RVhDTE9TRTsKLQl9CisJZmRwLT5mZF9vZmlsZXNbbmV3XS5mZGVfZmxhZ3MgPSBmbGFncyAm
IERVUF9DTE9FWEVDID8KKwkgICAgZmRwLT5mZF9vZmlsZXNbb2xkXS5mZGVfZmxhZ3MgfCAg
VUZfRVhDTE9TRSA6CisJICAgIGZkcC0+ZmRfb2ZpbGVzW29sZF0uZmRlX2ZsYWdzICYgflVG
X0VYQ0xPU0U7CiAJaWYgKG5ldyA+IGZkcC0+ZmRfbGFzdGZpbGUpCiAJCWZkcC0+ZmRfbGFz
dGZpbGUgPSBuZXc7CiAJKnJldHZhbCA9IG5ldzsKZGlmZiAtLWdpdCBhL3N5cy9rZXJuL3N5
c19jYXBhYmlsaXR5LmMgYi9zeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jCmluZGV4IGUzNjIy
YjAuLjIzMDY4MTEgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL3N5c19jYXBhYmlsaXR5LmMKKysr
IGIvc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYwpAQCAtNDA5LDEwICs0MDksOCBAQCBzeXNf
Y2FwX2lvY3Rsc19nZXQoc3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCBjYXBfaW9jdGxzX2dl
dF9hcmdzICp1YXApCiAJCWlmIChlcnJvciAhPSAwKQogCQkJZ290byBvdXQ7CiAJfQotCWlm
IChmZGVwLT5mZGVfbmlvY3RscyA9PSAtMSkKLQkJdGQtPnRkX3JldHZhbFswXSA9IElOVF9N
QVg7Ci0JZWxzZQotCQl0ZC0+dGRfcmV0dmFsWzBdID0gZmRlcC0+ZmRlX25pb2N0bHM7CisJ
dGQtPnRkX3JldHZhbFswXSA9CisJICAgIGZkZXAtPmZkZV9uaW9jdGxzICE9IC0xID8gZmRl
cC0+ZmRlX25pb2N0bHMgOiBJTlRfTUFYOwogCWVycm9yID0gMDsKIAogb3V0OgotLSAKMS44
LjEuMwoK
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0022-Unify-and-simplify-bitset-inclusion-tests.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0022-Unify-and-simplify-bitset-inclusion-tests.patch"

RnJvbSAxMjU4OTUxZWYzY2RiOGI4NjI0ZTZhNzAzMjAzNmUwZTVlMGFjOGM2IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxNToyMzoxNSArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMjIvMjRdIFVuaWZ5IGFuZCBzaW1wbGlmeSBiaXRzZXQgaW5jbHVzaW9u
IHRlc3RzLgoKLSAoaGF2ZSB8IG5lZWQpICE9IGhhdmUgbG9va3MgbGlrZSBhIHR5cG86IHNo
b3VsZG4ndCB0aGUgfCBiZSBhICY/LgotIHNvbWUgcGxhY2VzIHVzZWQgKGhhdmUgfCBuZWVk
KSAhPSBoYXZlLCBvdGhlcnMgKGhhdmUgJiBuZWVkKSA9PSBuZWVkLgotIChuZWVkICYgfmhh
dmUpICE9IDAgLS0gbmVlZCBhbmQgbm90IGhhdmUgLS0gaXMgZWFzaWVyIHRvIGNvbXByZWhl
bmQuCi0gQXZvaWQgZHVwbGljYXRpb24sIGVzcGVjaWFsbHkgd2hlbiB0aGUgZHVwbGljYXRl
ZCBzdWJleHByZXNzaW9uIGlzIGxvbmcuCi0tLQogc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMg
ICAgICAgICAgIHwgIDQgKystLQogc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYyAgICAgICAg
IHwgMTEgKysrKystLS0tLS0KIHVzci5iaW4vcHJvY3N0YXQvcHJvY3N0YXRfZmlsZXMuYyB8
ICA0ICsrLS0KIDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9zeXMva2Vybi9rZXJuX2Rlc2NyaXAuYyBiL3N5cy9rZXJu
L2tlcm5fZGVzY3JpcC5jCmluZGV4IDMwZGFjMDQuLjY0MTc2Y2EgMTAwNjQ0Ci0tLSBhL3N5
cy9rZXJuL2tlcm5fZGVzY3JpcC5jCisrKyBiL3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCkBA
IC0xNDIyLDkgKzE0MjIsOSBAQCBzdGF0aWMgdm9pZAogZmlsZWNhcHNfdmFsaWRhdGUoY29u
c3Qgc3RydWN0IGZpbGVjYXBzICpmY2FwcywgY29uc3QgY2hhciAqZnVuYykKIHsKIAotCUtB
U1NFUlQoKGZjYXBzLT5mY19yaWdodHMgfCBDQVBfTUFTS19WQUxJRCkgPT0gQ0FQX01BU0tf
VkFMSUQsCisJS0FTU0VSVCgoZmNhcHMtPmZjX3JpZ2h0cyAmIH5DQVBfTUFTS19WQUxJRCkg
PT0gMCwKIAkgICAgKCIlczogaW52YWxpZCByaWdodHMiLCBmdW5jKSk7Ci0JS0FTU0VSVCgo
ZmNhcHMtPmZjX2ZjbnRscyB8IENBUF9GQ05UTF9BTEwpID09IENBUF9GQ05UTF9BTEwsCisJ
S0FTU0VSVCgoZmNhcHMtPmZjX2ZjbnRscyAmIH5DQVBfRkNOVExfQUxMKSA9PSAwLAogCSAg
ICAoIiVzOiBpbnZhbGlkIGZjbnRscyIsIGZ1bmMpKTsKIAlLQVNTRVJUKGZjYXBzLT5mY19m
Y250bHMgPT0gMCB8fCAoZmNhcHMtPmZjX3JpZ2h0cyAmIENBUF9GQ05UTCkgIT0gMCwKIAkg
ICAgKCIlczogZmNudGxzIHdpdGhvdXQgQ0FQX0ZDTlRMIiwgZnVuYykpOwpkaWZmIC0tZ2l0
IGEvc3lzL2tlcm4vc3lzX2NhcGFiaWxpdHkuYyBiL3N5cy9rZXJuL3N5c19jYXBhYmlsaXR5
LmMKaW5kZXggMjMwNjgxMS4uZDA2OTE4YyAxMDA2NDQKLS0tIGEvc3lzL2tlcm4vc3lzX2Nh
cGFiaWxpdHkuYworKysgYi9zeXMva2Vybi9zeXNfY2FwYWJpbGl0eS5jCkBAIC0xNDgsNyAr
MTQ4LDcgQEAgc3RhdGljIGlubGluZSBpbnQKIF9jYXBfY2hlY2soY2FwX3JpZ2h0c190IGhh
dmUsIGNhcF9yaWdodHNfdCBuZWVkLCBlbnVtIGt0cl9jYXBfZmFpbF90eXBlIHR5cGUpCiB7
CiAKLQlpZiAoKGhhdmUgfCBuZWVkKSAhPSBoYXZlKSB7CisJaWYgKChuZWVkICYgfmhhdmUp
ICE9IDApIHsKICNpZmRlZiBLVFJBQ0UKIAkJaWYgKEtUUlBPSU5UKGN1cnRocmVhZCwgS1RS
X0NBUEZBSUwpKQogCQkJa3RyY2FwZmFpbCh0eXBlLCBuZWVkLCBoYXZlKTsKQEAgLTIxNSw3
ICsyMTUsNyBAQCBzeXNfY2FwX3JpZ2h0c19saW1pdChzdHJ1Y3QgdGhyZWFkICp0ZCwgc3Ry
dWN0IGNhcF9yaWdodHNfbGltaXRfYXJncyAqdWFwKQogCUFVRElUX0FSR19GRChmZCk7CiAJ
QVVESVRfQVJHX1JJR0hUUyhyaWdodHMpOwogCi0JaWYgKChyaWdodHMgfCBDQVBfQUxMKSAh
PSBDQVBfQUxMKQorCWlmICgocmlnaHRzICYgfkNBUF9BTEwpICE9IDApCiAJCXJldHVybiAo
RUlOVkFMKTsKIAogCWZkcCA9IHRkLT50ZF9wcm9jLT5wX2ZkOwpAQCAtNDUyLDcgKzQ1Miw3
IEBAIHN5c19jYXBfZmNudGxzX2xpbWl0KHN0cnVjdCB0aHJlYWQgKnRkLCBzdHJ1Y3QgY2Fw
X2ZjbnRsc19saW1pdF9hcmdzICp1YXApCiAJQVVESVRfQVJHX0ZEKGZkKTsKIAlBVURJVF9B
UkdfRkNOVExfUklHSFRTKGZjbnRscmlnaHRzKTsKIAotCWlmICgoZmNudGxyaWdodHMgfCBD
QVBfRkNOVExfQUxMKSAhPSBDQVBfRkNOVExfQUxMKQorCWlmICgoZmNudGxyaWdodHMgJiB+
Q0FQX0ZDTlRMX0FMTCkgIT0gMCkKIAkJcmV0dXJuIChFSU5WQUwpOwogCiAJZmRwID0gdGQt
PnRkX3Byb2MtPnBfZmQ7CkBAIC00NjMsOCArNDYzLDcgQEAgc3lzX2NhcF9mY250bHNfbGlt
aXQoc3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCBjYXBfZmNudGxzX2xpbWl0X2FyZ3MgKnVh
cCkKIAkJcmV0dXJuIChFQkFERik7CiAJfQogCi0JaWYgKChmZHAtPmZkX29maWxlc1tmZF0u
ZmRlX2ZjbnRscyB8IGZjbnRscmlnaHRzKSAhPQotCSAgICBmZHAtPmZkX29maWxlc1tmZF0u
ZmRlX2ZjbnRscykgeworCWlmICgoZmNudGxyaWdodHMgJiB+ZmRwLT5mZF9vZmlsZXNbZmRd
LmZkZV9mY250bHMpICE9IDApIHsKIAkJRklMRURFU0NfWFVOTE9DSyhmZHApOwogCQlyZXR1
cm4gKEVOT1RDQVBBQkxFKTsKIAl9CkBAIC01MTUsNyArNTE0LDcgQEAgc3lzX2NhcF9uZXco
c3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCBjYXBfbmV3X2FyZ3MgKnVhcCkKIAlBVURJVF9B
UkdfRkQoZmQpOwogCUFVRElUX0FSR19SSUdIVFMocmlnaHRzKTsKIAotCWlmICgocmlnaHRz
IHwgQ0FQX0FMTCkgIT0gQ0FQX0FMTCkKKwlpZiAoKHJpZ2h0cyAmIH5DQVBfQUxMKSAhPSAw
KQogCQlyZXR1cm4gKEVJTlZBTCk7CiAKIAlmZHAgPSB0ZC0+dGRfcHJvYy0+cF9mZDsKZGlm
ZiAtLWdpdCBhL3Vzci5iaW4vcHJvY3N0YXQvcHJvY3N0YXRfZmlsZXMuYyBiL3Vzci5iaW4v
cHJvY3N0YXQvcHJvY3N0YXRfZmlsZXMuYwppbmRleCBlZWZjNWI3Li4xNmRhYjBiIDEwMDY0
NAotLS0gYS91c3IuYmluL3Byb2NzdGF0L3Byb2NzdGF0X2ZpbGVzLmMKKysrIGIvdXNyLmJp
bi9wcm9jc3RhdC9wcm9jc3RhdF9maWxlcy5jCkBAIC0yNDMsNyArMjQzLDcgQEAgd2lkdGhf
Y2FwYWJpbGl0eShjYXBfcmlnaHRzX3QgcmlnaHRzKQogCWNvdW50ID0gMDsKIAl3aWR0aCA9
IDA7CiAJZm9yIChpID0gMDsgaSA8IGNhcF9kZXNjX2NvdW50OyBpKyspIHsKLQkJaWYgKChy
aWdodHMgJiBjYXBfZGVzY1tpXS5jZF9yaWdodCkgPT0gY2FwX2Rlc2NbaV0uY2RfcmlnaHQp
IHsKKwkJaWYgKChjYXBfZGVzY1tpXS5jZF9yaWdodCAmIH5yaWdodHMpID09IDApIHsKIAkJ
CXdpZHRoICs9IHN0cmxlbihjYXBfZGVzY1tpXS5jZF9kZXNjKTsKIAkJCWlmIChjb3VudCkK
IAkJCQl3aWR0aCsrOwpAQCAtMjY3LDcgKzI2Nyw3IEBAIHByaW50X2NhcGFiaWxpdHkoY2Fw
X3JpZ2h0c190IHJpZ2h0cywgdV9pbnQgY2Fwd2lkdGgpCiAJCQlwcmludGYoIi0iKTsKIAl9
CiAJZm9yIChpID0gMDsgaSA8IGNhcF9kZXNjX2NvdW50OyBpKyspIHsKLQkJaWYgKChyaWdo
dHMgJiBjYXBfZGVzY1tpXS5jZF9yaWdodCkgPT0gY2FwX2Rlc2NbaV0uY2RfcmlnaHQpIHsK
KwkJaWYgKChjYXBfZGVzY1tpXS5jZF9yaWdodCAmIH5yaWdodHMpID09IDApIHsKIAkJCXBy
aW50ZigiJXMlcyIsIGNvdW50ID8gIiwiIDogIiIsIGNhcF9kZXNjW2ldLmNkX2Rlc2MpOwog
CQkJd2lkdGggKz0gc3RybGVuKGNhcF9kZXNjW2ldLmNkX2Rlc2MpOwogCQkJaWYgKGNvdW50
KQotLSAKMS44LjEuMwoK
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0023-Simplify-assertion-condition-which-contains-a-duplic.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0023-Simplify-assertion-condition-which-contains-a-duplic.pa";
 filename*1="tch"

RnJvbSA0ZDcyMWI3YWE5MDkwOTFmYzcwNWNjOGY4MjJhMTNkYTY5ZTE5NTRjIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxNTozMzo0OCArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMjMvMjRdIFNpbXBsaWZ5IGFzc2VydGlvbiBjb25kaXRpb24sIHdoaWNo
IGNvbnRhaW5zIGEKIGR1cGxpY2F0ZWQgc3ViZXhwcmVzc2lvbi4KCi0tLQogc3lzL2tlcm4v
a2Vybl9kZXNjcmlwLmMgfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z
KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3N5cy9rZXJuL2tlcm5fZGVzY3Jp
cC5jIGIvc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMKaW5kZXggNjQxNzZjYS4uYzI1NTZlMiAx
MDA2NDQKLS0tIGEvc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMKKysrIGIvc3lzL2tlcm4va2Vy
bl9kZXNjcmlwLmMKQEAgLTE0MjgsOSArMTQyOCw4IEBAIGZpbGVjYXBzX3ZhbGlkYXRlKGNv
bnN0IHN0cnVjdCBmaWxlY2FwcyAqZmNhcHMsIGNvbnN0IGNoYXIgKmZ1bmMpCiAJICAgICgi
JXM6IGludmFsaWQgZmNudGxzIiwgZnVuYykpOwogCUtBU1NFUlQoZmNhcHMtPmZjX2ZjbnRs
cyA9PSAwIHx8IChmY2Fwcy0+ZmNfcmlnaHRzICYgQ0FQX0ZDTlRMKSAhPSAwLAogCSAgICAo
IiVzOiBmY250bHMgd2l0aG91dCBDQVBfRkNOVEwiLCBmdW5jKSk7Ci0JS0FTU0VSVCgoKGZj
YXBzLT5mY19uaW9jdGxzID09IC0xIHx8IGZjYXBzLT5mY19uaW9jdGxzID09IDApICYmCi0J
ICAgICAgICAgZmNhcHMtPmZjX2lvY3RscyA9PSBOVUxMKSB8fAotCSAgICAgICAgKGZjYXBz
LT5mY19uaW9jdGxzID4gMCAmJiBmY2Fwcy0+ZmNfaW9jdGxzICE9IE5VTEwpLAorCUtBU1NF
UlQoZmNhcHMtPmZjX2lvY3RscyAhPSBOVUxMID8gZmNhcHMtPmZjX25pb2N0bHMgPiAwIDoK
KwkgICAgKGZjYXBzLT5mY19uaW9jdGxzID09IC0xIHx8IGZjYXBzLT5mY19uaW9jdGxzID09
IDApLAogCSAgICAoIiVzOiBpbnZhbGlkIGlvY3RscyIsIGZ1bmMpKTsKIAlLQVNTRVJUKGZj
YXBzLT5mY19uaW9jdGxzID09IDAgfHwgKGZjYXBzLT5mY19yaWdodHMgJiBDQVBfSU9DVEwp
ICE9IDAsCiAJICAgICgiJXM6IGlvY3RscyB3aXRob3V0IENBUF9JT0NUTCIsIGZ1bmMpKTsK
LS0gCjEuOC4xLjMKCg==
--------------060105070608040709090402
Content-Type: text/plain; charset=UTF-8;
 name="0024-Factorise-code-to-free-a-file-descriptor.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0024-Factorise-code-to-free-a-file-descriptor.patch"

RnJvbSA5OGRkM2M4YTk4OGUwNDNiNGE4ZjAyZWQ0YzE5ZDM5ZDMwZTExNDVkIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGggTWFsbG9uIDxjaHJpc3RvcGgubWFs
bG9uQGdteC5kZT4KRGF0ZTogU3VuLCAyNCBGZWIgMjAxMyAxNTo0Nzo1MyArMDEwMApTdWJq
ZWN0OiBbUEFUQ0ggMjQvMjRdIEZhY3RvcmlzZSBjb2RlIHRvIGZyZWUgYSBmaWxlIGRlc2Ny
aXB0b3IuCgotLS0KIHN5cy9rZXJuL2tlcm5fZGVzY3JpcC5jIHwgMjkgKysrKysrKysrKysr
KysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAx
MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zeXMva2Vybi9rZXJuX2Rlc2NyaXAuYyBi
L3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCmluZGV4IGMyNTU2ZTIuLjgyNTY1MDEgMTAwNjQ0
Ci0tLSBhL3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCisrKyBiL3N5cy9rZXJuL2tlcm5fZGVz
Y3JpcC5jCkBAIC0yODcsNiArMjg3LDE5IEBAIGZkdW51c2VkKHN0cnVjdCBmaWxlZGVzYyAq
ZmRwLCBpbnQgZmQpCiB9CiAKIC8qCisgKiBGcmVlIGEgZmlsZSBkZXNjcmlwdG9yLgorICov
CitzdGF0aWMgdm9pZAorZmRmcmVlKHN0cnVjdCBmaWxlZGVzYyAqZmRwLCBpbnQgZmQpCit7
CisJc3RydWN0IGZpbGVkZXNjZW50ICpmZGUgPSBmZHAtPmZkX29maWxlc1tmZF07CisKKwlm
aWxlY2Fwc19mcmVlKCZmZGUtPmZkZV9jYXBzKTsKKwliemVybyhmZGUsIHNpemVvZigqZmRl
KSk7CisJZmR1bnVzZWQoZmRwLCBmZCk7Cit9CisKKy8qCiAgKiBTeXN0ZW0gY2FsbHMgb24g
ZGVzY3JpcHRvcnMuCiAgKi8KICNpZm5kZWYgX1NZU19TWVNQUk9UT19IXwpAQCAtMTE2NSw5
ICsxMTc4LDcgQEAga2Vybl9jbG9zZSh0ZCwgZmQpCiAJCUZJTEVERVNDX1hVTkxPQ0soZmRw
KTsKIAkJcmV0dXJuIChFQkFERik7CiAJfQotCWZpbGVjYXBzX2ZyZWUoJmZkcC0+ZmRfb2Zp
bGVzW2ZkXS5mZGVfY2Fwcyk7Ci0JYnplcm8oJmZkcC0+ZmRfb2ZpbGVzW2ZkXSwgc2l6ZW9m
KGZkcC0+ZmRfb2ZpbGVzW2ZkXSkpOwotCWZkdW51c2VkKGZkcCwgZmQpOworCWZkZnJlZShm
ZHAsIGZkKTsKIAogCS8qIGNsb3NlZnAoKSBkcm9wcyB0aGUgRklMRURFU0MgbG9jayBmb3Ig
dXMuICovCiAJcmV0dXJuIChjbG9zZWZwKGZkcCwgZmQsIGZwLCB0ZCwgMSkpOwpAQCAtMjAz
NSw5ICsyMDQ2LDcgQEAgc2V0dWdpZHNhZmV0eShzdHJ1Y3QgdGhyZWFkICp0ZCkKIAkJCSAq
IE5VTEwtb3V0IGRlc2NyaXB0b3IgcHJpb3IgdG8gY2xvc2UgdG8gYXZvaWQKIAkJCSAqIGEg
cmFjZSB3aGlsZSBjbG9zZSBibG9ja3MuCiAJCQkgKi8KLQkJCWZpbGVjYXBzX2ZyZWUoJmZk
cC0+ZmRfb2ZpbGVzW2ldLmZkZV9jYXBzKTsKLQkJCWJ6ZXJvKCZmZHAtPmZkX29maWxlc1tp
XSwgc2l6ZW9mKGZkcC0+ZmRfb2ZpbGVzW2ldKSk7Ci0JCQlmZHVudXNlZChmZHAsIGkpOwor
CQkJZmRmcmVlKGZkcCwgaSk7CiAJCQlGSUxFREVTQ19YVU5MT0NLKGZkcCk7CiAJCQkodm9p
ZCkgY2xvc2VmKGZwLCB0ZCk7CiAJCQlGSUxFREVTQ19YTE9DSyhmZHApOwpAQCAtMjA1OSw5
ICsyMDY4LDcgQEAgZmRjbG9zZShzdHJ1Y3QgZmlsZWRlc2MgKmZkcCwgc3RydWN0IGZpbGUg
KmZwLCBpbnQgaWR4LCBzdHJ1Y3QgdGhyZWFkICp0ZCkKIAogCUZJTEVERVNDX1hMT0NLKGZk
cCk7CiAJaWYgKGZkcC0+ZmRfb2ZpbGVzW2lkeF0uZmRlX2ZpbGUgPT0gZnApIHsKLQkJZmls
ZWNhcHNfZnJlZSgmZmRwLT5mZF9vZmlsZXNbaWR4XS5mZGVfY2Fwcyk7Ci0JCWJ6ZXJvKCZm
ZHAtPmZkX29maWxlc1tpZHhdLCBzaXplb2YoZmRwLT5mZF9vZmlsZXNbaWR4XSkpOwotCQlm
ZHVudXNlZChmZHAsIGlkeCk7CisJCWZkZnJlZShmZHAsIGlkeCk7CiAJCUZJTEVERVNDX1hV
TkxPQ0soZmRwKTsKIAkJZmRyb3AoZnAsIHRkKTsKIAl9IGVsc2UKQEAgLTIwOTQsOSArMjEw
MSw3IEBAIGZkY2xvc2VleGVjKHN0cnVjdCB0aHJlYWQgKnRkKQogCQlmcCA9IGZkZS0+ZmRl
X2ZpbGU7CiAJCWlmIChmcCAhPSBOVUxMICYmIChmcC0+Zl90eXBlID09IERUWVBFX01RVUVV
RSB8fAogCQkgICAgKGZkZS0+ZmRlX2ZsYWdzICYgVUZfRVhDTE9TRSkpKSB7Ci0JCQlmaWxl
Y2Fwc19mcmVlKCZmZGUtPmZkZV9jYXBzKTsKLQkJCWJ6ZXJvKGZkZSwgc2l6ZW9mKCpmZGUp
KTsKLQkJCWZkdW51c2VkKGZkcCwgaSk7CisJCQlmZGZyZWUoZmRwLCBpKTsKIAkJCSh2b2lk
KSBjbG9zZWZwKGZkcCwgaSwgZnAsIHRkLCAwKTsKIAkJCS8qIGNsb3NlZnAoKSBkcm9wcyB0
aGUgRklMRURFU0MgbG9jay4gKi8KIAkJCUZJTEVERVNDX1hMT0NLKGZkcCk7Ci0tIAoxLjgu
MS4zCgo=
--------------060105070608040709090402--



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