diff options
author | Petri Latvala <petri.latvala@intel.com> | 2019-01-18 12:42:42 +0200 |
---|---|---|
committer | Petri Latvala <petri.latvala@intel.com> | 2019-01-21 13:49:11 +0200 |
commit | 7545a421916534d2f6a4c14f7e00622335c9c3f6 (patch) | |
tree | 4b38d0a3394b003b135024b514653ac684c9b46c /lib/ioctl_wrappers.c | |
parent | 08822179e5e9d7ee7e76e1c912e45193f38c8cd7 (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.c | 14 |
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; } |