mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2025-12-10 07:44:53 +01:00
Revert "ipq807x: fat: Fix overflow issue"
This reverts commit 8791ff3dab.
Change-Id: I03af0ce35aa2df9e381b98c3842e4b88fbd35e1d
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
This commit is contained in:
parent
8d977bd916
commit
107d511bdc
3 changed files with 13 additions and 20 deletions
|
|
@ -377,7 +377,7 @@ static int dump_wlan_segments(struct dumpinfo_t *dumpinfo, int indx)
|
|||
|
||||
if (cur_type == QCA_WDT_LOG_DUMP_TYPE_WLAN_MOD_INFO) {
|
||||
snprintf(wlan_segment_name, sizeof(wlan_segment_name),
|
||||
"MOD_INFO.txt");
|
||||
"MODULE_INFO.txt");
|
||||
wlan_tlv_size = *(uint32_t *)(uintptr_t)tlv_info.size;
|
||||
} else {
|
||||
snprintf(wlan_segment_name,
|
||||
|
|
|
|||
|
|
@ -806,25 +806,21 @@ static void fill_dentry(fsdata *mydata, dir_entry *dentptr,
|
|||
static int check_overflow(fsdata *mydata, __u32 clustnum, loff_t size)
|
||||
{
|
||||
__u32 startsect, sect_num, offset;
|
||||
__u32 total_clusters = 0;
|
||||
|
||||
total_clusters = ((total_sector - mydata->rootdir_sect -
|
||||
mydata->rootdir_size) /
|
||||
mydata->clust_size) - 3;
|
||||
|
||||
/* the last sectors could be orphaned and not belong to any cluster */
|
||||
if (clustnum >= total_clusters) {
|
||||
return -1;
|
||||
} else if (!clustnum) {
|
||||
if (clustnum > 0) {
|
||||
startsect = mydata->data_begin +
|
||||
clustnum * mydata->clust_size;
|
||||
} else {
|
||||
startsect = mydata->rootdir_sect;
|
||||
}
|
||||
|
||||
sect_num = div_u64_rem(size, mydata->sect_size, &offset);
|
||||
|
||||
if (offset != 0)
|
||||
sect_num++;
|
||||
|
||||
if (startsect + sect_num > total_sector)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1007,9 +1003,8 @@ static int do_fat_write(const char *filename, void *buffer, loff_t size,
|
|||
if (mydata->fatsize == 32) {
|
||||
mydata->data_begin = mydata->rootdir_sect -
|
||||
(mydata->clust_size * 2);
|
||||
mydata->rootdir_size = 0;
|
||||
} else {
|
||||
__u16 rootdir_size;
|
||||
int rootdir_size;
|
||||
|
||||
rootdir_size = ((bs.dir_entries[1] * (int)256 +
|
||||
bs.dir_entries[0]) *
|
||||
|
|
@ -1018,7 +1013,6 @@ static int do_fat_write(const char *filename, void *buffer, loff_t size,
|
|||
mydata->data_begin = mydata->rootdir_sect +
|
||||
rootdir_size -
|
||||
(mydata->clust_size * 2);
|
||||
mydata->rootdir_size = rootdir_size;
|
||||
}
|
||||
|
||||
mydata->fatbufnum = -1;
|
||||
|
|
|
|||
|
|
@ -174,7 +174,6 @@ typedef struct {
|
|||
__u16 clust_size; /* Size of clusters in sectors */
|
||||
int data_begin; /* The sector of the first cluster, can be negative */
|
||||
int fatbufnum; /* Used by get_fatent, init to -1 */
|
||||
__u16 rootdir_size; /* total sectors in rootdir */
|
||||
} fsdata;
|
||||
|
||||
typedef int (file_detectfs_func)(void);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue