Skip to content

Resolve calls to functions that use go:linkname #144

@ldemailly

Description

@ldemailly
git clone https://github.com/fortio/log
cd log
# btw... consider moving the main at the top for shorter install cmd/ is overused
go install github.com/google/capslock/cmd/capslock@latest 
# ( got capslock v0.2.4 )
capslock --output=verbose
[...]
CAPABILITY_NETWORK: 7 references (7 direct, 0 transitive)
Example callpath:
  fortio.org/log.LogAndCall$1$1
  http_logging.go:202:15:fortio.org/log.LogRequest
  http_logging.go:84:56:(net/http.Header).Get
[...]
CAPABILITY_ARBITRARY_EXECUTION: 30 references (0 direct, 30 transitive)
Example callpath:
  fortio.org/log.init#1
  logger.go:190:15:fortio.org/log.configFromEnv
  logger.go:201:8:fortio.org/log.Errf
  logger.go:520:11:fortio.org/log.logPrintf
  logger.go:414:19:fortio.org/log.logUnconditionalf
  logger.go:447:31:fortio.org/log.colorGID
  console_logging.go:144:55:fortio.org/log/goroutine.ID
  gid.go:20:22:fortio.org/log/goroutine.add

https://github.com/fortio/log

doing http.Header.Get shouldn't be "CAPABILITY_NETWORK" should it ?

and the hacky code in https://github.com/fortio/log/blob/main/goroutine/gid.go#L20
is using unsafe but... how does that turn into CAPABILITY_ARBITRARY_EXECUTION ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions