Re: [PATCH] AS apple talk protocol register_snap_client failed

2007-12-14 Thread David Miller
From: "guanxun mu" <[EMAIL PROTECTED]>
Date: Fri, 14 Dec 2007 14:03:05 +0800

> [PACTH APPLETALK]
> 
> This patch update proto_init process when register_snap_client failed
> 
> Signed-off-by: Michale Moore <[EMAIL PROTECTED]>
> 
> diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c
> index 6c5c6dc..d6573f6 100644
> --- a/net/appletalk/aarp.c
> +++ b/net/appletalk/aarp.c
> @@ -873,7 +873,10 @@ void __init aarp_proto_init(void)
>  {
> aarp_dl = register_snap_client(aarp_snap_id, aarp_rcv);
> if (!aarp_dl)
> -   printk(KERN_CRIT "Unable to register AARP with SNAP.\n");
> +   {
> +   printk(KERN_CRIT "Unable to register AARP with SNAP.\n");
> +   return;
> +   }
> init_timer(_timer);
> aarp_timer.function = aarp_expire_timeout;
> aarp_timer.data = 0;

Wrong coding style, the openning brace should be on the same line
as the if() check, see Documentation/CodingStyle   Your email
client has also corrupted the tab characters into spaces, making
the patch unusable even if it were correct.

Next, if you are going to do this, you should modify aarp_proto_init()
to return error values, so that atalk_init() can see it and thus
undo the initialization it does and return an error for the module
load.

It is not useful to add error checks, without propagating them,
because an OOPS is just as good as a partially-initialized protocol
since that is likely to crash or malfunction as well.

The protocol is thus equally broken before and after your changes.

Please completely implement this fix, thank you.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] AS apple talk protocol register_snap_client failed

2007-12-14 Thread David Miller
From: guanxun mu [EMAIL PROTECTED]
Date: Fri, 14 Dec 2007 14:03:05 +0800

 [PACTH APPLETALK]
 
 This patch update proto_init process when register_snap_client failed
 
 Signed-off-by: Michale Moore [EMAIL PROTECTED]
 
 diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c
 index 6c5c6dc..d6573f6 100644
 --- a/net/appletalk/aarp.c
 +++ b/net/appletalk/aarp.c
 @@ -873,7 +873,10 @@ void __init aarp_proto_init(void)
  {
 aarp_dl = register_snap_client(aarp_snap_id, aarp_rcv);
 if (!aarp_dl)
 -   printk(KERN_CRIT Unable to register AARP with SNAP.\n);
 +   {
 +   printk(KERN_CRIT Unable to register AARP with SNAP.\n);
 +   return;
 +   }
 init_timer(aarp_timer);
 aarp_timer.function = aarp_expire_timeout;
 aarp_timer.data = 0;

Wrong coding style, the openning brace should be on the same line
as the if() check, see Documentation/CodingStyle   Your email
client has also corrupted the tab characters into spaces, making
the patch unusable even if it were correct.

Next, if you are going to do this, you should modify aarp_proto_init()
to return error values, so that atalk_init() can see it and thus
undo the initialization it does and return an error for the module
load.

It is not useful to add error checks, without propagating them,
because an OOPS is just as good as a partially-initialized protocol
since that is likely to crash or malfunction as well.

The protocol is thus equally broken before and after your changes.

Please completely implement this fix, thank you.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] AS apple talk protocol register_snap_client failed

2007-12-13 Thread guanxun mu
[PACTH APPLETALK]

This patch update proto_init process when register_snap_client failed

Signed-off-by: Michale Moore <[EMAIL PROTECTED]>

diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c
index 6c5c6dc..d6573f6 100644
--- a/net/appletalk/aarp.c
+++ b/net/appletalk/aarp.c
@@ -873,7 +873,10 @@ void __init aarp_proto_init(void)
 {
aarp_dl = register_snap_client(aarp_snap_id, aarp_rcv);
if (!aarp_dl)
-   printk(KERN_CRIT "Unable to register AARP with SNAP.\n");
+   {
+   printk(KERN_CRIT "Unable to register AARP with SNAP.\n");
+   return;
+   }
init_timer(_timer);
aarp_timer.function = aarp_expire_timeout;
aarp_timer.data = 0;
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index e0d37d6..ce9929c 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -1894,9 +1894,9 @@ static int __init atalk_init(void)

(void)sock_register(_family_ops);
ddp_dl = register_snap_client(ddp_snap_id, atalk_rcv);
-   if (!ddp_dl)
-   printk(atalk_err_snap);
-
+   if (!ddp_dl)
+   goto failed;
+
dev_add_pack(_packet_type);
dev_add_pack(_packet_type);

@@ -1906,7 +1906,13 @@ static int __init atalk_init(void)
atalk_register_sysctl();
 out:
return rc;
+failed:
+   printk(atalk_err_snap);
+   sock_unregister(PF_APPLETALK);
+   proto_unregister(_proto);
+   return -1;
 }
+
 module_init(atalk_init);

 /*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] AS apple talk protocol register_snap_client failed

2007-12-13 Thread guanxun mu
[PACTH APPLETALK]

This patch update proto_init process when register_snap_client failed

Signed-off-by: Michale Moore [EMAIL PROTECTED]

diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c
index 6c5c6dc..d6573f6 100644
--- a/net/appletalk/aarp.c
+++ b/net/appletalk/aarp.c
@@ -873,7 +873,10 @@ void __init aarp_proto_init(void)
 {
aarp_dl = register_snap_client(aarp_snap_id, aarp_rcv);
if (!aarp_dl)
-   printk(KERN_CRIT Unable to register AARP with SNAP.\n);
+   {
+   printk(KERN_CRIT Unable to register AARP with SNAP.\n);
+   return;
+   }
init_timer(aarp_timer);
aarp_timer.function = aarp_expire_timeout;
aarp_timer.data = 0;
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index e0d37d6..ce9929c 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -1894,9 +1894,9 @@ static int __init atalk_init(void)

(void)sock_register(atalk_family_ops);
ddp_dl = register_snap_client(ddp_snap_id, atalk_rcv);
-   if (!ddp_dl)
-   printk(atalk_err_snap);
-
+   if (!ddp_dl)
+   goto failed;
+
dev_add_pack(ltalk_packet_type);
dev_add_pack(ppptalk_packet_type);

@@ -1906,7 +1906,13 @@ static int __init atalk_init(void)
atalk_register_sysctl();
 out:
return rc;
+failed:
+   printk(atalk_err_snap);
+   sock_unregister(PF_APPLETALK);
+   proto_unregister(ddp_proto);
+   return -1;
 }
+
 module_init(atalk_init);

 /*
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/