All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-13 12:59 ` Christoph Schulz
  0 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-13 12:59 UTC (permalink / raw)
  To: netdev; +Cc: linux-ppp, paulus, isdn

From: Christoph Schulz <develop@kristov.de>

Commit 568f194e8bd16c353ad50f9ab95d98b20578a39d ("net: ppp: use
sk_unattached_filter api") inadvertently changed the logic when setting
PPP pass and active filters. This applies to both the generic PPP subsystem
implemented by drivers/net/ppp/ppp_generic.c and the ISDN PPP subsystem
implemented by drivers/isdn/i4l/isdn_ppp.c. The original code in ppp_ioctl()
(or isdn_ppp_ioctl(), resp.) handling PPPIOCSPASS and PPPIOCSACTIVE allowed to
remove a pass/active filter previously set by using a filter of length zero.
However, with the new code this is not possible anymore as this case is not
explicitly checked for, which leads to passing NULL as a filter to
sk_unattached_filter_create(). This results in returning EINVAL to the caller.

Additionally, the variables ppp->pass_filter and ppp->active_filter (or
is->pass_filter and is->active_filter, resp.) are not reset to NULL, although
the filters they point to may have been destroyed by
sk_unattached_filter_destroy(), so in this EINVAL case dangling pointers are
left behind (provided the pointers were previously non-NULL).

This patch corrects both problems by checking whether the filter passed is
empty or non-empty, and prevents sk_unattached_filter_create() from being
called in the first case. Moreover, the pointers are always reset to NULL
as soon as sk_unattached_filter_destroy() returns.

Signed-off-by: Christoph Schulz <develop@kristov.de>
---
diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c
index 61ac632..cd2f4c3 100644
--- a/drivers/isdn/i4l/isdn_ppp.c
+++ b/drivers/isdn/i4l/isdn_ppp.c
@@ -644,9 +644,15 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
 		fprog.len = len;
 		fprog.filter = code;
 
-		if (is->pass_filter)
+		if (is->pass_filter) {
 			sk_unattached_filter_destroy(is->pass_filter);
-		err = sk_unattached_filter_create(&is->pass_filter, &fprog);
+			is->pass_filter = NULL;
+		}
+		if (fprog.filter != NULL)
+			err = sk_unattached_filter_create(&is->pass_filter,
+							  &fprog);
+		else
+			err = 0;
 		kfree(code);
 
 		return err;
@@ -663,9 +669,15 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
 		fprog.len = len;
 		fprog.filter = code;
 
-		if (is->active_filter)
+		if (is->active_filter) {
 			sk_unattached_filter_destroy(is->active_filter);
-		err = sk_unattached_filter_create(&is->active_filter, &fprog);
+			is->active_filter = NULL;
+		}
+		if (fprog.filter != NULL)
+			err = sk_unattached_filter_create(&is->active_filter,
+							  &fprog);
+		else
+			err = 0;
 		kfree(code);
 
 		return err;
diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
index 91d6c12..d0f6f93 100644
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -763,10 +763,15 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 			};
 
 			ppp_lock(ppp);
-			if (ppp->pass_filter)
+			if (ppp->pass_filter) {
 				sk_unattached_filter_destroy(ppp->pass_filter);
-			err = sk_unattached_filter_create(&ppp->pass_filter,
-							  &fprog);
+				ppp->pass_filter = NULL;
+			}
+			if (fprog.filter != NULL)
+				err = sk_unattached_filter_create(&ppp->pass_filter,
+								  &fprog);
+			else
+				err = 0;
 			kfree(code);
 			ppp_unlock(ppp);
 		}
@@ -784,10 +789,15 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 			};
 
 			ppp_lock(ppp);
-			if (ppp->active_filter)
+			if (ppp->active_filter) {
 				sk_unattached_filter_destroy(ppp->active_filter);
-			err = sk_unattached_filter_create(&ppp->active_filter,
-							  &fprog);
+				ppp->active_filter = NULL;
+			}
+			if (fprog.filter != NULL)
+				err = sk_unattached_filter_create(&ppp->active_filter,
+								  &fprog);
+			else
+				err = 0;
 			kfree(code);
 			ppp_unlock(ppp);
 		}

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-13 12:59 ` Christoph Schulz
  0 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-13 12:59 UTC (permalink / raw)
  To: netdev; +Cc: linux-ppp, paulus, isdn

From: Christoph Schulz <develop@kristov.de>

Commit 568f194e8bd16c353ad50f9ab95d98b20578a39d ("net: ppp: use
sk_unattached_filter api") inadvertently changed the logic when setting
PPP pass and active filters. This applies to both the generic PPP subsystem
implemented by drivers/net/ppp/ppp_generic.c and the ISDN PPP subsystem
implemented by drivers/isdn/i4l/isdn_ppp.c. The original code in ppp_ioctl()
(or isdn_ppp_ioctl(), resp.) handling PPPIOCSPASS and PPPIOCSACTIVE allowed to
remove a pass/active filter previously set by using a filter of length zero.
However, with the new code this is not possible anymore as this case is not
explicitly checked for, which leads to passing NULL as a filter to
sk_unattached_filter_create(). This results in returning EINVAL to the caller.

Additionally, the variables ppp->pass_filter and ppp->active_filter (or
is->pass_filter and is->active_filter, resp.) are not reset to NULL, although
the filters they point to may have been destroyed by
sk_unattached_filter_destroy(), so in this EINVAL case dangling pointers are
left behind (provided the pointers were previously non-NULL).

This patch corrects both problems by checking whether the filter passed is
empty or non-empty, and prevents sk_unattached_filter_create() from being
called in the first case. Moreover, the pointers are always reset to NULL
as soon as sk_unattached_filter_destroy() returns.

Signed-off-by: Christoph Schulz <develop@kristov.de>
---
diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c
index 61ac632..cd2f4c3 100644
--- a/drivers/isdn/i4l/isdn_ppp.c
+++ b/drivers/isdn/i4l/isdn_ppp.c
@@ -644,9 +644,15 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
 		fprog.len = len;
 		fprog.filter = code;
 
-		if (is->pass_filter)
+		if (is->pass_filter) {
 			sk_unattached_filter_destroy(is->pass_filter);
-		err = sk_unattached_filter_create(&is->pass_filter, &fprog);
+			is->pass_filter = NULL;
+		}
+		if (fprog.filter != NULL)
+			err = sk_unattached_filter_create(&is->pass_filter,
+							  &fprog);
+		else
+			err = 0;
 		kfree(code);
 
 		return err;
@@ -663,9 +669,15 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
 		fprog.len = len;
 		fprog.filter = code;
 
-		if (is->active_filter)
+		if (is->active_filter) {
 			sk_unattached_filter_destroy(is->active_filter);
-		err = sk_unattached_filter_create(&is->active_filter, &fprog);
+			is->active_filter = NULL;
+		}
+		if (fprog.filter != NULL)
+			err = sk_unattached_filter_create(&is->active_filter,
+							  &fprog);
+		else
+			err = 0;
 		kfree(code);
 
 		return err;
diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
index 91d6c12..d0f6f93 100644
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -763,10 +763,15 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 			};
 
 			ppp_lock(ppp);
-			if (ppp->pass_filter)
+			if (ppp->pass_filter) {
 				sk_unattached_filter_destroy(ppp->pass_filter);
-			err = sk_unattached_filter_create(&ppp->pass_filter,
-							  &fprog);
+				ppp->pass_filter = NULL;
+			}
+			if (fprog.filter != NULL)
+				err = sk_unattached_filter_create(&ppp->pass_filter,
+								  &fprog);
+			else
+				err = 0;
 			kfree(code);
 			ppp_unlock(ppp);
 		}
@@ -784,10 +789,15 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 			};
 
 			ppp_lock(ppp);
-			if (ppp->active_filter)
+			if (ppp->active_filter) {
 				sk_unattached_filter_destroy(ppp->active_filter);
-			err = sk_unattached_filter_create(&ppp->active_filter,
-							  &fprog);
+				ppp->active_filter = NULL;
+			}
+			if (fprog.filter != NULL)
+				err = sk_unattached_filter_create(&ppp->active_filter,
+								  &fprog);
+			else
+				err = 0;
 			kfree(code);
 			ppp_unlock(ppp);
 		}

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-13 12:59 ` Christoph Schulz
@ 2014-07-13 14:54   ` Varka Bhadram
  -1 siblings, 0 replies; 22+ messages in thread
From: Varka Bhadram @ 2014-07-13 14:54 UTC (permalink / raw)
  To: Christoph Schulz, netdev; +Cc: linux-ppp, paulus, isdn

On Sunday 13 July 2014 06:29 PM, Christoph Schulz wrote:
> From: Christoph Schulz <develop@kristov.de>
>
> Commit 568f194e8bd16c353ad50f9ab95d98b20578a39d ("net: ppp: use
> sk_unattached_filter api") inadvertently changed the logic when setting
> PPP pass and active filters. This applies to both the generic PPP subsystem
> implemented by drivers/net/ppp/ppp_generic.c and the ISDN PPP subsystem
> implemented by drivers/isdn/i4l/isdn_ppp.c. The original code in ppp_ioctl()
> (or isdn_ppp_ioctl(), resp.) handling PPPIOCSPASS and PPPIOCSACTIVE allowed to
> remove a pass/active filter previously set by using a filter of length zero.
> However, with the new code this is not possible anymore as this case is not
> explicitly checked for, which leads to passing NULL as a filter to
> sk_unattached_filter_create(). This results in returning EINVAL to the caller.
>
> Additionally, the variables ppp->pass_filter and ppp->active_filter (or
> is->pass_filter and is->active_filter, resp.) are not reset to NULL, although
> the filters they point to may have been destroyed by
> sk_unattached_filter_destroy(), so in this EINVAL case dangling pointers are
> left behind (provided the pointers were previously non-NULL).
>
> This patch corrects both problems by checking whether the filter passed is
> empty or non-empty, and prevents sk_unattached_filter_create() from being
> called in the first case. Moreover, the pointers are always reset to NULL
> as soon as sk_unattached_filter_destroy() returns.
>
> Signed-off-by: Christoph Schulz <develop@kristov.de>
> ---
> diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c
> index 61ac632..cd2f4c3 100644
> --- a/drivers/isdn/i4l/isdn_ppp.c
> +++ b/drivers/isdn/i4l/isdn_ppp.c
> @@ -644,9 +644,15 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
>   		fprog.len = len;
>   		fprog.filter = code;
>   
> -		if (is->pass_filter)
> +		if (is->pass_filter) {
>   			sk_unattached_filter_destroy(is->pass_filter);
> -		err = sk_unattached_filter_create(&is->pass_filter, &fprog);
> +			is->pass_filter = NULL;
> +		}
> +		if (fprog.filter != NULL)
> +			err = sk_unattached_filter_create(&is->pass_filter,
> +							  &fprog);
> +		else
> +			err = 0;
>   		kfree(code);
>   
>   		return err;
> @@ -663,9 +669,15 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
>   		fprog.len = len;
>   		fprog.filter = code;
>   
> -		if (is->active_filter)
> +		if (is->active_filter) {
>   			sk_unattached_filter_destroy(is->active_filter);
> -		err = sk_unattached_filter_create(&is->active_filter, &fprog);
> +			is->active_filter = NULL;
> +		}
> +		if (fprog.filter != NULL)
> +			err = sk_unattached_filter_create(&is->active_filter,
> +							  &fprog);
> +		else
> +			err = 0;
>   		kfree(code);
>   
>   		return err;
> diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
> index 91d6c12..d0f6f93 100644
> --- a/drivers/net/ppp/ppp_generic.c
> +++ b/drivers/net/ppp/ppp_generic.c
> @@ -763,10 +763,15 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
>   			};
>   
>   			ppp_lock(ppp);
> -			if (ppp->pass_filter)
> +			if (ppp->pass_filter) {
>   				sk_unattached_filter_destroy(ppp->pass_filter);
> -			err = sk_unattached_filter_create(&ppp->pass_filter,
> -							  &fprog);
> +				ppp->pass_filter = NULL;
> +			}
> +			if (fprog.filter != NULL)
> +				err = sk_unattached_filter_create(&ppp->pass_filter,
> +								  &fprog);
> +			else
> +				err = 0;
>   			kfree(code);
>   			ppp_unlock(ppp);
>   		}
> @@ -784,10 +789,15 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
>   			};
>   
>   			ppp_lock(ppp);
> -			if (ppp->active_filter)
> +			if (ppp->active_filter) {
>   				sk_unattached_filter_destroy(ppp->active_filter);
> -			err = sk_unattached_filter_create(&ppp->active_filter,
> -							  &fprog);
> +				ppp->active_filter = NULL;
> +			}
> +			if (fprog.filter != NULL)
> +				err = sk_unattached_filter_create(&ppp->active_filter,
> +								  &fprog);
> +			else
> +				err = 0;
>   			kfree(code);
>   			ppp_unlock(ppp);
>   		}
> --
> 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

checkpatch warnings on this patch

-- 
Regards,
Varka Bhadram


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-13 14:54   ` Varka Bhadram
  0 siblings, 0 replies; 22+ messages in thread
From: Varka Bhadram @ 2014-07-13 14:54 UTC (permalink / raw)
  To: Christoph Schulz, netdev; +Cc: linux-ppp, paulus, isdn

On Sunday 13 July 2014 06:29 PM, Christoph Schulz wrote:
> From: Christoph Schulz <develop@kristov.de>
>
> Commit 568f194e8bd16c353ad50f9ab95d98b20578a39d ("net: ppp: use
> sk_unattached_filter api") inadvertently changed the logic when setting
> PPP pass and active filters. This applies to both the generic PPP subsystem
> implemented by drivers/net/ppp/ppp_generic.c and the ISDN PPP subsystem
> implemented by drivers/isdn/i4l/isdn_ppp.c. The original code in ppp_ioctl()
> (or isdn_ppp_ioctl(), resp.) handling PPPIOCSPASS and PPPIOCSACTIVE allowed to
> remove a pass/active filter previously set by using a filter of length zero.
> However, with the new code this is not possible anymore as this case is not
> explicitly checked for, which leads to passing NULL as a filter to
> sk_unattached_filter_create(). This results in returning EINVAL to the caller.
>
> Additionally, the variables ppp->pass_filter and ppp->active_filter (or
> is->pass_filter and is->active_filter, resp.) are not reset to NULL, although
> the filters they point to may have been destroyed by
> sk_unattached_filter_destroy(), so in this EINVAL case dangling pointers are
> left behind (provided the pointers were previously non-NULL).
>
> This patch corrects both problems by checking whether the filter passed is
> empty or non-empty, and prevents sk_unattached_filter_create() from being
> called in the first case. Moreover, the pointers are always reset to NULL
> as soon as sk_unattached_filter_destroy() returns.
>
> Signed-off-by: Christoph Schulz <develop@kristov.de>
> ---
> diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c
> index 61ac632..cd2f4c3 100644
> --- a/drivers/isdn/i4l/isdn_ppp.c
> +++ b/drivers/isdn/i4l/isdn_ppp.c
> @@ -644,9 +644,15 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
>   		fprog.len = len;
>   		fprog.filter = code;
>   
> -		if (is->pass_filter)
> +		if (is->pass_filter) {
>   			sk_unattached_filter_destroy(is->pass_filter);
> -		err = sk_unattached_filter_create(&is->pass_filter, &fprog);
> +			is->pass_filter = NULL;
> +		}
> +		if (fprog.filter != NULL)
> +			err = sk_unattached_filter_create(&is->pass_filter,
> +							  &fprog);
> +		else
> +			err = 0;
>   		kfree(code);
>   
>   		return err;
> @@ -663,9 +669,15 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
>   		fprog.len = len;
>   		fprog.filter = code;
>   
> -		if (is->active_filter)
> +		if (is->active_filter) {
>   			sk_unattached_filter_destroy(is->active_filter);
> -		err = sk_unattached_filter_create(&is->active_filter, &fprog);
> +			is->active_filter = NULL;
> +		}
> +		if (fprog.filter != NULL)
> +			err = sk_unattached_filter_create(&is->active_filter,
> +							  &fprog);
> +		else
> +			err = 0;
>   		kfree(code);
>   
>   		return err;
> diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
> index 91d6c12..d0f6f93 100644
> --- a/drivers/net/ppp/ppp_generic.c
> +++ b/drivers/net/ppp/ppp_generic.c
> @@ -763,10 +763,15 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
>   			};
>   
>   			ppp_lock(ppp);
> -			if (ppp->pass_filter)
> +			if (ppp->pass_filter) {
>   				sk_unattached_filter_destroy(ppp->pass_filter);
> -			err = sk_unattached_filter_create(&ppp->pass_filter,
> -							  &fprog);
> +				ppp->pass_filter = NULL;
> +			}
> +			if (fprog.filter != NULL)
> +				err = sk_unattached_filter_create(&ppp->pass_filter,
> +								  &fprog);
> +			else
> +				err = 0;
>   			kfree(code);
>   			ppp_unlock(ppp);
>   		}
> @@ -784,10 +789,15 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
>   			};
>   
>   			ppp_lock(ppp);
> -			if (ppp->active_filter)
> +			if (ppp->active_filter) {
>   				sk_unattached_filter_destroy(ppp->active_filter);
> -			err = sk_unattached_filter_create(&ppp->active_filter,
> -							  &fprog);
> +				ppp->active_filter = NULL;
> +			}
> +			if (fprog.filter != NULL)
> +				err = sk_unattached_filter_create(&ppp->active_filter,
> +								  &fprog);
> +			else
> +				err = 0;
>   			kfree(code);
>   			ppp_unlock(ppp);
>   		}
> --
> 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

checkpatch warnings on this patch

-- 
Regards,
Varka Bhadram


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-13 14:54   ` Varka Bhadram
@ 2014-07-13 16:07     ` Christoph Schulz
  -1 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-13 16:07 UTC (permalink / raw)
  To: Varka Bhadram; +Cc: netdev, linux-ppp, paulus, isdn

Hello!

Varka Bhadram schrieb am Sun, 13 Jul 2014 20:24:34 +0530:

> checkpatch warnings on this patch

Yes, I know. But could you please give me a hint how to indent this  
properly such that it doesn't conflict with any formatting rules I  
possibly don't even know about?

+                        err = sk_unattached_filter_create(&is->pass_filter,
+                                                          &fprog);

Can I use

+                        err = sk_unattached_filter_create(
+                                &is->pass_filter, &fprog);

or similar? I do not want to rename variables to fit the line into 80  
characteres...


Regards,

Christoph Schulz

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-13 16:07     ` Christoph Schulz
  0 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-13 16:07 UTC (permalink / raw)
  To: Varka Bhadram; +Cc: netdev, linux-ppp, paulus, isdn

Hello!

Varka Bhadram schrieb am Sun, 13 Jul 2014 20:24:34 +0530:

> checkpatch warnings on this patch

Yes, I know. But could you please give me a hint how to indent this  
properly such that it doesn't conflict with any formatting rules I  
possibly don't even know about?

+                        err = sk_unattached_filter_create(&is->pass_filter,
+                                                          &fprog);

Can I use

+                        err = sk_unattached_filter_create(
+                                &is->pass_filter, &fprog);

or similar? I do not want to rename variables to fit the line into 80  
characteres...


Regards,

Christoph Schulz


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-13 16:07     ` Christoph Schulz
@ 2014-07-13 18:51       ` Daniel Borkmann
  -1 siblings, 0 replies; 22+ messages in thread
From: Daniel Borkmann @ 2014-07-13 18:51 UTC (permalink / raw)
  To: Christoph Schulz; +Cc: Varka Bhadram, netdev, linux-ppp, paulus, isdn

On 07/13/2014 06:07 PM, Christoph Schulz wrote:
> Hello!
>
> Varka Bhadram schrieb am Sun, 13 Jul 2014 20:24:34 +0530:
>
>> checkpatch warnings on this patch
>
> Yes, I know. But could you please give me a hint how to indent this properly such that it doesn't conflict with any formatting rules I possibly don't even know about?
>
> +                        err = sk_unattached_filter_create(&is->pass_filter,
> +                                                          &fprog);

I think going with the first variant is just fine.

> Can I use
>
> +                        err = sk_unattached_filter_create(
> +                                &is->pass_filter, &fprog);
>
> or similar? I do not want to rename variables to fit the line into 80 characteres...

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-13 18:51       ` Daniel Borkmann
  0 siblings, 0 replies; 22+ messages in thread
From: Daniel Borkmann @ 2014-07-13 18:51 UTC (permalink / raw)
  To: Christoph Schulz; +Cc: Varka Bhadram, netdev, linux-ppp, paulus, isdn

On 07/13/2014 06:07 PM, Christoph Schulz wrote:
> Hello!
>
> Varka Bhadram schrieb am Sun, 13 Jul 2014 20:24:34 +0530:
>
>> checkpatch warnings on this patch
>
> Yes, I know. But could you please give me a hint how to indent this properly such that it doesn't conflict with any formatting rules I possibly don't even know about?
>
> +                        err = sk_unattached_filter_create(&is->pass_filter,
> +                                                          &fprog);

I think going with the first variant is just fine.

> Can I use
>
> +                        err = sk_unattached_filter_create(
> +                                &is->pass_filter, &fprog);
>
> or similar? I do not want to rename variables to fit the line into 80 characteres...

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-13 18:51       ` Daniel Borkmann
@ 2014-07-15  4:54         ` Christoph Schulz
  -1 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-15  4:54 UTC (permalink / raw)
  To: Daniel Borkmann; +Cc: Varka Bhadram, netdev, linux-ppp, paulus, isdn

Hello!

Daniel Borkmann schrieb am Sun, 13 Jul 2014 20:51:45 +0200:

> I think going with the first variant is just fine.

Well, then I need not change anything, do I? This first variant causes  
checkpatch to warn twice about a line exceeding 80 characters:

WARNING: line over 80 characters
#83: FILE: drivers/net/ppp/ppp_generic.c:771:
+                               err =  
sk_unattached_filter_create(&ppp->pass_filter,

WARNING: line over 80 characters
#102: FILE: drivers/net/ppp/ppp_generic.c:797:
+                               err =  
sk_unattached_filter_create(&ppp->active_filter,

But I don't see how to shorten them. This is because  
"sk_unattached_filter_create" is such a long identifier...

Any proposals what I can do in order to get the fix accepted?


Thank you in advance,

Christoph Schulz


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-15  4:54         ` Christoph Schulz
  0 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-15  4:54 UTC (permalink / raw)
  To: Daniel Borkmann; +Cc: Varka Bhadram, netdev, linux-ppp, paulus, isdn

Hello!

Daniel Borkmann schrieb am Sun, 13 Jul 2014 20:51:45 +0200:

> I think going with the first variant is just fine.

Well, then I need not change anything, do I? This first variant causes  
checkpatch to warn twice about a line exceeding 80 characters:

WARNING: line over 80 characters
#83: FILE: drivers/net/ppp/ppp_generic.c:771:
+                               err =  
sk_unattached_filter_create(&ppp->pass_filter,

WARNING: line over 80 characters
#102: FILE: drivers/net/ppp/ppp_generic.c:797:
+                               err =  
sk_unattached_filter_create(&ppp->active_filter,

But I don't see how to shorten them. This is because  
"sk_unattached_filter_create" is such a long identifier...

Any proposals what I can do in order to get the fix accepted?


Thank you in advance,

Christoph Schulz


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-15  4:54         ` Christoph Schulz
@ 2014-07-15  5:30           ` Varka Bhadram
  -1 siblings, 0 replies; 22+ messages in thread
From: Varka Bhadram @ 2014-07-15  5:18 UTC (permalink / raw)
  To: Christoph Schulz, Daniel Borkmann; +Cc: netdev, linux-ppp, paulus, isdn

On 07/15/2014 10:24 AM, Christoph Schulz wrote:
> Hello!
>
> Daniel Borkmann schrieb am Sun, 13 Jul 2014 20:51:45 +0200:
>
>> I think going with the first variant is just fine.
>
> Well, then I need not change anything, do I? This first variant causes 
> checkpatch to warn twice about a line exceeding 80 characters:
>
> WARNING: line over 80 characters
> #83: FILE: drivers/net/ppp/ppp_generic.c:771:
> +                               err = 
> sk_unattached_filter_create(&ppp->pass_filter,
>
> WARNING: line over 80 characters
> #102: FILE: drivers/net/ppp/ppp_generic.c:797:
> +                               err = 
> sk_unattached_filter_create(&ppp->active_filter,
>
> But I don't see how to shorten them. This is because 
> "sk_unattached_filter_create" is such a long identifier...
>
> Any proposals what I can do in order to get the fix accepted?
>
>
There are can be two solutions:

1. Replace the long function name (sk_unattached_filter_create) with the simple macro.
    We can define the macro locally with our driver name.I don't know how many people
    will accept it. For this we have to change the entire filter framework.

2. Shorten the argument name 'pass_filter/active_filter'.
    For this also we need to change the entire framework. People many not be accept it.

-- 
Regards,
Varka Bhadram.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-15  5:30           ` Varka Bhadram
  0 siblings, 0 replies; 22+ messages in thread
From: Varka Bhadram @ 2014-07-15  5:30 UTC (permalink / raw)
  To: Christoph Schulz, Daniel Borkmann; +Cc: netdev, linux-ppp, paulus, isdn

On 07/15/2014 10:24 AM, Christoph Schulz wrote:
> Hello!
>
> Daniel Borkmann schrieb am Sun, 13 Jul 2014 20:51:45 +0200:
>
>> I think going with the first variant is just fine.
>
> Well, then I need not change anything, do I? This first variant causes 
> checkpatch to warn twice about a line exceeding 80 characters:
>
> WARNING: line over 80 characters
> #83: FILE: drivers/net/ppp/ppp_generic.c:771:
> +                               err = 
> sk_unattached_filter_create(&ppp->pass_filter,
>
> WARNING: line over 80 characters
> #102: FILE: drivers/net/ppp/ppp_generic.c:797:
> +                               err = 
> sk_unattached_filter_create(&ppp->active_filter,
>
> But I don't see how to shorten them. This is because 
> "sk_unattached_filter_create" is such a long identifier...
>
> Any proposals what I can do in order to get the fix accepted?
>
>
There are can be two solutions:

1. Replace the long function name (sk_unattached_filter_create) with the simple macro.
    We can define the macro locally with our driver name.I don't know how many people
    will accept it. For this we have to change the entire filter framework.

2. Shorten the argument name 'pass_filter/active_filter'.
    For this also we need to change the entire framework. People many not be accept it.

-- 
Regards,
Varka Bhadram.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-15  5:30           ` Varka Bhadram
@ 2014-07-15  6:35             ` Christoph Schulz
  -1 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-15  6:35 UTC (permalink / raw)
  To: Varka Bhadram, Daniel Borkmann; +Cc: netdev, linux-ppp, paulus, isdn

Hello!

Am 15.07.2014 07:18, schrieb Varka Bhadram:
> There are can be two solutions:
> 
> 1. Replace the long function name (sk_unattached_filter_create) with the simple macro.
>     We can define the macro locally with our driver name.I don't know how many people
>     will accept it. For this we have to change the entire filter framework.
> 
> 2. Shorten the argument name 'pass_filter/active_filter'.
>     For this also we need to change the entire framework. People many not be accept it.

Is the 80 characters limit really that strong?
Documentation/SubmittingPatches contains the paragraph:

> The style checker should be viewed as
> a guide not as the final word.  If your code looks better with
> a violation then its probably best left alone.

IMHO defining and using local macros only to shorten two lines does not
improve code readability. Note that we talk about 83 and 85 characters,
respectively, not about >= 100.


Regards,

Christoph Schulz

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-15  6:35             ` Christoph Schulz
  0 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-15  6:35 UTC (permalink / raw)
  To: Varka Bhadram, Daniel Borkmann; +Cc: netdev, linux-ppp, paulus, isdn

Hello!

Am 15.07.2014 07:18, schrieb Varka Bhadram:
> There are can be two solutions:
> 
> 1. Replace the long function name (sk_unattached_filter_create) with the simple macro.
>     We can define the macro locally with our driver name.I don't know how many people
>     will accept it. For this we have to change the entire filter framework.
> 
> 2. Shorten the argument name 'pass_filter/active_filter'.
>     For this also we need to change the entire framework. People many not be accept it.

Is the 80 characters limit really that strong?
Documentation/SubmittingPatches contains the paragraph:

> The style checker should be viewed as
> a guide not as the final word.  If your code looks better with
> a violation then its probably best left alone.

IMHO defining and using local macros only to shorten two lines does not
improve code readability. Note that we talk about 83 and 85 characters,
respectively, not about >= 100.


Regards,

Christoph Schulz


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-15  4:54         ` Christoph Schulz
@ 2014-07-15  6:59           ` Daniel Borkmann
  -1 siblings, 0 replies; 22+ messages in thread
From: Daniel Borkmann @ 2014-07-15  6:59 UTC (permalink / raw)
  To: Christoph Schulz; +Cc: Varka Bhadram, netdev, linux-ppp, paulus, isdn

On 07/15/2014 06:54 AM, Christoph Schulz wrote:
> Hello!
>
> Daniel Borkmann schrieb am Sun, 13 Jul 2014 20:51:45 +0200:
>
>> I think going with the first variant is just fine.
>
> Well, then I need not change anything, do I? This first variant causes checkpatch to warn twice about a line exceeding 80 characters:
>
> WARNING: line over 80 characters
> #83: FILE: drivers/net/ppp/ppp_generic.c:771:
> +                               err = sk_unattached_filter_create(&ppp->pass_filter,
>
> WARNING: line over 80 characters
> #102: FILE: drivers/net/ppp/ppp_generic.c:797:
> +                               err = sk_unattached_filter_create(&ppp->active_filter,
>
> But I don't see how to shorten them. This is because "sk_unattached_filter_create" is such a long identifier...

Well, this is a soft-limit, and in this particular circumstance
it should be fine to use your original proposal. I don't see how
Varka's suggestions make this better in _any way_, rather the
very opposite.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-15  6:59           ` Daniel Borkmann
  0 siblings, 0 replies; 22+ messages in thread
From: Daniel Borkmann @ 2014-07-15  6:59 UTC (permalink / raw)
  To: Christoph Schulz; +Cc: Varka Bhadram, netdev, linux-ppp, paulus, isdn

On 07/15/2014 06:54 AM, Christoph Schulz wrote:
> Hello!
>
> Daniel Borkmann schrieb am Sun, 13 Jul 2014 20:51:45 +0200:
>
>> I think going with the first variant is just fine.
>
> Well, then I need not change anything, do I? This first variant causes checkpatch to warn twice about a line exceeding 80 characters:
>
> WARNING: line over 80 characters
> #83: FILE: drivers/net/ppp/ppp_generic.c:771:
> +                               err = sk_unattached_filter_create(&ppp->pass_filter,
>
> WARNING: line over 80 characters
> #102: FILE: drivers/net/ppp/ppp_generic.c:797:
> +                               err = sk_unattached_filter_create(&ppp->active_filter,
>
> But I don't see how to shorten them. This is because "sk_unattached_filter_create" is such a long identifier...

Well, this is a soft-limit, and in this particular circumstance
it should be fine to use your original proposal. I don't see how
Varka's suggestions make this better in _any way_, rather the
very opposite.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-15  6:59           ` Daniel Borkmann
@ 2014-07-15 15:38             ` Alexei Starovoitov
  -1 siblings, 0 replies; 22+ messages in thread
From: Alexei Starovoitov @ 2014-07-15 15:38 UTC (permalink / raw)
  To: Daniel Borkmann
  Cc: Christoph Schulz, Varka Bhadram, netdev, linux-ppp, paulus, isdn

On Mon, Jul 14, 2014 at 11:59 PM, Daniel Borkmann <dborkman@redhat.com> wrote:
> On 07/15/2014 06:54 AM, Christoph Schulz wrote:
>>
>> Hello!
>>
>> Daniel Borkmann schrieb am Sun, 13 Jul 2014 20:51:45 +0200:
>>
>>> I think going with the first variant is just fine.
>>
>>
>> Well, then I need not change anything, do I? This first variant causes
>> checkpatch to warn twice about a line exceeding 80 characters:
>>
>> WARNING: line over 80 characters
>> #83: FILE: drivers/net/ppp/ppp_generic.c:771:
>> +                               err =
>> sk_unattached_filter_create(&ppp->pass_filter,
>>
>> WARNING: line over 80 characters
>> #102: FILE: drivers/net/ppp/ppp_generic.c:797:
>> +                               err =
>> sk_unattached_filter_create(&ppp->active_filter,
>>
>> But I don't see how to shorten them. This is because
>> "sk_unattached_filter_create" is such a long identifier...
>
>
> Well, this is a soft-limit, and in this particular circumstance
> it should be fine to use your original proposal. I don't see how
> Varka's suggestions make this better in _any way_, rather the
> very opposite.

+1

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-15 15:38             ` Alexei Starovoitov
  0 siblings, 0 replies; 22+ messages in thread
From: Alexei Starovoitov @ 2014-07-15 15:38 UTC (permalink / raw)
  To: Daniel Borkmann
  Cc: Christoph Schulz, Varka Bhadram, netdev, linux-ppp, paulus, isdn

On Mon, Jul 14, 2014 at 11:59 PM, Daniel Borkmann <dborkman@redhat.com> wrote:
> On 07/15/2014 06:54 AM, Christoph Schulz wrote:
>>
>> Hello!
>>
>> Daniel Borkmann schrieb am Sun, 13 Jul 2014 20:51:45 +0200:
>>
>>> I think going with the first variant is just fine.
>>
>>
>> Well, then I need not change anything, do I? This first variant causes
>> checkpatch to warn twice about a line exceeding 80 characters:
>>
>> WARNING: line over 80 characters
>> #83: FILE: drivers/net/ppp/ppp_generic.c:771:
>> +                               err >> sk_unattached_filter_create(&ppp->pass_filter,
>>
>> WARNING: line over 80 characters
>> #102: FILE: drivers/net/ppp/ppp_generic.c:797:
>> +                               err >> sk_unattached_filter_create(&ppp->active_filter,
>>
>> But I don't see how to shorten them. This is because
>> "sk_unattached_filter_create" is such a long identifier...
>
>
> Well, this is a soft-limit, and in this particular circumstance
> it should be fine to use your original proposal. I don't see how
> Varka's suggestions make this better in _any way_, rather the
> very opposite.

+1

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-15 15:38             ` Alexei Starovoitov
@ 2014-07-16 18:47               ` Christoph Schulz
  -1 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-16 18:47 UTC (permalink / raw)
  To: Alexei Starovoitov
  Cc: Daniel Borkmann, Varka Bhadram, netdev, linux-ppp, paulus, isdn

Hello!

Alexei Starovoitov schrieb am Tue, 15 Jul 2014 08:38:58 -0700:

>> Well, this is a soft-limit, and in this particular circumstance
>> it should be fine to use your original proposal. I don't see how
>> Varka's suggestions make this better in _any way_, rather the
>> very opposite.
>
> +1

Fine. So I need not change anything, right? How can I change (or  
trigger changing) the patch's state from "Changes Requested" to "Under  
Review" again without resubmitting it without any modifications? Or  
will that happen eventually anyway after some time has elapsed?


Best regards,

Christoph Schulz


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-16 18:47               ` Christoph Schulz
  0 siblings, 0 replies; 22+ messages in thread
From: Christoph Schulz @ 2014-07-16 18:47 UTC (permalink / raw)
  To: Alexei Starovoitov
  Cc: Daniel Borkmann, Varka Bhadram, netdev, linux-ppp, paulus, isdn

Hello!

Alexei Starovoitov schrieb am Tue, 15 Jul 2014 08:38:58 -0700:

>> Well, this is a soft-limit, and in this particular circumstance
>> it should be fine to use your original proposal. I don't see how
>> Varka's suggestions make this better in _any way_, rather the
>> very opposite.
>
> +1

Fine. So I need not change anything, right? How can I change (or  
trigger changing) the patch's state from "Changes Requested" to "Under  
Review" again without resubmitting it without any modifications? Or  
will that happen eventually anyway after some time has elapsed?


Best regards,

Christoph Schulz


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
  2014-07-16 18:47               ` Christoph Schulz
@ 2014-07-16 19:40                 ` David Miller
  -1 siblings, 0 replies; 22+ messages in thread
From: David Miller @ 2014-07-16 19:40 UTC (permalink / raw)
  To: develop
  Cc: alexei.starovoitov, dborkman, varkabhadram, netdev, linux-ppp,
	paulus, isdn

From: Christoph Schulz <develop@kristov.de>
Date: Wed, 16 Jul 2014 20:47:55 +0200

> Hello!
> 
> Alexei Starovoitov schrieb am Tue, 15 Jul 2014 08:38:58 -0700:
> 
>>> Well, this is a soft-limit, and in this particular circumstance
>>> it should be fine to use your original proposal. I don't see how
>>> Varka's suggestions make this better in _any way_, rather the
>>> very opposite.
>>
>> +1
> 
> Fine. So I need not change anything, right? How can I change (or
> trigger changing) the patch's state from "Changes Requested" to "Under
> Review" again without resubmitting it without any modifications? Or
> will that happen eventually anyway after some time has elapsed?

Please just submit the patch again.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters
@ 2014-07-16 19:40                 ` David Miller
  0 siblings, 0 replies; 22+ messages in thread
From: David Miller @ 2014-07-16 19:40 UTC (permalink / raw)
  To: develop
  Cc: alexei.starovoitov, dborkman, varkabhadram, netdev, linux-ppp,
	paulus, isdn

From: Christoph Schulz <develop@kristov.de>
Date: Wed, 16 Jul 2014 20:47:55 +0200

> Hello!
> 
> Alexei Starovoitov schrieb am Tue, 15 Jul 2014 08:38:58 -0700:
> 
>>> Well, this is a soft-limit, and in this particular circumstance
>>> it should be fine to use your original proposal. I don't see how
>>> Varka's suggestions make this better in _any way_, rather the
>>> very opposite.
>>
>> +1
> 
> Fine. So I need not change anything, right? How can I change (or
> trigger changing) the patch's state from "Changes Requested" to "Under
> Review" again without resubmitting it without any modifications? Or
> will that happen eventually anyway after some time has elapsed?

Please just submit the patch again.

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2014-07-16 19:40 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-13 12:59 [PATCH net 1/1] net: ppp: fix creating PPP pass and active filters Christoph Schulz
2014-07-13 12:59 ` Christoph Schulz
2014-07-13 14:54 ` Varka Bhadram
2014-07-13 14:54   ` Varka Bhadram
2014-07-13 16:07   ` Christoph Schulz
2014-07-13 16:07     ` Christoph Schulz
2014-07-13 18:51     ` Daniel Borkmann
2014-07-13 18:51       ` Daniel Borkmann
2014-07-15  4:54       ` Christoph Schulz
2014-07-15  4:54         ` Christoph Schulz
2014-07-15  5:18         ` Varka Bhadram
2014-07-15  5:30           ` Varka Bhadram
2014-07-15  6:35           ` Christoph Schulz
2014-07-15  6:35             ` Christoph Schulz
2014-07-15  6:59         ` Daniel Borkmann
2014-07-15  6:59           ` Daniel Borkmann
2014-07-15 15:38           ` Alexei Starovoitov
2014-07-15 15:38             ` Alexei Starovoitov
2014-07-16 18:47             ` Christoph Schulz
2014-07-16 18:47               ` Christoph Schulz
2014-07-16 19:40               ` David Miller
2014-07-16 19:40                 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.