From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Li Subject: PATCH 4/4] inspect: add some expression inspection Date: Fri, 2 Apr 2010 11:46:03 -0700 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=000e0cd6a85a3214e90483456468 Return-path: Received: from mail-gy0-f174.google.com ([209.85.160.174]:41661 "EHLO mail-gy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752766Ab0DBSqE (ORCPT ); Fri, 2 Apr 2010 14:46:04 -0400 Received: by gyg13 with SMTP id 13so1110795gyg.19 for ; Fri, 02 Apr 2010 11:46:04 -0700 (PDT) Sender: linux-sparse-owner@vger.kernel.org List-Id: linux-sparse@vger.kernel.org To: Linux-Sparse Cc: Kamil Dudka , Josh Triplett --000e0cd6a85a3214e90483456468 Content-Type: text/plain; charset=ISO-8859-1 More example extending the inspector. Chris --000e0cd6a85a3214e90483456468 Content-Type: application/octet-stream; name="0004-inspect-add-some-expression-inspection.patch" Content-Disposition: attachment; filename="0004-inspect-add-some-expression-inspection.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g7jelhrj0 RnJvbSA2YTA5ZDA0YzNlOWU5YTljMGQxNDA2ZmY2ZTAwYmFiMDAzMmMyMmEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGhlciA8c3BhcnNlQGNocmlzbGkub3JnPgpEYXRl OiBXZWQsIDMxIE1hciAyMDEwIDExOjAzOjI3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCA0LzRdIGlu c3BlY3Q6IGFkZCBzb21lIGV4cHJlc3Npb24gaW5zcGVjdGlvbgoKLS0tCiBhc3QtaW5zcGVjdC5j IHwgICA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KIGFzdC1pbnNwZWN0LmggfCAgICA0ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCA4MSBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FzdC1pbnNwZWN0LmMg Yi9hc3QtaW5zcGVjdC5jCmluZGV4IDcyZjNmZTAuLjI5MzMzNGUgMTAwNjQ0Ci0tLSBhL2FzdC1p bnNwZWN0LmMKKysrIGIvYXN0LWluc3BlY3QuYwpAQCAtMyw2ICszLDcgQEAKICNpbmNsdWRlICJw YXJzZS5oIgogI2luY2x1ZGUgInN5bWJvbC5oIgogI2luY2x1ZGUgImFzdC1pbnNwZWN0LmgiCisj aW5jbHVkZSAiZXhwcmVzc2lvbi5oIgogCiBzdGF0aWMgaW5saW5lIHZvaWQgaW5zcGVjdF9wdHJf bGlzdChBc3ROb2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICgqaW5zcGVjdCkoQXN0 Tm9kZSAqKSkKIHsKQEAgLTM5LDcgKzQwLDYgQEAgc3RhdGljIGNvbnN0IGNoYXIgKnN0YXRlbWVu dF90eXBlX25hbWUoZW51bSBzdGF0ZW1lbnRfdHlwZSB0eXBlKQogCXJldHVybiBzdGF0ZW1lbnRf dHlwZV9uYW1lW3R5cGVdID86ICJVTktOT1dOX1NUQVRFTUVOVF9UWVBFIjsKIH0KIAotCiB2b2lk IGluc3BlY3Rfc3RhdGVtZW50KEFzdE5vZGUgKm5vZGUpCiB7CiAJc3RydWN0IHN0YXRlbWVudCAq c3RtdCA9IG5vZGUtPnB0cjsKQEAgLTQ4LDkgKzQ4LDI0IEBAIHZvaWQgaW5zcGVjdF9zdGF0ZW1l bnQoQXN0Tm9kZSAqbm9kZSkKIAkJY2FzZSBTVE1UX0NPTVBPVU5EOgogCQkJYXN0X2FwcGVuZF9j aGlsZChub2RlLCAic3RtdHM6Iiwgc3RtdC0+c3RtdHMsIGluc3BlY3Rfc3RhdGVtZW50X2xpc3Qp OwogCQkJYnJlYWs7CisJCWNhc2UgU1RNVF9FWFBSRVNTSU9OOgorCQkJYXN0X2FwcGVuZF9jaGls ZChub2RlLCAiZXhwcmVzc2lvbjoiLCBzdG10LT5leHByZXNzaW9uLCBpbnNwZWN0X2V4cHJlc3Np b24pOworCQkJYnJlYWs7CiAJCWNhc2UgU1RNVF9JRjoKKwkJCWFzdF9hcHBlbmRfY2hpbGQobm9k ZSwgImNvbmRpdGlvbmFsOiIsIHN0bXQtPmlmX2NvbmRpdGlvbmFsLCBpbnNwZWN0X2V4cHJlc3Np b24pOwogCQkJYXN0X2FwcGVuZF9jaGlsZChub2RlLCAiaWZfdHJ1ZToiLCBzdG10LT5pZl90cnVl LCBpbnNwZWN0X3N0YXRlbWVudCk7CiAJCQlhc3RfYXBwZW5kX2NoaWxkKG5vZGUsICJpZl9mYWxz ZToiLCBzdG10LT5pZl9mYWxzZSwgaW5zcGVjdF9zdGF0ZW1lbnQpOworCQkJYnJlYWs7CisJCWNh c2UgU1RNVF9JVEVSQVRPUjoKKwkJCWFzdF9hcHBlbmRfY2hpbGQobm9kZSwgImJyZWFrOiIsIHN0 bXQtPml0ZXJhdG9yX2JyZWFrLCBpbnNwZWN0X3N5bWJvbCk7CisJCQlhc3RfYXBwZW5kX2NoaWxk KG5vZGUsICJjb250aW51ZToiLCBzdG10LT5pdGVyYXRvcl9jb250aW51ZSwgaW5zcGVjdF9zeW1i b2wpOworCQkJYXN0X2FwcGVuZF9jaGlsZChub2RlLCAicHJlX3N0YXRlbWVudDoiLCBzdG10LT5p dGVyYXRvcl9wcmVfc3RhdGVtZW50LAorCQkJCQkgaW5zcGVjdF9zdGF0ZW1lbnQpOworCQkJYXN0 X2FwcGVuZF9jaGlsZChub2RlLCAic3RhdGVtZW50OiIsIHN0bXQtPml0ZXJhdG9yX3N0YXRlbWVu dCwKKwkJCQkJIGluc3BlY3Rfc3RhdGVtZW50KTsKKwkJCWFzdF9hcHBlbmRfY2hpbGQobm9kZSwg InBvc3Rfc3RhdGVtZW50OiIsIHN0bXQtPml0ZXJhdG9yX3Bvc3Rfc3RhdGVtZW50LAorCQkJCQkg aW5zcGVjdF9zdGF0ZW1lbnQpOworCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQlicmVhazsKIAl9 CkBAIC0xMTIsMyArMTI3LDY0IEBAIHZvaWQgaW5zcGVjdF9zeW1ib2xfbGlzdChBc3ROb2RlICpu b2RlKQogCWluc3BlY3RfcHRyX2xpc3Qobm9kZSwgInN5bWJvbF9saXN0IiwgaW5zcGVjdF9zeW1i b2wpOwogfQogCisKK3N0YXRpYyBjb25zdCBjaGFyICpleHByZXNzaW9uX3R5cGVfbmFtZShlbnVt IGV4cHJlc3Npb25fdHlwZSB0eXBlKQoreworCXN0YXRpYyBjb25zdCBjaGFyICpleHByZXNzaW9u X3R5cGVfbmFtZVtdID0geworCQlbRVhQUl9WQUxVRV0gPSAiRVhQUl9WQUxVRSIsCisJCVtFWFBS X1NUUklOR10gPSAiRVhQUl9TVFJJTkciLAorCQlbRVhQUl9TWU1CT0xdID0gIkVYUFJfU1lNQk9M IiwKKwkJW0VYUFJfVFlQRV0gPSAiRVhQUl9UWVBFIiwKKwkJW0VYUFJfQklOT1BdID0gIkVYUFJf QklOT1AiLAorCQlbRVhQUl9BU1NJR05NRU5UXSA9ICJFWFBSX0FTU0lHTk1FTlQiLAorCQlbRVhQ Ul9MT0dJQ0FMXSA9ICJFWFBSX0xPR0lDQUwiLAorCQlbRVhQUl9ERVJFRl0gPSAiRVhQUl9ERVJF RiIsCisJCVtFWFBSX1BSRU9QXSA9ICJFWFBSX1BSRU9QIiwKKwkJW0VYUFJfUE9TVE9QXSA9ICJF WFBSX1BPU1RPUCIsCisJCVtFWFBSX0NBU1RdID0gIkVYUFJfQ0FTVCIsCisJCVtFWFBSX0ZPUkNF X0NBU1RdID0gIkVYUFJfRk9SQ0VfQ0FTVCIsCisJCVtFWFBSX0lNUExJRURfQ0FTVF0gPSAiRVhQ Ul9JTVBMSUVEX0NBU1QiLAorCQlbRVhQUl9TSVpFT0ZdID0gIkVYUFJfU0laRU9GIiwKKwkJW0VY UFJfQUxJR05PRl0gPSAiRVhQUl9BTElHTk9GIiwKKwkJW0VYUFJfUFRSU0laRU9GXSA9ICJFWFBS X1BUUlNJWkVPRiIsCisJCVtFWFBSX0NPTkRJVElPTkFMXSA9ICJFWFBSX0NPTkRJVElPTkFMIiwK KwkJW0VYUFJfU0VMRUNUXSA9ICJFWFBSX1NFTEVDVCIsCisJCVtFWFBSX1NUQVRFTUVOVF0gPSAi RVhQUl9TVEFURU1FTlQiLAorCQlbRVhQUl9DQUxMXSA9ICJFWFBSX0NBTEwiLAorCQlbRVhQUl9D T01NQV0gPSAiRVhQUl9DT01NQSIsCisJCVtFWFBSX0NPTVBBUkVdID0gIkVYUFJfQ09NUEFSRSIs CisJCVtFWFBSX0xBQkVMXSA9ICJFWFBSX0xBQkVMIiwKKwkJW0VYUFJfSU5JVElBTElaRVJdID0g IkVYUFJfSU5JVElBTElaRVIiLAorCQlbRVhQUl9JREVOVElGSUVSXSA9ICJFWFBSX0lERU5USUZJ RVIiLAorCQlbRVhQUl9JTkRFWF0gPSAiRVhQUl9JTkRFWCIsCisJCVtFWFBSX1BPU10gPSAiRVhQ Ul9QT1MiLAorCQlbRVhQUl9GVkFMVUVdID0gIkVYUFJfRlZBTFVFIiwKKwkJW0VYUFJfU0xJQ0Vd ID0gIkVYUFJfU0xJQ0UiLAorCQlbRVhQUl9PRkZTRVRPRl0gPSAiRVhQUl9PRkZTRVRPRiIsCisJ fTsKKwlyZXR1cm4gZXhwcmVzc2lvbl90eXBlX25hbWVbdHlwZV0gPzogIlVOS05PV05fRVhQUkVT U0lPTl9UWVBFIjsKK30KKwordm9pZCBpbnNwZWN0X2V4cHJlc3Npb24oQXN0Tm9kZSAqbm9kZSkK K3sKKwlzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwciA9IG5vZGUtPnB0cjsKKwlub2RlLT50ZXh0ID0g Z19zdHJkdXBfcHJpbnRmKCIlcyAlcyIsIG5vZGUtPnRleHQsIGV4cHJlc3Npb25fdHlwZV9uYW1l KGV4cHItPnR5cGUpKTsKKwlzd2l0Y2ggKGV4cHItPnR5cGUpIHsKKwkJY2FzZSBFWFBSX1NUQVRF TUVOVDoKKwkJCWFzdF9hcHBlbmRfY2hpbGQobm9kZSwgInN0YXRlbWVudDoiLCBleHByLT5zdGF0 ZW1lbnQsIGluc3BlY3Rfc3RhdGVtZW50KTsKKwkJCWJyZWFrOworCQljYXNlIEVYUFJfQklOT1A6 CisJCWNhc2UgRVhQUl9DT01NQToKKwkJY2FzZSBFWFBSX0NPTVBBUkU6CisJCWNhc2UgRVhQUl9M T0dJQ0FMOgorCQljYXNlIEVYUFJfQVNTSUdOTUVOVDoKKwkJCWFzdF9hcHBlbmRfY2hpbGQobm9k ZSwgImxlZnQ6IiwgZXhwci0+bGVmdCwgaW5zcGVjdF9leHByZXNzaW9uKTsKKwkJCWFzdF9hcHBl bmRfY2hpbGQobm9kZSwgInJpZ2h0OiIsIGV4cHItPnJpZ2h0LCBpbnNwZWN0X2V4cHJlc3Npb24p OworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwl9Cit9CisKKworCmRpZmYgLS1n aXQgYS9hc3QtaW5zcGVjdC5oIGIvYXN0LWluc3BlY3QuaAppbmRleCBlMDFkODQ3Li42ZTE1Yzkx IDEwMDY0NAotLS0gYS9hc3QtaW5zcGVjdC5oCisrKyBiL2FzdC1pbnNwZWN0LmgKQEAgLTEwLDQg KzEwLDggQEAgdm9pZCBpbnNwZWN0X3N5bWJvbF9saXN0KEFzdE5vZGUgKm5vZGUpOwogdm9pZCBp bnNwZWN0X3N0YXRlbWVudChBc3ROb2RlICpub2RlKTsKIHZvaWQgaW5zcGVjdF9zdGF0ZW1lbnRf bGlzdChBc3ROb2RlICpub2RlKTsKIAordm9pZCBpbnNwZWN0X2V4cHJlc3Npb24oQXN0Tm9kZSAq bm9kZSk7Cit2b2lkIGluc3BlY3RfZXhwcmVzc2lvbl9saXN0KEFzdE5vZGUgKm5vZGUpOworCisK ICNlbmRpZgotLSAKMS42LjYuMQoK --000e0cd6a85a3214e90483456468--