forked from mirrors/gecko-dev
Bug 1457092 - Disable codepaths forbidden by pledge() when being sandboxed on OpenBSD. r=froydnj
--HG-- extra : rebase_source : 49ef652c8c36ded2f18ed635b361250214eec55b
This commit is contained in:
parent
984eaf80dd
commit
3870cf7d0c
3 changed files with 16 additions and 0 deletions
|
|
@ -67,6 +67,12 @@ nsShmImage::CreateShmSegment()
|
||||||
{
|
{
|
||||||
size_t size = SharedMemory::PageAlignedSize(mStride * mSize.height);
|
size_t size = SharedMemory::PageAlignedSize(mStride * mSize.height);
|
||||||
|
|
||||||
|
#if defined(__OpenBSD__) && defined(MOZ_SANDBOX)
|
||||||
|
static mozilla::LazyLogModule sPledgeLog("SandboxPledge");
|
||||||
|
MOZ_LOG(sPledgeLog, mozilla::LogLevel::Debug,
|
||||||
|
("%s called when pledged, returning false\n", __func__));
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
mShmId = shmget(IPC_PRIVATE, size, IPC_CREAT | 0600);
|
mShmId = shmget(IPC_PRIVATE, size, IPC_CREAT | 0600);
|
||||||
if (mShmId == -1) {
|
if (mShmId == -1) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -180,6 +180,10 @@ nsDebugImpl::GetIsDebuggerAttached(bool* aResult)
|
||||||
{
|
{
|
||||||
*aResult = false;
|
*aResult = false;
|
||||||
|
|
||||||
|
#if defined(__OpenBSD__) && defined(MOZ_SANDBOX)
|
||||||
|
// no access to KERN_PROC_PID sysctl when pledge'd
|
||||||
|
return NS_OK;
|
||||||
|
#endif
|
||||||
#if defined(XP_WIN)
|
#if defined(XP_WIN)
|
||||||
*aResult = ::IsDebuggerPresent();
|
*aResult = ::IsDebuggerPresent();
|
||||||
#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
|
#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
|
||||||
|
|
|
||||||
|
|
@ -193,6 +193,12 @@ SystemHeapSize(int64_t* aSizeOut)
|
||||||
static MOZ_MUST_USE nsresult
|
static MOZ_MUST_USE nsresult
|
||||||
GetKinfoProcSelf(KINFO_PROC* aProc)
|
GetKinfoProcSelf(KINFO_PROC* aProc)
|
||||||
{
|
{
|
||||||
|
#if defined(__OpenBSD__) && defined(MOZ_SANDBOX)
|
||||||
|
static LazyLogModule sPledgeLog("SandboxPledge");
|
||||||
|
MOZ_LOG(sPledgeLog, LogLevel::Debug,
|
||||||
|
("%s called when pledged, returning NS_ERROR_FAILURE\n", __func__));
|
||||||
|
return NS_ERROR_FAILURE;
|
||||||
|
#endif
|
||||||
int mib[] = {
|
int mib[] = {
|
||||||
CTL_KERN,
|
CTL_KERN,
|
||||||
KERN_PROC,
|
KERN_PROC,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue