Hi,
we see this code in proc_pid_lookup:
tgid = name_to_int(dentry);
if (tgid == ~0U)
goto out;
In other words, if you ask for pid 0, it bails and doesn't return anything.
Are you sure that this is what it cjecks?
~0U is not 0 but -1;
for example, try:
On Sat, 2013-02-16 at 18:48 +0200, Kevin Wilson wrote:
Hi,
we see this code in proc_pid_lookup:
tgid = name_to_int(dentry);
if (tgid == ~0U)
goto out;
It is the error case when name can't be converted to integer i.e.
name is wrong.
In other words,
On Sat, 16 Feb 2013 18:48:52 +0200, Kevin Wilson said:
~0U is not 0 but -1;
-ENOCAFFEINE.
You'd think that after having done kernel-level C programming since the days
of SunOS 3.1.5 and BSD 4.2 I'd k know better. ;)
pgpBxhyWvlc2R.pgp
Description: PGP signature
Hi,
I see that the idle process (process 0) , is called swapper.
init_idle() in kernel/sched/core.c:
...
#if defined(CONFIG_SMP)
sprintf(idle-comm, %s/%d, INIT_TASK_COMM, cpu);
#endif
...
#define INIT_TASK_COMM swapper in include/linux/init_task.h
Two questions:
1) why does this #if