|
@@ -199,12 +199,13 @@ static const char *qnx4_checkroot(struct super_block *sb)
|
|
if (!strcmp(rootdir->di_fname,
|
|
if (!strcmp(rootdir->di_fname,
|
|
QNX4_BMNAME)) {
|
|
QNX4_BMNAME)) {
|
|
found = 1;
|
|
found = 1;
|
|
- qnx4_sb(sb)->BitMap = kmalloc( sizeof( struct qnx4_inode_entry ), GFP_KERNEL );
|
|
|
|
|
|
+ qnx4_sb(sb)->BitMap = kmemdup(rootdir,
|
|
|
|
+ sizeof(struct qnx4_inode_entry),
|
|
|
|
+ GFP_KERNEL);
|
|
if (!qnx4_sb(sb)->BitMap) {
|
|
if (!qnx4_sb(sb)->BitMap) {
|
|
brelse (bh);
|
|
brelse (bh);
|
|
return "not enough memory for bitmap inode";
|
|
return "not enough memory for bitmap inode";
|
|
- }
|
|
|
|
- memcpy( qnx4_sb(sb)->BitMap, rootdir, sizeof( struct qnx4_inode_entry ) ); /* keep bitmap inode known */
|
|
|
|
|
|
+ }/* keep bitmap inode known */
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|