[Intel-gfx] [PATCH i-g-t 1/2] build: fix unused-result warnings

Zanoni, Paulo R paulo.r.zanoni at intel.com
Wed Sep 9 11:19:00 PDT 2015


Em Seg, 2015-09-07 às 12:34 +0100, Thomas Wood escreveu:
> Signed-off-by: Thomas Wood <thomas.wood at intel.com>
> ---
>  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",


More information about the Intel-gfx mailing list