Messages in this thread | | | Date | Thu, 9 Jul 2015 13:00:03 +0800 | Subject | Re: Linux 4.2-rc1 | From | Ming Lei <> |
| |
On Thu, Jul 9, 2015 at 11:17 AM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Wed, Jul 8, 2015 at 5:58 PM, Ming Lei <ming.lei@canonical.com> wrote: >> On Thu, Jul 9, 2015 at 1:29 AM, Linus Torvalds >> <torvalds@linux-foundation.org> wrote: >>> Also, it looks like you need to hold the "fw_lock" to even look at >>> that pointer, since the buffer can get reallocated etc. >> >> Yes, the above code with holding 'fw_lock' is right fix for the issue since >> sysfs read can happen anytime, and there is one race between firmware >> request abort and reading uevent of sysfs. > > So if fw_priv->buf is NULL, what should we do? > > Should we skip the TIMEOUT= and ASYNC= fields too?
When the request is aborted, the firmware device will be removed, so it is OK to skip the two fields.
> > Something like the attached, perhaps?
Looks it is fine.
> > Shuah, how reproducible is this? Does this (completely untested) patch > make any difference? > > Linus
| |