svn commit: r282521 - head/sys/netpfil/ipfw
Alexander V. Chernikov
melifaro at FreeBSD.org
Wed May 6 07:53:44 UTC 2015
Author: melifaro
Date: Wed May 6 07:53:43 2015
New Revision: 282521
URL: https://svnweb.freebsd.org/changeset/base/282521
Log:
Fix panic when prepare_batch_buffer() returns error.
Modified:
head/sys/netpfil/ipfw/ip_fw_table.c
Modified: head/sys/netpfil/ipfw/ip_fw_table.c
==============================================================================
--- head/sys/netpfil/ipfw/ip_fw_table.c Wed May 6 05:40:20 2015 (r282520)
+++ head/sys/netpfil/ipfw/ip_fw_table.c Wed May 6 07:53:43 2015 (r282521)
@@ -597,19 +597,21 @@ restart:
/* Pass stack buffer by default */
ta_buf_m = ta_buf;
error = prepare_batch_buffer(ch, ta, tei, count, OP_ADD, &ta_buf_m);
- if (error != 0)
- goto cleanup;
IPFW_UH_WLOCK(ch);
+ del_toperation_state(ch, &ts);
/* Drop reference we've used in first search */
tc->no.refcnt--;
+ /* Check prepare_batch_buffer() error */
+ if (error != 0)
+ goto cleanup;
+
/*
* Check if table swap has happened.
* (so table algo might be changed).
* Restart operation to achieve consistent behavior.
*/
- del_toperation_state(ch, &ts);
if (ts.modified != 0)
goto restart;
More information about the svn-src-head
mailing list