Hello Sergey Bashirov, Commit d84c4754f874 ("pNFS: Fix extent encoding in block/scsi layout") from Jun 30, 2025 (linux-next), leads to the following Smatch static checker warning: fs/nfs/blocklayout/extent_tree.c:615 ext_tree_encode_commit() error: uninitialized symbol 'be_prev'. fs/nfs/blocklayout/extent_tree.c 584 static int 585 ext_tree_encode_commit(struct pnfs_block_layout *bl, __be32 *p, 586 size_t buffer_size, size_t *count, __u64 *lastbyte) 587 { 588 struct pnfs_block_extent *be, *be_prev; 589 int ret = 0; 590 591 spin_lock(&bl->bl_ext_lock); 592 for (be = ext_tree_first(&bl->bl_ext_rw); be; be = ext_tree_next(be)) { 593 if (be->be_state != PNFS_BLOCK_INVALID_DATA || 594 be->be_tag != EXTENT_WRITTEN) 595 continue; 596 597 (*count)++; 598 if (ext_tree_layoutupdate_size(bl, *count) > buffer_size) { 599 (*count)--; 600 ret = -ENOSPC; If we fail on the first iteration then be_prev is uninitialized. 601 break; 602 } 603 604 if (bl->bl_scsi_layout) 605 p = encode_scsi_range(be, p); 606 else 607 p = encode_block_extent(be, p); 608 be->be_tag = EXTENT_COMMITTING; 609 be_prev = be; 610 } 611 if (!ret) { 612 *lastbyte = (bl->bl_lwb != 0) ? bl->bl_lwb - 1 : U64_MAX; 613 bl->bl_lwb = 0; 614 } else { --> 615 *lastbyte = be_prev->be_f_offset + be_prev->be_length; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dereferenced here. 616 *lastbyte <<= SECTOR_SHIFT; 617 *lastbyte -= 1; 618 } 619 spin_unlock(&bl->bl_ext_lock); 620 621 return ret; 622 } regards, dan carpenter