diff options
-rw-r--r-- | include/net/calipso.h | 4 | ||||
-rw-r--r-- | net/ipv6/calipso.c | 12 |
2 files changed, 8 insertions, 8 deletions
diff --git a/include/net/calipso.h b/include/net/calipso.h index b1b30cd36601..5f95b11a04bf 100644 --- a/include/net/calipso.h +++ b/include/net/calipso.h | |||
@@ -38,7 +38,7 @@ | |||
38 | #include <linux/skbuff.h> | 38 | #include <linux/skbuff.h> |
39 | #include <net/netlabel.h> | 39 | #include <net/netlabel.h> |
40 | #include <net/request_sock.h> | 40 | #include <net/request_sock.h> |
41 | #include <linux/atomic.h> | 41 | #include <linux/refcount.h> |
42 | #include <asm/unaligned.h> | 42 | #include <asm/unaligned.h> |
43 | 43 | ||
44 | /* known doi values */ | 44 | /* known doi values */ |
@@ -57,7 +57,7 @@ struct calipso_doi { | |||
57 | u32 doi; | 57 | u32 doi; |
58 | u32 type; | 58 | u32 type; |
59 | 59 | ||
60 | atomic_t refcount; | 60 | refcount_t refcount; |
61 | struct list_head list; | 61 | struct list_head list; |
62 | struct rcu_head rcu; | 62 | struct rcu_head rcu; |
63 | }; | 63 | }; |
diff --git a/net/ipv6/calipso.c b/net/ipv6/calipso.c index 44067521e7cd..1323b9679cf7 100644 --- a/net/ipv6/calipso.c +++ b/net/ipv6/calipso.c | |||
@@ -338,7 +338,7 @@ static struct calipso_doi *calipso_doi_search(u32 doi) | |||
338 | struct calipso_doi *iter; | 338 | struct calipso_doi *iter; |
339 | 339 | ||
340 | list_for_each_entry_rcu(iter, &calipso_doi_list, list) | 340 | list_for_each_entry_rcu(iter, &calipso_doi_list, list) |
341 | if (iter->doi == doi && atomic_read(&iter->refcount)) | 341 | if (iter->doi == doi && refcount_read(&iter->refcount)) |
342 | return iter; | 342 | return iter; |
343 | return NULL; | 343 | return NULL; |
344 | } | 344 | } |
@@ -370,7 +370,7 @@ static int calipso_doi_add(struct calipso_doi *doi_def, | |||
370 | if (doi_def->doi == CALIPSO_DOI_UNKNOWN) | 370 | if (doi_def->doi == CALIPSO_DOI_UNKNOWN) |
371 | goto doi_add_return; | 371 | goto doi_add_return; |
372 | 372 | ||
373 | atomic_set(&doi_def->refcount, 1); | 373 | refcount_set(&doi_def->refcount, 1); |
374 | 374 | ||
375 | spin_lock(&calipso_doi_list_lock); | 375 | spin_lock(&calipso_doi_list_lock); |
376 | if (calipso_doi_search(doi_def->doi)) { | 376 | if (calipso_doi_search(doi_def->doi)) { |
@@ -458,7 +458,7 @@ static int calipso_doi_remove(u32 doi, struct netlbl_audit *audit_info) | |||
458 | ret_val = -ENOENT; | 458 | ret_val = -ENOENT; |
459 | goto doi_remove_return; | 459 | goto doi_remove_return; |
460 | } | 460 | } |
461 | if (!atomic_dec_and_test(&doi_def->refcount)) { | 461 | if (!refcount_dec_and_test(&doi_def->refcount)) { |
462 | spin_unlock(&calipso_doi_list_lock); | 462 | spin_unlock(&calipso_doi_list_lock); |
463 | ret_val = -EBUSY; | 463 | ret_val = -EBUSY; |
464 | goto doi_remove_return; | 464 | goto doi_remove_return; |
@@ -499,7 +499,7 @@ static struct calipso_doi *calipso_doi_getdef(u32 doi) | |||
499 | doi_def = calipso_doi_search(doi); | 499 | doi_def = calipso_doi_search(doi); |
500 | if (!doi_def) | 500 | if (!doi_def) |
501 | goto doi_getdef_return; | 501 | goto doi_getdef_return; |
502 | if (!atomic_inc_not_zero(&doi_def->refcount)) | 502 | if (!refcount_inc_not_zero(&doi_def->refcount)) |
503 | doi_def = NULL; | 503 | doi_def = NULL; |
504 | 504 | ||
505 | doi_getdef_return: | 505 | doi_getdef_return: |
@@ -520,7 +520,7 @@ static void calipso_doi_putdef(struct calipso_doi *doi_def) | |||
520 | if (!doi_def) | 520 | if (!doi_def) |
521 | return; | 521 | return; |
522 | 522 | ||
523 | if (!atomic_dec_and_test(&doi_def->refcount)) | 523 | if (!refcount_dec_and_test(&doi_def->refcount)) |
524 | return; | 524 | return; |
525 | spin_lock(&calipso_doi_list_lock); | 525 | spin_lock(&calipso_doi_list_lock); |
526 | list_del_rcu(&doi_def->list); | 526 | list_del_rcu(&doi_def->list); |
@@ -553,7 +553,7 @@ static int calipso_doi_walk(u32 *skip_cnt, | |||
553 | 553 | ||
554 | rcu_read_lock(); | 554 | rcu_read_lock(); |
555 | list_for_each_entry_rcu(iter_doi, &calipso_doi_list, list) | 555 | list_for_each_entry_rcu(iter_doi, &calipso_doi_list, list) |
556 | if (atomic_read(&iter_doi->refcount) > 0) { | 556 | if (refcount_read(&iter_doi->refcount) > 0) { |
557 | if (doi_cnt++ < *skip_cnt) | 557 | if (doi_cnt++ < *skip_cnt) |
558 | continue; | 558 | continue; |
559 | ret_val = callback(iter_doi, cb_arg); | 559 | ret_val = callback(iter_doi, cb_arg); |