• Mel Gorman's avatar
    Revert "fs: Do not check if there is a fsnotify watcher on pseudo inodes" · b6509f6a
    Mel Gorman authored
    This reverts commit e9c15bad ("fs: Do not check if there is a
    fsnotify watcher on pseudo inodes"). The commit intended to eliminate
    fsnotify-related overhead for pseudo inodes but it is broken in
    concept. inotify can receive events of pipe files under /proc/X/fd and
    chromium relies on close and open events for sandboxing. Maxim Levitsky
    reported the following
    
      Chromium starts as a white rectangle, shows few white rectangles that
      resemble its notifications and then crashes.
    
      The stdout output from chromium:
    
      [mlevitsk@starship ~]$chromium-freeworld
      mesa: for the   --simplifycfg-sink-common option: may only occur zero or one times!
      mesa: for the   --global-isel-abort option: may only occur zero or one times!
      [3379:3379:0628/135151.440930:ERROR:browser_switcher_service.cc(238)] XXX Init()
      ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0072
      Received signal 11 SEGV_MAPERR 0000004a9048
    
    Crashes are not universal but even if chromium does not crash, it certainly
    does not work properly. While filtering just modify and access might be
    safe, the benefit is not worth the risk hence the revert.
    Reported-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
    Fixes: e9c15bad ("fs: Do not check if there is a fsnotify watcher on pseudo inodes")
    Signed-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b6509f6a
file_table.c 10.2 KB