From: Pavel Emelyanov Date: Thu, 31 Jul 2008 07:38:31 +0000 (-0700) Subject: netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations X-Git-Tag: v2.6.27-rc2~102^2~8 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8ddc9163c6a16cd62531dba1ec5020484e33b02;p=pandora-kernel.git netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations The thing is that recent_mt_destroy first flushes the entries from table with the recent_table_flush and only *after* this removes the proc file, corresponding to that table. Thus, if we manage to write to this file the '+XXX' command we will leak some entries. If we manage to write there a 'clean' command we'll race in two recent_table_flush flows, since the recent_mt_destroy calls this outside the recent_lock. The proper solution as I see it is to remove the proc file first and then go on with flushing the table. This flushing becomes safe w/o the lock, since the table is already inaccessible from the outside. Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller --- Reading git-diff-tree failed