|
@@ -812,7 +812,9 @@ static bool new_idmap_permitted(const struct file *file,
|
|
|
struct user_namespace *ns, int cap_setid,
|
|
|
struct uid_gid_map *new_map)
|
|
|
{
|
|
|
- /* Allow mapping to your own filesystem ids */
|
|
|
+ /* Don't allow mappings that would allow anything that wouldn't
|
|
|
+ * be allowed without the establishment of unprivileged mappings.
|
|
|
+ */
|
|
|
if ((new_map->nr_extents == 1) && (new_map->extent[0].count == 1)) {
|
|
|
u32 id = new_map->extent[0].lower_first;
|
|
|
if (cap_setid == CAP_SETUID) {
|