Skip to content
Snippets Groups Projects
Select Git revision
  • c80f9e037bedb09d08a261f255f87ea105fa371b
  • master default protected
  • android-7.1.2_r28_klist
  • pie-cts-release
  • pie-vts-release
  • pie-cts-dev
  • oreo-mr1-iot-release
  • sdk-release
  • oreo-m6-s4-release
  • oreo-m4-s12-release
  • pie-release
  • pie-r2-release
  • pie-r2-s1-release
  • oreo-vts-release
  • oreo-cts-release
  • oreo-dev
  • oreo-mr1-dev
  • pie-gsi
  • pie-platform-release
  • pie-dev
  • oreo-cts-dev
  • android-o-mr1-iot-release-1.0.4
  • android-9.0.0_r8
  • android-9.0.0_r7
  • android-9.0.0_r6
  • android-9.0.0_r5
  • android-8.1.0_r46
  • android-8.1.0_r45
  • android-n-iot-release-smart-display-r2
  • android-vts-8.1_r5
  • android-cts-8.1_r8
  • android-cts-8.0_r12
  • android-cts-7.1_r20
  • android-cts-7.0_r24
  • android-o-mr1-iot-release-1.0.3
  • android-cts-9.0_r1
  • android-8.1.0_r43
  • android-8.1.0_r42
  • android-n-iot-release-smart-display
  • android-p-preview-5
  • android-9.0.0_r3
41 results

shell.te

Blame
    • Primiano Tucci's avatar
      c80f9e03
      Perfetto SELinux policies · c80f9e03
      Primiano Tucci authored
      Perfetto is a performance instrumentation and logging framework,
      living in AOSP's /external/pefetto.
      Perfetto introduces in the system one binary and two daemons
      (the binary can specialize in either depending on the cmdline).
      
      1) traced: unprivileged daemon. This is architecturally similar to logd.
         It exposes two UNIX sockets:
         - /dev/socket/traced_producer : world-accessible, allows to stream
           tracing data. A tmpfs file descriptor is sent via SCM_RIGHTS
           from traced to each client process, which needs to be able to
           mmap it R/W (but not X)
         - /dev/socket/traced_consumer : privilege-accessible (only from:
           shell, statsd). It allows to configure tracing and read the trace
           buffer.
      2) traced_probes: privileged daemon. This needs to:
         - access tracingfs (/d/tracing) to turn tracing on and off.
         - exec atrace
         - connect to traced_producer to stream data to traced.
      
      init.rc file:
      https://android-review.googlesource.com/c/platform/external/perfetto/+/575382/14/perfetto.rc
      
      Bug: 70942310
      Change-Id: Ia3b5fdacbd5a8e6e23b82f1d6fabfa07e4abc405
      c80f9e03
      History
      Perfetto SELinux policies
      Primiano Tucci authored
      Perfetto is a performance instrumentation and logging framework,
      living in AOSP's /external/pefetto.
      Perfetto introduces in the system one binary and two daemons
      (the binary can specialize in either depending on the cmdline).
      
      1) traced: unprivileged daemon. This is architecturally similar to logd.
         It exposes two UNIX sockets:
         - /dev/socket/traced_producer : world-accessible, allows to stream
           tracing data. A tmpfs file descriptor is sent via SCM_RIGHTS
           from traced to each client process, which needs to be able to
           mmap it R/W (but not X)
         - /dev/socket/traced_consumer : privilege-accessible (only from:
           shell, statsd). It allows to configure tracing and read the trace
           buffer.
      2) traced_probes: privileged daemon. This needs to:
         - access tracingfs (/d/tracing) to turn tracing on and off.
         - exec atrace
         - connect to traced_producer to stream data to traced.
      
      init.rc file:
      https://android-review.googlesource.com/c/platform/external/perfetto/+/575382/14/perfetto.rc
      
      Bug: 70942310
      Change-Id: Ia3b5fdacbd5a8e6e23b82f1d6fabfa07e4abc405
    Kbuild 1.30 KiB
    # SPDX-License-Identifier: GPL-2.0
    #
    # Kbuild for top-level directory of the kernel
    
    #####
    # Generate bounds.h
    
    bounds-file := include/generated/bounds.h
    
    always-y := $(bounds-file)
    targets := kernel/bounds.s
    
    $(bounds-file): kernel/bounds.s FORCE
    	$(call filechk,offsets,__LINUX_BOUNDS_H__)
    
    #####
    # Generate timeconst.h
    
    timeconst-file := include/generated/timeconst.h
    
    filechk_gentimeconst = echo $(CONFIG_HZ) | bc -q $<
    
    $(timeconst-file): kernel/time/timeconst.bc FORCE
    	$(call filechk,gentimeconst)
    
    #####
    # Generate asm-offsets.h
    
    offsets-file := include/generated/asm-offsets.h
    
    always-y += $(offsets-file)
    targets += arch/$(SRCARCH)/kernel/asm-offsets.s
    
    arch/$(SRCARCH)/kernel/asm-offsets.s: $(timeconst-file) $(bounds-file)
    
    $(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s FORCE
    	$(call filechk,offsets,__ASM_OFFSETS_H__)
    
    #####
    # Check for missing system calls
    
    always-y += missing-syscalls
    
    quiet_cmd_syscalls = CALL    $<
          cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags)
    
    missing-syscalls: scripts/checksyscalls.sh $(offsets-file) FORCE
    	$(call cmd,syscalls)
    
    #####
    # Check atomic headers are up-to-date
    
    always-y += old-atomics
    
    quiet_cmd_atomics = CALL    $<
          cmd_atomics = $(CONFIG_SHELL) $<
    
    old-atomics: scripts/atomic/check-atomics.sh FORCE
    	$(call cmd,atomics)