Am 02.03.2015 um 11:20 schrieb Al Viro:
On Mon, Mar 02, 2015 at 10:13:27AM +0100, Richard Weinberger wrote:
On Mon, Mar 2, 2015 at 9:28 AM, Alexander Holler
<holler@xxxxxxxxxxxxx> wrote:
Hello.
Commit 7f7f25e82d54870df24d415a7007fbd327da027b (introduced with
3.16) broke
dynamic changing of file_operations->[read|write].
At least gadgetfs is a victim.
Feel free to ask me off-list for a patch as I don't want to end up in
annoying discussions on Linux kernel lists anymore.
Alexander Holler
CC'ing Al.
I know. FWIW, gadgetfs is one of the very few places that tried to
pull that
crap off and it had always been seriously racy. I've posted a partial
analysis
about a month ago (<20150204190645.GJ29656@xxxxxxxxxxxxxxxxxx>).
If Alexander (or anybody else) has a patch that really fixes that thing,
I would certainly like to see it. If not, I'll try to cook something,
but I'm not very familiar with that code. I really hope that this patch
isn't "modify ->f_mode to match ->f_op change" - that's too racy.
We'll obviously need to fix the userland-visible breakage in that one,
but that's not the way to go...
I exactly did what you've assumed, I've just fixed f_mode but not the
already existing races which I haven't introduced. So I was right in not
sending a patch as would have been blamed for not rewriting everything
as so often.