drivers/mtd/onenand/: unacceptable stack usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In 2.6.15-rc, the following driver was added:


include/linux/mtd/onenand.h:
#define MAX_ONENAND_PAGESIZE        (2048 + 64)


drivers/mtd/onenand/onenand_base.c:
static int onenand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs,
        unsigned long count, loff_t to, size_t *retlen,
        u_char *eccbuf, struct nand_oobinfo *oobsel)
{
        struct onenand_chip *this = mtd->priv;
        unsigned char buffer[MAX_ONENAND_PAGESIZE], *pbuf;


drivers/mtd/onenand/onenand_bbt.c:
static inline int onenand_memory_bbt (struct mtd_info *mtd, struct nand_bbt_descr *bd)
{
        unsigned char data_buf[MAX_ONENAND_PAGESIZE];


These are variables on the stack that are > 2kB which is not acceptable 
since the complete stack might be only 4kB.


Please either fix this before 2.6.15 or mark the MTD_ONENAND driver as 
BROKEN until it's fixed.


TIA
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux