diff options
author | Jan Kara <jack@suse.cz> | 2022-12-20 12:38:45 +0100 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2023-01-09 10:39:53 +0100 |
commit | 0aba4860b0d0216a1a300484ff536171894d49d8 (patch) | |
tree | 27697bed83fd7762bc3ab8e7efeba20a38696aec /fs/udf/udfdecl.h | |
parent | 19fd80de0a8b5170ef34704c8984cca920dffa59 (diff) |
udf: Allocate name buffer in directory iterator on heap
Currently we allocate name buffer in directory iterators (struct
udf_fileident_iter) on stack. These structures are relatively large
(some 360 bytes on 64-bit architectures). For udf_rename() which needs
to keep three of these structures in parallel the stack usage becomes
rather heavy - 1536 bytes in total. Allocate the name buffer in the
iterator from heap to avoid excessive stack usage.
Link: https://lore.kernel.org/all/202212200558.lK9x1KW0-lkp@intel.com
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf/udfdecl.h')
-rw-r--r-- | fs/udf/udfdecl.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index f764b4d15094..d35aa42bb577 100644 --- a/fs/udf/udfdecl.h +++ b/fs/udf/udfdecl.h @@ -99,7 +99,7 @@ struct udf_fileident_iter { struct extent_position epos; /* Position after the above extent */ struct fileIdentDesc fi; /* Copied directory entry */ uint8_t *name; /* Pointer to entry name */ - uint8_t namebuf[UDF_NAME_LEN_CS0]; /* Storage for entry name in case + uint8_t *namebuf; /* Storage for entry name in case * the name is split between two blocks */ }; |