Re: [f2fs-dev] [PATCH 1/1] f2fs: sanity check size of nat and sit cache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2017/6/2 7:28, Jaegeuk Kim wrote:
> Hi Jin,
> 
> The patch format is not applicable to be merged.
> I'll take care of this at this time, so please check it from f2fs/dev-test.

Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx>

Thanks,

> 
> Thanks,
> 
> On 06/01, Jin Qian wrote:
>> Make sure number of entires doesn't exceed max journal size.
>>
>> Cc: stable@xxxxxxxxxxxxxxx
>> Signed-off-by: Jin Qian <jinqian@xxxxxxxxxxx>
>> ---
>>  fs/f2fs/segment.c | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>>
>> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
>> index de31030b5041..b07385630150 100644
>> --- a/fs/f2fs/segment.c
>> +++ b/fs/f2fs/segment.c
>> @@ -2337,10 +2337,15 @@ static int read_compacted_summaries(struct
>> f2fs_sb_info *sbi)
>>         /* Step 1: restore nat cache */
>>         seg_i = CURSEG_I(sbi, CURSEG_HOT_DATA);
>>         memcpy(seg_i->journal, kaddr, SUM_JOURNAL_SIZE);
>> +       if (nats_in_cursum(seg_i->journal) > NAT_JOURNAL_ENTRIES)
>> +               return -EINVAL;
>>
>>         /* Step 2: restore sit cache */
>>         seg_i = CURSEG_I(sbi, CURSEG_COLD_DATA);
>>         memcpy(seg_i->journal, kaddr + SUM_JOURNAL_SIZE, SUM_JOURNAL_SIZE);
>> +       if (sits_in_cursum(seg_i->journal) > SIT_JOURNAL_ENTRIES)
>> +               return -EINVAL;
>> +
>>         offset = 2 * SUM_JOURNAL_SIZE;
>>
>>         /* Step 3: restore summary entries */
>> @@ -2431,6 +2436,12 @@ static int read_normal_summaries(struct
>> f2fs_sb_info *sbi, int type)
>>                                 return err;
>>                         }
>>                 }
>> +       } else {
>> +               if ((type == CURSEG_HOT_DATA &&
>> +                       nats_in_cursum(sum->journal) > NAT_JOURNAL_ENTRIES) ||
>> +                   (type == CURSEG_COLD_DATA &&
>> +                       sits_in_cursum(sum->journal) > SIT_JOURNAL_ENTRIES))
>> +               return -EINVAL;
>>         }
>>
>>         /* set uncompleted segment to curseg */
>> -- 
>> 2.13.0.506.g27d5fe0cd-goog
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> 
> 




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]