aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/utils.py
diff options
context:
space:
mode:
authorAl Viro <[email protected]>2021-06-19 03:50:31 +0000
committerDavid S. Miller <[email protected]>2021-06-21 12:28:49 -0700
commit56c1731b280dc71febf5df80fcac1923ea973ab8 (patch)
treeed136ef1746c3fa21591d55acff0ef36c4c84294 /scripts/gdb/linux/utils.py
parent71e6be6f7d2bada7099d79205779c4452d4fd35b (diff)
unix_bind_bsd(): move done_path_create() call after dealing with ->bindlock
Final preparations for doing unlink on failure past the successful mknod. We can't hold ->bindlock over ->mknod() or ->unlink(), since either might do sb_start_write() (e.g. on overlayfs). However, we can do it while holding filesystem and VFS locks - doing kern_path_create() vfs_mknod() grab ->bindlock if u->addr had been set drop ->bindlock done_path_create return -EINVAL else assign the address to socket drop ->bindlock done_path_create return 0 would be deadlock-free. Here we massage unix_bind_bsd() to that form. We are still doing equivalent transformations. Next commit will *not* be an equivalent transformation - it will add a call of vfs_unlink() before done_path_create() in "alread bound" case. Signed-off-by: Al Viro <[email protected]> Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/utils.py')
0 files changed, 0 insertions, 0 deletions