From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adam Nielsen Subject: Re: [PATCH v4] Add refcounts to LED target Date: Fri, 09 Apr 2010 09:06:00 +1000 Message-ID: <4BBE6158.8040702@shikadi.net> References: <4A18A70F.50808@shikadi.net> <4A26418C.5090707@trash.net> <4A265891.4050201@shikadi.net> <4AF2E8A5.7020409@trash.net> <4AF34C03.7020907@shikadi.net> <4AF43916.5010408@trash.net> <4B11D1B5.2060306@shikadi.net> <4B125C18.7060802@shikadi.net> <4B14EA81.5030603@trash.net> <4B1B82D5.2070607@shikadi.net> <4B1BB086.3030700@trash.net> <4BAB6CB2.3050904@trash.net> <4BAB6E70.8090605@trash.net> <4BAD841A.9060103@shikadi.net> <4BADEE6A.5000103@shikadi.net> <4BAEB013.6060001@shikadi.net> <4BBCAF97.6040806@trash.net> <4BBD478F.4050208@shikadi.net> <4BBDBF09.6070403@trash.net> <4BBDD2D4.2090205@trash.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000902040900020708020404" Cc: Jan Engelhardt , Netfilter Developer Mailing List To: Patrick McHardy Return-path: Received: from vitalin.sorra.shikadi.net ([64.71.152.201]:49656 "EHLO vitalin.sorra.shikadi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933772Ab0DHXGH (ORCPT ); Thu, 8 Apr 2010 19:06:07 -0400 In-Reply-To: <4BBDD2D4.2090205@trash.net> Sender: netfilter-devel-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------000902040900020708020404 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Add reference counting to the netfilter LED target, to fix errors when multiple rules point to the same target ("LED trigger already exists"). Signed-off-by: Adam Nielsen -- Hopefully this is all you need. Things like kstrdup() and the mutexes are a result of needing to remember LED trigger names, which in turn is due to the introduction of reference counting, so the description above should cover all changes. I have attached the patch as my mail client likes to reformat inline patches. Cheers, Adam. --------------000902040900020708020404 Content-Type: text/plain; name="netfilter-leds-add_refcount_v4.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="netfilter-leds-add_refcount_v4.patch" ZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIveHRfTEVELmMgYi9uZXQvbmV0ZmlsdGVyL3h0 X0xFRC5jCmluZGV4IGVmY2Y1NmQuLmJkMTAyYzcgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0 ZXIveHRfTEVELmMKKysrIGIvbmV0L25ldGZpbHRlci94dF9MRUQuYwpAQCAtMzEsMTIgKzMx LDE4IEBAIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIE1PRFVMRV9BVVRIT1IoIkFkYW0gTmll bHNlbiA8YS5uaWVsc2VuQHNoaWthZGkubmV0PiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJY dGFibGVzOiB0cmlnZ2VyIExFRCBkZXZpY2VzIG9uIHBhY2tldCBtYXRjaCIpOwogCitzdGF0 aWMgTElTVF9IRUFEKHh0X2xlZF90cmlnZ2Vycyk7CitzdGF0aWMgREVGSU5FX01VVEVYKHh0 X2xlZF9tdXRleCk7CisKIC8qCiAgKiBUaGlzIGlzIGRlY2xhcmVkIGluIGhlcmUgKHRoZSBr ZXJuZWwgbW9kdWxlKSBvbmx5LCB0byBhdm9pZCBoYXZpbmcgdGhlc2UKICAqIGRlcGVuZGVu Y2llcyBpbiB1c2Vyc3BhY2UgY29kZS4gIFRoaXMgaXMgd2hhdCB4dF9sZWRfaW5mby5pbnRl cm5hbF9kYXRhCiAgKiBwb2ludHMgdG8uCiAgKi8KIHN0cnVjdCB4dF9sZWRfaW5mb19pbnRl cm5hbCB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCWludCByZWZjbnQ7CisJY2hhciAq dHJpZ2dlcl9pZDsKIAlzdHJ1Y3QgbGVkX3RyaWdnZXIgbmV0ZmlsdGVyX2xlZF90cmlnZ2Vy OwogCXN0cnVjdCB0aW1lcl9saXN0IHRpbWVyOwogfTsKQEAgLTUzLDcgKzU5LDcgQEAgbGVk X3RnKHN0cnVjdCBza19idWZmICpza2IsIGNvbnN0IHN0cnVjdCB4dF90YXJnZXRfcGFyYW0g KnBhcikKIAkgKi8KIAlpZiAoKGxlZGluZm8tPmRlbGF5ID4gMCkgJiYgbGVkaW5mby0+YWx3 YXlzX2JsaW5rICYmCiAJICAgIHRpbWVyX3BlbmRpbmcoJmxlZGludGVybmFsLT50aW1lcikp Ci0JCWxlZF90cmlnZ2VyX2V2ZW50KCZsZWRpbnRlcm5hbC0+bmV0ZmlsdGVyX2xlZF90cmln Z2VyLExFRF9PRkYpOworCQlsZWRfdHJpZ2dlcl9ldmVudCgmbGVkaW50ZXJuYWwtPm5ldGZp bHRlcl9sZWRfdHJpZ2dlciwgTEVEX09GRik7CiAKIAlsZWRfdHJpZ2dlcl9ldmVudCgmbGVk aW50ZXJuYWwtPm5ldGZpbHRlcl9sZWRfdHJpZ2dlciwgTEVEX0ZVTEwpOwogCkBAIC03NCwx MiArODAsMjMgQEAgbGVkX3RnKHN0cnVjdCBza19idWZmICpza2IsIGNvbnN0IHN0cnVjdCB4 dF90YXJnZXRfcGFyYW0gKnBhcikKIAogc3RhdGljIHZvaWQgbGVkX3RpbWVvdXRfY2FsbGJh Y2sodW5zaWduZWQgbG9uZyBkYXRhKQogewotCXN0cnVjdCB4dF9sZWRfaW5mbyAqbGVkaW5m byA9IChzdHJ1Y3QgeHRfbGVkX2luZm8gKilkYXRhOwotCXN0cnVjdCB4dF9sZWRfaW5mb19p bnRlcm5hbCAqbGVkaW50ZXJuYWwgPSBsZWRpbmZvLT5pbnRlcm5hbF9kYXRhOworCXN0cnVj dCB4dF9sZWRfaW5mb19pbnRlcm5hbCAqbGVkaW50ZXJuYWwgPSAoc3RydWN0IHh0X2xlZF9p bmZvX2ludGVybmFsICopZGF0YTsKIAogCWxlZF90cmlnZ2VyX2V2ZW50KCZsZWRpbnRlcm5h bC0+bmV0ZmlsdGVyX2xlZF90cmlnZ2VyLCBMRURfT0ZGKTsKIH0KIAorc3RhdGljIHN0cnVj dCB4dF9sZWRfaW5mb19pbnRlcm5hbCAqbGVkX3RyaWdnZXJfbG9va3VwKGNvbnN0IGNoYXIg Km5hbWUpCit7CisJc3RydWN0IHh0X2xlZF9pbmZvX2ludGVybmFsICpsZWRpbnRlcm5hbDsK KworCWxpc3RfZm9yX2VhY2hfZW50cnkobGVkaW50ZXJuYWwsICZ4dF9sZWRfdHJpZ2dlcnMs IGxpc3QpIHsKKwkJaWYgKCFzdHJjbXAobmFtZSwgbGVkaW50ZXJuYWwtPm5ldGZpbHRlcl9s ZWRfdHJpZ2dlci5uYW1lKSkgeworCQkJcmV0dXJuIGxlZGludGVybmFsOworCQl9CisJfQor CXJldHVybiBOVUxMOworfQorCiBzdGF0aWMgaW50IGxlZF90Z19jaGVjayhjb25zdCBzdHJ1 Y3QgeHRfdGdjaGtfcGFyYW0gKnBhcikKIHsKIAlzdHJ1Y3QgeHRfbGVkX2luZm8gKmxlZGlu Zm8gPSBwYXItPnRhcmdpbmZvOwpAQCAtOTEsMTEgKzEwOCwyNSBAQCBzdGF0aWMgaW50IGxl ZF90Z19jaGVjayhjb25zdCBzdHJ1Y3QgeHRfdGdjaGtfcGFyYW0gKnBhcikKIAkJcmV0dXJu IC1FSU5WQUw7CiAJfQogCisJbXV0ZXhfbG9jaygmeHRfbGVkX211dGV4KTsKKworCWxlZGlu dGVybmFsID0gbGVkX3RyaWdnZXJfbG9va3VwKGxlZGluZm8tPmlkKTsKKwlpZiAobGVkaW50 ZXJuYWwpIHsKKwkJbGVkaW50ZXJuYWwtPnJlZmNudCsrOworCQlnb3RvIG91dDsKKwl9CisK KwllcnIgPSAtRU5PTUVNOwogCWxlZGludGVybmFsID0ga3phbGxvYyhzaXplb2Yoc3RydWN0 IHh0X2xlZF9pbmZvX2ludGVybmFsKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFsZWRpbnRlcm5h bCkKLQkJcmV0dXJuIC1FTk9NRU07CisJCWdvdG8gZXhpdF9tdXRleF9vbmx5OworCisJbGVk aW50ZXJuYWwtPnRyaWdnZXJfaWQgPSBrc3RyZHVwKGxlZGluZm8tPmlkLCBHRlBfS0VSTkVM KTsKKwlpZiAoIWxlZGludGVybmFsLT50cmlnZ2VyX2lkKQorCQlnb3RvIGV4aXRfaW50ZXJu YWxfYWxsb2M7CiAKLQlsZWRpbnRlcm5hbC0+bmV0ZmlsdGVyX2xlZF90cmlnZ2VyLm5hbWUg PSBsZWRpbmZvLT5pZDsKKwlsZWRpbnRlcm5hbC0+cmVmY250ID0gMTsKKwlsZWRpbnRlcm5h bC0+bmV0ZmlsdGVyX2xlZF90cmlnZ2VyLm5hbWUgPSBsZWRpbnRlcm5hbC0+dHJpZ2dlcl9p ZDsKIAogCWVyciA9IGxlZF90cmlnZ2VyX3JlZ2lzdGVyKCZsZWRpbnRlcm5hbC0+bmV0Zmls dGVyX2xlZF90cmlnZ2VyKTsKIAlpZiAoZXJyKSB7CkBAIC0xMDgsMTMgKzEzOSwyNiBAQCBz dGF0aWMgaW50IGxlZF90Z19jaGVjayhjb25zdCBzdHJ1Y3QgeHRfdGdjaGtfcGFyYW0gKnBh cikKIAkvKiBTZWUgaWYgd2UgbmVlZCB0byBzZXQgdXAgYSB0aW1lciAqLwogCWlmIChsZWRp bmZvLT5kZWxheSA+IDApCiAJCXNldHVwX3RpbWVyKCZsZWRpbnRlcm5hbC0+dGltZXIsIGxl ZF90aW1lb3V0X2NhbGxiYWNrLAotCQkJICAgICh1bnNpZ25lZCBsb25nKWxlZGluZm8pOwor CQkJICAgICh1bnNpZ25lZCBsb25nKWxlZGludGVybmFsKTsKKworCWxpc3RfYWRkX3RhaWwo JmxlZGludGVybmFsLT5saXN0LCAmeHRfbGVkX3RyaWdnZXJzKTsKKworb3V0OgorCW11dGV4 X3VubG9jaygmeHRfbGVkX211dGV4KTsKIAogCWxlZGluZm8tPmludGVybmFsX2RhdGEgPSBs ZWRpbnRlcm5hbDsKKwogCXJldHVybiAwOwogCiBleGl0X2FsbG9jOgorCWtmcmVlKGxlZGlu dGVybmFsLT50cmlnZ2VyX2lkKTsKKworZXhpdF9pbnRlcm5hbF9hbGxvYzoKIAlrZnJlZShs ZWRpbnRlcm5hbCk7CisKK2V4aXRfbXV0ZXhfb25seToKKwltdXRleF91bmxvY2soJnh0X2xl ZF9tdXRleCk7CisKIAlyZXR1cm4gZXJyOwogfQogCkBAIC0xMjMsMTAgKzE2NywyMyBAQCBz dGF0aWMgdm9pZCBsZWRfdGdfZGVzdHJveShjb25zdCBzdHJ1Y3QgeHRfdGdkdG9yX3BhcmFt ICpwYXIpCiAJY29uc3Qgc3RydWN0IHh0X2xlZF9pbmZvICpsZWRpbmZvID0gcGFyLT50YXJn aW5mbzsKIAlzdHJ1Y3QgeHRfbGVkX2luZm9faW50ZXJuYWwgKmxlZGludGVybmFsID0gbGVk aW5mby0+aW50ZXJuYWxfZGF0YTsKIAorCW11dGV4X2xvY2soJnh0X2xlZF9tdXRleCk7CisK KwlpZiAoLS1sZWRpbnRlcm5hbC0+cmVmY250KSB7CisJCW11dGV4X3VubG9jaygmeHRfbGVk X211dGV4KTsKKwkJcmV0dXJuOworCX0KKworCWxpc3RfZGVsKCZsZWRpbnRlcm5hbC0+bGlz dCk7CisKIAlpZiAobGVkaW5mby0+ZGVsYXkgPiAwKQogCQlkZWxfdGltZXJfc3luYygmbGVk aW50ZXJuYWwtPnRpbWVyKTsKIAogCWxlZF90cmlnZ2VyX3VucmVnaXN0ZXIoJmxlZGludGVy bmFsLT5uZXRmaWx0ZXJfbGVkX3RyaWdnZXIpOworCisJbXV0ZXhfdW5sb2NrKCZ4dF9sZWRf bXV0ZXgpOworCisJa2ZyZWUobGVkaW50ZXJuYWwtPnRyaWdnZXJfaWQpOwogCWtmcmVlKGxl ZGludGVybmFsKTsKIH0KIAo= --------------000902040900020708020404--