mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] mtd-utils: allow building and installing of flash_otp_{lock,write}
@ 2013-02-20 20:14 Uwe Kleine-König
  2013-02-28 13:39 ` [ptxdist] [PATCH v2] mtd-utils: allow building and installing of flash_otp_{lock, write} Uwe Kleine-König
  0 siblings, 1 reply; 3+ messages in thread
From: Uwe Kleine-König @ 2013-02-20 20:14 UTC (permalink / raw)
  To: ptxdist

---
 ...flash_otp_write-fix-format-string-warning.patch |   30 ++++++++++++++
 ...so-build-and-install-flash_otp_lock-and-f.patch |   42 ++++++++++++++++++++
 patches/mtd-utils-1.5.0/series                     |    4 +-
 rules/mtd-utils.in                                 |   12 ++++++
 rules/mtd-utils.make                               |    8 ++++
 5 files changed, 95 insertions(+), 1 deletion(-)
 create mode 100644 patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch
 create mode 100644 patches/mtd-utils-1.5.0/0004-Makefile-also-build-and-install-flash_otp_lock-and-f.patch

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
new file mode 100644
index 0000000..ae49c4e
--- /dev/null
+++ b/patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch
@@ -0,0 +1,30 @@
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+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 <u.kleine-koenig@pengutronix.de>
+Forwarded: id:1361378469-18631-1-git-send-email-u.kleine-koenig@pengutronix.de
+---
+ 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/0004-Makefile-also-build-and-install-flash_otp_lock-and-f.patch b/patches/mtd-utils-1.5.0/0004-Makefile-also-build-and-install-flash_otp_lock-and-f.patch
new file mode 100644
index 0000000..9727290
--- /dev/null
+++ b/patches/mtd-utils-1.5.0/0004-Makefile-also-build-and-install-flash_otp_lock-and-f.patch
@@ -0,0 +1,42 @@
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Wed, 20 Feb 2013 17:29:12 +0100
+Subject: [PATCH] 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 <u.kleine-koenig@pengutronix.de>
+Forwarded: id:1361378491-18687-1-git-send-email-u.kleine-koenig@pengutronix.de
+---
+ .gitignore |    2 ++
+ Makefile   |    3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/.gitignore b/.gitignore
+index d4771fb..83ca938 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -25,6 +25,8 @@
+ /flash_lock
+ /flash_otp_dump
+ /flash_otp_info
++/flash_otp_lock
++/flash_otp_write
+ /flash_unlock
+ /flashcp
+ /ftl_check
+diff --git a/Makefile b/Makefile
+index 190db58..3f9c24f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,7 +19,8 @@ TESTS = tests
+ MTD_BINS = \
+ 	ftl_format flash_erase nanddump doc_loadbios \
+ 	ftl_check mkfs.jffs2 flash_lock flash_unlock \
+-	flash_otp_info flash_otp_dump mtd_debug flashcp nandwrite nandtest \
++	flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \
++	mtd_debug flashcp nandwrite nandtest \
+ 	jffs2dump \
+ 	nftldump nftl_format docfdisk \
+ 	rfddump rfdformat \
diff --git a/patches/mtd-utils-1.5.0/series b/patches/mtd-utils-1.5.0/series
index 38ac3d1..f79750b 100644
--- a/patches/mtd-utils-1.5.0/series
+++ b/patches/mtd-utils-1.5.0/series
@@ -2,4 +2,6 @@
 #tag:base --start-number 1
 0001-make-ubifs-optional.patch
 0002-Make-liblzo-optional-for-ubifs-tools.patch
-# c7b83aac3f84d721cecd9e53605999f9  - git-ptx-patches magic
+0003-flash_otp_write-fix-format-string-warning.patch
+0004-Makefile-also-build-and-install-flash_otp_lock-and-f.patch
+# 44cd4af830d1bc4fa41b6462c43f9cf6  - git-ptx-patches magic
diff --git a/rules/mtd-utils.in b/rules/mtd-utils.in
index 45ab8e7..d1c46bd 100644
--- a/rules/mtd-utils.in
+++ b/rules/mtd-utils.in
@@ -68,6 +68,18 @@ config MTD_UTILS_FLASH_OTP_INFO
 	help
 	  Print info about one-time programmable data.
 
+config MTD_UTILS_FLASH_OTP_LOCK
+	bool
+	prompt "flash_otp_lock"
+	help
+	  Lock one-time programmable data.
+
+config MTD_UTILS_FLASH_OTP_WRITE
+	bool
+	prompt "flash_otp_write"
+	help
+	  Write one-time programmable data.
+
 config MTD_UTILS_FLASH_UNLOCK
 	bool
 	prompt "flash_unlock"
diff --git a/rules/mtd-utils.make b/rules/mtd-utils.make
index d20050e..75be7db 100644
--- a/rules/mtd-utils.make
+++ b/rules/mtd-utils.make
@@ -91,6 +91,14 @@ ifdef PTXCONF_MTD_UTILS_FLASH_OTP_INFO
 	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
 		/usr/sbin/flash_otp_info)
 endif
+ifdef PTXCONF_MTD_UTILS_FLASH_OTP_LOCK
+	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
+		/usr/sbin/flash_otp_lock)
+endif
+ifdef PTXCONF_MTD_UTILS_FLASH_OTP_WRITE
+	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
+		/usr/sbin/flash_otp_write)
+endif
 ifdef PTXCONF_MTD_UTILS_FLASH_UNLOCK
 	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
 		/usr/sbin/flash_unlock)
-- 
1.7.10.4


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ptxdist] [PATCH v2] mtd-utils: allow building and installing of flash_otp_{lock, write}
  2013-02-20 20:14 [ptxdist] [PATCH] mtd-utils: allow building and installing of flash_otp_{lock,write} Uwe Kleine-König
@ 2013-02-28 13:39 ` Uwe Kleine-König
  2013-03-04 17:06   ` Michael Olbrich
  0 siblings, 1 reply; 3+ messages in thread
From: Uwe Kleine-König @ 2013-02-28 13:39 UTC (permalink / raw)
  To: ptxdist

Also fix a few flaws in flash_otp that are only relevant for writing to
NAND chips.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
Hello,

changes since (implicit) v1:
 - add a S-o-b line
 - two more patches for flash_otp_write

Thanks
Uwe

 ...flash_otp_write-fix-format-string-warning.patch |   30 ++++++++++
 ...rite-fix-writing-to-NAND-in-presence-of-p.patch |   61 ++++++++++++++++++++
 ...rite-fix-a-buffer-overflow-on-NAND-with-w.patch |   35 +++++++++++
 ...so-build-and-install-flash_otp_lock-and-f.patch |   42 ++++++++++++++
 patches/mtd-utils-1.5.0/series                     |    6 +-
 rules/mtd-utils.in                                 |   12 ++++
 rules/mtd-utils.make                               |    8 +++
 7 files changed, 193 insertions(+), 1 deletion(-)
 create mode 100644 patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch
 create mode 100644 patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch
 create mode 100644 patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch
 create mode 100644 patches/mtd-utils-1.5.0/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch

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
new file mode 100644
index 0000000..ae49c4e
--- /dev/null
+++ b/patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch
@@ -0,0 +1,30 @@
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+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 <u.kleine-koenig@pengutronix.de>
+Forwarded: id:1361378469-18631-1-git-send-email-u.kleine-koenig@pengutronix.de
+---
+ 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/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch b/patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch
new file mode 100644
index 0000000..f6c2aac
--- /dev/null
+++ b/patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch
@@ -0,0 +1,61 @@
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Wed, 27 Feb 2013 17:49:06 +0100
+Subject: [PATCH] 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
+
+When doing something like:
+
+	{ printf "\xff"; printf "\xfe"; } | flash_otp_write -u /dev/mtd0 0
+
+flash_otp_write might see only a single byte when reading from stdin for
+the first tim. In this case (and without this patch) it pads to
+$writesize with '\xff's and writes that out. In the next iteration it
+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 <u.kleine-koenig@pengutronix.de>
+Forwarded: id:1362044529-511-1-git-send-email-u.kleine-koenig@pengutronix.de
+---
+ 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
+--- a/flash_otp_write.c
++++ b/flash_otp_write.c
+@@ -15,6 +15,23 @@
+ 
+ #include <mtd/mtd-user.h>
+ 
++ssize_t xread(int fd, void *buf, size_t count)
++{
++	ssize_t ret, done = 0;
++
++retry:
++	ret = read(fd, buf + done, count - done);
++	if (ret < 0)
++		return ret;
++
++	done += ret;
++
++	if (ret == 0 /* EOF */ || done == count)
++		return done;
++	else
++		goto retry;
++}
++
+ int main(int argc,char *argv[])
+ {
+ 	int fd, val, ret, size, wrote, len;
+@@ -66,7 +83,7 @@ int main(int argc,char *argv[])
+ 		len = 256;
+ 
+ 	wrote = 0;
+-	while ((size = read(0, buf, len))) {
++	while ((size = xread(0, buf, len))) {
+ 		if (size < 0) {
+ 			perror("read()");
+ 			return errno;
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/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch
new file mode 100644
index 0000000..d1102c0
--- /dev/null
+++ b/patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch
@@ -0,0 +1,35 @@
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Thu, 28 Feb 2013 10:28:29 +0100
+Subject: [PATCH] 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
+
+I'm not aware of any chip having a write size bigger than 2048 today.
+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 <u.kleine-koenig@pengutronix.de>
+Forwarded: id:1362044546-559-1-git-send-email-u.kleine-koenig@pengutronix.de
+---
+ 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
+--- a/flash_otp_write.c
++++ b/flash_otp_write.c
+@@ -82,6 +82,12 @@ int main(int argc,char *argv[])
+ 	else
+ 		len = 256;
+ 
++	if (len > sizeof(buf)) {
++		printf("huh, writesize (%d) bigger than buffer (%zu)\n",
++				len, sizeof(buf));
++		return ENOMEM;
++	}
++
+ 	wrote = 0;
+ 	while ((size = xread(0, buf, len))) {
+ 		if (size < 0) {
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/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch
new file mode 100644
index 0000000..9727290
--- /dev/null
+++ b/patches/mtd-utils-1.5.0/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch
@@ -0,0 +1,42 @@
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Wed, 20 Feb 2013 17:29:12 +0100
+Subject: [PATCH] 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 <u.kleine-koenig@pengutronix.de>
+Forwarded: id:1361378491-18687-1-git-send-email-u.kleine-koenig@pengutronix.de
+---
+ .gitignore |    2 ++
+ Makefile   |    3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/.gitignore b/.gitignore
+index d4771fb..83ca938 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -25,6 +25,8 @@
+ /flash_lock
+ /flash_otp_dump
+ /flash_otp_info
++/flash_otp_lock
++/flash_otp_write
+ /flash_unlock
+ /flashcp
+ /ftl_check
+diff --git a/Makefile b/Makefile
+index 190db58..3f9c24f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,7 +19,8 @@ TESTS = tests
+ MTD_BINS = \
+ 	ftl_format flash_erase nanddump doc_loadbios \
+ 	ftl_check mkfs.jffs2 flash_lock flash_unlock \
+-	flash_otp_info flash_otp_dump mtd_debug flashcp nandwrite nandtest \
++	flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \
++	mtd_debug flashcp nandwrite nandtest \
+ 	jffs2dump \
+ 	nftldump nftl_format docfdisk \
+ 	rfddump rfdformat \
diff --git a/patches/mtd-utils-1.5.0/series b/patches/mtd-utils-1.5.0/series
index 38ac3d1..5739202 100644
--- a/patches/mtd-utils-1.5.0/series
+++ b/patches/mtd-utils-1.5.0/series
@@ -2,4 +2,8 @@
 #tag:base --start-number 1
 0001-make-ubifs-optional.patch
 0002-Make-liblzo-optional-for-ubifs-tools.patch
-# c7b83aac3f84d721cecd9e53605999f9  - git-ptx-patches magic
+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
diff --git a/rules/mtd-utils.in b/rules/mtd-utils.in
index 45ab8e7..d1c46bd 100644
--- a/rules/mtd-utils.in
+++ b/rules/mtd-utils.in
@@ -68,6 +68,18 @@ config MTD_UTILS_FLASH_OTP_INFO
 	help
 	  Print info about one-time programmable data.
 
+config MTD_UTILS_FLASH_OTP_LOCK
+	bool
+	prompt "flash_otp_lock"
+	help
+	  Lock one-time programmable data.
+
+config MTD_UTILS_FLASH_OTP_WRITE
+	bool
+	prompt "flash_otp_write"
+	help
+	  Write one-time programmable data.
+
 config MTD_UTILS_FLASH_UNLOCK
 	bool
 	prompt "flash_unlock"
diff --git a/rules/mtd-utils.make b/rules/mtd-utils.make
index d20050e..75be7db 100644
--- a/rules/mtd-utils.make
+++ b/rules/mtd-utils.make
@@ -91,6 +91,14 @@ ifdef PTXCONF_MTD_UTILS_FLASH_OTP_INFO
 	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
 		/usr/sbin/flash_otp_info)
 endif
+ifdef PTXCONF_MTD_UTILS_FLASH_OTP_LOCK
+	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
+		/usr/sbin/flash_otp_lock)
+endif
+ifdef PTXCONF_MTD_UTILS_FLASH_OTP_WRITE
+	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
+		/usr/sbin/flash_otp_write)
+endif
 ifdef PTXCONF_MTD_UTILS_FLASH_UNLOCK
 	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
 		/usr/sbin/flash_unlock)
-- 
1.7.10.4


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ptxdist] [PATCH v2] mtd-utils: allow building and installing of flash_otp_{lock, write}
  2013-02-28 13:39 ` [ptxdist] [PATCH v2] mtd-utils: allow building and installing of flash_otp_{lock, write} Uwe Kleine-König
@ 2013-03-04 17:06   ` Michael Olbrich
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Olbrich @ 2013-03-04 17:06 UTC (permalink / raw)
  To: ptxdist

On Thu, Feb 28, 2013 at 02:39:53PM +0100, Uwe Kleine-König wrote:
> Also fix a few flaws in flash_otp that are only relevant for writing to
> NAND chips.
> 

tnx, applied

Michael

> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> Hello,
> 
> changes since (implicit) v1:
>  - add a S-o-b line
>  - two more patches for flash_otp_write
> 
> Thanks
> Uwe
> 
>  ...flash_otp_write-fix-format-string-warning.patch |   30 ++++++++++
>  ...rite-fix-writing-to-NAND-in-presence-of-p.patch |   61 ++++++++++++++++++++
>  ...rite-fix-a-buffer-overflow-on-NAND-with-w.patch |   35 +++++++++++
>  ...so-build-and-install-flash_otp_lock-and-f.patch |   42 ++++++++++++++
>  patches/mtd-utils-1.5.0/series                     |    6 +-
>  rules/mtd-utils.in                                 |   12 ++++
>  rules/mtd-utils.make                               |    8 +++
>  7 files changed, 193 insertions(+), 1 deletion(-)
>  create mode 100644 patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch
>  create mode 100644 patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch
>  create mode 100644 patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch
>  create mode 100644 patches/mtd-utils-1.5.0/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch
> 
> 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
> new file mode 100644
> index 0000000..ae49c4e
> --- /dev/null
> +++ b/patches/mtd-utils-1.5.0/0003-flash_otp_write-fix-format-string-warning.patch
> @@ -0,0 +1,30 @@
> +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
> +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 <u.kleine-koenig@pengutronix.de>
> +Forwarded: id:1361378469-18631-1-git-send-email-u.kleine-koenig@pengutronix.de
> +---
> + 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/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch b/patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch
> new file mode 100644
> index 0000000..f6c2aac
> --- /dev/null
> +++ b/patches/mtd-utils-1.5.0/0004-flash_otp_write-fix-writing-to-NAND-in-presence-of-p.patch
> @@ -0,0 +1,61 @@
> +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
> +Date: Wed, 27 Feb 2013 17:49:06 +0100
> +Subject: [PATCH] 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
> +
> +When doing something like:
> +
> +	{ printf "\xff"; printf "\xfe"; } | flash_otp_write -u /dev/mtd0 0
> +
> +flash_otp_write might see only a single byte when reading from stdin for
> +the first tim. In this case (and without this patch) it pads to
> +$writesize with '\xff's and writes that out. In the next iteration it
> +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 <u.kleine-koenig@pengutronix.de>
> +Forwarded: id:1362044529-511-1-git-send-email-u.kleine-koenig@pengutronix.de
> +---
> + 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
> +--- a/flash_otp_write.c
> ++++ b/flash_otp_write.c
> +@@ -15,6 +15,23 @@
> + 
> + #include <mtd/mtd-user.h>
> + 
> ++ssize_t xread(int fd, void *buf, size_t count)
> ++{
> ++	ssize_t ret, done = 0;
> ++
> ++retry:
> ++	ret = read(fd, buf + done, count - done);
> ++	if (ret < 0)
> ++		return ret;
> ++
> ++	done += ret;
> ++
> ++	if (ret == 0 /* EOF */ || done == count)
> ++		return done;
> ++	else
> ++		goto retry;
> ++}
> ++
> + int main(int argc,char *argv[])
> + {
> + 	int fd, val, ret, size, wrote, len;
> +@@ -66,7 +83,7 @@ int main(int argc,char *argv[])
> + 		len = 256;
> + 
> + 	wrote = 0;
> +-	while ((size = read(0, buf, len))) {
> ++	while ((size = xread(0, buf, len))) {
> + 		if (size < 0) {
> + 			perror("read()");
> + 			return errno;
> 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/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch
> new file mode 100644
> index 0000000..d1102c0
> --- /dev/null
> +++ b/patches/mtd-utils-1.5.0/0005-flash_otp_write-fix-a-buffer-overflow-on-NAND-with-w.patch
> @@ -0,0 +1,35 @@
> +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
> +Date: Thu, 28 Feb 2013 10:28:29 +0100
> +Subject: [PATCH] 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
> +
> +I'm not aware of any chip having a write size bigger than 2048 today.
> +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 <u.kleine-koenig@pengutronix.de>
> +Forwarded: id:1362044546-559-1-git-send-email-u.kleine-koenig@pengutronix.de
> +---
> + 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
> +--- a/flash_otp_write.c
> ++++ b/flash_otp_write.c
> +@@ -82,6 +82,12 @@ int main(int argc,char *argv[])
> + 	else
> + 		len = 256;
> + 
> ++	if (len > sizeof(buf)) {
> ++		printf("huh, writesize (%d) bigger than buffer (%zu)\n",
> ++				len, sizeof(buf));
> ++		return ENOMEM;
> ++	}
> ++
> + 	wrote = 0;
> + 	while ((size = xread(0, buf, len))) {
> + 		if (size < 0) {
> 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/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch
> new file mode 100644
> index 0000000..9727290
> --- /dev/null
> +++ b/patches/mtd-utils-1.5.0/0006-Makefile-also-build-and-install-flash_otp_lock-and-f.patch
> @@ -0,0 +1,42 @@
> +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
> +Date: Wed, 20 Feb 2013 17:29:12 +0100
> +Subject: [PATCH] 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 <u.kleine-koenig@pengutronix.de>
> +Forwarded: id:1361378491-18687-1-git-send-email-u.kleine-koenig@pengutronix.de
> +---
> + .gitignore |    2 ++
> + Makefile   |    3 ++-
> + 2 files changed, 4 insertions(+), 1 deletion(-)
> +
> +diff --git a/.gitignore b/.gitignore
> +index d4771fb..83ca938 100644
> +--- a/.gitignore
> ++++ b/.gitignore
> +@@ -25,6 +25,8 @@
> + /flash_lock
> + /flash_otp_dump
> + /flash_otp_info
> ++/flash_otp_lock
> ++/flash_otp_write
> + /flash_unlock
> + /flashcp
> + /ftl_check
> +diff --git a/Makefile b/Makefile
> +index 190db58..3f9c24f 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -19,7 +19,8 @@ TESTS = tests
> + MTD_BINS = \
> + 	ftl_format flash_erase nanddump doc_loadbios \
> + 	ftl_check mkfs.jffs2 flash_lock flash_unlock \
> +-	flash_otp_info flash_otp_dump mtd_debug flashcp nandwrite nandtest \
> ++	flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \
> ++	mtd_debug flashcp nandwrite nandtest \
> + 	jffs2dump \
> + 	nftldump nftl_format docfdisk \
> + 	rfddump rfdformat \
> diff --git a/patches/mtd-utils-1.5.0/series b/patches/mtd-utils-1.5.0/series
> index 38ac3d1..5739202 100644
> --- a/patches/mtd-utils-1.5.0/series
> +++ b/patches/mtd-utils-1.5.0/series
> @@ -2,4 +2,8 @@
>  #tag:base --start-number 1
>  0001-make-ubifs-optional.patch
>  0002-Make-liblzo-optional-for-ubifs-tools.patch
> -# c7b83aac3f84d721cecd9e53605999f9  - git-ptx-patches magic
> +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
> diff --git a/rules/mtd-utils.in b/rules/mtd-utils.in
> index 45ab8e7..d1c46bd 100644
> --- a/rules/mtd-utils.in
> +++ b/rules/mtd-utils.in
> @@ -68,6 +68,18 @@ config MTD_UTILS_FLASH_OTP_INFO
>  	help
>  	  Print info about one-time programmable data.
>  
> +config MTD_UTILS_FLASH_OTP_LOCK
> +	bool
> +	prompt "flash_otp_lock"
> +	help
> +	  Lock one-time programmable data.
> +
> +config MTD_UTILS_FLASH_OTP_WRITE
> +	bool
> +	prompt "flash_otp_write"
> +	help
> +	  Write one-time programmable data.
> +
>  config MTD_UTILS_FLASH_UNLOCK
>  	bool
>  	prompt "flash_unlock"
> diff --git a/rules/mtd-utils.make b/rules/mtd-utils.make
> index d20050e..75be7db 100644
> --- a/rules/mtd-utils.make
> +++ b/rules/mtd-utils.make
> @@ -91,6 +91,14 @@ ifdef PTXCONF_MTD_UTILS_FLASH_OTP_INFO
>  	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
>  		/usr/sbin/flash_otp_info)
>  endif
> +ifdef PTXCONF_MTD_UTILS_FLASH_OTP_LOCK
> +	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
> +		/usr/sbin/flash_otp_lock)
> +endif
> +ifdef PTXCONF_MTD_UTILS_FLASH_OTP_WRITE
> +	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
> +		/usr/sbin/flash_otp_write)
> +endif
>  ifdef PTXCONF_MTD_UTILS_FLASH_UNLOCK
>  	@$(call install_copy, mtd-utils, 0, 0, 0755, -, \
>  		/usr/sbin/flash_unlock)
> -- 
> 1.7.10.4
> 
> 
> -- 
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-03-04 17:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-20 20:14 [ptxdist] [PATCH] mtd-utils: allow building and installing of flash_otp_{lock,write} Uwe Kleine-König
2013-02-28 13:39 ` [ptxdist] [PATCH v2] mtd-utils: allow building and installing of flash_otp_{lock, write} Uwe Kleine-König
2013-03-04 17:06   ` Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox