[BUG] fs: f2fs: Possible null-pointer dereferences in update_general_status()

From: Jia-Ju Bai
Date: Thu Jul 25 2019 - 14:04:41 EST


In update_general_status(), there are two if statements to
check whether SM_I(sbi) is NULL:
LINE 70:ÂÂÂÂ if (SM_I(sbi) && SM_I(sbi)->fcc_info)
LINE 78:ÂÂÂÂ if (SM_I(sbi) && SM_I(sbi)->dcc_info)

When SM_I(sbi) is NULL, it is used at some places, such as:
LINE 88: reserved_segments(sbi)
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ return SM_I(sbi)->reserved_segments;
LINE 89: overprovision_segments(sbi)
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ return SM_I(sbi)->ovp_segments;
LINE 112: MAIN_SEGS(sbi)
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ (SM_I(sbi)->main_segments)

Thus, possible null-pointer dereferences may occur.

These bugs are found by a static analysis tool STCheck written by us.

I do not know how to correctly fix these bugs, so I only report them.


Best wishes,
Jia-Ju Bai