Em Seg, 2015-09-07 às 12:34 +0100, Thomas Wood escreveu: > Signed-off-by: Thomas Wood <thomas.wood@xxxxxxxxx> > --- > benchmarks/kms_vblank.c | 7 ++++--- > debugger/eudb.c | 4 +++- > lib/igt_aux.c | 8 ++++++-- > overlay/gpu-top.c | 4 +++- > overlay/overlay.c | 4 ++-- > tools/intel_l3_udev_listener.c | 4 ++-- > tools/intel_reg.c | 3 ++- > 7 files changed, 22 insertions(+), 12 deletions(-) > > diff --git a/benchmarks/kms_vblank.c b/benchmarks/kms_vblank.c > index f9dbe3d..3d2f977 100644 > --- a/benchmarks/kms_vblank.c > +++ b/benchmarks/kms_vblank.c > @@ -41,6 +41,7 @@ > #include <drm.h> > #include <xf86drm.h> > #include "drmtest.h" > +#include "assert.h" > > static double elapsed(const struct timespec *start, > const struct timespec *end, > @@ -89,7 +90,7 @@ static void vblank_query(int fd, int busy) > > printf("%f\n", 1e6/elapsed(&start, &end, count)); > if (busy) > - read(fd, &event, sizeof(event)); > + assert(read(fd, &event, sizeof(event)) != -1); > } > > static void vblank_event(int fd, int busy) > @@ -118,14 +119,14 @@ static void vblank_event(int fd, int busy) > vbl.request.sequence = 0; > drmIoctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl); > > - read(fd, &event, sizeof(event)); > + assert(read(fd, &event, sizeof(event)) != -1); > count++; > } while ((event.sequence - seq) <= 120); > clock_gettime(CLOCK_MONOTONIC, &end); > > printf("%f\n", 1e6/elapsed(&start, &end, count)); > if (busy) > - read(fd, &event, sizeof(event)); > + assert(read(fd, &event, sizeof(event)) != -1); > } > > int main(int argc, char **argv) > diff --git a/debugger/eudb.c b/debugger/eudb.c > index 39c5cca..275a27e 100644 > --- a/debugger/eudb.c > +++ b/debugger/eudb.c > @@ -147,7 +147,9 @@ dump_debug(void *buf, size_t count) { > if (!debug_fd) > debug_fd = open(debug_file, O_CREAT | O_WRONLY | > O_TRUNC, S_IRWXO); > > - write(debug_fd, buf, count); > + if (write(debug_fd, buf, count) == -1) > + fprintf(stderr, "Error writing to debug file: %s\n", > + strerror(errno)); > } > > static volatile void * > diff --git a/lib/igt_aux.c b/lib/igt_aux.c > index c26d167..e77392c 100644 > --- a/lib/igt_aux.c > +++ b/lib/igt_aux.c > @@ -767,8 +767,12 @@ static void igt_module_param_exit_handler(int > sig) > > fd = open(file_path, O_RDWR); > if (fd >= 0) { > - write(fd, data->original_value, > - strlen(data->original_value)); > + int size = strlen (data->original_value); > + > + if (size != write(fd, data->original_value, > size)) > + igt_warn("%s may not have been reset > to its" > + " original value\n", > file_path); > + Can't this cause problems due to the fact that we're in an exit handler and igt_warn() doesn't seem to be Async-Signal-Safe? /me remembers the malloc locking problem we had in the past with the connector exit handler (bug 83498) > close(fd); > } > } > diff --git a/overlay/gpu-top.c b/overlay/gpu-top.c > index d1f5ec8..4097cd0 100644 > --- a/overlay/gpu-top.c > +++ b/overlay/gpu-top.c > @@ -29,6 +29,7 @@ > #include <unistd.h> > #include <fcntl.h> > #include <errno.h> > +#include <assert.h> > > #include "perf.h" > #include "igfx.h" > @@ -260,7 +261,8 @@ static void mmio_init(struct gpu_top *gt) > mmio_ring_emit(&render_ring, 1000, payload); > mmio_ring_emit(&bsd_ring, 1000, payload); > mmio_ring_emit(&blt_ring, 1000, payload); > - write(fd[1], payload, sizeof(payload)); > + assert(write(fd[1], payload, sizeof(payload)) > + == sizeof(payload)); > } > } > > diff --git a/overlay/overlay.c b/overlay/overlay.c > index 035e02c..3c0dbb4 100644 > --- a/overlay/overlay.c > +++ b/overlay/overlay.c > @@ -910,8 +910,8 @@ int main(int argc, char **argv) > if (daemonize && daemon(0, 0)) > return EINVAL; > > - if (renice) > - nice(renice); > + if (renice && (nice(renice) == -1)) > + fprintf(stderr, "Could not renice: %s\n", > strerror(errno)); > > signal(SIGUSR1, signal_snapshot); > > diff --git a/tools/intel_l3_udev_listener.c > b/tools/intel_l3_udev_listener.c > index 261630e..0b94c1c 100644 > --- a/tools/intel_l3_udev_listener.c > +++ b/tools/intel_l3_udev_listener.c > @@ -113,10 +113,10 @@ again: > > udev_device_unref(udev_dev); > > - asprintf(&err_msg, "Parity error detected on: %d,%d,%d,%d. " > + assert(asprintf(&err_msg, "Parity error detected on: > %d,%d,%d,%d. " > "Try to run intel_l3_parity -r %d -b %d -s > %d -w %d -d", > loc->slice, loc->row, loc->bank, loc > ->subbank, > - loc->row, loc->bank, loc->subbank, loc > ->slice); > + loc->row, loc->bank, loc->subbank, loc > ->slice) != -1); > if (daemon) { > syslog(LOG_INFO, "%s\n", err_msg); > goto again; > diff --git a/tools/intel_reg.c b/tools/intel_reg.c > index 95760db..bef3287 100644 > --- a/tools/intel_reg.c > +++ b/tools/intel_reg.c > @@ -506,7 +506,8 @@ static int intel_reg_snapshot(struct config > *config, int argc, char *argv[]) > intel_mmio_use_pci_bar(config->pci_dev); > > /* XXX: error handling */ > - write(1, igt_global_mmio, config->pci_dev > ->regions[mmio_bar].size); > + if (write(1, igt_global_mmio, config->pci_dev > ->regions[mmio_bar].size) == -1) > + fprintf(stderr, "Error writing snapshot: %s", > strerror(errno)); > > if (config->verbosity > 0) > printf("use this with --mmio=FILE --devid=0x%04X\n", _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx