From: Vlad Yasevich <vyasevich@gmail.com>
To: linux-sctp@vger.kernel.org
Subject: Re: NULL primary_path
Date: Thu, 07 Mar 2013 17:17:18 +0000 [thread overview]
Message-ID: <5138CB9E.6070306@gmail.com> (raw)
In-Reply-To: <CAGugRbVkLt2AzKkxX3SzJhjDfyPJpviD64_Y5-hgtqxSTwzQiA@mail.gmail.com>
On 03/07/2013 12:06 PM, Karl Heiss wrote:
> The issue appears to manifest itself when the connection is closed
> from the remote end and getsockopt(SCTP_STATUS) is called within a
> small window in which the association is still valid but
> asoc->peer.primary_path is NULL.
Aha! Thanks. There was a bug in the rcu clean-up that allowed the
association to remain while all transports have been removed.
Here is a patch that should have addressed this condition:
commit 8c98653f05534acd1cb07ea4929702a3659177d1
Author: Daniel Borkmann <dborkman@redhat.com>
Date: Fri Feb 1 04:37:43 2013 +0000
sctp: sctp_close: fix release of bindings for deferred call_rcu's
Full patch is here:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?idŒ98653f05534acd1cb07ea4929702a3659177d1
Make sure that you have this patch in the kernel you are running
-vlad
>
> On Thu, Mar 7, 2013 at 10:48 AM, Vlad Yasevich <vyasevich@gmail.com> wrote:
>> On 03/06/2013 08:53 PM, Vlad Yasevich wrote:
>>>
>>> On 03/06/2013 05:57 PM, Karl Heiss wrote:
>>>>
>>>> I am getting kernel panics due to a NULL dereference in
>>>> sctp_getsockopt_sctp_status() when calling getsockopt() with
>>>> SCTP_STATUS immediately after establishing a connection. This occurs
>>>> when transport = asoc->peer.primary_path; is NULL and transport is
>>>> later dereferenced. Is there any way that an association would be
>>>> present but have no primary_path?
>>>
>>>
>>> No, that shouldn't happen. The very first transport that is added
>>> to the association is assigned to the primary_path. Primary_path can
>>> never be null since the association must have at least 1 transport and
>>> that 1 transport will always be primary.
>>>
>>> Is this happening on the server or the client side?
>>>
>>> Which kernel version?
>>>
>>> Is Add-IP on and are there any Add-IP options in the packets?
>>
>>
>> Also, are you using SOCK_STREAM or SOCK_SEQPACKET sockets?
>>
>> Thanks
>> -vlad
>>
>>
>>>
>>> Thanks
>>> -vlad
>>>
>>>> Should
>>>> sctp_getsockopt_sctp_status() be checking asoc->peer.primary_path and
>>>> returning -EINVAL?
>>>>
>>>> Karl
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>>
>>
next prev parent reply other threads:[~2013-03-07 17:17 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-06 22:57 NULL primary_path Karl Heiss
2013-03-07 1:53 ` Vlad Yasevich
2013-03-07 14:52 ` Cristian Constantin
2013-03-07 15:29 ` Neil Horman
2013-03-07 15:44 ` Vlad Yasevich
2013-03-07 15:48 ` Vlad Yasevich
2013-03-07 17:06 ` Karl Heiss
2013-03-07 17:17 ` Vlad Yasevich [this message]
2013-03-07 21:51 ` Karl Heiss
2013-03-07 22:08 ` Vlad Yasevich
2013-03-07 23:09 ` Vlad Yasevich
2013-03-08 13:52 ` Karl Heiss
2013-03-08 14:31 ` Karl Heiss
2013-03-08 14:35 ` Neil Horman
2013-03-08 15:31 ` Vlad Yasevich
2013-03-08 15:37 ` Karl Heiss
2013-03-08 16:42 ` Vlad Yasevich
2013-03-08 17:06 ` Karl Heiss
2013-03-09 20:19 ` Karl Heiss
2013-03-11 21:59 ` Vlad Yasevich
2013-03-11 22:44 ` Karl Heiss
2013-03-11 23:10 ` Vlad Yasevich
2013-03-12 1:05 ` Karl Heiss
2013-03-12 16:18 ` Karl Heiss
2013-03-12 17:23 ` Vlad Yasevich
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=5138CB9E.6070306@gmail.com \
--to=vyasevich@gmail.com \
--cc=linux-sctp@vger.kernel.org \
/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 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.