[bug report] staging: erofs: introduce erofs_grab_bio

Dan Carpenter dan.carpenter at oracle.com
Wed Aug 28 20:55:41 AEST 2019


Hello Gao Xiang,

The patch 8be31270362b: "staging: erofs: introduce erofs_grab_bio"
from Aug 21, 2018, leads to the following static checker warning:

	fs/erofs/zdata.c:1272 z_erofs_vle_submit_all()
	error: 'bio' dereferencing possible ERR_PTR()

fs/erofs/zdata.c
  1259                  if (bio && force_submit) {
  1260  submit_bio_retry:
  1261                          __submit_bio(bio, REQ_OP_READ, 0);
  1262                          bio = NULL;
  1263                  }
  1264  
  1265                  if (!bio) {
  1266                          bio = erofs_grab_bio(sb, first_index + i,
  1267                                               BIO_MAX_PAGES, bi_private,
  1268                                               z_erofs_vle_read_endio, true);

This assumes erofs_grab_bio() can't fail.  It returns ERR_PTR(-ENOMEM)
on failure.

  1269                          ++nr_bios;
  1270                  }
  1271  
  1272                  err = bio_add_page(bio, page, PAGE_SIZE, 0);
  1273                  if (err < PAGE_SIZE)
  1274                          goto submit_bio_retry;
  1275  
  1276                  force_submit = false;
  1277                  last_index = first_index + i;
  1278  skippage:
  1279                  if (++i < clusterpages)
  1280                          goto repeat;

regards,
dan carpenter


More information about the Linux-erofs mailing list