Hello Alistair Popple, Commit 738ec092051b ("fs/dax: create a common implementation to break DAX layouts") from Jan 7, 2025 (linux-next), leads to the following Smatch static checker warning:
fs/dax.c:966 dax_break_mapping() error: uninitialized symbol 'error'. fs/dax.c 946 int dax_break_mapping(struct inode *inode, loff_t start, loff_t end, 947 void (cb)(struct inode *)) 948 { 949 struct page *page; 950 int error; 951 952 if (!dax_mapping(inode->i_mapping)) 953 return 0; 954 955 do { 956 page = dax_layout_busy_page_range(inode->i_mapping, start, end); 957 if (!page) error is uninitialized if dax_layout_busy_page_range() returns NULL on first iteration. 958 break; 959 960 error = wait_page_idle(page, cb, inode); 961 } while (error == 0); 962 963 if (!page) 964 dax_delete_mapping_range(inode->i_mapping, start, end); 965 966 return error; 967 } regards, dan carpenter