Make mmap-munmap interceptor fail earlier (#171295)
If the address range is not covered by shadow memory, make interceptors
like mmap fail earlier.
---------
Signed-off-by: Abhishek Varma <abhvarma at amd.com>
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Signed-off-by: Nikita B <n2h9z4 at gmail.com>
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Signed-off-by: Ian Wood <ianwood at u.northwestern.edu>
Co-authored-by: Min-Yih Hsu <min.hsu at sifive.com>
Co-authored-by: Sersawy <65075626+Abdelrhmansersawy at users.noreply.github.com>
Co-authored-by: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Co-authored-by: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Co-authored-by: cpist (He / Him) <tinyfrog12 at gmail.com>
Co-authored-by: Jonathan Cohen <joncoh at apple.com>
[139 lines not shown]
[NFC][OpenCL] Fix test function-scope-local-return.cl (#182421)
Add `-triple spir64-unknown-unknown` to fix error on arm and aarch64:
unsupported OpenCL extension '__cl_clang_function_scope_local_variables'
[LV] Allow tail folding with IVs with outside users (#182322)
#149042 added last-active-lane and removed the restriction that we
couldn't tail fold loops that had outside users (in AllowedExit).
However we still have a restriction that IVs can't have outside users.
This was added separately to the AllowedExit restriction in #81609, but
it looks like #149042 didn't remove it.
AFAICT we currently extract the correct lane for IVs, so this PR relaxes
the restriction. This helps a good few loops get tail folded in
llvm-test-suite.
-force-tail-folding-style=none was added to pr5881-scev-expansion.ll to
preserve the original scev expansion, since otherwise we end up with a
cttz.elts(false, false, true, true) that blocks SCEV analysis. We should
probably teach ConstantFolding to fold it.
[lldb] Fix batched breakpoint step-over test flakiness (#182415)
PR to fix failing test from
https://github.com/llvm/llvm-project/pull/180101 .
Fix the integration test to be resilient to non-deterministic thread
timing. Instead of requiring exact z0/Z0 counts, verify that batching
reduced toggles compared to one at a time stepping.
Also added: skip on `aarch64` where thread scheduling makes batching
unreliable.
Ran the test 20 times, passed all 20.
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
[lldb] Use C linkage for plugin initialization & termination (#182406)
Use C linkage for plugin initialization & termination. I'm working on
adding support for using the existing plugin infrastructure but with
dynamic libraries. Using C linkage makes it easier to dlsym the
initialize and terminate methods.
For example, with this patch,
`__ZN12lldb_private39lldb_initialize_ScriptInterpreterPythonEv` becomes
`_lldb_initialize_ScriptInterpreterPython`.
[clang-tidy][NFC] Clean up traversal mode handling in `modernize-redundant-void-arg` (#182408)
#173340 added a bit of code to this check to work around #170953. Now
that the latter PR is merged, we can remove the workaround.
ipfilter: Fix possible overrun
The destination buffer is FR_GROUPLEN (16 bytes) in length. When
gname is created, the userspace utilities correctly use FR_GROUPLEN
as the buffer length. The kernel should also limit its copy operation to
FR_GROUPLEN bytes to avoid any user written code from exploiting this
vulnerability.
Reported by: Ilja Van Sprundel <ivansprundel at ioactive.com>
(cherry picked from commit e40817302ebdf89df2f3bcd679fb7f2a18c244dc)
ipfilter: Interface name must not extend beyond end of buffer
sifpidx (an interface name) cannot extend beyond the end of the
fr_names buffer.
We do the validation for fr_sifpidx here because it is a union that
contains an offset only when fr_sifpidx points to an interface name,
an offset into fr_names. The union is an offset into fr_names in this
case only.
interr_tbl now becomes a static variable outside a function to facilitate
its use by two functions within fil.c
Note that sifpidx is only used in ipf_sync() which implments ipf -y.
Reported by: Ilja Van Sprundel <ivansprundel at ioactive.com>
MFC after: 1 week
(cherry picked from commit 47fb51847fdea3f1cce841b5f2bbbcd6f8a04ee0)
ipfilter: Interface name must not extend beyond end of buffer
sifpidx (an interface name) cannot extend beyond the end of the
fr_names buffer.
We do the validation for fr_sifpidx here because it is a union that
contains an offset only when fr_sifpidx points to an interface name,
an offset into fr_names. The union is an offset into fr_names in this
case only.
interr_tbl now becomes a static variable outside a function to facilitate
its use by two functions within fil.c
Note that sifpidx is only used in ipf_sync() which implments ipf -y.
Reported by: Ilja Van Sprundel <ivansprundel at ioactive.com>
MFC after: 1 week
(cherry picked from commit 47fb51847fdea3f1cce841b5f2bbbcd6f8a04ee0)
ipfilter: Fix possible overrun
The destination buffer is FR_GROUPLEN (16 bytes) in length. When
gname is created, the userspace utilities correctly use FR_GROUPLEN
as the buffer length. The kernel should also limit its copy operation to
FR_GROUPLEN bytes to avoid any user written code from exploiting this
vulnerability.
Reported by: Ilja Van Sprundel <ivansprundel at ioactive.com>
(cherry picked from commit e40817302ebdf89df2f3bcd679fb7f2a18c244dc)