Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31d9cccf authored by Jessica Wagantall's avatar Jessica Wagantall
Browse files

Merge tag 'android-6.0.1_r24' into HEAD

Ticket: CYNGNOS-2213
Android 6.0.1 release 24
parents 65a4c0c0 ad2ddfd3
Loading
Loading
Loading
Loading
+15 −3
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@
#include <sys/mman.h>
#include <sys/mman.h>


#include <binder/IMemory.h>
#include <binder/IMemory.h>
#include <cutils/log.h>
#include <utils/KeyedVector.h>
#include <utils/KeyedVector.h>
#include <utils/threads.h>
#include <utils/threads.h>
#include <utils/Atomic.h>
#include <utils/Atomic.h>
@@ -191,15 +192,26 @@ sp<IMemoryHeap> BpMemory::getMemory(ssize_t* offset, size_t* size) const
            if (heap != 0) {
            if (heap != 0) {
                mHeap = interface_cast<IMemoryHeap>(heap);
                mHeap = interface_cast<IMemoryHeap>(heap);
                if (mHeap != 0) {
                if (mHeap != 0) {
                    size_t heapSize = mHeap->getSize();
                    if (s <= heapSize
                            && o >= 0
                            && (static_cast<size_t>(o) <= heapSize - s)) {
                        mOffset = o;
                        mOffset = o;
                        mSize = s;
                        mSize = s;
                    } else {
                        // Hm.
                        android_errorWriteWithInfoLog(0x534e4554,
                            "26877992", -1, NULL, 0);
                        mOffset = 0;
                        mSize = 0;
                    }
                }
                }
            }
            }
        }
        }
    }
    }
    if (offset) *offset = mOffset;
    if (offset) *offset = mOffset;
    if (size) *size = mSize;
    if (size) *size = mSize;
    return mHeap;
    return (mSize > 0) ? mHeap : 0;
}
}


// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
+16 −1
Original line number Original line Diff line number Diff line
@@ -26,6 +26,10 @@
#include <gui/IConsumerListener.h>
#include <gui/IConsumerListener.h>
#include <gui/IProducerListener.h>
#include <gui/IProducerListener.h>


#include <binder/IPCThreadState.h>
#include <binder/PermissionCache.h>
#include <private/android_filesystem_config.h>

namespace android {
namespace android {


BufferQueueConsumer::BufferQueueConsumer(const sp<BufferQueueCore>& core) :
BufferQueueConsumer::BufferQueueConsumer(const sp<BufferQueueCore>& core) :
@@ -572,7 +576,18 @@ sp<NativeHandle> BufferQueueConsumer::getSidebandStream() const {
}
}


void BufferQueueConsumer::dump(String8& result, const char* prefix) const {
void BufferQueueConsumer::dump(String8& result, const char* prefix) const {
    const IPCThreadState* ipc = IPCThreadState::self();
    const pid_t pid = ipc->getCallingPid();
    const uid_t uid = ipc->getCallingUid();
    if ((uid != AID_SHELL)
            && !PermissionCache::checkPermission(String16(
            "android.permission.DUMP"), pid, uid)) {
        result.appendFormat("Permission Denial: can't dump BufferQueueConsumer "
                "from pid=%d, uid=%d\n", pid, uid);
        android_errorWriteWithInfoLog(0x534e4554, "27046057", uid, NULL, 0);
    } else {
        mCore->dump(result, prefix);
        mCore->dump(result, prefix);
    }
    }
}


} // namespace android
} // namespace android