[Galaxy Tab 10.1 Android Development] AAccount:
For me I was lucky, the camera worked straight out of the box on android 4.3. No modifications necessary. If it takes some serious hacking to make the camera work that sounds out of my league. I did the metadata board config flag you suggested and it works perfectly. That'll save me 1 less annoying job.

Now on to the random reboot. The logcat gives this:

I/DEBUG ( 126): backtrace:
I/DEBUG ( 126): #00 pc 0000e598 /system/lib/libc.so
I/DEBUG ( 126): #01 pc 0000b4d5 /system/lib/hw/gralloc.tegra.so (NvGrLock+56)
I/DEBUG ( 126): #02 pc 00006d71 /system/lib/libui.so (android::GraphicBufferMapper::lock(native_handle const*, int, android::Rect const&, void**)+64)
I/DEBUG ( 126): #03 pc 00005faf /system/lib/libui.so (android::GraphicBuffer::lock(unsigned int, android::Rect const&, void**)+90)
I/DEBUG ( 126): #04 pc 00005fd5 /system/lib/libui.so (android::GraphicBuffer::lock(unsigned int, void**)+20)
I/DEBUG ( 126): #05 pc 00018c31 /system/lib/libsurfaceflinger.so
I/DEBUG ( 126): #06 pc 0001c1ef /system/lib/libsurfaceflinger.so
I/DEBUG ( 126): #07 pc 00016c13 /system/lib/libsurfaceflinger.so
I/DEBUG ( 126): #08 pc 0000f82f /system/lib/libutils.so (android::Looper::pollInner(int)+394)
I/DEBUG ( 126): #09 pc 0000f931 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
I/DEBUG ( 126): #10 pc 00016e2d /system/lib/libsurfaceflinger.so
I/DEBUG ( 126): #11 pc 00017c4f /system/lib/libsurfaceflinger.so (android::SurfaceFlinger::run()+6)
I/DEBUG ( 126): #12 pc 000008dd /system/bin/surfaceflinger
I/DEBUG ( 126): #13 pc 0000e2b3 /system/lib/libc.so (__libc_init+50)
I/DEBUG ( 126): #14 pc 000007bc /system/bin/surfaceflinger

After doing line by line comparison of 3 of the offending functions, it turns out they are identical line for line to their cm10.2 counterparts. These would be: android::GraphicBuffer::lock(int, void) android::GraphicBuffer:lock(int, Rectangle, void), and android::GraphicBufferMapper::lock(whatever its paramters are...). I decided to try the most incompetent dirty work around and kill off the GraphicBuffer::lock(int, void) by commenting out all its lines and having it return BAD_VALUE. This prevents the rest of the 2 offending functions from being called. I noticed the using the multi tasking button (button to the right of the home button) triggers the random reboot but does so inconsistently. I figured (based on the name) that sometimes it wants a graphics lock and sometimes it doesn't. How it determines when that's necessary is beyond my understanding but if it doesn't always need it, I thought "maybe it doesn't need to be a princess and get a lock". After commenting out the function I adb pushed the new libui.so, rebooted and went at the multi tasking button like I had a bad case of OCD and sure enough, no random reboot. This isn't without side effects as the stock browser now fails to launch but firefox and chrome and temple run 2 are ok.

Here's the crash from the stock browser after my incompetent "solution".

I/chromium( 3913): [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
I/chromium( 3913): [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
E/chromium( 3913): [ERROR:gl_image_egl.cc(36)] Error creating EGLImage: 12300
E/chromium( 3913): [ERROR:gl_image_egl.cc(36)] Error creating EGLImage: 12300
E/chromium( 3913): [ERROR:gl_image_egl.cc(36)] Error creating EGLImage: 12300
E/chromium( 3913): [ERROR:gl_image_egl.cc(36)] Error creating EGLImage: 12300
E/chromium( 3913): [ERROR:gl_image_egl.cc(36)] Error creating EGLImage: 12300
E/chromium( 3913): [ERROR:gl_image_egl.cc(36)] Error creating EGLImage: 12300
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10099)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glBindTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(5698)] [.ChromiumCompositor-0x535e80]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10146)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glReleaseTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10099)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glBindTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(5698)] [.ChromiumCompositor-0x535e80]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10146)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glReleaseTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10099)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glBindTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(5698)] [.ChromiumCompositor-0x535e80]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10146)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glReleaseTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10099)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glBindTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(5698)] [.ChromiumCompositor-0x535e80]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10146)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glReleaseTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10099)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glBindTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(5698)] [.ChromiumCompositor-0x535e80]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10146)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glReleaseTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10099)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glBindTexImage2DCHROMIUM: no image found with the given ID
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(5698)] [.ChromiumCompositor-0x535e80]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
E/chromium( 3913): [ERROR:gles2_cmd_decoder.cc(10146)] [.ChromiumCompositor-0x535e80]GL ERROR :GL_INVALID_OPERATION : glReleaseTexImage2DCHROMIUM: no image found with the given ID
D/dalvikvm( 3913): GC_CONCURRENT freed 208K, 5% free 5675K/5920K, paused 2ms+6ms, total 32ms
F/libc ( 3913): Fatal signal 11 (SIGSEGV) at 0x00000040 (code=1), thread 3913 (android.browser)
I/DEBUG ( 125): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 125): Build fingerprint: 'samsung/GT-P7510/GT-P7510:4.0.4/IMM76D/UELPL:user/release-keys'
I/DEBUG ( 125): Revision: '14'
I/DEBUG ( 125): pid: 3913, tid: 3913, name: android.browser >>> com.android.browser <<<
I/DEBUG ( 125): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000040
I/DEBUG ( 125): r0 00000040 r1 0057a258 r2 00000100 r3 00000000
I/DEBUG ( 125): r4 00000040 r5 0000dbee r6 0000d3e7 r7 00000100
I/DEBUG ( 125): r8 00000000 r9 6002e348 sl 00000000 fp 0000000c
I/DEBUG ( 125): ip 6002e190 sp beef8d28 lr 6001c4d9 pc 40113598 cpsr 20000010
I/DEBUG ( 125): d0 6d50e16a0000812f d1 447a00003f800000
I/DEBUG ( 125): d2 00000000c47a0000 d3 441bc0000000026f
I/DEBUG ( 125): d4 441bc00000000000 d5 4170562120000000
I/DEBUG ( 125): d6 7f7fffffd2f1a9fc d7 0000812fff7fffff
I/DEBUG ( 125): d8 3e5c00003f800000 d9 3b4000003f7e8000
I/DEBUG ( 125): d10 3b400000c094cccd d11 3f8129e4bf80a0f1
I/DEBUG ( 125): d12 42dc00003f804061 d13 42dc000043fe8000
I/DEBUG ( 125): d14 3fc0000043fe8000 d15 0000000000000200
I/DEBUG ( 125): scr 80000013
I/DEBUG ( 125):
I/DEBUG ( 125): backtrace:
I/DEBUG ( 125): #00 pc 0000e598 /system/lib/libc.so
I/DEBUG ( 125): #01 pc 0000b4d5 /system/lib/hw/gralloc.tegra.so (NvGrLock+56)
I/DEBUG ( 125): #02 pc 00000dcd /system/lib/libnvwsi.so
I/DEBUG ( 125): #03 pc 00001b11 /system/lib/libnvwsi.so
I/DEBUG ( 125): #04 pc 0000f7ad /system/lib/egl/libEGL_tegra.so
I/DEBUG ( 125): #05 pc 00008dd9 /system/lib/egl/libEGL_tegra.so
I/DEBUG ( 125): #06 pc 000334d8 /system/lib/egl/libGLESv2_tegra.so
I/DEBUG ( 125): #07 pc 00033680 /system/lib/egl/libGLESv2_tegra.so
I/DEBUG ( 125): #08 pc 000134dc /system/lib/egl/libGLESv2_tegra.so
I/DEBUG ( 125): #09 pc 00010d63 /system/lib/egl/libEGL_tegra.so
I/DEBUG ( 125): #10 pc 002c6e17 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #11 pc 00affd9f /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #12 pc 002da14d /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #13 pc 002e3edb /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #14 pc 002edbb3 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #15 pc 002fb1ef /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #16 pc 002eee3f /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #17 pc 002d10f1 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #18 pc 002d188d /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #19 pc 002d1537 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #20 pc 002d12c5 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #21 pc 002d188d /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #22 pc 002d2397 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #23 pc 0018c289 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #24 pc 002d188d /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #25 pc 002d2f51 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #26 pc 002d157b /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #27 pc 002d1aff /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #28 pc 00b5252d /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #29 pc 00dd1dd7 /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #30 pc 00b15bab /system/lib/libwebviewchromium.so
I/DEBUG ( 125): #31 pc 00b16b4d /system/lib/libwebviewchromium.so

And here is the said solution

status_t GraphicBuffer::lock(uint32_t usage, void** vaddr)
{
//kill the function
//const Rect lockBounds(width, height);
//status_t res = lock(usage, lockBounds, vaddr);
//return res;
return BAD_VALUE;
}