| From 155fc6ba488a8bdfd1d3be3d7ba98c9cec2b2429 Mon Sep 17 00:00:00 2001 |
| From: Geert Uytterhoeven <geert@linux-m68k.org> |
| Date: Mon, 13 Jan 2020 11:51:56 +0100 |
| Subject: ubifs: Fix ino_t format warnings in orphan_delete() |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Geert Uytterhoeven <geert@linux-m68k.org> |
| |
| commit 155fc6ba488a8bdfd1d3be3d7ba98c9cec2b2429 upstream. |
| |
| On alpha and s390x: |
| |
| fs/ubifs/debug.h:158:11: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘ino_t {aka unsigned int}’ [-Wformat=] |
| ... |
| fs/ubifs/orphan.c:132:3: note: in expansion of macro ‘dbg_gen’ |
| dbg_gen("deleted twice ino %lu", orph->inum); |
| ... |
| fs/ubifs/orphan.c:140:3: note: in expansion of macro ‘dbg_gen’ |
| dbg_gen("delete later ino %lu", orph->inum); |
| |
| __kernel_ino_t is "unsigned long" on most architectures, but not on |
| alpha and s390x, where it is "unsigned int". Hence when printing an |
| ino_t, it should always be cast to "unsigned long" first. |
| |
| Fix this by re-adding the recently removed casts. |
| |
| Fixes: 8009ce956c3d2802 ("ubifs: Don't leak orphans on memory during commit") |
| Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> |
| Signed-off-by: Richard Weinberger <richard@nod.at> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/ubifs/orphan.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/fs/ubifs/orphan.c |
| +++ b/fs/ubifs/orphan.c |
| @@ -129,7 +129,7 @@ static void __orphan_drop(struct ubifs_i |
| static void orphan_delete(struct ubifs_info *c, struct ubifs_orphan *orph) |
| { |
| if (orph->del) { |
| - dbg_gen("deleted twice ino %lu", orph->inum); |
| + dbg_gen("deleted twice ino %lu", (unsigned long)orph->inum); |
| return; |
| } |
| |
| @@ -137,7 +137,7 @@ static void orphan_delete(struct ubifs_i |
| orph->del = 1; |
| orph->dnext = c->orph_dnext; |
| c->orph_dnext = orph; |
| - dbg_gen("delete later ino %lu", orph->inum); |
| + dbg_gen("delete later ino %lu", (unsigned long)orph->inum); |
| return; |
| } |
| |