/* * Copyright (c) 2015 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include <fcntl.h> #include <stdlib.h> #include <unistd.h> #include <sys/mman.h> #include <sys/stat.h> #include <sys/types.h> int main(void) { char *buf; int fd, ret; unsigned int i; fd = open("/dev/zero", O_RDONLY); if (fd < 0) return 1; buf = mmap(NULL, 4096, PROT_READ, MAP_PRIVATE, fd, 0); if (buf == (char *)-1) return 2; for (i = 0; i < 4096; i++) { if (buf[i] != 0) return 3; } ret = munmap(buf, 4096); if (ret < 0) return 4; ret = close(fd); if (ret < 0) return 5; return 0; }