Brian Behlendorf
48c67dc8f8
Fix stack dsl_deleg_get()
...
Reduce stack usage in dsl_deleg_get, gcc flagged it as consuming a
whopping 1040 bytes or potentially 1/4 of a 4K stack. This patch
moves all the large structures and buffer off the stack and on to
the heap. This includes 2 zap_cursor_t structs each 52 bytes in
size, 2 zap_attribute_t structs each 280 bytes in size, and 1
256 byte char array. The total saves on the stack is 880 bytes
after you account for the 5 new pointers added.
Also the source buffer length has been increased from MAXNAMELEN
to MAXNAMELEN+strlen(MOS_DIR_NAME)+1 as described by the comment in
dsl_dir_name(). A buffer overrun may have been possible with the
slightly smaller buffer.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-31 08:38:48 -07:00
..
2010-08-31 08:38:45 -07:00
2010-08-31 08:38:46 -07:00
2010-08-31 08:38:35 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 08:38:47 -07:00
2010-05-28 13:45:14 -07:00
2010-08-27 15:28:32 -07:00
2010-08-26 14:24:34 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 08:38:47 -07:00
2010-08-31 08:38:35 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 08:38:35 -07:00
2010-08-31 08:38:35 -07:00
2010-08-31 08:38:45 -07:00
2010-08-31 08:38:45 -07:00
2010-08-31 08:38:47 -07:00
2010-08-31 08:38:48 -07:00
2010-05-28 13:45:14 -07:00
2010-08-31 08:38:48 -07:00
2010-08-31 08:38:43 -07:00
2010-08-31 08:38:35 -07:00
2010-08-31 08:38:35 -07:00
2010-08-27 15:34:03 -07:00
2010-08-31 08:38:35 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 08:38:46 -07:00
2010-08-31 08:38:43 -07:00
2010-08-31 08:38:45 -07:00
2010-08-31 08:38:43 -07:00
2009-08-18 11:43:27 -07:00
2010-08-31 08:38:43 -07:00
2010-05-28 13:45:14 -07:00
2010-05-28 13:45:14 -07:00
2010-08-26 14:24:34 -07:00
2010-05-28 13:45:14 -07:00
2010-08-27 15:34:03 -07:00
2010-08-31 08:38:43 -07:00
2010-08-31 08:38:43 -07:00
2010-05-28 13:45:14 -07:00
2010-08-31 08:38:44 -07:00
2010-05-28 13:45:14 -07:00
2010-08-27 15:34:02 -07:00
2010-08-31 08:38:43 -07:00
2010-08-31 08:38:43 -07:00
2010-08-31 08:38:43 -07:00
2010-08-27 15:28:32 -07:00
2010-05-28 13:45:14 -07:00
2010-08-27 15:28:32 -07:00
2010-08-31 08:38:44 -07:00
2010-08-27 15:28:32 -07:00
2010-08-31 08:38:45 -07:00
2010-08-31 08:38:43 -07:00
2010-08-31 08:38:46 -07:00
2010-08-31 08:38:46 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 08:38:43 -07:00
2010-08-26 14:24:34 -07:00
2010-05-28 13:45:14 -07:00
2010-08-26 14:24:34 -07:00
2010-05-28 13:45:14 -07:00
2010-08-31 08:38:35 -07:00
2010-08-31 08:38:47 -07:00
2010-08-26 14:24:34 -07:00
2010-08-26 14:24:34 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 08:38:43 -07:00
2010-08-26 14:24:34 -07:00
2010-08-26 14:24:34 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 08:38:44 -07:00
2010-08-31 08:38:43 -07:00
2010-05-28 13:45:14 -07:00
2010-05-28 13:45:14 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 08:38:46 -07:00
2010-05-28 13:45:14 -07:00
2010-08-27 15:28:32 -07:00