• Roman Kapl's avatar
    net: sched: report if filter is too large to dump · 5ae437ad
    Roman Kapl authored
    So far, if the filter was too large to fit in the allocated skb, the
    kernel did not return any error and stopped dumping. Modify the dumper
    so that it returns -EMSGSIZE when a filter fails to dump and it is the
    first filter in the skb. If we are not first, we will get a next chance
    with more room.
    
    I understand this is pretty near to being an API change, but the
    original design (silent truncation) can be considered a bug.
    
    Note: The error case can happen pretty easily if you create a filter
    with 32 actions and have 4kb pages. Also recent versions of iproute try
    to be clever with their buffer allocation size, which in turn leads to
    Signed-off-by: default avatarRoman Kapl <code@rkapl.cz>
    Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
    Acked-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5ae437ad
cls_api.c 39.3 KB