GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-111178: fix UBSan failures in `Modules/selectmodule.c` by picnixz · Pull Request #129792 · python/cpython

Conversation

@picnixz

@picnixz picnixz commented Feb 7, 2025 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

This PR fixes the UBSan failures and addresses some minor cosmetic changes. PEP-7 changes were not applied since they could scramble the diff but other semantic changes affecting the signature of touched functions may have been done.

  • Issue: UBSan: Calling a function through pointer to incorrect function type is undefined behavior #111178

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
picnixz added 8 commits February 6, 2025 12:45
@picnixz
fix UBSan failures for pollObject
1791bf0
@picnixz
fix UBSan failures for devpollObject
74a3605
@picnixz
fix UBSan failures for pyEpoll_Object
ff0d904
@picnixz
fix UBSan failures for kqueue_event_Object
08462e8
@picnixz
fix UBSan failures for kqueue_tracking_after_fork
bfbed25
@picnixz
fix UBSan failures for kqueue_queue_Object
bfb9b81
@picnixz
suppress unused return values
abd3754
@picnixz
Merge remote-tracking branch 'upstream/main' into fix/ubsan/select-11…
5042aa8
…1178
@picnixz picnixz added the skip news label Feb 7, 2025
@bedevere-app bedevere-app Bot mentioned this pull request Feb 7, 2025
UBSan: Calling a function through pointer to incorrect function type is undefined behavior #111178
Closed
picnixz added 2 commits February 7, 2025 13:08
@picnixz
fix compilation
6f30e55
@picnixz
fix compilation
8a1c309
@picnixz
picnixz marked this pull request as ready for review February 7, 2025 18:09
@bedevere-app bedevere-app Bot added the awaiting core review label Feb 7, 2025
vstinner
vstinner approved these changes Feb 21, 2025
View reviewed changes

@vstinner vstinner left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

LGTM

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bedevere-app bedevere-app Bot added awaiting merge and removed awaiting core review labels Feb 21, 2025
picnixz added 3 commits February 22, 2025 10:50
@picnixz
fix semantic naming
7a0ca33
@picnixz
Merge branch 'main' into fix/ubsan/select-111178
ff6a56d
@picnixz
declare _select_exec function as being static
91dfee4
@picnixz

picnixz commented Feb 23, 2025

Copy link
Copy Markdown
Member Author

@vstinner I've observed that _select_exec was not declared static so I declared it static as well. I think it was an omission of not having it static. The commit message will be:

Fix some UBSan failures for `pollObject`, `devpollObject`, `pyEpoll_Object` as well as
for `kqueue_event_Object`, `kqueue_queue_Object` and `kqueue_tracking_after_fork`.

We also perform some cleanup by suppressing unused return values and renaming the
unused parameter in `METH_NOARGS` and getter/setter methods to `dummy` and `closure`
respectively for semantic purposes. We also explicitly declare `_select_exec` as a
`static` function.
encukou reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@picnixz
picnixz requested a review from vstinner February 23, 2025 10:08
@encukou
encukou merged commit 73bbaf3 into python:main Feb 24, 2025
@bedevere-app bedevere-app Bot removed the awaiting merge label Feb 24, 2025
@picnixz
picnixz deleted the fix/ubsan/select-111178 branch February 24, 2025 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@vstinner vstinner Awaiting requested review from vstinner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@picnixz @vstinner @encukou
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.