diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
index f1268cb6a37ce42fb5c649261b7e6c7af2a323f4..b5e91d7cc3f30ef20a007c97cd3169c360bce83c 100644
--- a/fs/erofs/internal.h
+++ b/fs/erofs/internal.h
@@ -304,7 +304,7 @@ struct erofs_inode {
 
 	unsigned char datalayout;
 	unsigned char inode_isize;
-	unsigned short xattr_isize;
+	unsigned int xattr_isize;
 
 	unsigned int xattr_shared_count;
 	unsigned int *xattr_shared_xattrs;