Thread (7 messages) 7 messages, 4 authors, 2011-01-19

Re: [PATCH] af_unix: implement socket filter

flat view

From: Alban Crequy <hidden>
Date: 2011-01-18 18:04:35
Also in: lkml

Le Tue, 18 Jan 2011 18:22:41 +0100,
Eric Dumazet [off-list ref] a écrit :
Le mardi 18 janvier 2011 à 16:39 +0000, Ian Molton a écrit :
quoted
From: Alban Crequy <redacted>

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help