perf probe: ppc64le/ABIv2 support

Bug #1485528 reported by bugproxy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Tim Gardner
Vivid
Fix Released
Undecided
Tim Gardner
Wily
Fix Released
Medium
Tim Gardner

Bug Description

Problem Description
========================
perf probe does not work properly on ppc64le

---uname output---
Linux ubuntu1504 3.19.0-22-generic #22-Ubuntu SMP Tue Jun 16 17:15:17 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux

Machine Type = POWER

Steps to Reproduce
========================
 'perf probe do_fork' adds the probe, but is not able to capture events on 'perf record -e probe:do_fork -a'. This is because ppc64le ABIv2 uses local entry points at an offset from the global entry point where the probe is currently being placed.

These issues have been fixed upstream with the below patch series:
- http://thread.gmane.org/gmane.linux.kernel/1939488
- http://thread.gmane.org/gmane.linux.kernel/1941352

== Comment: #1 - Naveen N. Rao <email address hidden> - 2015-07-01 07:03:19 ==
I have backported the patches relevant for ppc64le and I am attaching them here. These fixes are needed for 15.04, 14.04.03 and 15.10 (depending on the kernel it gets based on). For reference, upstream commits in -tip for reference:
- d4c537e6bf860c12262cb936eef663180d7a3d45: perf probe: Ignore tail calls to probed functions
- 3099c026002e97b8c173d9d0bbdfc39257d14402: perf probe: Improve detection of file/function name in the probe pattern
- 7b6ff0bdbf4f7f429c2116cca92a6d171217449e: perf probe ppc64le: Fixup function entry if using kallsyms lookup
- d5c2e2c17ae1d630ddbceb53a264f24cc99703a4: perf probe ppc64le: Prefer symbol table lookup over DWARF
- c50fc0a43e33a6c3257c5cbb954cd747d7b9a680: perf probe ppc64le: Fix ppc64 ABIv2 symbol decoding
- 031b84c407c3153ffbcb4f8f832edf48af988719: perf probe ppc: Enable matching against dot symbols automatically
- fb6d59423115b10125f5db6acb8471f6f0af4ad7: perf probe ppc: Use the right prefix when ignoring SyS symbols on ppc
- d2332098331fffe9358b50cebc8954ecd6560448: perf probe ppc: Fix symbol fixup issues due to ELF type

CVE References

Revision history for this message
bugproxy (bugproxy) wrote : 0001-perf-probe-ppc-Fix-symbol-fixup-issues-due-to-ELF-ty.patch

Default Comment by Bridge

tags: added: architecture-ppc64le bugnameltc-127119 severity-medium targetmilestone-inin---
Revision history for this message
bugproxy (bugproxy) wrote : 0002-perf-probe-ppc64le-Fix-ppc64-ABIv2-symbol-decoding.patch

Default Comment by Bridge

Revision history for this message
bugproxy (bugproxy) wrote : 0003-perf-probe-ppc64le-Prefer-symbol-table-lookup-over-D.patch

Default Comment by Bridge

Revision history for this message
bugproxy (bugproxy) wrote : 0004-perf-probe-ppc64le-Fixup-function-entry-if-using-kal.patch

Default Comment by Bridge

Revision history for this message
bugproxy (bugproxy) wrote : 0005-perf-probe-Ignore-tail-calls-to-probed-functions.patch

Default Comment by Bridge

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1485528/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
affects: ubuntu → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2015-09-11 08:59 EDT-------
Canonical,
Any update on this?

Changed in linux (Ubuntu):
assignee: nobody → Taco Screen team (taco-screen-team)
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Vivid):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Changed in linux (Ubuntu Wily):
assignee: Taco Screen team (taco-screen-team) → Tim Gardner (timg-tpi)
status: New → In Progress
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Wily):
status: In Progress → Fix Released
Brad Figg (brad-figg)
Changed in linux (Ubuntu Vivid):
status: In Progress → Fix Committed
Revision history for this message
Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-vivid' to 'verification-done-vivid'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-vivid
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2015-10-09 08:23 EDT-------
Verified with 3.19.0-31-generic from -proposed.

Tim Gardner (timg-tpi)
tags: added: verification-done-vivid
removed: verification-needed-vivid
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (10.5 KiB)

This bug was fixed in the package linux - 3.19.0-31.36

---------------
linux (3.19.0-31.36) vivid; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1503703

  [ Andy Whitcroft ]

  * Revert "SAUCE: aufs3: mmap: Fix races in madvise_remove() and
    sys_msync()"
    - LP: #1503655

  [ Ben Hutchings ]

  * SAUCE: aufs3: mmap: Fix races in madvise_remove() and sys_msync()
    - LP: #1503655
    - CVE-2015-7312

linux (3.19.0-31.35) vivid; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1503005

  [ Ben Hutchings ]

  * SAUCE: aufs3: mmap: Fix races in madvise_remove() and sys_msync()
    - CVE-2015-7312

  [ Craig Magina ]

  * [Config] Add XGENE_EDAC, EDAC_SUPPORT and EDAC_ATOMIC_SCRUB
    - LP: #1494357

  [ John Johansen ]

  * SAUCE: (no-up) apparmor: fix mount not handling disconnected paths
    - LP: #1496430

  [ Laurent Dufour ]

  * SAUCE: powerpc/hvsi: Fix endianness issues in the HVSI driver
    - LP: #1499357

  [ Tim Gardner ]

  * [Config] CONFIG_RTC_DRV_XGENE=y for only arm64
    - LP: #1499869

  [ Upstream Kernel Changes ]

  * Revert "sit: Add gro callbacks to sit_offload"
    - LP: #1500493
  * ipmi/powernv: Fix minor locking bug
    - LP: #1493017
  * mmc: sdhci-pci: set the clear transfer mode register quirk for O2Micro
    - LP: #1472843
  * perf probe ppc: Fix symbol fixup issues due to ELF type
    - LP: #1485528
  * perf probe ppc: Use the right prefix when ignoring SyS symbols on ppc
    - LP: #1485528
  * perf probe ppc: Enable matching against dot symbols automatically
    - LP: #1485528
  * perf probe ppc64le: Fix ppc64 ABIv2 symbol decoding
    - LP: #1485528
  * perf probe ppc64le: Prefer symbol table lookup over DWARF
    - LP: #1485528
  * perf probe ppc64le: Fixup function entry if using kallsyms lookup
    - LP: #1485528
  * perf probe: Improve detection of file/function name in the probe
    pattern
    - LP: #1485528
  * perf probe: Ignore tail calls to probed functions
    - LP: #1485528
  * seccomp: cap SECCOMP_RET_ERRNO data to MAX_ERRNO
    - LP: #1496073
  * EDAC: Cleanup atomic_scrub mess
    - LP: #1494357
  * arm64: Enable EDAC on ARM64
    - LP: #1494357
  * MAINTAINERS: Add entry for APM X-Gene SoC EDAC driver
    - LP: #1494357
  * Documentation: Add documentation for the APM X-Gene SoC EDAC DTS
    binding
    - LP: #1494357
  * EDAC: Add APM X-Gene SoC EDAC driver
    - LP: #1494357
  * arm64: Add APM X-Gene SoC EDAC DTS entries
    - LP: #1494357
  * EDAC, edac_stub: Drop arch-specific include
    - LP: #1494357
  * NVMe: Fix blk-mq hot cpu notification
    - LP: #1498778
  * blk-mq: Shared tag enhancements
    - LP: #1498778
  * blk-mq: avoid access hctx->tags->cpumask before allocation
    - LP: #1498778
  * x86/ldt: Make modify_ldt synchronous
    - LP: #1500493
  * x86/ldt: Correct LDT access in single stepping logic
    - LP: #1500493
  * x86/ldt: Correct FPU emulation access to LDT
    - LP: #1500493
  * md: flush ->event_work before stopping array.
    - LP: #1500493
  * ipv6: addrconf: validate new MTU before applying it
    - LP: #1500493
  * virtio-net: drop NETIF_F_FRAGLIST
    - LP: #1500493
  * RDS: verify the underlying transport exists bef...

Changed in linux (Ubuntu Vivid):
status: Fix Committed → Fix Released
bugproxy (bugproxy)
tags: added: targetmilestone-inin1504
removed: targetmilestone-inin---
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.