summaryrefslogtreecommitdiff
path: root/lib/ioctl_wrappers.c
diff options
context:
space:
mode:
authorPetri Latvala <petri.latvala@intel.com>2019-01-18 12:42:42 +0200
committerPetri Latvala <petri.latvala@intel.com>2019-01-21 13:49:11 +0200
commit7545a421916534d2f6a4c14f7e00622335c9c3f6 (patch)
tree4b38d0a3394b003b135024b514653ac684c9b46c /lib/ioctl_wrappers.c
parent08822179e5e9d7ee7e76e1c912e45193f38c8cd7 (diff)
lib/ioctl_wrappers: Help static analysis with execution flow
If an ioctl fails, errno is set to non-zero, and static analysis doesn't quite get it. Add igt_assume()s where applicable. v2: Braces on both branches of an if (Chris) Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: MichaƂ Winiarski <michal.winiarski@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/ioctl_wrappers.c')
-rw-r--r--lib/ioctl_wrappers.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 19e59794..404c2fbf 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -547,10 +547,12 @@ int __gem_create(int fd, uint64_t size, uint32_t *handle)
};
int err = 0;
- if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create) == 0)
+ if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create) == 0) {
*handle = create.handle;
- else
+ } else {
err = -errno;
+ igt_assume(err != 0);
+ }
errno = 0;
return err;
@@ -586,8 +588,10 @@ uint32_t gem_create(int fd, uint64_t size)
int __gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
{
int err = 0;
- if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf))
+ if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf)) {
err = -errno;
+ igt_assume(err != 0);
+ }
errno = 0;
return err;
}
@@ -616,8 +620,10 @@ void gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
int __gem_execbuf_wr(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
{
int err = 0;
- if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2_WR, execbuf))
+ if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2_WR, execbuf)) {
err = -errno;
+ igt_assume(err != 0);
+ }
errno = 0;
return err;
}