.. | .. |
---|
194 | 194 | */ |
---|
195 | 195 | static void orangefs_kernel_debug_init(void) |
---|
196 | 196 | { |
---|
197 | | - int rc = -ENOMEM; |
---|
198 | | - char *k_buffer = NULL; |
---|
| 197 | + static char k_buffer[ORANGEFS_MAX_DEBUG_STRING_LEN] = { }; |
---|
199 | 198 | |
---|
200 | 199 | gossip_debug(GOSSIP_DEBUGFS_DEBUG, "%s: start\n", __func__); |
---|
201 | | - |
---|
202 | | - k_buffer = kzalloc(ORANGEFS_MAX_DEBUG_STRING_LEN, GFP_KERNEL); |
---|
203 | | - if (!k_buffer) |
---|
204 | | - goto out; |
---|
205 | 200 | |
---|
206 | 201 | if (strlen(kernel_debug_string) + 1 < ORANGEFS_MAX_DEBUG_STRING_LEN) { |
---|
207 | 202 | strcpy(k_buffer, kernel_debug_string); |
---|
.. | .. |
---|
213 | 208 | |
---|
214 | 209 | debugfs_create_file(ORANGEFS_KMOD_DEBUG_FILE, 0444, debug_dir, k_buffer, |
---|
215 | 210 | &kernel_debug_fops); |
---|
216 | | - |
---|
217 | | -out: |
---|
218 | | - gossip_debug(GOSSIP_DEBUGFS_DEBUG, "%s: rc:%d:\n", __func__, rc); |
---|
219 | 211 | } |
---|
220 | 212 | |
---|
221 | 213 | |
---|
222 | 214 | void orangefs_debugfs_cleanup(void) |
---|
223 | 215 | { |
---|
224 | 216 | debugfs_remove_recursive(debug_dir); |
---|
| 217 | + kfree(debug_help_string); |
---|
| 218 | + debug_help_string = NULL; |
---|
225 | 219 | } |
---|
226 | 220 | |
---|
227 | 221 | /* open ORANGEFS_KMOD_DEBUG_HELP_FILE */ |
---|
.. | .. |
---|
297 | 291 | /* |
---|
298 | 292 | * initialize the client-debug file. |
---|
299 | 293 | */ |
---|
300 | | -static int orangefs_client_debug_init(void) |
---|
| 294 | +static void orangefs_client_debug_init(void) |
---|
301 | 295 | { |
---|
302 | 296 | |
---|
303 | | - int rc = -ENOMEM; |
---|
304 | | - char *c_buffer = NULL; |
---|
| 297 | + static char c_buffer[ORANGEFS_MAX_DEBUG_STRING_LEN] = { }; |
---|
305 | 298 | |
---|
306 | 299 | gossip_debug(GOSSIP_DEBUGFS_DEBUG, "%s: start\n", __func__); |
---|
307 | | - |
---|
308 | | - c_buffer = kzalloc(ORANGEFS_MAX_DEBUG_STRING_LEN, GFP_KERNEL); |
---|
309 | | - if (!c_buffer) |
---|
310 | | - goto out; |
---|
311 | 300 | |
---|
312 | 301 | if (strlen(client_debug_string) + 1 < ORANGEFS_MAX_DEBUG_STRING_LEN) { |
---|
313 | 302 | strcpy(c_buffer, client_debug_string); |
---|
.. | .. |
---|
322 | 311 | debug_dir, |
---|
323 | 312 | c_buffer, |
---|
324 | 313 | &kernel_debug_fops); |
---|
325 | | - |
---|
326 | | - rc = 0; |
---|
327 | | - |
---|
328 | | -out: |
---|
329 | | - |
---|
330 | | - gossip_debug(GOSSIP_DEBUGFS_DEBUG, "%s: rc:%d:\n", __func__, rc); |
---|
331 | | - return rc; |
---|
332 | 314 | } |
---|
333 | 315 | |
---|
334 | 316 | /* open ORANGEFS_KMOD_DEBUG_FILE or ORANGEFS_CLIENT_DEBUG_FILE.*/ |
---|
.. | .. |
---|
671 | 653 | memset(debug_help_string, 0, DEBUG_HELP_STRING_SIZE); |
---|
672 | 654 | strlcat(debug_help_string, new, string_size); |
---|
673 | 655 | mutex_unlock(&orangefs_help_file_lock); |
---|
| 656 | + kfree(new); |
---|
674 | 657 | } |
---|
675 | 658 | |
---|
676 | 659 | rc = 0; |
---|