Messages in this thread | | | From | David Howells <> | Subject | Re: general protection fault in strncasecmp | Date | Fri, 09 Oct 2020 11:04:24 +0100 |
| |
Hillf Danton <hdanton@sina.com> wrote:
> + /* > + * care to detect writers because > + * > + * read_seqbegin_or_lock(&net->cells_lock, &seq); > + * > + * is unable to block > + * > + * write_seqlock(&net->cells_lock); > + * > + */
That shouldn't be true. The loop may make one or two passes, the first without the lock, the second with. The RCU read lock is supposed to be held in both cases too (but see below).
One of the call sites, however, afs_probe_cell_name(), doesn't call afs_lookup_cell_rcu() with the RCU read lock held - which is an error, but not obviously the one that's biting here.
David
| |