IB/uverbs: Set error code when fail to consume all flow_spec items
authorYann Droneaud <ydroneaud@opteya.com>
Wed, 11 Dec 2013 22:01:50 +0000 (23:01 +0100)
committerRoland Dreier <roland@purestorage.com>
Fri, 20 Dec 2013 18:54:33 +0000 (10:54 -0800)
commit98a37510ec1452817600d8ea47cff1d9f8d9bec8
tree90b321acf45da2e3aafc2f3e80b9a3c6ef775567
parentc780d82a74cdf247a81f877ecae569b3a248f89b
IB/uverbs: Set error code when fail to consume all flow_spec items

If the flow_spec items parsed count does not match the number of items
declared in the flow_attr command, or if not all bytes are used for
flow_spec items (eg. trailing garbage), a log message is reported and
the function leave through the error path. Unfortunately the error
code is currently not set.

This patch set error code to -EINVAL in such cases, so that the error
is reported to userspace instead of silently fail.

Link: http://marc.info/?i=cover.1386798254.git.ydroneaud@opteya.com>
Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/core/uverbs_cmd.c