On Thursday 05 January 2012 13:44:57 David Wagner wrote: > --- a/tools/mkenvimage.c > +++ b/tools/mkenvimage.c > > filesize = txt_file_stat.st_size; > - /* Read the raw input file and transform it */ > - filebuf = malloc(sizeof(*envptr) * filesize); > - ret = read(txt_fd, filebuf, sizeof(*envptr) * filesize); > - if (ret != sizeof(*envptr) * filesize) { > - fprintf(stderr, "Can't read the whole input file\n"); > + > + filebuf = mmap(NULL, sizeof(*envptr) * filesize, PROT_READ, > + MAP_PRIVATE, txt_fd, 0); > + ret = close(txt_fd); > + if (filebuf == MAP_FAILED) { > + fprintf(stderr, "mmap (%ld bytes) failed: %s\n", > + sizeof(*envptr) * filesize, > + strerror(errno)); > return EXIT_FAILURE; > } > - ret = close(txt_fd);
seems like the mmap() failure shouldn't be fatal. just have it fallback to the normal read()/write() logic. -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot