diff options
Diffstat (limited to 'net/rds/message.c')
-rw-r--r-- | net/rds/message.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/rds/message.c b/net/rds/message.c index f0a4658f3273..aff589cc022e 100644 --- a/net/rds/message.c +++ b/net/rds/message.c | |||
@@ -197,6 +197,9 @@ struct rds_message *rds_message_alloc(unsigned int extra_len, gfp_t gfp) | |||
197 | { | 197 | { |
198 | struct rds_message *rm; | 198 | struct rds_message *rm; |
199 | 199 | ||
200 | if (extra_len > KMALLOC_MAX_SIZE - sizeof(struct rds_message)) | ||
201 | return NULL; | ||
202 | |||
200 | rm = kzalloc(sizeof(struct rds_message) + extra_len, gfp); | 203 | rm = kzalloc(sizeof(struct rds_message) + extra_len, gfp); |
201 | if (!rm) | 204 | if (!rm) |
202 | goto out; | 205 | goto out; |