OpenVZ Forum


Home » Mailing lists » Devel » [PATCH 2/2][INET] Move the reqsk_queue_yank_listen_sk from header
[PATCH 2/2][INET] Move the reqsk_queue_yank_listen_sk from header [message #23245] Wed, 14 November 2007 18:11 Go to next message
Pavel Emelianov is currently offline  Pavel Emelianov
Messages: 1149
Registered: September 2006
Senior Member
This function is used in the net/core/request_sock.c only.
No need in keeping it in the header file.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>

---

diff --git a/include/net/request_sock.h b/include/net/request_sock.h
index 0a954ee..e80b53f 100644
--- a/include/net/request_sock.h
+++ b/include/net/request_sock.h
@@ -123,19 +123,6 @@ struct request_sock_queue {
 
 extern int reqsk_queue_alloc(struct request_sock_queue *queue,
 			     unsigned int nr_table_entries);
-
-static inline struct listen_sock *reqsk_queue_yank_listen_sk(struct request_sock_queue *queue)
-{
-	struct listen_sock *lopt;
-
-	write_lock_bh(&queue->syn_wait_lock);
-	lopt = queue->listen_opt;
-	queue->listen_opt = NULL;
-	write_unlock_bh(&queue->syn_wait_lock);
-
-	return lopt;
-}
-
 extern void __reqsk_queue_destroy(struct request_sock_queue *queue);
 extern void reqsk_queue_destroy(struct request_sock_queue *queue);
 
diff --git a/net/core/request_sock.c b/net/core/request_sock.c
index 12a15f5..16b2ef0 100644
--- a/net/core/request_sock.c
+++ b/net/core/request_sock.c
@@ -71,6 +71,19 @@ int reqsk_queue_alloc(struct request_sock_queue *queue,
 
 EXPORT_SYMBOL(reqsk_queue_alloc);
 
+static struct listen_sock *reqsk_queue_yank_listen_sk(
+		struct request_sock_queue *queue)
+{
+	struct listen_sock *lopt;
+
+	write_lock_bh(&queue->syn_wait_lock);
+	lopt = queue->listen_opt;
+	queue->listen_opt = NULL;
+	write_unlock_bh(&queue->syn_wait_lock);
+
+	return lopt;
+}
+
 void __reqsk_queue_destroy(struct request_sock_queue *queue)
 {
 	struct listen_sock *lopt = reqsk_queue_yank_listen_sk(queue);
-- 
1.5.3.4
Re: [PATCH 2/2][INET] Move the reqsk_queue_yank_listen_sk from header [message #23256 is a reply to message #23245] Thu, 15 November 2007 00:12 Go to previous messageGo to next message
Simon Horman is currently offline  Simon Horman
Messages: 8
Registered: April 2007
Junior Member
On Wed, Nov 14, 2007 at 09:11:06PM +0300, Pavel Emelyanov wrote:
> This function is used in the net/core/request_sock.c only.
> No need in keeping it in the header file.

I feel like I am missing something here, but 
doesn't __reqsk_queue_destroy() in include/net/request_sock.h use
reqsk_queue_yank_listen_sk()?

static inline void __reqsk_queue_destroy(struct request_sock_queue
*queue)
{
        kfree(reqsk_queue_yank_listen_sk(queue));
}

> 
> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
> 
> ---
> 
> diff --git a/include/net/request_sock.h b/include/net/request_sock.h
> index 0a954ee..e80b53f 100644
> --- a/include/net/request_sock.h
> +++ b/include/net/request_sock.h
> @@ -123,19 +123,6 @@ struct request_sock_queue {
>  
>  extern int reqsk_queue_alloc(struct request_sock_queue *queue,
>  			     unsigned int nr_table_entries);
> -
> -static inline struct listen_sock *reqsk_queue_yank_listen_sk(struct request_sock_queue *queue)
> -{
> -	struct listen_sock *lopt;
> -
> -	write_lock_bh(&queue->syn_wait_lock);
> -	lopt = queue->listen_opt;
> -	queue->listen_opt = NULL;
> -	write_unlock_bh(&queue->syn_wait_lock);
> -
> -	return lopt;
> -}
> -
>  extern void __reqsk_queue_destroy(struct request_sock_queue *queue);
>  extern void reqsk_queue_destroy(struct request_sock_queue *queue);
>  
> diff --git a/net/core/request_sock.c b/net/core/request_sock.c
> index 12a15f5..16b2ef0 100644
> --- a/net/core/request_sock.c
> +++ b/net/core/request_sock.c
> @@ -71,6 +71,19 @@ int reqsk_queue_alloc(struct request_sock_queue *queue,
>  
>  EXPORT_SYMBOL(reqsk_queue_alloc);
>  
> +static struct listen_sock *reqsk_queue_yank_listen_sk(
> +		struct request_sock_queue *queue)
> +{
> +	struct listen_sock *lopt;
> +
> +	write_lock_bh(&queue->syn_wait_lock);
> +	lopt = queue->listen_opt;
> +	queue->listen_opt = NULL;
> +	write_unlock_bh(&queue->syn_wait_lock);
> +
> +	return lopt;
> +}
> +
>  void __reqsk_queue_destroy(struct request_sock_queue *queue)
>  {
>  	struct listen_sock *lopt = reqsk_queue_yank_listen_sk(queue);
> -- 
> 1.5.3.4
> 
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Horms, California Edition
Re: [PATCH 2/2][INET] Move the reqsk_queue_yank_listen_sk from header [message #23277 is a reply to message #23256] Thu, 15 November 2007 08:12 Go to previous message
Pavel Emelianov is currently offline  Pavel Emelianov
Messages: 1149
Registered: September 2006
Senior Member
Simon Horman wrote:
> On Wed, Nov 14, 2007 at 09:11:06PM +0300, Pavel Emelyanov wrote:
>> This function is used in the net/core/request_sock.c only.
>> No need in keeping it in the header file.
> 
> I feel like I am missing something here, but 
> doesn't __reqsk_queue_destroy() in include/net/request_sock.h use
> reqsk_queue_yank_listen_sk()?

It does, but this is a patch number 2. The patch number 1 moved this
__reqsk_queue_destroy() into request_sock.c.

> static inline void __reqsk_queue_destroy(struct request_sock_queue
> *queue)
> {
>         kfree(reqsk_queue_yank_listen_sk(queue));
> }

Thanks,
Pavel
Previous Topic: [PATCH 1/2][INET] Fix potential kfree on vmalloc-ed area of request_sock_queue
Next Topic: [PATCH 2/2][INET] (resend) Move the reqsk_queue_yank_listen_sk from header
Goto Forum:
  


Current Time: Sun May 28 03:43:32 GMT 2023

Total time taken to generate the page: 0.01324 seconds