Skip to content

Commit 0d250b1

Browse files
committed
fs/jfs: consolidate sanity checking in dbMount
Sanity checks have been added to dbMount as individual if clauses with identical error handling. Move these all into one clause. Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
1 parent ddf2846 commit 0d250b1

File tree

1 file changed

+9
-28
lines changed

1 file changed

+9
-28
lines changed

fs/jfs/jfs_dmap.c

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -178,45 +178,26 @@ int dbMount(struct inode *ipbmap)
178178
dbmp_le = (struct dbmap_disk *) mp->data;
179179
bmp->db_mapsize = le64_to_cpu(dbmp_le->dn_mapsize);
180180
bmp->db_nfree = le64_to_cpu(dbmp_le->dn_nfree);
181-
182181
bmp->db_l2nbperpage = le32_to_cpu(dbmp_le->dn_l2nbperpage);
183-
if (bmp->db_l2nbperpage > L2PSIZE - L2MINBLOCKSIZE ||
184-
bmp->db_l2nbperpage < 0) {
185-
err = -EINVAL;
186-
goto err_release_metapage;
187-
}
188-
189182
bmp->db_numag = le32_to_cpu(dbmp_le->dn_numag);
190-
if (!bmp->db_numag || bmp->db_numag > MAXAG) {
191-
err = -EINVAL;
192-
goto err_release_metapage;
193-
}
194-
195183
bmp->db_maxlevel = le32_to_cpu(dbmp_le->dn_maxlevel);
196184
bmp->db_maxag = le32_to_cpu(dbmp_le->dn_maxag);
197185
bmp->db_agpref = le32_to_cpu(dbmp_le->dn_agpref);
198-
if (bmp->db_maxag >= MAXAG || bmp->db_maxag < 0 ||
199-
bmp->db_agpref >= MAXAG || bmp->db_agpref < 0) {
200-
err = -EINVAL;
201-
goto err_release_metapage;
202-
}
203-
204186
bmp->db_aglevel = le32_to_cpu(dbmp_le->dn_aglevel);
205187
bmp->db_agheight = le32_to_cpu(dbmp_le->dn_agheight);
206188
bmp->db_agwidth = le32_to_cpu(dbmp_le->dn_agwidth);
207-
if (!bmp->db_agwidth) {
208-
err = -EINVAL;
209-
goto err_release_metapage;
210-
}
211189
bmp->db_agstart = le32_to_cpu(dbmp_le->dn_agstart);
212190
bmp->db_agl2size = le32_to_cpu(dbmp_le->dn_agl2size);
213-
if (bmp->db_agl2size > L2MAXL2SIZE - L2MAXAG ||
214-
bmp->db_agl2size < 0) {
215-
err = -EINVAL;
216-
goto err_release_metapage;
217-
}
218191

219-
if (((bmp->db_mapsize - 1) >> bmp->db_agl2size) > MAXAG) {
192+
if ((bmp->db_l2nbperpage > L2PSIZE - L2MINBLOCKSIZE) ||
193+
(bmp->db_l2nbperpage < 0) ||
194+
!bmp->db_numag || (bmp->db_numag > MAXAG) ||
195+
(bmp->db_maxag >= MAXAG) || (bmp->db_maxag < 0) ||
196+
(bmp->db_agpref >= MAXAG) || (bmp->db_agpref < 0) ||
197+
!bmp->db_agwidth ||
198+
(bmp->db_agl2size > L2MAXL2SIZE - L2MAXAG) ||
199+
(bmp->db_agl2size < 0) ||
200+
((bmp->db_mapsize - 1) >> bmp->db_agl2size) > MAXAG) {
220201
err = -EINVAL;
221202
goto err_release_metapage;
222203
}

0 commit comments

Comments
 (0)