summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2025-03-08 11:36:02 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2025-03-08 11:36:24 +0100
commit86ea895b1a208925dfc034fac22db2a512a3fab8 (patch)
treec64474ff3826503404d989e631bb2c4f7b422757
parent311de4e36b94d5956fc29197a26f35d9dd913f3b (diff)
ext2fs: Fix failed assertion on ENOSPC
find_block ignores EINVAL errors, we need to reconstruct it
-rw-r--r--ext2fs/pager.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext2fs/pager.c b/ext2fs/pager.c
index 61db0dff..e8a5a66a 100644
--- a/ext2fs/pager.c
+++ b/ext2fs/pager.c
@@ -410,7 +410,11 @@ file_pager_write_page (struct node *node, vm_offset_t offset, void *buf)
err = find_block (node, offset, &block, &lock);
if (err)
break;
- assert_backtrace (block);
+ if (!block)
+ {
+ err = EINVAL;
+ break;
+ }
pending_blocks_add (&pb, block);
offset += block_size;
left -= block_size;