From 0217f8e18eedb713a3a98a97d542f6ca02aaa03b Mon Sep 17 00:00:00 2001 From: John Heffner Date: Wed, 12 Sep 2007 10:44:19 +0200 Subject: [PATCH] --- yaml --- r: 66375 b: refs/heads/master c: d2e9117c7aa9544d910634e17e3519fd67155229 h: refs/heads/master i: 66373: 1a26910df4c8dc32dbc476f9524d3335418786c5 66371: ee6581bcc2402dd7eb004c7ecb5ff4455ed7bf9f 66367: cbae7b957fa661126d668cfe6ab425c5b4b39c74 v: v3 --- [refs] | 2 +- trunk/include/net/sock.h | 7 +++---- trunk/net/core/sock.c | 6 +++--- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 12788902ae56..1ff7b74f0379 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 02b3d34631831a19ee691516e233756b270eac6d +refs/heads/master: d2e9117c7aa9544d910634e17e3519fd67155229 diff --git a/trunk/include/net/sock.h b/trunk/include/net/sock.h index 802c670ba820..5ed9fa42b6e8 100644 --- a/trunk/include/net/sock.h +++ b/trunk/include/net/sock.h @@ -76,10 +76,9 @@ * between user contexts and software interrupt processing, whereas the * mini-semaphore synchronizes multiple users amongst themselves. */ -struct sock_iocb; typedef struct { spinlock_t slock; - struct sock_iocb *owner; + int owned; wait_queue_head_t wq; /* * 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 * 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 @@ -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) \ do { \ - sk->sk_lock.owner = NULL; \ + sk->sk_lock.owned = 0; \ init_waitqueue_head(&sk->sk_lock.wq); \ spin_lock_init(&(sk)->sk_lock.slock); \ debug_check_no_locks_freed((void *)&(sk)->sk_lock, \ diff --git a/trunk/net/core/sock.c b/trunk/net/core/sock.c index 190de61cd648..beb924c248e8 100644 --- a/trunk/net/core/sock.c +++ b/trunk/net/core/sock.c @@ -1585,9 +1585,9 @@ void fastcall lock_sock_nested(struct sock *sk, int subclass) { might_sleep(); spin_lock_bh(&sk->sk_lock.slock); - if (sk->sk_lock.owner) + if (sk->sk_lock.owned) __lock_sock(sk); - sk->sk_lock.owner = (void *)1; + sk->sk_lock.owned = 1; spin_unlock(&sk->sk_lock.slock); /* * 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); if (sk->sk_backlog.tail) __release_sock(sk); - sk->sk_lock.owner = NULL; + sk->sk_lock.owned = 0; if (waitqueue_active(&sk->sk_lock.wq)) wake_up(&sk->sk_lock.wq); spin_unlock_bh(&sk->sk_lock.slock);