return PVRSRV_ERROR_GENERIC;
}
+void get_proc_name(int pid, char *buf, size_t buf_size)
+{
+ struct task_struct *tsk;
+
+ rcu_read_lock();
+ tsk = pid_task(find_vpid(pid), PIDTYPE_PID);
+ strlcpy(buf, tsk->comm, buf_size);
+ rcu_read_unlock();
+}
+
IMG_BOOL OSAccessOK(enum IMG_VERIFY_TEST eVerification,
const void __user *pvUserPtr, u32 ui32Bytes)
{
void **phOSWrapMem);
enum PVRSRV_ERROR OSReleasePhysPageAddr(void *hOSWrapMem);
+void get_proc_name(int pid, char *buf, size_t buf_size);
+
#endif
OSMemSet(psPerProc, 0, sizeof(*psPerProc));
psPerProc->hBlockAlloc = hBlockAlloc;
+ get_proc_name(ui32PID, psPerProc->name,
+ sizeof(psPerProc->name));
+
if (!HASH_Insert(psHashTab, (u32) ui32PID, (u32)psPerProc)) {
PVR_DPF(PVR_DBG_ERROR, "PVRSRVPerProcessDataConnect: "
"Couldn't insert per-process data into hash table");
#ifndef __PERPROC_H__
#define __PERPROC_H__
+#include <linux/sched.h>
+
#include "img_types.h"
#include "resman.h"
struct PVRSRV_PER_PROCESS_DATA {
u32 ui32PID;
+ char name[TASK_COMM_LEN];
void *hBlockAlloc;
struct RESMAN_CONTEXT *hResManContext;
void *hPerProcData;