mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 17:41:50 +00:00
[NET]: Change type of owner in sock_lock_t to int, rename
The type of owner in sock_lock_t is currently (struct sock_iocb *), presumably for historical reasons. It is never used as this type, only tested as NULL or set to (void *)1. For clarity, this changes it to type int, and renames to owned, to avoid any possible type casting errors. Signed-off-by: John Heffner <jheffner@psc.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
02b3d34631
commit
d2e9117c7a
2 changed files with 6 additions and 7 deletions
|
@ -76,10 +76,9 @@
|
||||||
* between user contexts and software interrupt processing, whereas the
|
* between user contexts and software interrupt processing, whereas the
|
||||||
* mini-semaphore synchronizes multiple users amongst themselves.
|
* mini-semaphore synchronizes multiple users amongst themselves.
|
||||||
*/
|
*/
|
||||||
struct sock_iocb;
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
spinlock_t slock;
|
spinlock_t slock;
|
||||||
struct sock_iocb *owner;
|
int owned;
|
||||||
wait_queue_head_t wq;
|
wait_queue_head_t wq;
|
||||||
/*
|
/*
|
||||||
* We express the mutex-alike socket_lock semantics
|
* We express the mutex-alike socket_lock semantics
|
||||||
|
@ -737,7 +736,7 @@ static inline int sk_stream_wmem_schedule(struct sock *sk, int size)
|
||||||
* Since ~2.3.5 it is also exclusive sleep lock serializing
|
* Since ~2.3.5 it is also exclusive sleep lock serializing
|
||||||
* accesses from user process context.
|
* accesses from user process context.
|
||||||
*/
|
*/
|
||||||
#define sock_owned_by_user(sk) ((sk)->sk_lock.owner)
|
#define sock_owned_by_user(sk) ((sk)->sk_lock.owned)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Macro so as to not evaluate some arguments when
|
* Macro so as to not evaluate some arguments when
|
||||||
|
@ -748,7 +747,7 @@ static inline int sk_stream_wmem_schedule(struct sock *sk, int size)
|
||||||
*/
|
*/
|
||||||
#define sock_lock_init_class_and_name(sk, sname, skey, name, key) \
|
#define sock_lock_init_class_and_name(sk, sname, skey, name, key) \
|
||||||
do { \
|
do { \
|
||||||
sk->sk_lock.owner = NULL; \
|
sk->sk_lock.owned = 0; \
|
||||||
init_waitqueue_head(&sk->sk_lock.wq); \
|
init_waitqueue_head(&sk->sk_lock.wq); \
|
||||||
spin_lock_init(&(sk)->sk_lock.slock); \
|
spin_lock_init(&(sk)->sk_lock.slock); \
|
||||||
debug_check_no_locks_freed((void *)&(sk)->sk_lock, \
|
debug_check_no_locks_freed((void *)&(sk)->sk_lock, \
|
||||||
|
|
|
@ -1585,9 +1585,9 @@ void fastcall lock_sock_nested(struct sock *sk, int subclass)
|
||||||
{
|
{
|
||||||
might_sleep();
|
might_sleep();
|
||||||
spin_lock_bh(&sk->sk_lock.slock);
|
spin_lock_bh(&sk->sk_lock.slock);
|
||||||
if (sk->sk_lock.owner)
|
if (sk->sk_lock.owned)
|
||||||
__lock_sock(sk);
|
__lock_sock(sk);
|
||||||
sk->sk_lock.owner = (void *)1;
|
sk->sk_lock.owned = 1;
|
||||||
spin_unlock(&sk->sk_lock.slock);
|
spin_unlock(&sk->sk_lock.slock);
|
||||||
/*
|
/*
|
||||||
* The sk_lock has mutex_lock() semantics here:
|
* The sk_lock has mutex_lock() semantics here:
|
||||||
|
@ -1608,7 +1608,7 @@ void fastcall release_sock(struct sock *sk)
|
||||||
spin_lock_bh(&sk->sk_lock.slock);
|
spin_lock_bh(&sk->sk_lock.slock);
|
||||||
if (sk->sk_backlog.tail)
|
if (sk->sk_backlog.tail)
|
||||||
__release_sock(sk);
|
__release_sock(sk);
|
||||||
sk->sk_lock.owner = NULL;
|
sk->sk_lock.owned = 0;
|
||||||
if (waitqueue_active(&sk->sk_lock.wq))
|
if (waitqueue_active(&sk->sk_lock.wq))
|
||||||
wake_up(&sk->sk_lock.wq);
|
wake_up(&sk->sk_lock.wq);
|
||||||
spin_unlock_bh(&sk->sk_lock.slock);
|
spin_unlock_bh(&sk->sk_lock.slock);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue