Giter Club home page Giter Club logo

Comments (4)

vmaffione avatar vmaffione commented on August 24, 2024

Can you please share the pkt-gen command you used?

from netmap.

ke-ding avatar ke-ding commented on August 24, 2024

Can you please share the pkt-gen command you used?

i just use the demo parameters:
pkt-gen -i eth0 -f tx -l 60

actually, when this command is entered, it halted after print
337.846397 main [3036] interface is eth0
337.846456 main [3159] using default burst size: 512
337.846516 main [3167] running on 1 cpus (have 16)
337.846854 extract_ip_range [477] range is 10.0.0.1:1234 to 10.0.0.1:1234
337.846865 extract_ip_range [477] range is 10.1.0.1:1234 to 10.1.0.1:1234

system is still responsing... i got the kernel dump via dmesg command.

from netmap.

omerdemirelA avatar omerdemirelA commented on August 24, 2024

Do we have an estimated time frame for when the issue with the detected buffer overflow in strcpy will be addressed?

from netmap.

brian90013 avatar brian90013 commented on August 24, 2024

I am seeing the same fortify panic for a strcpy() overflow on Ubuntu 22.04.3 kernel version 6.5.0-14-generic using netmap 5bb6334. I have other systems running kernel version 5.15.0-91-generic and using netmap without issue. In both cases I am using the generic/emulated adapter driver. I believe the issue must be the only strcpy() call in tc_configure():

strcpy(((void *)attr_kind) + NLA_HDRLEN, qdisc_name);

I configured an interface for single-queue with ethtool -L enp33s0f0np0 combined 1 then ran pkt-gen -f tx -i enp33s0f0np0 and saw the buffer overflow. tc_configure() was passed qdisc_name=netmapemu.

Then I configured the interface for 2 queues ethtool -L enp33s0f0np0 combined 2, ran pkt-gen again and saw the same overflow. This time tc_configure() was passed qdisc_name=mq.

While looking for strcpy() in netmap_linux.c I found one other use in netmap_sink_init() I don't understand.

    strlcpy(netdev->name, "nmsink", sizeof(netdev->name)); 
    netdev->features = NETIF_F_HIGHDMA;
    strcpy(netdev->name, "nmsink%d");

Why do the strlcpy() followed by a strcpy()? Is %d desired to be part of the name or was it supposed to be used with snprintf()? I don't think it's involved in this overflow but it jumped out to me.

from netmap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.