[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <478F276D.8080407@iki.fi>
Date: Thu, 17 Jan 2008 12:01:17 +0200
From: Timo Teräs <timo.teras@....fi>
To: David Miller <davem@...emloft.net>
CC: herbert@...dor.apana.org.au, hadi@...erus.ca,
netdev@...r.kernel.org
Subject: Re: [RFC][PATCH] Fixing SA/SP dumps on netlink/af_key
David Miller wrote:
> From: Timo_Teräs <timo.teras@....fi>
> Date: Thu, 17 Jan 2008 11:38:13 +0200
>
>> The af_key issue is that in big dumps you get only first X
>> entries. The rest of the entries are dropped because the
>> socket receive buffer goes full. You get data corruption:
>> missing entries.
>
> This is an inherent aspect of AF_KEY (and what it was
> derived from, BSD routing sockets).
Yes, this is the way BSD does it.
> It has to provide dumps atomically, and if there is no
> space there is no way to provide those entries which
> would require more rcvbuf space.
RFC does not say it has to be atomic.
It does say that the dump is terminated with SADB_DUMP
message having sadb_seq field set to zero. Currently
that is dropped too when the problem occurs. Thus the
socket is left in a bad state: dump ends never. This
can cause applications without any workarounds to hang.
- Timo
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists