lkml.org 
[lkml]   [2012]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 1/6] netprio_cgroup: fix an off-by-one bug
      # mount -t cgroup xxx /mnt
    # mkdir /mnt/tmp
    # cat /mnt/tmp/net_prio.ifpriomap
    lo 0
    eth0 0
    virbr0 0
    # echo 'lo 999' > /mnt/tmp/net_prio.ifpriomap
    # cat /mnt/tmp/net_prio.ifpriomap
    lo 999
    eth0 0
    virbr0 4101267344

    We got weired output, because we exceeded the boundary of the array.
    We may even crash the kernel..

    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    ---
    net/core/netprio_cgroup.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c
    index 3a9fd48..a296cbb 100644
    --- a/net/core/netprio_cgroup.c
    +++ b/net/core/netprio_cgroup.c
    @@ -107,7 +107,7 @@ static void extend_netdev_table(struct net_device *dev, u32 new_len)
    static void update_netdev_tables(void)
    {
    struct net_device *dev;
    - u32 max_len = atomic_read(&max_prioidx);
    + u32 max_len = atomic_read(&max_prioidx) + 1;
    struct netprio_map *map;

    rtnl_lock();
    --
    1.7.3.1

    \
     
     \ /
      Last update: 2012-02-01 07:55    [W:0.019 / U:31.756 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site