mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
net: convert inet_peer.refcnt from atomic_t to refcount_t
refcount_t type and corresponding API should be used instead of atomic_t when the variable is used as a reference counter. This allows to avoid accidental refcounter overflows that might lead to use-after-free situations. This conversion requires overall +1 on the whole refcounting scheme. Signed-off-by: Elena Reshetova <elena.reshetova@intel.com> Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com> Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: David Windsor <dwindsor@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
574a602087
commit
1cc9a98b59
2 changed files with 11 additions and 11 deletions
|
@ -46,7 +46,7 @@ struct inet_peer {
|
|||
struct rcu_head gc_rcu;
|
||||
};
|
||||
/*
|
||||
* Once inet_peer is queued for deletion (refcnt == -1), following field
|
||||
* Once inet_peer is queued for deletion (refcnt == 0), following field
|
||||
* is not available: rid
|
||||
* We can share memory with rcu_head to help keep inet_peer small.
|
||||
*/
|
||||
|
@ -60,7 +60,7 @@ struct inet_peer {
|
|||
|
||||
/* following fields might be frequently dirtied */
|
||||
__u32 dtime; /* the time of last use of not referenced entries */
|
||||
atomic_t refcnt;
|
||||
refcount_t refcnt;
|
||||
};
|
||||
|
||||
struct inet_peer_base {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue