History

Merge tag 'stream_open-5.3' of https://lab.nexedi.com/kirr/linux

Pull stream_open() updates from Kirill Smelkov: "This time on stream_open front it is only two small changes: - the first one converts stream_open.cocci to treat all functions that start with wait_.* as blocking. Previously it was only wait_event_.* functions that were considered as blocking, but this was falsely reporting several deadlock cases as only warning. This was picked by linux-kbuild and entered mainline as commit 0c4ab18fc33b ("coccinelle: api/stream_open: treat all wait_.*() calls as blocking"), and already merged earlier. - the second one teaches stream_open.cocci to consider files as being stream-like even if they use noop_llseek. It results in two more drivers being converted to stream_open() (mousedev.c and hid-sensor-custom.c)" * tag 'stream_open-5.3' of https://lab.nexedi.com/kirr/linux: *: convert stream-like files -> stream_open, even if they use noop_llseek

Linus Torvalds committed 7 years ago

Commit fcd98142 parents 5516745 3975b093 files · +10 −3Browse files

Showing the changes to scripts (1 of 3 files). Show all

Unified · Split

scripts/coccinelle/api/stream_open.cocci+8−1
@@ -134,6 +134,13 @@ identifier fops0.fops; · 133 unmodified lines
134 .llseek = no_llseek,134 .llseek = no_llseek,
135 };135 };
136 136
137@ has_noop_llseek @
138identifier fops0.fops;
139@@
140 struct file_operations fops = {
141 .llseek = noop_llseek,
142 };
143
137@ has_mmap @144@ has_mmap @
138identifier fops0.fops;145identifier fops0.fops;
139identifier mmap_f;146identifier mmap_f;
@@ -180,7 +187,7 @@ identifier splice_write_f; · 40 unmodified lines
180//187//
181// XXX for simplicity require no .{read/write}_iter and no .splice_{read/write} for now.188// XXX for simplicity require no .{read/write}_iter and no .splice_{read/write} for now.
182// XXX maybe_steam.fops cannot be used in other rules - it gives "bad rule maybe_stream or bad variable fops".189// XXX maybe_steam.fops cannot be used in other rules - it gives "bad rule maybe_stream or bad variable fops".
183@ maybe_stream depends on (!has_llseek || has_no_llseek) && !has_mmap && !has_copy_file_range && !has_remap_file_range && !has_read_iter && !has_write_iter && !has_splice_read && !has_splice_write @190@ maybe_stream depends on (!has_llseek || has_no_llseek || has_noop_llseek) && !has_mmap && !has_copy_file_range && !has_remap_file_range && !has_read_iter && !has_write_iter && !has_splice_read && !has_splice_write @
184identifier fops0.fops;191identifier fops0.fops;
185@@192@@
186 struct file_operations fops = {193 struct file_operations fops = {