Fix some bugs in mtd/jffs2 on 64bit platform. The MEMGETBADBLOCK/MEMSETBADBLOCK ioctl are not listed in compat_ioctl.h. And some variables in jffs2 are declared as uint32_t but used to hold size_t values.
Unified · Split
| @@ -406,7 +406,8 @@ static int check_node_data(struct jffs2_sb_info *c, struct jffs2_tmp_dnode_info · 405 unmodified lines | |||
| 406 | int err = 0, pointed = 0; | 406 | int err = 0, pointed = 0; |
| 407 | struct jffs2_eraseblock *jeb; | 407 | struct jffs2_eraseblock *jeb; |
| 408 | unsigned char *buffer; | 408 | unsigned char *buffer; |
| 409 | uint32_t crc, ofs, retlen, len; | 409 | uint32_t crc, ofs, len; |
| 410 | size_t retlen; | ||
| 410 | 411 | ||
| 411 | BUG_ON(tn->csize == 0); | 412 | BUG_ON(tn->csize == 0); |
| 412 | 413 | ||
| @@ -112,7 +112,7 @@ static struct jffs2_raw_node_ref *jffs2_first_valid_node(struct jffs2_raw_node_r · 111 unmodified lines | |||
| 112 | * negative error code on failure. | 112 | * negative error code on failure. |
| 113 | */ | 113 | */ |
| 114 | static inline int read_direntry(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref, | 114 | static inline int read_direntry(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref, |
| 115 | struct jffs2_raw_dirent *rd, uint32_t read, struct jffs2_full_dirent **fdp, | 115 | struct jffs2_raw_dirent *rd, size_t read, struct jffs2_full_dirent **fdp, |
| 116 | uint32_t *latest_mctime, uint32_t *mctime_ver) | 116 | uint32_t *latest_mctime, uint32_t *mctime_ver) |
| 117 | { | 117 | { |
| 118 | struct jffs2_full_dirent *fd; | 118 | struct jffs2_full_dirent *fd; |
| @@ -696,6 +696,8 @@ COMPATIBLE_IOCTL(MEMLOCK) · 695 unmodified lines | |||
| 696 | COMPATIBLE_IOCTL(MEMUNLOCK) | 696 | COMPATIBLE_IOCTL(MEMUNLOCK) |
| 697 | COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) | 697 | COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) |
| 698 | COMPATIBLE_IOCTL(MEMGETREGIONINFO) | 698 | COMPATIBLE_IOCTL(MEMGETREGIONINFO) |
| 699 | COMPATIBLE_IOCTL(MEMGETBADBLOCK) | ||
| 700 | COMPATIBLE_IOCTL(MEMSETBADBLOCK) | ||
| 699 | /* NBD */ | 701 | /* NBD */ |
| 700 | ULONG_IOCTL(NBD_SET_SOCK) | 702 | ULONG_IOCTL(NBD_SET_SOCK) |
| 701 | ULONG_IOCTL(NBD_SET_BLKSIZE) | 703 | ULONG_IOCTL(NBD_SET_BLKSIZE) |