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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1M9ZJI-0003bh-HD@pomaz-ex.szeredi.hu>
Date:	Thu, 28 May 2009 08:41:52 +0200
From:	Miklos Szeredi <miklos@...redi.hu>
To:	akpm@...ux-foundation.org
CC:	niel.lambrechts@...il.com, linux-kernel@...r.kernel.org,
	gregkh@...e.de, miklos@...redi.hu, rjw@...k.pl, pavel@....cz
Subject: Re: 2.6.29.4: hibernation fails with large kernel trace

On Wed, 27 May 2009, Andrew Morton wrote:
> The process "fuser" is stuck down in the fuse code awaiting a response
> or something.  I'd suspect that this is the cause of the freezing
> failure:

Yup, the 'gvfs-fuse-daemon' process is already in the refrigerator, so
it cannot complete the request from the 'fuser' process.

The solution is simple, really: just allow the 'fuser' task to freeze
despite the fact that it's inside a syscall.  There's the small detail
of actually implementing this, without breaking everything else...

What complicates the above is that we need to enable freezing not just
inside fuse callbacks, but in the VFS as well.  E.g. sys_rename()
sleeping on i_mutex needs to be freezable as well, otherwise another
thread that is already frozen and holding that i_mutex will block that
rename.

So,

a) we need some sort of mechanism to selectively disable freezing only
   for those syscalls which might (directly) touch hardware state.  It
   _hopefully_ should be enough to do so with read, write and ioctl,

b) we need to re-enable freezing for these in fuse.

That's the theory.  I promised a prototype some time ago but haven't
yet got around to doing it.

Thanks,
Miklos
--
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