lkml.org 
[lkml]   [2010]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] net: clear heap allocation for ETHTOOL_GRXCLSRLALL
    Calling ETHTOOL_GRXCLSRLALL with a large rule_cnt will allocate kernel
    heap without clearing it. For the one driver (niu) that implements it,
    it will leave the unused portion of heap unchanged and copy the full
    contents back to userspace.

    Cc: stable@kernel.org
    Signed-off-by: Kees Cook <kees.cook@canonical.com>
    ---
    net/core/ethtool.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/net/core/ethtool.c b/net/core/ethtool.c
    index 7a85367..4016ac6 100644
    --- a/net/core/ethtool.c
    +++ b/net/core/ethtool.c
    @@ -348,7 +348,7 @@ static noinline_for_stack int ethtool_get_rxnfc(struct net_device *dev,
    if (info.cmd == ETHTOOL_GRXCLSRLALL) {
    if (info.rule_cnt > 0) {
    if (info.rule_cnt <= KMALLOC_MAX_SIZE / sizeof(u32))
    - rule_buf = kmalloc(info.rule_cnt * sizeof(u32),
    + rule_buf = kzalloc(info.rule_cnt * sizeof(u32),
    GFP_USER);
    if (!rule_buf)
    return -ENOMEM;
    --
    1.7.1
    --
    Kees Cook
    Ubuntu Security Team


    \
     
     \ /
      Last update: 2010-10-07 22:07    [W:0.022 / U:5.772 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site