Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932840AbZJLTFf (ORCPT ); Mon, 12 Oct 2009 15:05:35 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757909AbZJLTFe (ORCPT ); Mon, 12 Oct 2009 15:05:34 -0400 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:41758 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757912AbZJLTFb (ORCPT ); Mon, 12 Oct 2009 15:05:31 -0400 Date: Tue, 13 Oct 2009 04:03:45 +0900 (JST) X-SecurityPolicyCheck-FJ: OK by FujitsuOutboundMailChecker v1.3.1 From: KOSAKI Motohiro To: Andrew Morton Subject: Re: [resend][PATCH] Added PR_SET_PROCTITLE_AREA option for prctl() Cc: kosaki.motohiro@jp.fujitsu.com, Bryan Donlan , linux-kernel@vger.kernel.org, Ulrich Drepper , linux-api@vger.kernel.org, Timo Sirainen In-Reply-To: <20091009233935.1be0edf9.akpm@linux-foundation.org> References: <2f11576a0910092332s6e0e3dcs35864e3a2164be0@mail.gmail.com> <20091009233935.1be0edf9.akpm@linux-foundation.org> Message-Id: <20091013022335.C741.A69D9226@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_4AD3661700000000C73D_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.50.07 [ja] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 20572 Lines: 333 --------_4AD3661700000000C73D_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Hi > > >>> The solution is to use the seqlock to detect this, and prevent the > > >>> secret information from ever making it back to process B's userspace. > > >>> Note that it's not enough to just recheck arg_start, as process A may > > >>> reassign the proctitle area back to its original position after having > > >>> it somewhere else for a while. > > >> > > >> Well seqlock is _a_ solution. __Another is to use a mutex or an rwsem > > >> around the whole operation. > > >> > > >> With the code as you propose it, what happens if a process sits in a > > >> tight loop running setproctitle? __Do other processes running `ps' get > > >> stuck in a livelock until the offending process gets scheduled out? > > > > > > It does seem like a maximum spin count should be put in there - and > > > maybe a timeout as well (since with FUSE etc it's possible to engineer > > > page faults that take arbitrarily long). > > > Also, it occurs to me that: > > > > makes sense. > > I like maximum spin rather than timeout. > > Start simple. What's wrong with mutex_lock() on the reader and writer > sides? rwsems might be OK too. > > In both cases we should think about whether persistent readers can > block the writer excessively though. I thought your mention seems reasonable. then I mesured various locking performance. no-contention read-read contetion read-write contention w/o patch 4627 ms 7575 ms N/A mutex 5717 ms 33872 ms (!) 14793 ms rw-semaphoe 6846 ms 10734 ms 36156 ms (!) seqlock 4754 ms 7558 ms 9373 ms Umm, seqlock is significantly better than other. readtitle.c read proctitle 1,000,000 times setproctitle.c infinite loop of setproctitle() no-contention: ./readtitle 1 read-read contention: ./readtitle 1 &; ./readtitle 1&; wait read-write contention ./setproctitle [switch other terminal] ./readtitle `pidof setproctitle` I agree this testcase is too pessimistic. ps doesn't read /proc/{pid}/cmdline so frequently. however if we need to concern DoS attack, we need to mesure pessimistic scenario. Plus, this result indicate setproctitle-seqlock doesn't need timeout nor max spin. --------_4AD3661700000000C73D_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="setproctitle-mutex.patch" Content-Disposition: attachment; filename="setproctitle-mutex.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2ZzL3Byb2MvYmFzZS5jIGIvZnMvcHJvYy9iYXNlLmMKaW5kZXggODM3NDY5 YS4uMzQ3MGVlMyAxMDA2NDQKLS0tIGEvZnMvcHJvYy9iYXNlLmMKKysrIGIvZnMvcHJvYy9iYXNl LmMKQEAgLTI1NSwzMiArMjU1LDQ0IEBAIHN0YXRpYyBpbnQgcHJvY19waWRfY21kbGluZShzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIGNoYXIgKiBidWZmZXIpCiAJaW50IHJlcyA9IDA7CiAJdW5z aWduZWQgaW50IGxlbjsKIAlzdHJ1Y3QgbW1fc3RydWN0ICptbSA9IGdldF90YXNrX21tKHRhc2sp OworCiAJaWYgKCFtbSkKIAkJZ290byBvdXQ7CisKKwkvKiBUaGUgcHJvY2VzcyB3YXMgbm90IGNv bnN0cnVjdGVkIHlldD8gKi8KIAlpZiAoIW1tLT5hcmdfZW5kKQogCQlnb3RvIG91dF9tbTsJLyog U2hoISBObyBsb29raW5nIGJlZm9yZSB3ZSdyZSBkb25lICovCiAKLSAJbGVuID0gbW0tPmFyZ19l bmQgLSBtbS0+YXJnX3N0YXJ0OwotIAorCW11dGV4X2xvY2soJm1tLT5hcmdfbG9jayk7CisJbGVu ID0gbW0tPmFyZ19lbmQgLSBtbS0+YXJnX3N0YXJ0OwogCWlmIChsZW4gPiBQQUdFX1NJWkUpCiAJ CWxlbiA9IFBBR0VfU0laRTsKLSAKKwogCXJlcyA9IGFjY2Vzc19wcm9jZXNzX3ZtKHRhc2ssIG1t LT5hcmdfc3RhcnQsIGJ1ZmZlciwgbGVuLCAwKTsKIAotCS8vIElmIHRoZSBudWwgYXQgdGhlIGVu ZCBvZiBhcmdzIGhhcyBiZWVuIG92ZXJ3cml0dGVuLCB0aGVuCi0JLy8gYXNzdW1lIGFwcGxpY2F0 aW9uIGlzIHVzaW5nIHNldHByb2N0aXRsZSgzKS4KLQlpZiAocmVzID4gMCAmJiBidWZmZXJbcmVz LTFdICE9ICdcMCcgJiYgbGVuIDwgUEFHRV9TSVpFKSB7CisJaWYgKG1tLT5hcmdfZW5kICE9IG1t LT5lbnZfc3RhcnQpCisJCS8qIFBSX1NFVF9QUk9DVElUTEVfQVJFQSB1c2VkICovCisJCXJlcyA9 IHN0cm5sZW4oYnVmZmVyLCByZXMpOworCWVsc2UgaWYgKHJlcyA+IDAgJiYgYnVmZmVyW3Jlcy0x XSAhPSAnXDAnICYmIGxlbiA8IFBBR0VfU0laRSkgeworCQkvKgorCQkgKiBJZiB0aGUgbnVsIGF0 IHRoZSBlbmQgb2YgYXJncyBoYXMgYmVlbiBvdmVyd3JpdHRlbiwKKwkJICogdGhlbiBhc3N1bWUg YXBwbGljYXRpb24gaXMgdXNpbmcgc2VuZG1haWwncworCQkgKiBTUFRfUkVVU0VBUkdWIHN0eWxl IGFyZ3Ygb3ZlcnJpZGUuCisJCSAqLwogCQlsZW4gPSBzdHJubGVuKGJ1ZmZlciwgcmVzKTsKIAkJ aWYgKGxlbiA8IHJlcykgewotCQkgICAgcmVzID0gbGVuOworCQkJcmVzID0gbGVuOwogCQl9IGVs c2UgewogCQkJbGVuID0gbW0tPmVudl9lbmQgLSBtbS0+ZW52X3N0YXJ0OwogCQkJaWYgKGxlbiA+ IFBBR0VfU0laRSAtIHJlcykKIAkJCQlsZW4gPSBQQUdFX1NJWkUgLSByZXM7Ci0JCQlyZXMgKz0g YWNjZXNzX3Byb2Nlc3Nfdm0odGFzaywgbW0tPmVudl9zdGFydCwgYnVmZmVyK3JlcywgbGVuLCAw KTsKKwkJCXJlcyArPSBhY2Nlc3NfcHJvY2Vzc192bSh0YXNrLCBtbS0+ZW52X3N0YXJ0LAorCQkJ CQkJIGJ1ZmZlcityZXMsIGxlbiwgMCk7CiAJCQlyZXMgPSBzdHJubGVuKGJ1ZmZlciwgcmVzKTsK IAkJfQogCX0KKwltdXRleF91bmxvY2soJm1tLT5hcmdfbG9jayk7CisKIG91dF9tbToKIAltbXB1 dChtbSk7CiBvdXQ6CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tX3R5cGVzLmggYi9pbmNs dWRlL2xpbnV4L21tX3R5cGVzLmgKaW5kZXggODRhNTI0YS4uM2UyYTM0NiAxMDA2NDQKLS0tIGEv aW5jbHVkZS9saW51eC9tbV90eXBlcy5oCisrKyBiL2luY2x1ZGUvbGludXgvbW1fdHlwZXMuaApA QCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRl IDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZS1kZWJ1Zy1mbGFncy5oPgor I2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRl IDxhc20vbW11Lmg+CiAKQEAgLTIzNiw2ICsyMzcsNyBAQCBzdHJ1Y3QgbW1fc3RydWN0IHsKIAl1 bnNpZ25lZCBsb25nIHN0YWNrX3ZtLCByZXNlcnZlZF92bSwgZGVmX2ZsYWdzLCBucl9wdGVzOwog CXVuc2lnbmVkIGxvbmcgc3RhcnRfY29kZSwgZW5kX2NvZGUsIHN0YXJ0X2RhdGEsIGVuZF9kYXRh OwogCXVuc2lnbmVkIGxvbmcgc3RhcnRfYnJrLCBicmssIHN0YXJ0X3N0YWNrOworCXN0cnVjdCBt dXRleCBhcmdfbG9jazsKIAl1bnNpZ25lZCBsb25nIGFyZ19zdGFydCwgYXJnX2VuZCwgZW52X3N0 YXJ0LCBlbnZfZW5kOwogCiAJdW5zaWduZWQgbG9uZyBzYXZlZF9hdXh2W0FUX1ZFQ1RPUl9TSVpF XTsgLyogZm9yIC9wcm9jL1BJRC9hdXh2ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3By Y3RsLmggYi9pbmNsdWRlL2xpbnV4L3ByY3RsLmgKaW5kZXggOTMxMTUwNS4uZTgwYTExYiAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wcmN0bC5oCisrKyBiL2luY2x1ZGUvbGludXgvcHJjdGwu aApAQCAtOTAsNCArOTAsOCBAQAogCiAjZGVmaW5lIFBSX01DRV9LSUxMCTMzCiAKKworLyogU2V0 IHByb2Nlc3MgdGl0bGUgbWVtb3J5IGFyZWEgZm9yIHNldHByb2N0aXRsZSgpICovCisjZGVmaW5l IFBSX1NFVF9QUk9DVElUTEVfQVJFQSAzNAorCiAjZW5kaWYgLyogX0xJTlVYX1BSQ1RMX0ggKi8K ZGlmZiAtLWdpdCBhL2tlcm5lbC9mb3JrLmMgYi9rZXJuZWwvZm9yay5jCmluZGV4IDI2NmM2YWYu LmY2ZWJlNDYgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9mb3JrLmMKKysrIGIva2VybmVsL2ZvcmsuYwpA QCAtNDU5LDYgKzQ1OSw3IEBAIHN0YXRpYyBzdHJ1Y3QgbW1fc3RydWN0ICogbW1faW5pdChzdHJ1 Y3QgbW1fc3RydWN0ICogbW0sIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIAltbS0+Y2FjaGVkX2hv bGVfc2l6ZSA9IH4wVUw7CiAJbW1faW5pdF9haW8obW0pOwogCW1tX2luaXRfb3duZXIobW0sIHAp OworCW11dGV4X2luaXQoJm1tLT5hcmdfbG9jayk7CiAKIAlpZiAobGlrZWx5KCFtbV9hbGxvY19w Z2QobW0pKSkgewogCQltbS0+ZGVmX2ZsYWdzID0gMDsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXMu YyBiL2tlcm5lbC9zeXMuYwppbmRleCAyNTU0NzVkLi5lNDAxZTU0IDEwMDY0NAotLS0gYS9rZXJu ZWwvc3lzLmMKKysrIGIva2VybmVsL3N5cy5jCkBAIC0xNTY0LDYgKzE1NjQsMjkgQEAgU1lTQ0FM TF9ERUZJTkU1KHByY3RsLCBpbnQsIG9wdGlvbiwgdW5zaWduZWQgbG9uZywgYXJnMiwgdW5zaWdu ZWQgbG9uZywgYXJnMywKIAkJCWVycm9yID0gMDsKIAkJCWJyZWFrOwogCisJCWNhc2UgUFJfU0VU X1BST0NUSVRMRV9BUkVBOiB7CisJCQlzdHJ1Y3QgbW1fc3RydWN0ICptbSA9IGN1cnJlbnQtPm1t OworCQkJdW5zaWduZWQgbG9uZyBhZGRyID0gYXJnMjsKKwkJCXVuc2lnbmVkIGxvbmcgbGVuID0g YXJnMzsKKwkJCXVuc2lnbmVkIGxvbmcgZW5kID0gYXJnMiArIGFyZzM7CisKKwkJCWlmIChsZW4g PiBQQUdFX1NJWkUpCisJCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJCWlmIChhZGRyID49IGVuZCkK KwkJCQlyZXR1cm4gLUVJTlZBTDsKKworCQkJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIGFk ZHIsIGxlbikpIHsKKwkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCX0KKworCQkJbXV0ZXhfbG9jaygm bW0tPmFyZ19sb2NrKTsKKwkJCW1tLT5hcmdfc3RhcnQgPSBhZGRyOworCQkJbW0tPmFyZ19lbmQg PSBhZGRyICsgbGVuOworCQkJbXV0ZXhfdW5sb2NrKCZtbS0+YXJnX2xvY2spOworCisJCQlyZXR1 cm4gMDsKKwkJfQogCQlkZWZhdWx0OgogCQkJZXJyb3IgPSAtRUlOVkFMOwogCQkJYnJlYWs7Cg== --------_4AD3661700000000C73D_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="setproctitle-rwmutex.patch" Content-Disposition: attachment; filename="setproctitle-rwmutex.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2ZzL3Byb2MvYmFzZS5jIGIvZnMvcHJvYy9iYXNlLmMKaW5kZXggODM3NDY5 YS4uZTk1ODc4YSAxMDA2NDQKLS0tIGEvZnMvcHJvYy9iYXNlLmMKKysrIGIvZnMvcHJvYy9iYXNl LmMKQEAgLTI1NSwyMSArMjU1LDMwIEBAIHN0YXRpYyBpbnQgcHJvY19waWRfY21kbGluZShzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIGNoYXIgKiBidWZmZXIpCiAJaW50IHJlcyA9IDA7CiAJdW5z aWduZWQgaW50IGxlbjsKIAlzdHJ1Y3QgbW1fc3RydWN0ICptbSA9IGdldF90YXNrX21tKHRhc2sp OworCiAJaWYgKCFtbSkKIAkJZ290byBvdXQ7CisKKwkvKiBUaGUgcHJvY2VzcyB3YXMgbm90IGNv bnN0cnVjdGVkIHlldD8gKi8KIAlpZiAoIW1tLT5hcmdfZW5kKQogCQlnb3RvIG91dF9tbTsJLyog U2hoISBObyBsb29raW5nIGJlZm9yZSB3ZSdyZSBkb25lICovCiAKLSAJbGVuID0gbW0tPmFyZ19l bmQgLSBtbS0+YXJnX3N0YXJ0OwotIAorCWRvd25fcmVhZCgmbW0tPmFyZ19zZW0pOworCWxlbiA9 IG1tLT5hcmdfZW5kIC0gbW0tPmFyZ19zdGFydDsKIAlpZiAobGVuID4gUEFHRV9TSVpFKQogCQls ZW4gPSBQQUdFX1NJWkU7Ci0gCisKIAlyZXMgPSBhY2Nlc3NfcHJvY2Vzc192bSh0YXNrLCBtbS0+ YXJnX3N0YXJ0LCBidWZmZXIsIGxlbiwgMCk7CiAKLQkvLyBJZiB0aGUgbnVsIGF0IHRoZSBlbmQg b2YgYXJncyBoYXMgYmVlbiBvdmVyd3JpdHRlbiwgdGhlbgotCS8vIGFzc3VtZSBhcHBsaWNhdGlv biBpcyB1c2luZyBzZXRwcm9jdGl0bGUoMykuCi0JaWYgKHJlcyA+IDAgJiYgYnVmZmVyW3Jlcy0x XSAhPSAnXDAnICYmIGxlbiA8IFBBR0VfU0laRSkgeworCWlmIChtbS0+YXJnX2VuZCAhPSBtbS0+ ZW52X3N0YXJ0KQorCQkvKiBQUl9TRVRfUFJPQ1RJVExFX0FSRUEgdXNlZCAqLworCQlyZXMgPSBz dHJubGVuKGJ1ZmZlciwgcmVzKTsKKwllbHNlIGlmIChyZXMgPiAwICYmIGJ1ZmZlcltyZXMtMV0g IT0gJ1wwJyAmJiBsZW4gPCBQQUdFX1NJWkUpIHsKKwkJLyoKKwkJICogSWYgdGhlIG51bCBhdCB0 aGUgZW5kIG9mIGFyZ3MgaGFzIGJlZW4gb3ZlcndyaXR0ZW4sCisJCSAqIHRoZW4gYXNzdW1lIGFw cGxpY2F0aW9uIGlzIHVzaW5nIHNlbmRtYWlsJ3MKKwkJICogU1BUX1JFVVNFQVJHViBzdHlsZSBh cmd2IG92ZXJyaWRlLgorCQkgKi8KIAkJbGVuID0gc3RybmxlbihidWZmZXIsIHJlcyk7CiAJCWlm IChsZW4gPCByZXMpIHsKIAkJICAgIHJlcyA9IGxlbjsKQEAgLTI4MSw2ICsyOTAsOCBAQCBzdGF0 aWMgaW50IHByb2NfcGlkX2NtZGxpbmUoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBjaGFyICog YnVmZmVyKQogCQkJcmVzID0gc3RybmxlbihidWZmZXIsIHJlcyk7CiAJCX0KIAl9CisJdXBfcmVh ZCgmbW0tPmFyZ19zZW0pOworCiBvdXRfbW06CiAJbW1wdXQobW0pOwogb3V0OgpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oIGIvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCmlu ZGV4IDg0YTUyNGEuLmFmZjJlOGQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW1fdHlwZXMu aAorKysgYi9pbmNsdWRlL2xpbnV4L21tX3R5cGVzLmgKQEAgLTIzNiw2ICsyMzYsNyBAQCBzdHJ1 Y3QgbW1fc3RydWN0IHsKIAl1bnNpZ25lZCBsb25nIHN0YWNrX3ZtLCByZXNlcnZlZF92bSwgZGVm X2ZsYWdzLCBucl9wdGVzOwogCXVuc2lnbmVkIGxvbmcgc3RhcnRfY29kZSwgZW5kX2NvZGUsIHN0 YXJ0X2RhdGEsIGVuZF9kYXRhOwogCXVuc2lnbmVkIGxvbmcgc3RhcnRfYnJrLCBicmssIHN0YXJ0 X3N0YWNrOworCXN0cnVjdCByd19zZW1hcGhvcmUgYXJnX3NlbTsKIAl1bnNpZ25lZCBsb25nIGFy Z19zdGFydCwgYXJnX2VuZCwgZW52X3N0YXJ0LCBlbnZfZW5kOwogCiAJdW5zaWduZWQgbG9uZyBz YXZlZF9hdXh2W0FUX1ZFQ1RPUl9TSVpFXTsgLyogZm9yIC9wcm9jL1BJRC9hdXh2ICovCmRpZmYg LS1naXQgYS9pbmNsdWRlL2xpbnV4L3ByY3RsLmggYi9pbmNsdWRlL2xpbnV4L3ByY3RsLmgKaW5k ZXggOTMxMTUwNS4uZTgwYTExYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wcmN0bC5oCisr KyBiL2luY2x1ZGUvbGludXgvcHJjdGwuaApAQCAtOTAsNCArOTAsOCBAQAogCiAjZGVmaW5lIFBS X01DRV9LSUxMCTMzCiAKKworLyogU2V0IHByb2Nlc3MgdGl0bGUgbWVtb3J5IGFyZWEgZm9yIHNl dHByb2N0aXRsZSgpICovCisjZGVmaW5lIFBSX1NFVF9QUk9DVElUTEVfQVJFQSAzNAorCiAjZW5k aWYgLyogX0xJTlVYX1BSQ1RMX0ggKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9mb3JrLmMgYi9rZXJu ZWwvZm9yay5jCmluZGV4IDI2NmM2YWYuLjAxNDk5OWMgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9mb3Jr LmMKKysrIGIva2VybmVsL2ZvcmsuYwpAQCAtNDU5LDYgKzQ1OSw3IEBAIHN0YXRpYyBzdHJ1Y3Qg bW1fc3RydWN0ICogbW1faW5pdChzdHJ1Y3QgbW1fc3RydWN0ICogbW0sIHN0cnVjdCB0YXNrX3N0 cnVjdCAqcCkKIAltbS0+Y2FjaGVkX2hvbGVfc2l6ZSA9IH4wVUw7CiAJbW1faW5pdF9haW8obW0p OwogCW1tX2luaXRfb3duZXIobW0sIHApOworCWluaXRfcndzZW0oJm1tLT5hcmdfc2VtKTsKIAog CWlmIChsaWtlbHkoIW1tX2FsbG9jX3BnZChtbSkpKSB7CiAJCW1tLT5kZWZfZmxhZ3MgPSAwOwpk aWZmIC0tZ2l0IGEva2VybmVsL3N5cy5jIGIva2VybmVsL3N5cy5jCmluZGV4IDI1NTQ3NWQuLmNk NjlhMDYgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zeXMuYworKysgYi9rZXJuZWwvc3lzLmMKQEAgLTE1 NjQsNiArMTU2NCwyOSBAQCBTWVNDQUxMX0RFRklORTUocHJjdGwsIGludCwgb3B0aW9uLCB1bnNp Z25lZCBsb25nLCBhcmcyLCB1bnNpZ25lZCBsb25nLCBhcmczLAogCQkJZXJyb3IgPSAwOwogCQkJ YnJlYWs7CiAKKwkJY2FzZSBQUl9TRVRfUFJPQ1RJVExFX0FSRUE6IHsKKwkJCXN0cnVjdCBtbV9z dHJ1Y3QgKm1tID0gY3VycmVudC0+bW07CisJCQl1bnNpZ25lZCBsb25nIGFkZHIgPSBhcmcyOwor CQkJdW5zaWduZWQgbG9uZyBsZW4gPSBhcmczOworCQkJdW5zaWduZWQgbG9uZyBlbmQgPSBhcmcy ICsgYXJnMzsKKworCQkJaWYgKGxlbiA+IFBBR0VfU0laRSkKKwkJCQlyZXR1cm4gLUVJTlZBTDsK KworCQkJaWYgKGFkZHIgPj0gZW5kKQorCQkJCXJldHVybiAtRUlOVkFMOworCisJCQlpZiAoIWFj Y2Vzc19vayhWRVJJRllfUkVBRCwgYWRkciwgbGVuKSkgeworCQkJCXJldHVybiAtRUZBVUxUOwor CQkJfQorCisJCQlkb3duX3dyaXRlKCZtbS0+YXJnX3NlbSk7CisJCQltbS0+YXJnX3N0YXJ0ID0g YWRkcjsKKwkJCW1tLT5hcmdfZW5kID0gYWRkciArIGxlbjsKKwkJCXVwX3dyaXRlKCZtbS0+YXJn X3NlbSk7CisKKwkJCXJldHVybiAwOworCQl9CiAJCWRlZmF1bHQ6CiAJCQllcnJvciA9IC1FSU5W QUw7CiAJCQlicmVhazsK --------_4AD3661700000000C73D_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="setproctitle-seqlock.patch" Content-Disposition: attachment; filename="setproctitle-seqlock.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2ZzL3Byb2MvYmFzZS5jIGIvZnMvcHJvYy9iYXNlLmMKaW5kZXggODM3NDY5 YS4uNWFjNmVjZSAxMDA2NDQKLS0tIGEvZnMvcHJvYy9iYXNlLmMKKysrIGIvZnMvcHJvYy9iYXNl LmMKQEAgLTI1NSwzMiArMjU1LDQ3IEBAIHN0YXRpYyBpbnQgcHJvY19waWRfY21kbGluZShzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIGNoYXIgKiBidWZmZXIpCiAJaW50IHJlcyA9IDA7CiAJdW5z aWduZWQgaW50IGxlbjsKIAlzdHJ1Y3QgbW1fc3RydWN0ICptbSA9IGdldF90YXNrX21tKHRhc2sp OworCXVuc2lnbmVkIHNlcTsKKwogCWlmICghbW0pCiAJCWdvdG8gb3V0OworCisJLyogVGhlIHBy b2Nlc3Mgd2FzIG5vdCBjb25zdHJ1Y3RlZCB5ZXQ/ICovCiAJaWYgKCFtbS0+YXJnX2VuZCkKLQkJ Z290byBvdXRfbW07CS8qIFNoaCEgTm8gbG9va2luZyBiZWZvcmUgd2UncmUgZG9uZSAqLworCQln b3RvIG91dF9tbTsKIAotIAlsZW4gPSBtbS0+YXJnX2VuZCAtIG1tLT5hcmdfc3RhcnQ7Ci0gCi0J aWYgKGxlbiA+IFBBR0VfU0laRSkKLQkJbGVuID0gUEFHRV9TSVpFOwotIAotCXJlcyA9IGFjY2Vz c19wcm9jZXNzX3ZtKHRhc2ssIG1tLT5hcmdfc3RhcnQsIGJ1ZmZlciwgbGVuLCAwKTsKLQotCS8v IElmIHRoZSBudWwgYXQgdGhlIGVuZCBvZiBhcmdzIGhhcyBiZWVuIG92ZXJ3cml0dGVuLCB0aGVu Ci0JLy8gYXNzdW1lIGFwcGxpY2F0aW9uIGlzIHVzaW5nIHNldHByb2N0aXRsZSgzKS4KLQlpZiAo cmVzID4gMCAmJiBidWZmZXJbcmVzLTFdICE9ICdcMCcgJiYgbGVuIDwgUEFHRV9TSVpFKSB7Ci0J CWxlbiA9IHN0cm5sZW4oYnVmZmVyLCByZXMpOwotCQlpZiAobGVuIDwgcmVzKSB7Ci0JCSAgICBy ZXMgPSBsZW47Ci0JCX0gZWxzZSB7Ci0JCQlsZW4gPSBtbS0+ZW52X2VuZCAtIG1tLT5lbnZfc3Rh cnQ7Ci0JCQlpZiAobGVuID4gUEFHRV9TSVpFIC0gcmVzKQotCQkJCWxlbiA9IFBBR0VfU0laRSAt IHJlczsKLQkJCXJlcyArPSBhY2Nlc3NfcHJvY2Vzc192bSh0YXNrLCBtbS0+ZW52X3N0YXJ0LCBi dWZmZXIrcmVzLCBsZW4sIDApOworCWRvIHsKKwkJc2VxID0gcmVhZF9zZXFiZWdpbigmbW0tPmFy Z19sb2NrKTsKKworCQlsZW4gPSBtbS0+YXJnX2VuZCAtIG1tLT5hcmdfc3RhcnQ7CisJCWlmIChs ZW4gPiBQQUdFX1NJWkUpCisJCQlsZW4gPSBQQUdFX1NJWkU7CisKKwkJcmVzID0gYWNjZXNzX3By b2Nlc3Nfdm0odGFzaywgbW0tPmFyZ19zdGFydCwgYnVmZmVyLCBsZW4sIDApOworCisJCWlmICht bS0+YXJnX2VuZCAhPSBtbS0+ZW52X3N0YXJ0KQorCQkJLyogUFJfU0VUX1BST0NUSVRMRV9BUkVB IHVzZWQgKi8KIAkJCXJlcyA9IHN0cm5sZW4oYnVmZmVyLCByZXMpOworCQllbHNlIGlmIChyZXMg PiAwICYmIGJ1ZmZlcltyZXMtMV0gIT0gJ1wwJyAmJiBsZW4gPCBQQUdFX1NJWkUpIHsKKwkJCS8q CisJCQkgKiBJZiB0aGUgbnVsIGF0IHRoZSBlbmQgb2YgYXJncyBoYXMgYmVlbiBvdmVyd3JpdHRl biwKKwkJCSAqIHRoZW4gYXNzdW1lIGFwcGxpY2F0aW9uIGlzIHVzaW5nIHNlbmRtYWlsJ3MKKwkJ CSAqIFNQVF9SRVVTRUFSR1Ygc3R5bGUgYXJndiBvdmVycmlkZS4KKwkJCSAqLworCQkJbGVuID0g c3RybmxlbihidWZmZXIsIHJlcyk7CisJCQlpZiAobGVuIDwgcmVzKSB7CisJCQkJcmVzID0gbGVu OworCQkJfSBlbHNlIHsKKwkJCQlsZW4gPSBtbS0+ZW52X2VuZCAtIG1tLT5lbnZfc3RhcnQ7CisJ CQkJaWYgKGxlbiA+IFBBR0VfU0laRSAtIHJlcykKKwkJCQkJbGVuID0gUEFHRV9TSVpFIC0gcmVz OworCQkJCXJlcyArPSBhY2Nlc3NfcHJvY2Vzc192bSh0YXNrLCBtbS0+ZW52X3N0YXJ0LAorCQkJ CQkJCSBidWZmZXIrcmVzLCBsZW4sIDApOworCQkJCXJlcyA9IHN0cm5sZW4oYnVmZmVyLCByZXMp OworCQkJfQogCQl9Ci0JfQorCX0gd2hpbGUgKHJlYWRfc2VxcmV0cnkoJm1tLT5hcmdfbG9jaywg c2VxKSk7CisKIG91dF9tbToKIAltbXB1dChtbSk7CiBvdXQ6CmRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L21tX3R5cGVzLmggYi9pbmNsdWRlL2xpbnV4L21tX3R5cGVzLmgKaW5kZXggODRhNTI0 YS4uMjc5ZDYyMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCisrKyBiL2lu Y2x1ZGUvbGludXgvbW1fdHlwZXMuaApAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4 L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8bGlu dXgvcGFnZS1kZWJ1Zy1mbGFncy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcWxvY2suaD4KICNpbmNs dWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9tbXUuaD4KIApAQCAtMjM2LDYgKzIzNyw3 IEBAIHN0cnVjdCBtbV9zdHJ1Y3QgewogCXVuc2lnbmVkIGxvbmcgc3RhY2tfdm0sIHJlc2VydmVk X3ZtLCBkZWZfZmxhZ3MsIG5yX3B0ZXM7CiAJdW5zaWduZWQgbG9uZyBzdGFydF9jb2RlLCBlbmRf Y29kZSwgc3RhcnRfZGF0YSwgZW5kX2RhdGE7CiAJdW5zaWduZWQgbG9uZyBzdGFydF9icmssIGJy aywgc3RhcnRfc3RhY2s7CisJc2VxbG9ja190IGFyZ19sb2NrOwogCXVuc2lnbmVkIGxvbmcgYXJn X3N0YXJ0LCBhcmdfZW5kLCBlbnZfc3RhcnQsIGVudl9lbmQ7CiAKIAl1bnNpZ25lZCBsb25nIHNh dmVkX2F1eHZbQVRfVkVDVE9SX1NJWkVdOyAvKiBmb3IgL3Byb2MvUElEL2F1eHYgKi8KZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvcHJjdGwuaCBiL2luY2x1ZGUvbGludXgvcHJjdGwuaAppbmRl eCA5MzExNTA1Li5lODBhMTFiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3ByY3RsLmgKKysr IGIvaW5jbHVkZS9saW51eC9wcmN0bC5oCkBAIC05MCw0ICs5MCw4IEBACiAKICNkZWZpbmUgUFJf TUNFX0tJTEwJMzMKIAorCisvKiBTZXQgcHJvY2VzcyB0aXRsZSBtZW1vcnkgYXJlYSBmb3Igc2V0 cHJvY3RpdGxlKCkgKi8KKyNkZWZpbmUgUFJfU0VUX1BST0NUSVRMRV9BUkVBIDM0CisKICNlbmRp ZiAvKiBfTElOVVhfUFJDVExfSCAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL2ZvcmsuYyBiL2tlcm5l bC9mb3JrLmMKaW5kZXggMjY2YzZhZi4uMTMwODllMyAxMDA2NDQKLS0tIGEva2VybmVsL2Zvcmsu YworKysgYi9rZXJuZWwvZm9yay5jCkBAIC00NTksNiArNDU5LDcgQEAgc3RhdGljIHN0cnVjdCBt bV9zdHJ1Y3QgKiBtbV9pbml0KHN0cnVjdCBtbV9zdHJ1Y3QgKiBtbSwgc3RydWN0IHRhc2tfc3Ry dWN0ICpwKQogCW1tLT5jYWNoZWRfaG9sZV9zaXplID0gfjBVTDsKIAltbV9pbml0X2FpbyhtbSk7 CiAJbW1faW5pdF9vd25lcihtbSwgcCk7CisJc2VxbG9ja19pbml0KCZtbS0+YXJnX2xvY2spOwog CiAJaWYgKGxpa2VseSghbW1fYWxsb2NfcGdkKG1tKSkpIHsKIAkJbW0tPmRlZl9mbGFncyA9IDA7 CmRpZmYgLS1naXQgYS9rZXJuZWwvc3lzLmMgYi9rZXJuZWwvc3lzLmMKaW5kZXggMjU1NDc1ZC4u ODM3MjRkMiAxMDA2NDQKLS0tIGEva2VybmVsL3N5cy5jCisrKyBiL2tlcm5lbC9zeXMuYwpAQCAt MTU2Myw3ICsxNTYzLDI5IEBAIFNZU0NBTExfREVGSU5FNShwcmN0bCwgaW50LCBvcHRpb24sIHVu c2lnbmVkIGxvbmcsIGFyZzIsIHVuc2lnbmVkIGxvbmcsIGFyZzMsCiAJCQl9CiAJCQllcnJvciA9 IDA7CiAJCQlicmVhazsKKyAJCWNhc2UgUFJfU0VUX1BST0NUSVRMRV9BUkVBOiB7CisJCQlzdHJ1 Y3QgbW1fc3RydWN0ICptbSA9IGN1cnJlbnQtPm1tOworCQkJdW5zaWduZWQgbG9uZyBhZGRyID0g YXJnMjsKKwkJCXVuc2lnbmVkIGxvbmcgbGVuID0gYXJnMzsKKwkJCXVuc2lnbmVkIGxvbmcgZW5k ID0gYXJnMiArIGFyZzM7CiAKKwkJCWlmIChsZW4gPiBQQUdFX1NJWkUpCisJCQkJcmV0dXJuIC1F SU5WQUw7CisKKwkJCWlmIChhZGRyID49IGVuZCkKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKworCQkJ aWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIGFkZHIsIGxlbikpIHsKKwkJCQlyZXR1cm4gLUVG QVVMVDsKKwkJCX0KKworCQkJd3JpdGVfc2VxbG9jaygmbW0tPmFyZ19sb2NrKTsKKwkJCW1tLT5h cmdfc3RhcnQgPSBhZGRyOworCQkJbW0tPmFyZ19lbmQgPSBhZGRyICsgbGVuOworCQkJd3JpdGVf c2VxdW5sb2NrKCZtbS0+YXJnX2xvY2spOworCisJCQlyZXR1cm4gMDsKKwkJfQogCQlkZWZhdWx0 OgogCQkJZXJyb3IgPSAtRUlOVkFMOwogCQkJYnJlYWs7Cg== --------_4AD3661700000000C73D_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="readtitle.c" Content-Disposition: attachment; filename="readtitle.c" Content-Transfer-Encoding: base64 I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQojaW5jbHVkZSA8c3RyaW5n Lmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8c3lzL3RpbWUuaD4NCg0KI2RlZmlu ZSBMT09QICgxMDAwMDAwKQ0KDQppbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpDQp7DQoJ Y2hhciBwYXRoWzEyOF07DQoJY2hhciBidWZbMTAyNF07DQoJRklMRSogZmlsZTsNCglpbnQgaTsN CglzdHJ1Y3QgdGltZXZhbCBzdGFydCwgZW5kOw0KCWxvbmcgbG9uZyBlbGFwczsNCg0KCXNwcmlu dGYocGF0aCwgIi9wcm9jLyVzL2NtZGxpbmUiLCBhcmd2WzFdKTsNCg0KCWdldHRpbWVvZmRheSgm c3RhcnQsIE5VTEwpOw0KDQoJZmlsZSA9IGZvcGVuKHBhdGgsICJyIik7DQoJZm9yIChpPTA7IGk8 TE9PUDsgaSsrKSB7DQoJCWZyZWFkKGJ1ZiwgMTAyNCwgMSwgZmlsZSk7DQoJfQ0KDQoJZ2V0dGlt ZW9mZGF5KCZlbmQsIE5VTEwpOw0KCXByaW50ZigiJXNcbiIsIGJ1Zik7DQoNCgllbGFwcyA9IGVu ZC50dl9zZWMgKiAxMDAwICsgZW5kLnR2X3VzZWMgLzEwMDA7DQoJZWxhcHMgLT0gc3RhcnQudHZf c2VjICogMTAwMDsNCgllbGFwcyAtPSBzdGFydC50dl91c2VjIC8gMTAwMDsNCg0KCXByaW50Zigi dGltZSA9ICVsbGQgbXNcbiIsIGVsYXBzKTsNCg0KCXJldHVybiAwOw0KfQ0K --------_4AD3661700000000C73D_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="setproctitle.c" Content-Disposition: attachment; filename="setproctitle.c" Content-Transfer-Encoding: base64 ICNpbmNsdWRlIDxzdHJpbmcuaD4NCiAjaW5jbHVkZSA8c3RkbGliLmg+DQogI2luY2x1ZGUgPHVu aXN0ZC5oPg0KICNpbmNsdWRlIDxzdGRpby5oPg0KICNpbmNsdWRlIDxzeXMvcHJjdGwuaD4NCg0K ICNkZWZpbmUgRVJSKHN0cikgKHBlcnJvcihzdHIpLCBleGl0KDEpKQ0KDQogdm9pZCBzZXR0aXRs ZShjaGFyKiB0aXRsZSl7DQogICAgICAgICBpbnQgZXJyOw0KDQogICAgICAgICBlcnIgPSBwcmN0 bCgzNCwgdGl0bGUsIHN0cmxlbih0aXRsZSkrMSk7DQogICAgICAgICBpZiAoZXJyIDwgMCkNCiAg ICAgICAgICAgICAgICAgRVJSKCJwcmN0bCAiKTsNCiB9DQoNCiBpbnQgbWFpbih2b2lkKXsNCiAg ICAgICAgIGxvbmcgaTsNCiAgICAgICAgIGNoYXIgYnVmWzEwMjRdOw0KDQogICAgICAgICBmb3Ig KGkgPSAwOyBpIDwgMTAwMDAwMDAwMDBMTDsgaSsrKXsNCiAgICAgICAgICAgICAgICAgc3ByaW50 ZihidWYsICJsb29vb29vb29vb29vb29vb29vb29vb29vbmcgc3RyaW5nICVsZCIsaSk7DQogICAg ICAgICAgICAgICAgIHNldHRpdGxlKGJ1Zik7DQogICAgICAgICB9DQoJIHJldHVybiAwOw0KIH0N Cg== --------_4AD3661700000000C73D_MULTIPART_MIXED_-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/