Commit 200e340
committed
Merge tag 'pull-work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs dcache updates from Al Viro:
"The main part here is making parallel lookups safe for RT - making
sure preemption is disabled in start_dir_add()/ end_dir_add() sections
(on non-RT it's automatic, on RT it needs to to be done explicitly)
and moving wakeups from __d_lookup_done() inside of such to the end of
those sections.
Wakeups can be safely delayed for as long as ->d_lock on in-lookup
dentry is held; proving that has caught a bug in d_add_ci() that
allows memory corruption when sufficiently bogus ntfs (or
case-insensitive xfs) image is mounted. Easily fixed, fortunately"
* tag 'pull-work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
fs/dcache: Move wakeup out of i_seq_dir write held region.
fs/dcache: Move the wakeup from __d_lookup_done() to the caller.
fs/dcache: Disable preemption on i_dir_seq write side on PREEMPT_RT
d_add_ci(): make sure we don't miss d_lookup_done()2 files changed
+46
-17
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2240 | 2240 | | |
2241 | 2241 | | |
2242 | 2242 | | |
| 2243 | + | |
2243 | 2244 | | |
2244 | 2245 | | |
2245 | 2246 | | |
| |||
2563 | 2564 | | |
2564 | 2565 | | |
2565 | 2566 | | |
2566 | | - | |
| 2567 | + | |
| 2568 | + | |
| 2569 | + | |
| 2570 | + | |
| 2571 | + | |
| 2572 | + | |
| 2573 | + | |
| 2574 | + | |
| 2575 | + | |
2567 | 2576 | | |
2568 | 2577 | | |
2569 | 2578 | | |
| |||
2572 | 2581 | | |
2573 | 2582 | | |
2574 | 2583 | | |
2575 | | - | |
| 2584 | + | |
| 2585 | + | |
2576 | 2586 | | |
2577 | 2587 | | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
2578 | 2591 | | |
2579 | 2592 | | |
2580 | 2593 | | |
| |||
2701 | 2714 | | |
2702 | 2715 | | |
2703 | 2716 | | |
2704 | | - | |
| 2717 | + | |
| 2718 | + | |
| 2719 | + | |
| 2720 | + | |
| 2721 | + | |
| 2722 | + | |
2705 | 2723 | | |
2706 | | - | |
2707 | | - | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
2708 | 2730 | | |
2709 | 2731 | | |
2710 | 2732 | | |
2711 | | - | |
| 2733 | + | |
2712 | 2734 | | |
2713 | 2735 | | |
2714 | 2736 | | |
2715 | 2737 | | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
2716 | 2746 | | |
2717 | | - | |
| 2747 | + | |
2718 | 2748 | | |
2719 | 2749 | | |
2720 | 2750 | | |
2721 | 2751 | | |
2722 | 2752 | | |
| 2753 | + | |
2723 | 2754 | | |
2724 | 2755 | | |
2725 | 2756 | | |
2726 | 2757 | | |
2727 | 2758 | | |
2728 | 2759 | | |
2729 | | - | |
| 2760 | + | |
2730 | 2761 | | |
2731 | 2762 | | |
2732 | 2763 | | |
| |||
2738 | 2769 | | |
2739 | 2770 | | |
2740 | 2771 | | |
2741 | | - | |
| 2772 | + | |
2742 | 2773 | | |
2743 | 2774 | | |
2744 | 2775 | | |
| |||
2885 | 2916 | | |
2886 | 2917 | | |
2887 | 2918 | | |
| 2919 | + | |
2888 | 2920 | | |
2889 | 2921 | | |
2890 | 2922 | | |
| |||
2915 | 2947 | | |
2916 | 2948 | | |
2917 | 2949 | | |
2918 | | - | |
| 2950 | + | |
2919 | 2951 | | |
2920 | 2952 | | |
2921 | 2953 | | |
| |||
2951 | 2983 | | |
2952 | 2984 | | |
2953 | 2985 | | |
2954 | | - | |
| 2986 | + | |
2955 | 2987 | | |
2956 | 2988 | | |
2957 | 2989 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
352 | | - | |
| 352 | + | |
353 | 353 | | |
354 | 354 | | |
355 | 355 | | |
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
| 361 | + | |
| 362 | + | |
366 | 363 | | |
367 | 364 | | |
368 | 365 | | |
| |||
0 commit comments