mirror of
https://gitee.com/openharmony/third_party_f2fs-tools
synced 2024-11-26 19:51:32 +00:00
Fix f2fs_report_zone()
The definition of struct blk_zone_report is as follows:
struct blk_zone_report {
__u64 sector;
__u32 nr_zones;
__u32 flags;
struct blk_zone zones[0];
};
Since f2fs_report_zone() allocates the above data structure with
malloc() and since f2fs_report_zone() only initializes the sector and
nr_zones members, the flags member is not initialized. Modify
f2fs_report_zone() such that 0 is passed as flags to the
BLKREPORTZONE ioctl instead of a random value. This has been
discovered by reading the source code.
Cc: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Fixes: 6d7c7b785f
("libf2fs_zoned: Introduce f2fs_report_zone() helper function")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
b5a09b25b7
commit
a491213a0d
@ -208,7 +208,8 @@ int f2fs_report_zone(int i, uint64_t sector, void *blkzone)
|
||||
struct blk_zone_report *rep;
|
||||
int ret = -1;
|
||||
|
||||
rep = malloc(sizeof(struct blk_zone_report) + sizeof(struct blk_zone));
|
||||
rep = calloc(1, sizeof(struct blk_zone_report) +
|
||||
sizeof(struct blk_zone));
|
||||
if (!rep) {
|
||||
ERR_MSG("No memory for report zones\n");
|
||||
return -ENOMEM;
|
||||
|
Loading…
Reference in New Issue
Block a user