diff -rup linux/fs/reiserfs/bitmap.c linux.patched/fs/reiserfs/bitmap.c
--- linux/fs/reiserfs/bitmap.c	Tue Nov 13 15:58:58 2001
+++ linux.patched/fs/reiserfs/bitmap.c	Tue Nov 13 16:17:28 2001
@@ -103,6 +103,13 @@ void reiserfs_free_block (struct reiserf
 
   get_bit_address (s, block, &nr, &offset);
 
+  if (nr >= sb_bmap_nr (rs)) {
+	  reiserfs_warning ("vs-4075: reiserfs_free_block: "
+			    "block %lu is out of range on %s\n", 
+			    block, bdevname(s->s_dev));
+	  return;
+  }
+
   /* mark it before we clear it, just in case */
   journal_mark_freed(th, s, block) ;
 
