lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Sun, 19 Jan 2014 18:59:14 +0100
From:	wiebittewas <wiebittewas@...glemail.com>
To:	linux-kernel@...r.kernel.org
Subject: 3.10.27: BUG on accessing /proc under high load

https://bugzilla.kernel.org/show_bug.cgi?id=68991

because http://kernelnewbies.org/FoundBug says, a bug-msg should be
created in bugzilla as well as send to this list, I just follow this...

currently I don't have the time for this list, so please do a CC to me.

when doing a find /proc -type f -exec sha512sum {} \; x-hundred times
parallel, this can lead in a BUG within d_path.

as I can see in the oops and the objdump (filed at bugzilla), the
problems occurs in fs/dcache.c:d_path(), testing for existance of a
function and then calling it:

if (path->dentry->d_op && path->dentry->d_op->d_dname)
   return path->dentry->d_op->d_dname(path->dentry, buf, buflen);

looking at fs/proc/base.c:proc_pid_readlink() "path" is initialized in
one of the getlink-functions within proc.c: proc_cwd_link() or
proc_root_link()

in both functions first the task-structure is get by get_roc_task() and
if 's not NULL, then locked and then the wanted fs_struct is
acquired/locked.

now I don't have enough experience, but maybe beetween getting the
task-struct and locking it, the task may be already invalidated because
it exited, so the lock should be done in get_proc_task() or at least it
should be checked after locking, if the task is still alive....???

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ