From: Gertjan van Wingerde <gwingerde@home.nl>
To: linux-kernel@vger.kernel.org
Cc: ptoal@cisco.com, jhp@pobox.com
Subject: Re: Cisco vpnclient prevents proper shutdown starting with 2.6.2
Date: Tue, 24 Feb 2004 21:41:40 +0100 [thread overview]
Message-ID: <200402242141.40208.gwingerde@home.nl> (raw)
Hi Patrick, et al.
Even though this seems to work, the real problem seems to lie in the cisco_ipsec module itself.
It looks like it is registering a netdevice notifier at ioctl time, which seems to deadlock in the lock
that has been introduced in 2.6.2. Moving the registration to module initialisation time (with the
proper checks in the event handler itself to only act when VPN is up) seems to resolve the
issue.
Patch to Cisco vpnclient 4.0.3.B is below.
MvG,
Gertjan.
diff -u --recursive vpnclient/interceptor.c vpnclient-new/interceptor.c
--- vpnclient/interceptor.c 2003-10-30 02:27:34.000000000 +0100
+++ vpnclient-new/interceptor.c 2004-02-24 21:26:36.000000000 +0100
@@ -364,11 +364,6 @@
error = VPNIFUP_FAILURE;
goto error_exit;
}
- error = register_netdevice_notifier(&interceptor_notifier);
- if (error)
- {
- goto error_exit;
- }
vpn_is_up = TRUE;
return error;
@@ -388,8 +383,6 @@
{
int i;
- unregister_netdevice_notifier(&interceptor_notifier);
-
cleanup_frag_queue();
/*restore IP packet handler */
if (original_ip_handler.pt != NULL)
@@ -436,6 +429,9 @@
{
struct net_device *dev = (struct net_device *) val;
+ if (!vpn_is_up)
+ return 1;
+
switch (event)
{
case NETDEV_REGISTER:
@@ -853,6 +849,8 @@
CNICallbackTable = *PCNICallbackTable;
CniPluginDeviceCreated();
+ register_netdevice_notifier(&interceptor_notifier);
+
if ((status = register_netdev(&interceptor_dev)) != 0)
{
printk(KERN_INFO "%s: error %d registering device \"%s\".\n",
@@ -876,6 +874,9 @@
CniPluginUnload();
unregister_netdev(&interceptor_dev);
+
+ unregister_netdevice_notifier(&interceptor_notifier);
+
return;
}
>Hi Patrick,
>
>Just a data point..
>
>I reversed this patch on a system running 2.6.3-mm2, and vpnclient now
>works.
>
>/harley
>
>> Newsgroups: fa.linux.kernel
>> Subject: RE: Cisco vpnclient prevents proper shutdown starting with 2.6.2
>> From: Patrick Toal <ptoal@cisco.com>
>> To: linux-kernel@vger.kernel.org
>> Date: Mon, 23 Feb 2004 01:36:17 GMT
>>
>> Sid Boyce wrote:
>> > I tried using this client with up to 2.6.1-mm5 and ended up with Dead
>> > processes for cvpnd and vpnclient, nothing else was affected, went
>> > back to 2.4.x kernel.
>> > Regards
>> > Sid
>>
>> Sid, et al.
>>
>> First, before anyone starts deluging me with questions, you should know
>> that even though my details say Cisco, I am an SE in the field, _not_ a
>> developer. Second, please reply to me off-list, as I do not subscribe
>> to the LK list.
>>
>> That being said, I think I've tracked this down to a recent change in
>> the net/core/dev.c file. I reversed the patch to
>> register_netdevice_notifier below, and the vpnclient now works fine.
>> This is called by the handle_vpnup routine in interceptor.c of the
>> vpnclient kernel module.
>>
>> I am _not_ a kernel developer, nor do I spend the majority of my time
>> programming, so I haven't been able to figure out _why_ these changes
>> cause the module to freeze. I'd be interested if anyone could tell me
>> the answer to that question. :-)
>>
>> Regards,
>> Patrick
>>
<snip>
next reply other threads:[~2004-02-24 20:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-24 20:41 Gertjan van Wingerde [this message]
2004-02-25 3:46 ` Eugene Teo
-- strict thread matches above, loose matches on Subject: below --
2004-02-27 0:30 Sid Boyce
[not found] <fa.fds2rgj.110cgg9@ifi.uio.no>
2004-02-24 15:50 ` jhp
2004-02-23 1:33 Patrick Toal
2004-02-07 21:20 Sid Boyce
2004-02-07 5:17 Meinhard E. Mayer
2004-02-07 9:10 ` Eduard Bloch
2004-02-08 16:05 ` Rik van Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200402242141.40208.gwingerde@home.nl \
--to=gwingerde@home.nl \
--cc=jhp@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ptoal@cisco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®