[PATCH RFC 4/5] kdbus: handle WARN_ON cases properly when decrementing quota

From: Sergei Zviagintsev
Date: Sun Jun 28 2015 - 09:28:11 EST


If we spotted inconsistency, fix it by setting values to zero.

Signed-off-by: Sergei Zviagintsev <sergei@xxxxxxxx>
---
ipc/kdbus/connection.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/ipc/kdbus/connection.c b/ipc/kdbus/connection.c
index 1d44e280eff0..12e32de310f5 100644
--- a/ipc/kdbus/connection.c
+++ b/ipc/kdbus/connection.c
@@ -742,9 +742,15 @@ void kdbus_conn_quota_dec(struct kdbus_conn *c, struct kdbus_user *u,

if (!WARN_ON(quota->msgs == 0))
--quota->msgs;
- if (!WARN_ON(quota->memory < memory))
+
+ if (WARN_ON(quota->memory < memory))
+ quota->memory = 0;
+ else
quota->memory -= memory;
- if (!WARN_ON(quota->fds < fds))
+
+ if (WARN_ON(quota->fds < fds))
+ quota->fds = 0;
+ else
quota->fds -= fds;
}

--
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/