| Differences between
and this patch
- a/Source/WebKit2/ChangeLog +14 lines
Lines 1-3 a/Source/WebKit2/ChangeLog_sec1
1
2015-01-04  Michael Catanzaro  <mcatanzaro@igalia.com>
2
3
        [Linux] SeccompFilters: improve the port-agnostic whitelist
4
        https://bugs.webkit.org/show_bug.cgi?id=140064
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Allow the web process to access several files and directories that it
9
        was previously prohibited from accessing. This makes the web process
10
        much less likely to break.
11
12
        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
13
        (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
14
1
2014-12-19  Jessie Berlin  <jberlin@webkit.org>
15
2014-12-19  Jessie Berlin  <jberlin@webkit.org>
2
16
3
        Build fix.
17
        Build fix.
- a/Source/WebKit2/Shared/linux/SeccompFilters/SyscallPolicy.cpp -3 / +38 lines
Lines 135-141 void SyscallPolicy::addDefaultWebProcessPolicy(const WebProcessCreationParameter a/Source/WebKit2/Shared/linux/SeccompFilters/SyscallPolicy.cpp_sec1
135
135
136
    // Shared libraries, plugins and fonts.
136
    // Shared libraries, plugins and fonts.
137
    addDirectoryPermission(ASCIILiteral("/lib"), Read);
137
    addDirectoryPermission(ASCIILiteral("/lib"), Read);
138
    addDirectoryPermission(ASCIILiteral("/lib64"), Read);
138
    addDirectoryPermission(ASCIILiteral("/usr/lib"), Read);
139
    addDirectoryPermission(ASCIILiteral("/usr/lib"), Read);
140
    addDirectoryPermission(ASCIILiteral("/usr/lib64"), Read);
139
    addDirectoryPermission(ASCIILiteral("/usr/share"), Read);
141
    addDirectoryPermission(ASCIILiteral("/usr/share"), Read);
140
142
141
    // SSL Certificates.
143
    // SSL Certificates.
Lines 186-198 void SyscallPolicy::addDefaultWebProcessPolicy(const WebProcessCreationParameter a/Source/WebKit2/Shared/linux/SeccompFilters/SyscallPolicy.cpp_sec2
186
    // Needed by D-Bus.
188
    // Needed by D-Bus.
187
    addFilePermission(ASCIILiteral("/var/lib/dbus/machine-id"), Read);
189
    addFilePermission(ASCIILiteral("/var/lib/dbus/machine-id"), Read);
188
190
191
    // Needed by at-spi2.
192
    addDirectoryPermission("/run/user/" + String::number(getuid()), ReadAndWrite);
193
194
    // Needed by WebKit's memory pressure handler
195
    addFilePermission(ASCIILiteral("/sys/fs/cgroup/memory/memory.pressure_level"), Read);
196
    addFilePermission(ASCIILiteral("/sys/fs/cgroup/memory/cgroup.event_control"), Read);
197
189
    char* homeDir = getenv("HOME");
198
    char* homeDir = getenv("HOME");
190
    if (homeDir) {
199
    if (homeDir) {
191
        // X11 connection token.
200
        // X11 connection token.
192
        addFilePermission(String::fromUTF8(homeDir) + "/.Xauthority", Read);
201
        addFilePermission(String::fromUTF8(homeDir) + "/.Xauthority", Read);
193
        // MIME type resolution.
194
        addDirectoryPermission(String::fromUTF8(homeDir) +  "/.local/share/mime", Read);
195
    }
202
    }
203
204
    // MIME type resolution.
205
    char* dataHomeDir = getenv("XDG_DATA_HOME");
206
    if (dataHomeDir)
207
        addDirectoryPermission(String::fromUTF8(dataHomeDir) + "/mime", Read);
208
    else if (homeDir)
209
        addDirectoryPermission(String::fromUTF8(homeDir) + "/.local/share/mime", Read);
210
211
#if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS)
212
    // Needed on most non-Debian distros by libxshmfence <= 1.1, or newer
213
    // libxshmfence with older kernels (linux <= 3.16), for DRI3 shared memory.
214
    // Try removing this permission when we can rely on a newer libxshmfence.
215
    // See http://code.google.com/p/chromium/issues/detail?id=415681
216
    addDirectoryPermission(ASCIILiteral("/var/tmp"), ReadAndWrite);
217
218
    // Optional Mesa DRI configuration file
219
    addFilePermission(ASCIILiteral("/etc/drirc"), Read);
220
    if (homeDir)
221
        addFilePermission(String::fromUTF8(homeDir) + "/.drirc", Read);
222
223
    // Mesa uses udev.
224
    addDirectoryPermission(ASCIILiteral("/etc/udev"), Read);
225
    addDirectoryPermission(ASCIILiteral("/run/udev"), Read);
226
    addDirectoryPermission(ASCIILiteral("/sys/devices"), Read);
227
#endif
228
229
    // Needed by NVIDIA proprietary graphics driver
230
    if (homeDir)
231
        addDirectoryPermission(String::fromUTF8(homeDir) + "/.nv", Read);
196
}
232
}
197
233
198
} // namespace WebKit
234
} // namespace WebKit
199
- 

Return to Bug 140064