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
| ||
|
Date: Tue, 6 Jun 2017 19:54:13 +0200 From: "Luis R. Rodriguez" <mcgrof@...nel.org> To: linux-fsdevel@...r.kernel.org Cc: Alan Cox <alan@...ux.intel.com>, fsdevel@...r.kernel.org, "Luis R. Rodriguez" <mcgrof@...nel.org>, Stephen Boyd <stephen.boyd@...aro.org>, "Li, Yi" <yi1.li@...ux.intel.com>, Dmitry Torokhov <dmitry.torokhov@...il.com>, Peter Zijlstra <peterz@...radead.org>, Jonathan Corbet <corbet@....net>, "Eric W. Biederman" <ebiederm@...ssion.com>, "Michael Kerrisk (man-pages)" <mtk.manpages@...il.com>, Andy Lutomirski <luto@...nel.org>, Greg KH <gregkh@...uxfoundation.org>, "Fuzzey, Martin" <mfuzzey@...keon.com>, Linux API <linux-api@...r.kernel.org>, Daniel Wagner <wagi@...om.org>, David Woodhouse <dwmw2@...radead.org>, jewalt@...innovations.com, rafal@...ecki.pl, Arend Van Spriel <arend.vanspriel@...adcom.com>, "Rafael J. Wysocki" <rjw@...ysocki.net>, atull@...nsource.altera.com, Moritz Fischer <moritz.fischer@...us.com>, Petr Mladek <pmladek@...e.com>, Johannes Berg <johannes.berg@...el.com>, Emmanuel Grumbach <emmanuel.grumbach@...el.com>, Luca Coelho <luciano.coelho@...el.com>, Kalle Valo <kvalo@...eaurora.org>, Linus Torvalds <torvalds@...ux-foundation.org>, Kees Cook <keescook@...omium.org>, AKASHI Takahiro <takahiro.akashi@...aro.org>, David Howells <dhowells@...hat.com>, Peter Jones <pjones@...hat.com>, Hans de G oede <hdegoede@...hat.com>, Ted Ts'o <tytso@....edu>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: Re: [PATCH v2] firmware: fix sending -ERESTARTSYS due to signal on fallback Using the right linux-fsdevel this time also, this was the second reply. Luis On Tue, Jun 06, 2017 at 06:47:34PM +0200, Luis R. Rodriguez wrote: > Adding fsdevel folks. > > On Tue, Jun 06, 2017 at 03:53:16PM +0100, Alan Cox wrote: > > > "Unix tradition (and thus almost all applications) believe file store > > > writes to > > > be non signal interruptible. It would not be safe or practical to > > > change that > > > guarantee." > > > > Yep everyone codes > > > > write(disk_file, "foo", 3); > > > > not while(..) blah around it. > > Thanks for the confirmation! That's a simple enough explanation. > > > > For these two reasons then it would seem best we do two things > > > actually: > > > > > > 1) return -EINTR instead of -EAGAIN when we detect > > > swait_event_interruptible_timeout() > > > got interrupted by a signal (it returns -ERESTARTSYS) > > > 2) Do as you note below and add wait_event_killable_timeout() > > > > Pedantic detail that I don't think affects you > > > > If you have completed a part of the I/O then you should return the byte > > processed count not EINTR, but -1,EINTR if no progress was made. > > You are right with some new exceptions and with regards to the future: > > The syfs loading interface for firmware currently goes through the > data file exposed on syfs, the respective write op firmware_data_write() > only checks for signals at the beginning. After that its a full one > swoop try to write if you are following the old tradition and are using > a buffer allocated by the firmware API. > > If you are using the relatively new request_firmware_into_buf() added > by Stephen Boyd which lets the driver provide the allocated buffer then > we have a loop in firmware_rw() which should be fixed to: > > 1) Check for signals > 2) Do what you noted above. > > Furthermore Yi Li over at Intel is adding some new API calls which would > re-use some of this for FPGA firmwares which are also very large, that > work should consider the above and fix appropriately as well. > > Luis > -- Luis Rodriguez, SUSE LINUX GmbH Maxfeldstrasse 5; D-90409 Nuernberg
Powered by blists - more mailing lists