Commit 0be0ee71 ("fs: properly and reliably lock f_pos in fdget_pos()") breaking userspace

From: Kenneth R. Crudup
Date: Mon Nov 25 2019 - 16:46:42 EST



FYI. Don't know if the fault lies with these subsystems or not, but I know
it's been a goal to keep things working. In both cases, reverting this commit
fixes both these issues. If you need additional information from me, please
let me know.

First issue manifests itself as a timeout in KDE's upower daemon:

----
Nov 25 13:18:51 hp-x360n systemd[1]: upower.service: Start operation timed out. Terminating.
Nov 25 13:18:51 hp-x360n systemd[1]: upower.service: Main process exited, code=killed, status=15/TERM
Nov 25 13:18:51 hp-x360n systemd[1]: upower.service: Failed with result 'timeout'.
Nov 25 13:18:51 hp-x360n systemd[1]: Failed to start Daemon for power management.
Nov 25 13:18:51 hp-x360n systemd[1]: upower.service: Service RestartSec=100ms expired, scheduling restart.
Nov 25 13:18:51 hp-x360n systemd[1]: upower.service: Scheduled restart job, restart counter is at 9.
Nov 25 13:18:51 hp-x360n systemd[1]: Stopped Daemon for power management.
Nov 25 13:18:51 hp-x360n systemd[1]: Starting Daemon for power management...
----

Second issue:

----
Nov 25 13:19:22 hp-x360n kernel: [ 861.213047] INFO: task vmware-vmblock-:1179 blocked for more than 737 seconds.
Nov 25 13:19:22 hp-x360n kernel: [ 861.213053] Tainted: G U 5.4.0-Kenny+ #8
Nov 25 13:19:22 hp-x360n kernel: [ 861.213054] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Nov 25 13:19:22 hp-x360n kernel: [ 861.213056] vmware-vmblock- D 0 1179 1 0x00000000
Nov 25 13:19:22 hp-x360n kernel: [ 861.213060] Call Trace:
Nov 25 13:19:22 hp-x360n kernel: [ 861.213068] ? __schedule+0x2b8/0x580
Nov 25 13:19:22 hp-x360n kernel: [ 861.213071] schedule+0x36/0xc0
Nov 25 13:19:22 hp-x360n kernel: [ 861.213074] schedule_preempt_disabled+0x11/0x20
Nov 25 13:19:22 hp-x360n kernel: [ 861.213077] __mutex_lock.isra.11+0x2f0/0x500
Nov 25 13:19:22 hp-x360n kernel: [ 861.213082] __fdget_pos+0x42/0x50
Nov 25 13:19:22 hp-x360n kernel: [ 861.213085] do_writev+0x2f/0x110
Nov 25 13:19:22 hp-x360n kernel: [ 861.213088] do_syscall_64+0x46/0x170
Nov 25 13:19:22 hp-x360n kernel: [ 861.213091] entry_SYSCALL_64_after_hwframe+0x44/0xa9
Nov 25 13:19:22 hp-x360n kernel: [ 861.213094] RIP: 0033:0x7f4c6da1d527
Nov 25 13:19:22 hp-x360n kernel: [ 861.213098] Code: Bad RIP value.
Nov 25 13:19:22 hp-x360n kernel: [ 861.213100] RSP: 002b:00007f4c6d6aebc0 EFLAGS: 00000297 ORIG_RAX: 0000000000000014
Nov 25 13:19:22 hp-x360n kernel: [ 861.213102] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007f4c6da1d527
Nov 25 13:19:22 hp-x360n kernel: [ 861.213103] RDX: 0000000000000002 RSI: 00007f4c6d6aec50 RDI: 0000000000000003
Nov 25 13:19:22 hp-x360n kernel: [ 861.213104] RBP: 00007f4c6d6aec50 R08: 0000000000000001 R09: 00007f4c6ce8c700
Nov 25 13:19:22 hp-x360n kernel: [ 861.213106] R10: 00007f4c68000080 R11: 0000000000000297 R12: 0000000000000002
Nov 25 13:19:22 hp-x360n kernel: [ 861.213107] R13: 0000000000020000 R14: 0000000000000000 R15: 0000000000000000
----

-Kenny

--
Kenneth R. Crudup Sr. SW Engineer, Scott County Consulting, Silicon Valley