Patch "mtd: nand: Declare tBERS, tR and tPROG as u64 to avoid integer overflow" has been added to the 4.12-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
mtd: nand: Declare tBERS, tR and tPROG as u64 to avoid integer overflow
to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mtd-nand-declare-tbers-tr-and-tprog-as-u64-to-avoid-integer-overflow.patch
and it can be found in the queue-4.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
6d29231000bbe0fb9e4893a9c68151ffdd3b5469Mon Sep 17 00:00:00 2001
From: Boris Brezillon <[email protected]>
Date: Mon, 31 Jul 2017 10:31:27 +0200
Subject: mtd: nand: Declare tBERS, tR and tPROG as u64 to avoid integer overflow
From: Boris Brezillon <[email protected]>
commit 6d29231000bbe0fb9e4893a9c68151ffdd3b5469 upstream.
All timings in nand_sdr_timings are expressed in picoseconds but some of them may not fit in an u32.
--- drivers/mtd/nand/nand_timings.c | 6 +++--- include/linux/mtd/nand.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-)
drivers/mtd/nand/nand_timings.c +3 -3
@@ -311,9 +311,9 @@ int onfi_init_data_interface(struct nandstruct nand_sdr_timings *timings = &iface->timings.sdr;/* microseconds -> picoseconds */ - timings->tPROG_max =1000000UL *le16_to_cpu (params->t_prog); - timings->tBERS_max =1000000UL *le16_to_cpu (params->t_bers); - timings->tR_max =1000000UL *le16_to_cpu (params->t_r); + timings->tPROG_max =1000000ULL *le16_to_cpu (params->t_prog); + timings->tBERS_max =1000000ULL *le16_to_cpu (params->t_bers); + timings->tR_max =1000000ULL *le16_to_cpu (params->t_r);/* nanoseconds -> picoseconds */ timings->tCCS_min =1000UL *le16_to_cpu (params->t_ccs);
include/linux/mtd/nand.h +3 -3
@@ -638,10 +638,10 @@ struct nand_buffers {* @tWW_min: WP# transition to WE# low */ struct nand_sdr_timings { -u32 tBERS_max; +u64 tBERS_max;u32 tCCS_min; -u32 tPROG_max; -u32 tR_max; +u64 tPROG_max; +u64 tR_max;u32 tALH_min;u32 tADL_min;u32 tALS_min;
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/mtd-nand-atmel-fix-dt-backward-compatibility-in-pmecc.c.patch queue-4.12/mtd-nand-fix-timing-setup-for-nands-that-do-not-support-set-features.patch queue-4.12/mtd-nand-declare-tbers-tr-and-tprog-as-u64-to-avoid-integer-overflow.patch queue-4.12/nand-fix-wrong-default-oob-layout-for-small-pages-using-soft-ecc.patch