Messages in this thread | | | Date | Tue, 18 Jan 2011 17:51:43 +0000 | From | Alban Crequy <> | Subject | Re: [PATCH] af_unix: implement socket filter |
| |
Le Tue, 18 Jan 2011 18:22:41 +0100, Eric Dumazet <eric.dumazet@gmail.com> a écrit :
> Le mardi 18 janvier 2011 à 16:39 +0000, Ian Molton a écrit : > > From: Alban Crequy <alban.crequy@collabora.co.uk> > > > > Linux Socket Filters can already be successfully attached and > > detached on unix sockets with setsockopt(sockfd, SOL_SOCKET, > > SO_{ATTACH,DETACH}_FILTER, ....). See: > > Documentation/networking/filter.txt > > > > But the filter was never used in the unix socket code so it did not > > work. This patch uses sk_filter() to filter buffers before delivery. > > > > This short program demonstrates the problem on SOCK_DGRAM.
By the way, the patch implements socket filters on SOCK_DGRAM and SOCK_SEQPACKET but not SOCK_STREAM. Socket filters does not make sense to me when there is no packet boundaries. But if there is a need for it, the code for SOCK_STREAM could be added easily.
> Any idea on performance cost adding sk_filter() call ?
Ian will write a performance test and repost the patch with some stats. I don't know about the performance cost.
> Hmm, looking at it, I have no idea why sk_filter() needs to block BH.
I don't know neither.
> I'll send a patch to relax this requirement.
Thanks for your review!
Alban -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |