Now the patches I sent upstram are applied or noticed to be obsolete.
Update the patches and their description accordingly. For the obsolete
patch ("flash_otp_write: fix format string warning") cherry-pick the
corresponding patches from upstream.Signed-off-by: Uwe Kleine-König <[email protected]> --- ...ce-PRIxoff_t-and-PRIdoff_t-printf-helpers.patch | 51 +++ ...nsistency-between-u_int32_t-off_t-off64_t.patch | 434 +++++++++++++++++++++ ...flash_otp_write-fix-format-string-warning.patch | 30 -- ...tional.patch => 0003-make-ubifs-optional.patch} | 4 +- ...004-Make-liblzo-optional-for-ubifs-tools.patch} | 6 +- ...ite-fix-writing-to-NAND-in-presence-of-p.patch} | 22 +- ...ite-fix-a-buffer-overflow-on-NAND-with-w.patch} | 18 +- ...o-build-and-install-flash_otp_lock-and-f.patch} | 14 +- patches/mtd-utils-1.5.0/series | 15 +- 9 files changed, 531 insertions(+), 63 deletions(-) create mode 100644 patches/mtd-utils-1.5.0/0001-introduce-PRIxoff_t-and-PRIdoff_t-printf-helpers.patch create mode 100644 patches/mtd-utils-1.5.0/0002-consistency-between-u_int32_t-off_t-off64_t.patch delete mode 100644 patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch rename patches/mtd-utils-1.5.0/{0001-make-ubifs-optional.patch => 0003-make-ubifs-optional.patch} (88%) rename patches/mtd-utils-1.5.0/{0002-Make-liblzo-optional-for-ubifs-tools.patch => 0004-Make-liblzo-optional-for-ubifs-tools.patch} (92%) rename patches/mtd-utils-1.5.0/{0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch => 0005-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch} (74%) rename patches/mtd-utils-1.5.0/{0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch => 0006-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch} (65%) rename patches/mtd-utils-1.5.0/{0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch => 0007-Makefile-also-build-and-install-flash_otp_lock-and-f.patch} (76%) diff --git a/patches/mtd-utils-1.5.0/0001-introduce-PRIxoff_t-and-PRIdoff_t-printf-helpers.patch b/patches/mtd-utils-1.5.0/0001-introduce-PRIxoff_t-and-PRIdoff_t-printf-helpers.patch new file mode 100644 index 0000000..2476f64 --- /dev/null +++ b/patches/mtd-utils-1.5.0/0001-introduce-PRIxoff_t-and-PRIdoff_t-printf-helpers.patch @@ -0,0 +1,51 @@ +From: Richard Genoud <[email protected]> +Date: Wed, 12 Sep 2012 16:38:33 +0200 +Subject: [PATCH mtd-utils] introduce PRIxoff_t and PRIdoff_t printf helpers +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +They will be usefull when printing offsets. + +Signed-off-by: Richard Genoud <[email protected]> +Signed-off-by: Artem Bityutskiy <[email protected]> +Signed-off-by: Uwe Kleine-König <[email protected]> +--- + +Notes: + Origin: upstream, commit:4f1b10827b81cd9acaa9e02b0da0dc447f1471ea + + This patch is a dependency for the following patch. + + include/common.h | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/include/common.h b/include/common.h +index 88b67e5..d0c4146 100644 +--- a/include/common.h ++++ b/include/common.h +@@ -25,6 +25,8 @@ + #include <string.h> + #include <fcntl.h> + #include <errno.h> ++#include <features.h> ++#include <inttypes.h> + #include "version.h" + + #ifndef PROGRAM_NAME +@@ -48,6 +50,15 @@ extern "C" { + #define O_CLOEXEC 0 + #endif + ++/* define a print format specifier for off_t */ ++#ifdef __USE_FILE_OFFSET64 ++#define PRIxoff_t PRIx64 ++#define PRIdoff_t PRId64 ++#else ++#define PRIxoff_t "l"PRIx32 ++#define PRIdoff_t "l"PRId32 ++#endif ++ + /* Verbose messages */ + #define bareverbose(verbose, fmt, ...) do { \ + if (verbose) \ diff --git a/patches/mtd-utils-1.5.0/0002-consistency-between-u_int32_t-off_t-off64_t.patch b/patches/mtd-utils-1.5.0/0002-consistency-between-u_int32_t-off_t-off64_t.patch new file mode 100644 index 0000000..23c6d99 --- /dev/null +++ b/patches/mtd-utils-1.5.0/0002-consistency-between-u_int32_t-off_t-off64_t.patch @@ -0,0 +1,434 @@ +From: Richard Genoud <[email protected]> +Date: Wed, 12 Sep 2012 16:38:34 +0200 +Subject: [PATCH mtd-utils] consistency between u_int32_t / off_t / off64_t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We should use the off_t type instead of off64_t or u_int32_t as its +length is controlled by the WITHOUT_LARGEFILE flag. + +Signed-off-by: Richard Genoud <[email protected]> +Signed-off-by: Artem Bityutskiy <[email protected]> +Signed-off-by: Uwe Kleine-König <[email protected]> +--- + +Notes: + Origin: upstream, commit:f3f3a208048eac5f8b5752a17ebcd44db9230fd8 + + This fixes + flash_otp_write.c: In function 'main': + flash_otp_write.c:61:2: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'off_t' [-Wformat] + + flash_erase.c | 16 ++++++++-------- + flash_otp_write.c | 5 +++-- + ftl_check.c | 6 ++++-- + ftl_format.c | 2 +- + lib/libmtd.c | 12 ++++++------ + mkfs.ubifs/mkfs.ubifs.c | 11 +++++------ + mtd_debug.c | 14 +++++++------- + tests/fs-tests/integrity/integck.c | 4 ++-- + tests/ubi-tests/integ.c | 38 +++++++++++++++++++------------------- + 9 files changed, 55 insertions(+), 53 deletions(-) + +diff --git a/flash_erase.c b/flash_erase.c +index fe2eaca..326a299 100644 +--- a/flash_erase.c ++++ b/flash_erase.c +@@ -49,10 +49,10 @@ static int unlock; /* unlock sectors before erasing */ + static struct jffs2_unknown_node cleanmarker; + int target_endian = __BYTE_ORDER; + +-static void show_progress(struct mtd_dev_info *mtd, uint64_t start, int eb, ++static void show_progress(struct mtd_dev_info *mtd, off_t start, int eb, + int eb_start, int eb_cnt) + { +- bareverbose(!quiet, "\rErasing %d Kibyte @ %"PRIx64" -- %2i %% complete ", ++ bareverbose(!quiet, "\rErasing %d Kibyte @ %"PRIxoff_t" -- %2i %% complete ", + mtd->eb_size / 1024, start, ((eb - eb_start) * 100) / eb_cnt); + fflush(stdout); + } +@@ -97,7 +97,7 @@ int main(int argc, char *argv[]) + unsigned int eb, eb_start, eb_cnt; + int isNAND; + int error = 0; +- uint64_t offset = 0; ++ off_t offset = 0; + + /* + * Process user arguments +@@ -235,12 +235,12 @@ int main(int argc, char *argv[]) + eb_cnt = (mtd.size / mtd.eb_size) - eb_start; + + for (eb = eb_start; eb < eb_start + eb_cnt; eb++) { +- offset = (uint64_t)eb * mtd.eb_size; ++ offset = (off_t)eb * mtd.eb_size; + + if (!noskipbad) { + int ret = mtd_is_bad(&mtd, fd, eb); + if (ret > 0) { +- verbose(!quiet, "Skipping bad block at %08"PRIx64, offset); ++ verbose(!quiet, "Skipping bad block at %08"PRIxoff_t, offset); + continue; + } else if (ret < 0) { + if (errno == EOPNOTSUPP) { +@@ -272,12 +272,12 @@ int main(int argc, char *argv[]) + + /* write cleanmarker */ + if (isNAND) { +- if (mtd_write_oob(mtd_desc, &mtd, fd, offset + clmpos, clmlen, &cleanmarker) != 0) { ++ if (mtd_write_oob(mtd_desc, &mtd, fd, (uint64_t)offset + clmpos, clmlen, &cleanmarker) != 0) { + sys_errmsg("%s: MTD writeoob failure", mtd_device); + continue; + } + } else { +- if (lseek(fd, (loff_t)offset, SEEK_SET) < 0) { ++ if (lseek(fd, offset, SEEK_SET) < 0) { + sys_errmsg("%s: MTD lseek failure", mtd_device); + continue; + } +@@ -286,7 +286,7 @@ int main(int argc, char *argv[]) + continue; + } + } +- verbose(!quiet, " Cleanmarker written at %"PRIx64, offset); ++ verbose(!quiet, " Cleanmarker written at %"PRIxoff_t, offset); + } + show_progress(&mtd, offset, eb, eb_start, eb_cnt); + bareverbose(!quiet, "\n"); +diff --git a/flash_otp_write.c b/flash_otp_write.c +index d407ebb..56769ec 100644 +--- a/flash_otp_write.c ++++ b/flash_otp_write.c +@@ -13,6 +13,7 @@ + #include <sys/types.h> + #include <sys/ioctl.h> + ++#include <common.h> + #include <mtd/mtd-user.h> + + int main(int argc,char *argv[]) +@@ -47,7 +48,7 @@ int main(int argc,char *argv[]) + return errno; + } + +- offset = strtoul(argv[3], &p, 0); ++ offset = (off_t)strtoull(argv[3], &p, 0); + if (argv[3][0] == 0 || *p != 0) { + fprintf(stderr, "%s: bad offset value\n", PROGRAM_NAME); + return ERANGE; +@@ -58,7 +59,7 @@ int main(int argc,char *argv[]) + return errno; + } + +- printf("Writing OTP user data on %s at offset 0x%lx\n", argv[2], offset); ++ printf("Writing OTP user data on %s at offset 0x%"PRIxoff_t"\n", argv[2], offset); + + if (mtdInfo.type == MTD_NANDFLASH) + len = mtdInfo.writesize; +diff --git a/ftl_check.c b/ftl_check.c +index 5e75e6a..6d84785 100644 +--- a/ftl_check.c ++++ b/ftl_check.c +@@ -53,6 +53,7 @@ + + #include <byteswap.h> + #include <endian.h> ++#include "common.h" + + #if __BYTE_ORDER == __LITTLE_ENDIAN + # define TO_LE32(x) (x) +@@ -85,7 +86,8 @@ static void check_partition(int fd) + { + mtd_info_t mtd; + erase_unit_header_t hdr, hdr2; +- u_int i, j, nbam, *bam; ++ off_t i; ++ u_int j, nbam, *bam; + int control, data, free, deleted; + + /* Get partition size, block size */ +@@ -142,7 +144,7 @@ static void check_partition(int fd) + perror("read failed"); + break; + } +- printf("\nErase unit %d:\n", i); ++ printf("\nErase unit %"PRIdoff_t":\n", i); + if ((hdr2.FormattedSize != hdr.FormattedSize) || + (hdr2.NumEraseUnits != hdr.NumEraseUnits) || + (hdr2.SerialNumber != hdr.SerialNumber)) +diff --git a/ftl_format.c b/ftl_format.c +index bd4203b..0ce601b 100644 +--- a/ftl_format.c ++++ b/ftl_format.c +@@ -240,7 +240,7 @@ static int format_partition(int fd, int quiet, int interrogate, + /* Distribute transfer units over the entire region */ + step = (spare) ? (FROM_LE16(hdr.NumEraseUnits)/spare) : (FROM_LE16(hdr.NumEraseUnits)+1); + for (i = 0; i < FROM_LE16(hdr.NumEraseUnits); i++) { +- u_int ofs = (i + FROM_LE16(hdr.FirstPhysicalEUN)) << hdr.EraseUnitSize; ++ off_t ofs = (off_t) (i + FROM_LE16(hdr.FirstPhysicalEUN)) << hdr.EraseUnitSize; + if (lseek(fd, ofs, SEEK_SET) == -1) { + perror("seek failed"); + break; +diff --git a/lib/libmtd.c b/lib/libmtd.c +index c4836df..654490e 100644 +--- a/lib/libmtd.c ++++ b/lib/libmtd.c +@@ -1063,8 +1063,8 @@ int mtd_read(const struct mtd_dev_info *mtd, int fd, int eb, int offs, + /* Seek to the beginning of the eraseblock */ + seek = (off_t)eb * mtd->eb_size + offs; + if (lseek(fd, seek, SEEK_SET) != seek) +- return sys_errmsg("cannot seek mtd%d to offset %llu", +- mtd->mtd_num, (unsigned long long)seek); ++ return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, ++ mtd->mtd_num, seek); + + while (rd < len) { + ret = read(fd, buf, len); +@@ -1171,8 +1171,8 @@ int mtd_write(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb, + if (data) { + /* Seek to the beginning of the eraseblock */ + if (lseek(fd, seek, SEEK_SET) != seek) +- return sys_errmsg("cannot seek mtd%d to offset %llu", +- mtd->mtd_num, (unsigned long long)seek); ++ return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, ++ mtd->mtd_num, seek); + ret = write(fd, data, len); + if (ret != len) + return sys_errmsg("cannot write %d bytes to mtd%d " +@@ -1329,8 +1329,8 @@ int mtd_write_img(const struct mtd_dev_info *mtd, int fd, int eb, int offs, + /* Seek to the beginning of the eraseblock */ + seek = (off_t)eb * mtd->eb_size + offs; + if (lseek(fd, seek, SEEK_SET) != seek) { +- sys_errmsg("cannot seek mtd%d to offset %llu", +- mtd->mtd_num, (unsigned long long)seek); ++ sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, ++ mtd->mtd_num, seek); + goto out_close; + } + +diff --git a/mkfs.ubifs/mkfs.ubifs.c b/mkfs.ubifs/mkfs.ubifs.c +index bb25dc3..b7166ea 100644 +--- a/mkfs.ubifs/mkfs.ubifs.c ++++ b/mkfs.ubifs/mkfs.ubifs.c +@@ -778,7 +778,7 @@ static void prepare_node(void *node, int len) + */ + int write_leb(int lnum, int len, void *buf, int dtype) + { +- off64_t pos = (off64_t)lnum * c->leb_size; ++ off_t pos = (off_t)lnum * c->leb_size; + + dbg_msg(3, "LEB %d len %d", lnum, len); + memset(buf + len, 0xff, c->leb_size - len); +@@ -786,13 +786,12 @@ int write_leb(int lnum, int len, void *buf, int dtype) + if (ubi_leb_change_start(ubi, out_fd, lnum, c->leb_size, dtype)) + return sys_err_msg("ubi_leb_change_start failed"); + +- if (lseek64(out_fd, pos, SEEK_SET) != pos) +- return sys_err_msg("lseek64 failed seeking %lld", +- (long long)pos); ++ if (lseek(out_fd, pos, SEEK_SET) != pos) ++ return sys_err_msg("lseek failed seeking %"PRIdoff_t, pos); + + if (write(out_fd, buf, c->leb_size) != c->leb_size) +- return sys_err_msg("write failed writing %d bytes at pos %lld", +- c->leb_size, (long long)pos); ++ return sys_err_msg("write failed writing %d bytes at pos %"PRIdoff_t, ++ c->leb_size, pos); + + return 0; + } +diff --git a/mtd_debug.c b/mtd_debug.c +index 2d307a9..9110e9b 100644 +--- a/mtd_debug.c ++++ b/mtd_debug.c +@@ -103,7 +103,7 @@ void printsize(u_int32_t x) + printf("(%u%c)", x, flags[i]); + } + +-int flash_to_file(int fd, u_int32_t offset, size_t len, const char *filename) ++int flash_to_file(int fd, off_t offset, size_t len, const char *filename) + { + u_int8_t *buf = NULL; + int outfd, err; +@@ -157,7 +157,7 @@ retry: + if (buf != NULL) + free(buf); + close(outfd); +- printf("Copied %zu bytes from address 0x%.8x in flash to %s\n", len, offset, filename); ++ printf("Copied %zu bytes from address 0x%.8"PRIxoff_t" in flash to %s\n", len, offset, filename); + return 0; + + err2: +@@ -169,7 +169,7 @@ err0: + return 1; + } + +-int file_to_flash(int fd, u_int32_t offset, u_int32_t len, const char *filename) ++int file_to_flash(int fd, off_t offset, u_int32_t len, const char *filename) + { + u_int8_t *buf = NULL; + FILE *fp; +@@ -221,7 +221,7 @@ retry: + if (buf != NULL) + free(buf); + fclose(fp); +- printf("Copied %d bytes from %s to address 0x%.8x in flash\n", len, filename, offset); ++ printf("Copied %d bytes from %s to address 0x%.8"PRIxoff_t" in flash\n", len, filename, offset); + return 0; + } + +@@ -376,13 +376,13 @@ int main(int argc, char *argv[]) + showinfo(fd); + break; + case OPT_READ: +- err = flash_to_file(fd, strtol(argv[3], NULL, 0), strtol(argv[4], NULL, 0), argv[5]); ++ err = flash_to_file(fd, strtoll(argv[3], NULL, 0), strtoul(argv[4], NULL, 0), argv[5]); + break; + case OPT_WRITE: +- err = file_to_flash(fd, strtol(argv[3], NULL, 0), strtol(argv[4], NULL, 0), argv[5]); ++ err = file_to_flash(fd, strtoll(argv[3], NULL, 0), strtoul(argv[4], NULL, 0), argv[5]); + break; + case OPT_ERASE: +- err = erase_flash(fd, strtol(argv[3], NULL, 0), strtol(argv[4], NULL, 0)); ++ err = erase_flash(fd, strtoul(argv[3], NULL, 0), strtoul(argv[4], NULL, 0)); + break; + } + +diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c +index 30322cd..f6e77f6 100644 +--- a/tests/fs-tests/integrity/integck.c ++++ b/tests/fs-tests/integrity/integck.c +@@ -899,8 +899,8 @@ static ssize_t file_write_data(struct file_info *file, int fd, off_t offset, + remains = size; + actual = 0; + written = IO_BUFFER_SIZE; +- v("write %zd bytes, offset %llu, file %s", +- size, (unsigned long long)offset, get_file_name(file)); ++ v("write %zd bytes, offset %"PRIdoff_t", file %s", ++ size, offset, get_file_name(file)); + while (remains) { + /* Fill up buffer with random data */ + if (written < IO_BUFFER_SIZE) { +diff --git a/tests/ubi-tests/integ.c b/tests/ubi-tests/integ.c +index 4e13b73..e48f533 100644 +--- a/tests/ubi-tests/integ.c ++++ b/tests/ubi-tests/integ.c +@@ -25,7 +25,7 @@ struct write_info + struct write_info *next; + struct erase_block_info *erase_block; + int offset_within_block; /* Offset within erase block */ +- off64_t offset; /* Offset within volume */ ++ off_t offset; /* Offset within volume */ + int size; + int random_seed; + }; +@@ -34,8 +34,8 @@ struct erase_block_info + { + struct volume_info *volume; + int block_number; +- off64_t offset; /* Offset within volume */ +- off64_t top_of_data; ++ off_t offset; /* Offset within volume */ ++ off_t top_of_data; + int touched; /* Have we done anything at all with this erase block */ + int erased; /* This erased block is currently erased */ + struct write_info *writes; +@@ -220,7 +220,7 @@ static void set_random_data(unsigned seed, unsigned char *buf, int size) + static void check_erase_block(struct erase_block_info *erase_block, int fd) + { + struct write_info *w; +- off64_t gap_end; ++ off_t gap_end; + int leb_size = erase_block->volume->info.leb_size; + ssize_t bytes_read; + +@@ -229,10 +229,10 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) + while (w) { + if (w->offset + w->size < gap_end) { + /* There is a gap. Check all 0xff */ +- off64_t gap_start = w->offset + w->size; ++ off_t gap_start = w->offset + w->size; + ssize_t size = gap_end - gap_start; +- if (lseek64(fd, gap_start, SEEK_SET) != gap_start) +- error_exit("lseek64 failed"); ++ if (lseek(fd, gap_start, SEEK_SET) != gap_start) ++ error_exit("lseek failed"); + memset(read_buffer, 0 , size); + errno = 0; + bytes_read = read(fd, read_buffer, size); +@@ -241,18 +241,18 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) + while (size) + if (read_buffer[--size] != 0xff) { + fprintf(stderr, "block no. = %d\n" , erase_block->block_number); +- fprintf(stderr, "offset = %lld\n" , (long long) gap_start); ++ fprintf(stderr, "offset = %"PRIdoff_t"\n" , gap_start); + fprintf(stderr, "size = %ld\n" , (long) bytes_read); + error_exit("verify 0xff failed"); + } + } +- if (lseek64(fd, w->offset, SEEK_SET) != w->offset) +- error_exit("lseek64 failed"); ++ if (lseek(fd, w->offset, SEEK_SET) != w->offset) ++ error_exit("lseek failed"); + memset(read_buffer, 0 , w->size); + errno = 0; + bytes_read = read(fd, read_buffer, w->size); + if (bytes_read != w->size) { +- fprintf(stderr, "offset = %lld\n" , (long long) w->offset); ++ fprintf(stderr, "offset = %"PRIdoff_t"\n" , w->offset); + fprintf(stderr, "size = %ld\n" , (long) w->size); + fprintf(stderr, "bytes_read = %ld\n" , (long) bytes_read); + error_exit("read failed"); +@@ -265,10 +265,10 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) + } + if (gap_end > erase_block->offset) { + /* Check all 0xff */ +- off64_t gap_start = erase_block->offset; ++ off_t gap_start = erase_block->offset; + ssize_t size = gap_end - gap_start; +- if (lseek64(fd, gap_start, SEEK_SET) != gap_start) +- error_exit("lseek64 failed"); ++ if (lseek(fd, gap_start, SEEK_SET) != gap_start) ++ error_exit("lseek failed"); + memset(read_buffer, 0 , size); + errno = 0; + bytes_read = read(fd, read_buffer, size); +@@ -277,7 +277,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) + while (size) + if (read_buffer[--size] != 0xff) { + fprintf(stderr, "block no. = %d\n" , erase_block->block_number); +- fprintf(stderr, "offset = %lld\n" , (long long) gap_start); ++ fprintf(stderr, "offset = %"PRIdoff_t"\n" , gap_start); + fprintf(stderr, "size = %ld\n" , (long) bytes_read); + error_exit("verify 0xff failed!"); + } +@@ -290,7 +290,7 @@ static int write_to_erase_block(struct erase_block_info *erase_block, int fd) + int leb_size = erase_block->volume->info.leb_size; + int next_offset = 0; + int space, size; +- off64_t offset; ++ off_t offset; + unsigned seed; + struct write_info *w; + +@@ -327,8 +327,8 @@ static int write_to_erase_block(struct erase_block_info *erase_block, int fd) + offset = erase_block->offset + next_offset; + if (offset < erase_block->top_of_data) + error_exit("internal error!"); +- if (lseek64(fd, offset, SEEK_SET) != offset) +- error_exit("lseek64 failed"); ++ if (lseek(fd, offset, SEEK_SET) != offset) ++ error_exit("lseek failed"); + /* Do write */ + seed = get_next_seed(); + if (!seed) +@@ -480,7 +480,7 @@ static void operate_on_ubi_device(struct ubi_device_info *ubi_device) + for (i = 0; i < n; ++i) { + s->erase_blocks[i].volume = s; + s->erase_blocks[i].block_number = i; +- s->erase_blocks[i].offset = i * (off64_t) s->info.leb_size; ++ s->erase_blocks[i].offset = i * (off_t) s->info.leb_size; + s->erase_blocks[i].top_of_data = s->erase_blocks[i].offset; + } + /* FIXME: Correctly get device file name */ diff --git a/patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch b/patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch deleted file mode 100644 index ae49c4e..0000000 --- a/patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <[email protected]> -Date: Wed, 20 Feb 2013 17:25:30 +0100 -Subject: [PATCH] flash_otp_write: fix format string warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes - flash_otp_write.c: In function 'main': - flash_otp_write.c:61:2: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'off_t' [-Wformat] - -Signed-off-by: Uwe Kleine-König <[email protected]> -Forwarded: id:[email protected] ---- - flash_otp_write.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/flash_otp_write.c b/flash_otp_write.c -index d407ebb..41cf1c5 100644 ---- a/flash_otp_write.c -+++ b/flash_otp_write.c -@@ -58,7 +58,7 @@ int main(int argc,char *argv[]) - return errno; - } - -- printf("Writing OTP user data on %s at offset 0x%lx\n", argv[2], offset); -+ printf("Writing OTP user data on %s at offset 0x%lx\n", argv[2], (unsigned long)offset); - - if (mtdInfo.type == MTD_NANDFLASH) - len = mtdInfo.writesize; diff --git a/patches/mtd-utils-1.5.0/0001-make-ubifs-optional.patch b/patches/mtd-utils-1.5.0/0003-make-ubifs-optional.patch similarity index 88% rename from patches/mtd-utils-1.5.0/0001-make-ubifs-optional.patch rename to patches/mtd-utils-1.5.0/0003-make-ubifs-optional.patch index 2dec433..a71a8c9 100644 --- a/patches/mtd-utils-1.5.0/0001-make-ubifs-optional.patch +++ b/patches/mtd-utils-1.5.0/0003-make-ubifs-optional.patch @@ -1,10 +1,10 @@ From: Bernhard Walle <[email protected]> Date: Sun, 11 Mar 2012 20:03:50 +0100 -Subject: [PATCH] make ubifs optional +Subject: [PATCH mtd-utils] make ubifs optional Signed-off-by: Bernhard Walle <[email protected]> --- - Makefile | 2 ++ + Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile diff --git a/patches/mtd-utils-1.5.0/0002-Make-liblzo-optional-for-ubifs-tools.patch b/patches/mtd-utils-1.5.0/0004-Make-liblzo-optional-for-ubifs-tools.patch similarity index 92% rename from patches/mtd-utils-1.5.0/0002-Make-liblzo-optional-for-ubifs-tools.patch rename to patches/mtd-utils-1.5.0/0004-Make-liblzo-optional-for-ubifs-tools.patch index 01c3656..0664a2e 100644 --- a/patches/mtd-utils-1.5.0/0002-Make-liblzo-optional-for-ubifs-tools.patch +++ b/patches/mtd-utils-1.5.0/0004-Make-liblzo-optional-for-ubifs-tools.patch @@ -1,13 +1,13 @@ From: Bernhard Walle <[email protected]> Date: Sun, 11 Mar 2012 20:11:14 +0100 -Subject: [PATCH] Make liblzo optional for ubifs tools +Subject: [PATCH mtd-utils] Make liblzo optional for ubifs tools Based on patch from Marc Kleine-Budde <[email protected]>. Signed-off-by: Bernhard Walle <[email protected]> --- - Makefile | 2 +- - mkfs.ubifs/compr.c | 17 +++++++++++++++++ + Makefile | 2 +- + mkfs.ubifs/compr.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile diff --git a/patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch b/patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch similarity index 74% rename from patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch rename to patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch index f6c2aac..557c8dc 100644 --- a/patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch +++ b/patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch @@ -1,7 +1,7 @@ From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <[email protected]> -Date: Wed, 27 Feb 2013 17:49:06 +0100 -Subject: [PATCH] flash_otp_write: fix writing to NAND in presence of partial - reads +Date: Thu, 28 Feb 2013 10:42:09 +0100 +Subject: [PATCH mtd-utils] flash_otp_write: fix writing to NAND in presence of + partial reads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -17,17 +17,21 @@ reads the 2nd byte, pads and writes again. So the 2nd byte is written to offset $writesize instead of 1. Signed-off-by: Uwe Kleine-König <[email protected]> -Forwarded: id:[email protected] +Signed-off-by: Artem Bityutskiy <[email protected]> --- - flash_otp_write.c | 19 ++++++++++++++++++- + +Notes: + Applied-Upstream: >1.5.0, commit:86cf5bd1e0633f16c722500bd9717d999a7e2473 + + flash_otp_write.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/flash_otp_write.c b/flash_otp_write.c -index 41cf1c5..0aa872e 100644 +index 56769ec..3515eee 100644 --- a/flash_otp_write.c +++ b/flash_otp_write.c -@@ -15,6 +15,23 @@ - +@@ -16,6 +16,23 @@ + #include <common.h> #include <mtd/mtd-user.h> +ssize_t xread(int fd, void *buf, size_t count) @@ -50,7 +54,7 @@ index 41cf1c5..0aa872e 100644 int main(int argc,char *argv[]) { int fd, val, ret, size, wrote, len; -@@ -66,7 +83,7 @@ int main(int argc,char *argv[]) +@@ -67,7 +84,7 @@ int main(int argc,char *argv[]) len = 256; wrote = 0; diff --git a/patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch b/patches/mtd-utils-1.5.0/0006-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch similarity index 65% rename from patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch rename to patches/mtd-utils-1.5.0/0006-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch index d1102c0..e8a1e00 100644 --- a/patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch +++ b/patches/mtd-utils-1.5.0/0006-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch @@ -1,7 +1,7 @@ From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <[email protected]> -Date: Thu, 28 Feb 2013 10:28:29 +0100 -Subject: [PATCH] flash_otp_write: fix a buffer overflow on NAND with write - size > 2048 +Date: Thu, 28 Feb 2013 10:42:26 +0100 +Subject: [PATCH mtd-utils] flash_otp_write: fix a buffer overflow on NAND with + write size > 2048 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -11,16 +11,20 @@ Still checking for that instead of a sleeping problem to bite us maybe in a few years is easy. Signed-off-by: Uwe Kleine-König <[email protected]> -Forwarded: id:[email protected] +Signed-off-by: Artem Bityutskiy <[email protected]> --- - flash_otp_write.c | 6 ++++++ + +Notes: + Applied-Upstream: >1.5.0, commit:1145ef7ee979dde2d611e09d00fc6ff0090dcc9d + + flash_otp_write.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/flash_otp_write.c b/flash_otp_write.c -index 0aa872e..5114e6b 100644 +index 3515eee..eaca5e1 100644 --- a/flash_otp_write.c +++ b/flash_otp_write.c -@@ -82,6 +82,12 @@ int main(int argc,char *argv[]) +@@ -83,6 +83,12 @@ int main(int argc,char *argv[]) else len = 256; diff --git a/patches/mtd-utils-1.5.0/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch b/patches/mtd-utils-1.5.0/0007-Makefile-also-build-and-install-flash_otp_lock-and-f.patch similarity index 76% rename from patches/mtd-utils-1.5.0/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch rename to patches/mtd-utils-1.5.0/0007-Makefile-also-build-and-install-flash_otp_lock-and-f.patch index 9727290..4c0f76b 100644 --- a/patches/mtd-utils-1.5.0/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch +++ b/patches/mtd-utils-1.5.0/0007-Makefile-also-build-and-install-flash_otp_lock-and-f.patch @@ -1,16 +1,20 @@ From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <[email protected]> -Date: Wed, 20 Feb 2013 17:29:12 +0100 -Subject: [PATCH] Makefile: also build and install flash_otp_lock and +Date: Wed, 20 Feb 2013 17:41:31 +0100 +Subject: [PATCH mtd-utils] Makefile: also build and install flash_otp_lock and flash_otp_write MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Uwe Kleine-König <[email protected]> -Forwarded: id:[email protected] +Signed-off-by: Artem Bityutskiy <[email protected]> --- - .gitignore | 2 ++ - Makefile | 3 ++- + +Notes: + Applied-Upstream: >1.5.0, commit:86cf5bd1e0633f16c722500bd9717d999a7e2473 + + .gitignore | 2 ++ + Makefile | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore diff --git a/patches/mtd-utils-1.5.0/series b/patches/mtd-utils-1.5.0/series index 5739202..0c7c5e3 100644 --- a/patches/mtd-utils-1.5.0/series +++ b/patches/mtd-utils-1.5.0/series @@ -1,9 +1,10 @@ # generated by git-ptx-patches #tag:base --start-number 1 -0001-make-ubifs-optional.patch -0002-Make-liblzo-optional-for-ubifs-tools.patch -0003-flash_otp_write-fix-format-string-warning.patch -0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch -0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch -0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch -# e4c91e5314fff3767797bd4aab24a7e3 - git-ptx-patches magic +0001-introduce-PRIxoff_t-and-PRIdoff_t-printf-helpers.patch +0002-consistency-between-u_int32_t-off_t-off64_t.patch +0003-make-ubifs-optional.patch +0004-Make-liblzo-optional-for-ubifs-tools.patch +0005-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch +0006-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch +0007-Makefile-also-build-and-install-flash_otp_lock-and-f.patch +# 112f6fe0726ab47e9cac0f60228dd1cc - git-ptx-patches magic -- 1.8.2.rc2 -- ptxdist mailing list [email protected]
