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 — bpo-29579: Removes readme.txt from the installer. by zooba · Pull Request #161 · python/cpython

Conversation

@zooba

@zooba zooba commented Feb 18, 2017

Copy link
Copy Markdown
Member

Backport of #160

Sorry, something went wrong.

Uh oh!

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

All reactions
@zooba
bpo-29579: Removes readme.txt from the installer.
814e07e
@zooba zooba added the cherry-pick for 3.6 label Feb 18, 2017
@the-knights-who-say-ni the-knights-who-say-ni added the CLA signed label Feb 18, 2017
berkerpeksag
berkerpeksag approved these changes Feb 18, 2017
View reviewed changes
zware
zware approved these changes Feb 18, 2017
View reviewed changes
@zooba
zooba merged commit d372cda into python:3.6 Feb 19, 2017
@zooba
zooba deleted the bpo-29579-36 branch February 19, 2017 00:12
akruis added a commit to akruis/cpython that referenced this pull request Jun 23, 2018
@akruis
Stackless issue python#161: Add Stackless support to patchcheck.py
a4e7d75
Now Tools/scripts/patchcheck.py uses Stackless specific git base
branches for Stackless source trees (i.e. "master-slp" instead of
"master")
akruis added a commit to akruis/cpython that referenced this pull request Aug 16, 2018
@akruis
Stackless issue python#161: Add Stackless support to patchcheck.py
89cd94c
Now Tools/scripts/patchcheck.py uses Stackless specific git base
branches for Stackless source trees (i.e. "master-slp" instead of
"master")
(cherry picked from commit a4e7d75)
akruis added a commit to akruis/cpython that referenced this pull request Sep 11, 2018
@akruis
Stackless issue python#161: Add Stackless support to patchcheck.py
b248ae8
Now Tools/scripts/patchcheck.py uses Stackless specific git base
branches for Stackless source trees (i.e. "master-slp" instead of
"master")
(cherry picked from commit a4e7d75)
SonicField added a commit to SonicField/cpython that referenced this pull request Apr 26, 2026
@SonicField
W-PYTORCH-CM-(i): fix type-confusion in hir_c_compare_op call
f97cf34
simplify_primitive_compare_c at simplify_c.c:718 called hir_c_compare_op
on a HirPrimitiveCompare instr. hir_c_compare_op casts to HirCompare*
(HIR_DEOPT_FIELDS layout, op at offset ~104). HirPrimitiveCompare uses
HIR_INSTR_FIELDS (op at offset ~40, total slab ~48 bytes). Read at
instr+104 was ~56 bytes past the slab end, into adjacent (often freed)
memory.

Fix: add hir_c_primitive_compare_op accessor with correct
HirPrimitiveCompare* cast. Replace simplify_c.c:718 call.

Hardening (per pythia python#161 python#4 + feedback_class_of_bug_audit.md):
add static_assert(offsetof(HirCompare, op) != offsetof(HirPrimitiveCompare, op))
in hir_instr_c_verify.cpp to prevent future single-accessor confusion.

Verification (testkeeper valgrind, post-fix):
  Pre-fix:  ERROR SUMMARY: 26 errors from 4 contexts
  Post-fix: ERROR SUMMARY: 1 errors from 1 contexts
  24 simplify_primitive_compare_c UAF errors ELIMINATED.
Re-verified post-amendment (generalist):
  Post-amend: ERROR SUMMARY: 1 errors from 1 contexts (unchanged)

The remaining 1 error is the runtime StoreAttr NULL+0xAB deref
(W-PYTORCH-CM-(ii)) — a separate, independent bug per SoK 4-class
enumeration in docs/w-pytorch-cm-tooling-note.md.

Class-of-bug audit (per feedback_class_of_bug_audit.md):
- hir_c_compare_op (DEOPT cast): 4 callers — 3 correct (HirCompare
  context at simplify_c.c:648 simplify_compare_c, dynamic_comparison_
  elimination.c:102 guarded by hir_c_is_compare, pass_output_type_c.c:45
  HIR_OP_Compare case), 1 BUGGY (simplify_c.c:718, fixed)
- hir_c_unary_op_kind (DEOPT cast): 3 callers, all correct
- hir_c_inplace_op_kind (DEOPT cast): 1 caller, correct
- hir_c_primitive_unary_op_kind (INSTR cast): exists, used correctly
- HirFloatCompare/HirLongCompare/HirUnicodeCompare/HirCompareBool:
  no current op-field readers — would be candidates if added

Sole bug. No parallel type-confusion in current code.

Cinderx duplicate (per pythia python#161 python#3): NON-ISSUE. Python/cinderx/Jit/hir/*
and Python/jit/hir/* are HARDLINKS (same inode); single edit covers both
include paths. Build resolves 'cinderx/Jit/hir/' include to
Python/cinderx/Jit/hir/, which is the same on-disk file as Python/jit/hir/.

F7 R1 'ASAN false positive' classification (D-1777177190) was incorrect.
ASAN/valgrind were right; this is a real type-confusion UAF that
manifested as garbage reads driving wrong simplification logic.

Bug latent because read past slab end returns garbage but doesn't
crash; PrimitiveCompare branches on garbage land in valid-looking code
most of the time. bench_pytorch_cm trigger correlates with workload
exercising PrimitiveCompare simplification heavily (autocast/_NoGrad
context manager enter/exit branches compile to PrimitiveCompare ops).

Build: scripts/build_phoenix.sh
Binary: /data/users/alexturner/phoenix/cpython/python
Binary timestamp: 1777204101 (Apr 26 04:48:21 PDT)
Binary md5: 687c34ef755aa6df9a2a57d7b568edc8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@berkerpeksag berkerpeksag berkerpeksag approved these changes
@zware zware zware approved these changes

Uh oh!

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

Assignees

No one assigned

Labels

None yet

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.

4 participants

@zooba @berkerpeksag @zware @the-knights-who-say-ni
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.