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:
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.
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...