[DTrace-devel] [oracle/dtrace-utils] 708a2a: cg: fix ALLOCA taint propagation for struct/union ...

Kris Van Hees noreply at github.com
Fri Jul 28 04:54:52 UTC 2023


  Branch: refs/heads/kvh/2.0-branch-dev-ip
  Home:   https://github.com/oracle/dtrace-utils
  Commit: 708a2ae6aeb0f9730030f0a87b525e150bd94780
      https://github.com/oracle/dtrace-utils/commit/708a2ae6aeb0f9730030f0a87b525e150bd94780
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M libdtrace/dt_parser.c
    A test/unittest/codegen/tst.alloca-taint-sou-access.d

  Log Message:
  -----------
  cg: fix ALLOCA taint propagation for struct/union member access

When alloca'd memory stores a struct or union, lvalues that represent
members in that struct or union should also be marked as pointers to
alloca'd memory.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Reviewed-by: Nick Alcock <nick.alcock at oracle.com>


  Commit: 6351a1a53ca68d82e16e96609bb6f750b20a88d9
      https://github.com/oracle/dtrace-utils/commit/6351a1a53ca68d82e16e96609bb6f750b20a88d9
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M bpf/basename.S
    M bpf/dirname.S
    M bpf/inet_ntoa.S
    M bpf/lltostr.S
    M libdtrace/dt_cg.c

  Log Message:
  -----------
  cg, bpf: Pass dctx as first arg in arg-to-tstring subroutines

Passing a pointer to the DTrace context (dctx) enables subroutines
called through arg-to-tstring to report faults if necessary.  It also
gives the implementation of these subroutines access to context data.
(None use that as of yet, but e.g. inet_ntoa6() is expected to need
it.)

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 4261c4ec0952a93402faeae2083729a08c4a1ba6
      https://github.com/oracle/dtrace-utils/commit/4261c4ec0952a93402faeae2083729a08c4a1ba6
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M libdtrace/dt_strtab.c
    M libdtrace/dt_strtab.h

  Log Message:
  -----------
  strtab: make internal structures private

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 44c9676a454fa7f5c36a39177dccba20f6775dc6
      https://github.com/oracle/dtrace-utils/commit/44c9676a454fa7f5c36a39177dccba20f6775dc6
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M libdtrace/Build
    M libdtrace/dt_bpf.c
    M libdtrace/dt_bpf.h
    M libdtrace/dt_cc.c
    M libdtrace/dt_cg.c
    M libdtrace/dt_dctx.h
    M libdtrace/dt_dlibs.c
    M libdtrace/dt_impl.h
    M libdtrace/dt_open.c
    A libdtrace/dt_rodata.c
    A libdtrace/dt_rodata.h
    M libdtrace/dt_subr.c

  Log Message:
  -----------
  Add rodata support

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>


  Commit: cb07f01c214e1a5d27346040355c9652995cbc53
      https://github.com/oracle/dtrace-utils/commit/cb07f01c214e1a5d27346040355c9652995cbc53
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M libdtrace/dt_cg.c

  Log Message:
  -----------
  cg: optional 4th arg for dt_cg_subr_arg_to_tstring() calls

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: b2f220e06df355848431124767fbbaee90249ad9
      https://github.com/oracle/dtrace-utils/commit/b2f220e06df355848431124767fbbaee90249ad9
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M libdtrace/dt_cg.c
    A test/unittest/translators/tst.NullInput.d
    M test/unittest/translators/tst.ProcModelTrans.d

  Log Message:
  -----------
  cg: allow input to translator to be NULL

Some translators support NULL as input pointer value.  The code generator
was performing a NULL-check on a the LHS of a PTR or DOT node before
considering the possibility that the node is subject to translator
handling.  The check should happen after translator handling.

With this patch, tst.ProcModelTrans.d works but only for the case of
NULL input.  The test is changed to actually use a real task_struct as
input.  New test tst.NullInput.d exercises the case this patch fixes.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: f1ed264469616ef7378a4a285a7a2a15f6f75dba
      https://github.com/oracle/dtrace-utils/commit/f1ed264469616ef7378a4a285a7a2a15f6f75dba
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M bpf/Build
    A bpf/inet_ntoa6.S
    M libdtrace/dt_cg.c
    M test/unittest/funcs/tst.inet_ntoa6.d

  Log Message:
  -----------
  Add support for inet_ntoa6() subroutine

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>


  Commit: 91b292792762f3f2c8a254e37ea58599aa6c432b
      https://github.com/oracle/dtrace-utils/commit/91b292792762f3f2c8a254e37ea58599aa6c432b
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M libdtrace/dt_cg.c
    A test/unittest/bitfields/tst.bitfield-offset.d

  Log Message:
  -----------
  cg: correct bitfield offset determination

The C compiler (together with binutils) can represent bitfields using
one of two representations: store the actual offset of the bitfield in
ctm_offset, or store the base offset of the underlying type in ctm_offset
and store the offset within the underlying type as cte_offset.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>


  Commit: ed8217f288371be8f727ffe5ed7fd0a11051c700
      https://github.com/oracle/dtrace-utils/commit/ed8217f288371be8f727ffe5ed7fd0a11051c700
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2023-07-28 (Fri, 28 Jul 2023)

  Changed paths:
    M libdtrace/Build
    M libdtrace/dt_open.c
    A libdtrace/dt_prov_ip.c
    M libdtrace/dt_provider.h
    M libdtrace/ip.d
    M test/unittest/funcs/tst.inet_ntoa.d

  Log Message:
  -----------
  Implement the ip provider

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>


Compare: https://github.com/oracle/dtrace-utils/compare/a20c54bfc318...ed8217f28837



More information about the DTrace-devel mailing list