Skip to content

Commit

Permalink
[PATCH] firmware/dcdbas: add size check in smi_data_write
Browse files Browse the repository at this point in the history
Add a size check in smi_data_write to prevent possible wrapping problems
with large pos values when calling smi_data_buf_realloc on 32-bit.

Signed-off-by: Doug Warzecha <Douglas_Warzecha@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Doug Warzecha authored and Linus Torvalds committed Oct 20, 2006
1 parent 1cd441f commit b95936c
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/firmware/dcdbas.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*
* See Documentation/dcdbas.txt for more information.
*
* Copyright (C) 1995-2005 Dell Inc.
* Copyright (C) 1995-2006 Dell Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License v2.0 as published by
Expand Down Expand Up @@ -40,7 +40,7 @@
#include "dcdbas.h"

#define DRIVER_NAME "dcdbas"
#define DRIVER_VERSION "5.6.0-2"
#define DRIVER_VERSION "5.6.0-3.2"
#define DRIVER_DESCRIPTION "Dell Systems Management Base Driver"

static struct platform_device *dcdbas_pdev;
Expand Down Expand Up @@ -175,6 +175,9 @@ static ssize_t smi_data_write(struct kobject *kobj, char *buf, loff_t pos,
{
ssize_t ret;

if ((pos + count) > MAX_SMI_DATA_BUF_SIZE)
return -EINVAL;

mutex_lock(&smi_data_lock);

ret = smi_data_buf_realloc(pos + count);
Expand Down

0 comments on commit b95936c

Please sign in to comment.