Skip to content

fix(xdp): use xdp off for stale cleanup#3

Merged
simonmorley merged 1 commit into
mainfrom
fix/xdp-cleanup-mode
Mar 16, 2026
Merged

fix(xdp): use xdp off for stale cleanup#3
simonmorley merged 1 commit into
mainfrom
fix/xdp-cleanup-mode

Conversation

@simonmorley
Copy link
Copy Markdown
Member

Summary

  • Changes xdpgeneric offxdp off in the stale XDP cleanup fallback
  • xdpgeneric off only works if the stale program was attached in generic mode — fails silently otherwise, causing -EBUSY on next attachment
  • xdp off detaches regardless of attachment mode (generic, driver, offloaded)

Test plan

  • cargo test -- test_xdp_cleanup passes (updated assertions)
  • Kill limpet with SIGKILL on scanner, verify restart succeeds

`xdpgeneric off` only detaches programs attached in generic mode.
If the stale program was attached as driver or offloaded, the cleanup
silently fails and the next attachment gets -EBUSY. `xdp off` detaches
regardless of attachment mode.

[skip tests]
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request improves the reliability of XDP program cleanup by adopting a more universal command for detaching stale programs. This change addresses a limitation where previous cleanup attempts might fail silently, leading to resource contention and errors when new XDP programs are deployed. The updated approach ensures consistent and successful detachment across all XDP attachment modes.

Highlights

  • XDP Cleanup Command Update: The command used for cleaning up stale XDP programs has been changed from xdpgeneric off to xdp off.
  • Enhanced Robustness: The xdpgeneric off command was limited, only working for programs attached in generic mode and failing silently otherwise. The new xdp off command ensures detachment regardless of the XDP program's attachment mode (generic, driver, or offloaded), preventing -EBUSY errors on subsequent attachments.
Changelog
  • src/timing/xdp.rs
    • Modified the xdp_cleanup_command function to use xdp off instead of xdpgeneric off for detaching XDP programs.
    • Updated the unit tests for xdp_cleanup_command to reflect the change in the expected arguments.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request correctly updates the stale XDP cleanup command to use xdp off instead of xdpgeneric off, which improves the robustness of the cleanup logic. The corresponding unit tests are also correctly updated. The changes are sound. One minor point: for consistency, you might also want to update the user-facing error message at src/timing/xdp.rs:200, which still suggests using xdpgeneric off for manual cleanup.

@simonmorley simonmorley merged commit 868771f into main Mar 16, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant