| .. | .. |
|---|
| 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; |
|---|