Re: Oops with touch and unknown uid [was Re: 2.6.22-rc6-mm1]

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andrew Morton
Date: Sunday, July 22, 2007 - 11:12 pm

On Sun, 22 Jul 2007 23:48:14 +0200 "J.A. Magallón" <jamagallon@ono.com> wrote:


Does Linus's fix fix it?

commit 1e5de2837c166535f9bb4232bfe97ea1f9fc7a1c
Author: Linus Torvalds <torvalds@woody.linux-foundation.org>
Date:   Sun Jul 8 12:02:55 2007 -0700

    Fix permission checking for the new utimensat() system call
    
    Commit 1c710c896eb461895d3c399e15bb5f20b39c9073 added the utimensat()
    system call, but didn't handle the case of checking for the writability
    of the target right, when the target was a file descriptor, not a
    filename.
    
    We cannot use vfs_permission(MAY_WRITE) for that case, and need to
    simply check whether the file descriptor is writable.  The oops from
    using the wrong function was noticed and narrowed down by Markus
    Trippelsdorf.
    
    Cc: Ulrich Drepper <drepper@redhat.com>
    Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Acked-by: Al Viro <viro@ftp.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

diff --git a/fs/utimes.c b/fs/utimes.c
index 480f7c8..b3c8895 100644
--- a/fs/utimes.c
+++ b/fs/utimes.c
@@ -106,9 +106,16 @@ long do_utimes(int dfd, char __user *fil
                 if (IS_IMMUTABLE(inode))
                         goto dput_and_out;
 
-		if (current->fsuid != inode->i_uid &&
-		    (error = vfs_permission(&nd, MAY_WRITE)) != 0)
-			goto dput_and_out;
+		if (current->fsuid != inode->i_uid) {
+			if (f) {
+				if (!(f->f_mode & FMODE_WRITE))
+					goto dput_and_out;
+			} else {
+				error = vfs_permission(&nd, MAY_WRITE);
+				if (error)
+					goto dput_and_out;
+			}
+		}
 	}
 	mutex_lock(&inode->i_mutex);
 	error = notify_change(dentry, &newattrs);

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
2.6.22-rc6-mm1, Andrew Morton, (Thu Jun 28, 3:43 am)
Re: 2.6.22-rc6-mm1, Gabriel C, (Thu Jun 28, 5:08 am)
[patch -mm] s390: struct bin_attribute changes, Heiko Carstens, (Thu Jun 28, 6:39 am)
[patch -mm] s390: rename CPU_IDLE to S390_CPU_IDLE, Heiko Carstens, (Thu Jun 28, 6:39 am)
Re: [patch -mm] s390: rename CPU_IDLE to S390_CPU_IDLE, Ingo Molnar, (Thu Jun 28, 8:03 am)
Re: [PATCH 2.6.22-rc6-mm1] compile error when CONFIG_DM_NE ..., Alasdair G Kergon, (Thu Jun 28, 8:34 am)
RE: [patch -mm] s390: struct bin_attribute changes, Zhang, Rui, (Thu Jun 28, 9:04 am)
Re: 2.6.22-rc6-mm1, Andrew Morton, (Thu Jun 28, 10:54 am)
Re: [patch -mm] Make check_signature() depend on CONFIG_HA ..., Geert Uytterhoeven, (Thu Jun 28, 11:27 am)
Re: [patch -mm] Make check_signature() depend on CONFIG_HA ..., Geert Uytterhoeven, (Thu Jun 28, 11:47 am)
2.6.22-rc6-mm1: multiple definition of `check_reset', Adrian Bunk, (Thu Jun 28, 12:29 pm)
Re: 2.6.22-rc6-mm1: multiple definition of `check_reset', Andrew Morton, (Thu Jun 28, 1:01 pm)
Re: 2.6.22-rc6-mm1: io_apic build error, Randy Dunlap, (Thu Jun 28, 1:09 pm)
Re: 2.6.22-rc6-mm1: io_apic build error, Andrew Morton, (Thu Jun 28, 1:23 pm)
Re: 2.6.22-rc6-mm1 Intel DMAR crash on AMD x86_64, Zan Lynx, (Thu Jun 28, 1:40 pm)
Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present, Jeremy Fitzhardinge, (Thu Jun 28, 1:49 pm)
Re: 2.6.22-rc6-mm1: io_apic build error, John Keller, (Thu Jun 28, 2:47 pm)
Re: 2.6.22-rc6-mm1 Intel DMAR crash on AMD x86_64, Zach Carter, (Thu Jun 28, 4:50 pm)
Re: 2.6.22-rc6-mm1, Mariusz Kozlowski, (Fri Jun 29, 5:32 am)
Re: 2.6.22-rc6-mm1, Sergei Shtylyov, (Fri Jun 29, 5:54 am)
Re: [patch -mm] Make check_signature() depend on CONFIG_HA ..., Geert Uytterhoeven, (Fri Jun 29, 6:08 am)
Re: 2.6.22-rc6-mm1, Roman Zippel, (Fri Jun 29, 7:17 am)
Re: 2.6.22-rc6-mm1, Valdis.Kletnieks, (Fri Jun 29, 7:50 am)
Re: 2.6.22-rc6-mm1, Andrew Morton, (Fri Jun 29, 1:47 pm)
Re: 2.6.22-rc6-mm1, Andrew Morton, (Fri Jun 29, 1:58 pm)
Re: 2.6.22-rc6-mm1, Andrew Morton, (Fri Jun 29, 2:01 pm)
Re: 2.6.22-rc6-mm1, Valdis.Kletnieks, (Fri Jun 29, 9:17 pm)
Re: 2.6.22-rc6-mm1, Andrew Morton, (Fri Jun 29, 10:15 pm)
Re: 2.6.22-rc6-mm1, Michal Marek, (Sat Jun 30, 1:40 am)
Re: 2.6.22-rc6-mm1, Jeremy Fitzhardinge, (Sat Jun 30, 9:22 am)
Re: 2.6.22-rc6-mm1, Sam Ravnborg, (Sat Jun 30, 2:10 pm)
Re: 2.6.22-rc6-mm1, Andrew Morton, (Sat Jun 30, 2:39 pm)
Re: 2.6.22-rc6-mm1, Roman Zippel, (Sat Jun 30, 6:48 pm)
Re: 2.6.22-rc6-mm1, Roman Zippel, (Sat Jun 30, 6:53 pm)
Re: 2.6.22-rc6-mm1, Satyam Sharma, (Sat Jun 30, 10:31 pm)
Re: 2.6.22-rc6-mm1, Sam Ravnborg, (Sat Jun 30, 11:52 pm)
Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present, Jeremy Fitzhardinge, (Sun Jul 1, 9:33 am)
[-mm patch] fix include/asm-m68k/fb.h, Adrian Bunk, (Sun Jul 1, 1:22 pm)
[-mm patch] fix duplicate CONFIG_DMAR Makefile line, Adrian Bunk, (Sun Jul 1, 1:22 pm)
[-mm patch] make cpuidle_replace_governor() static, Adrian Bunk, (Sun Jul 1, 1:23 pm)
2.6.22-rc6-mm1: TUNER_TEA5761 kconfig fixes, Adrian Bunk, (Sun Jul 1, 1:23 pm)
[-mm patch] unexport bprm_mm_init, Adrian Bunk, (Sun Jul 1, 1:23 pm)
[-mm patch] unionfs: make functions static, Adrian Bunk, (Sun Jul 1, 1:23 pm)
[-mm patch] kernel/power/main.c: make code static, Adrian Bunk, (Sun Jul 1, 1:23 pm)
[-mm patch] make struct dccp_li_cachep static, Adrian Bunk, (Sun Jul 1, 1:23 pm)
[-mm patch] unexport mmap_min_addr, Adrian Bunk, (Sun Jul 1, 1:23 pm)
[-mm patch] unexport dvb_pll_configure, Adrian Bunk, (Sun Jul 1, 1:24 pm)
Re: [-mm patch] unexport dvb_pll_configure, Michael Krufky, (Sun Jul 1, 2:29 pm)
Re: 2.6.22-rc6-mm1: TUNER_TEA5761 kconfig fixes, Michael Krufky, (Sun Jul 1, 2:29 pm)
Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present, Jeremy Fitzhardinge, (Sun Jul 1, 3:13 pm)
Re: [-mm patch] unexport mmap_min_addr, James Morris, (Sun Jul 1, 3:38 pm)
Re: [-mm patch] kernel/power/main.c: make code static, Rafael J. Wysocki, (Sun Jul 1, 4:12 pm)
Re: [-mm patch] unionfs: make functions static, Josef Sipek, (Sun Jul 1, 6:42 pm)
Re: [-mm patch] unionfs: make functions static, Satyam Sharma, (Sun Jul 1, 7:21 pm)
Re: [-mm patch] unionfs: make functions static, Adrian Bunk, (Sun Jul 1, 7:27 pm)
Re: 2.6.22-rc6-mm1, Jason Wessel, (Mon Jul 2, 6:49 am)
Re: 2.6.22-rc6-mm1, Sergei Shtylyov, (Mon Jul 2, 7:23 am)
Re: 2.6.22-rc6-mm1, Jason Wessel, (Mon Jul 2, 7:45 am)
Re: [-mm patch] unionfs: make functions static, Josef Sipek, (Mon Jul 2, 1:38 pm)
Re: 2.6.22-rc6-mm1, Paul Mackerras, (Mon Jul 2, 4:21 pm)
Re: [-mm patch] fix duplicate CONFIG_DMAR Makefile line, Keshavamurthy, Anil S, (Mon Jul 2, 5:30 pm)
Re: 2.6.22-rc6-mm1, Andrew Morton, (Tue Jul 3, 1:36 pm)
2.6.22-rc6-mm1: Xen + Numa = compile error, Adrian Bunk, (Wed Jul 4, 12:00 pm)
[PATCH] xen: can't support numa yet, Jeremy Fitzhardinge, (Wed Jul 4, 5:32 pm)
[-mm patch] kernel/sched.c: make 2 functions static, Adrian Bunk, (Thu Jul 5, 4:23 pm)
Re: [-mm patch] make arch/i386/xen/mmu.c:xen_pgd_pin() static, Jeremy Fitzhardinge, (Thu Jul 5, 5:09 pm)
kgdb Bad IO access (was: 2.6.22-rc6-mm1), Tilman Schmidt, (Fri Jul 6, 7:03 am)
Re: kgdb Bad IO access (was: 2.6.22-rc6-mm1), Andrew Morton, (Fri Jul 6, 9:45 am)
Re: kgdb Bad IO access, Jason Wessel, (Fri Jul 6, 10:33 am)
Re: kgdb Bad IO access, Jason Wessel, (Fri Jul 6, 10:51 am)
Re: preemption counter havoc on kgdb-taken faults, Jason Wessel, (Fri Jul 6, 11:24 am)
Re: preemption counter havoc on kgdb-taken faults, Jan Kiszka, (Fri Jul 6, 12:19 pm)
Re: 2.6.22-rc6-mm1, Badari Pulavarty, (Fri Jul 6, 2:31 pm)
2.6.22-rc6-mm1: SLUB_DEBUG=n compile error, Adrian Bunk, (Fri Jul 6, 6:50 pm)
2.6.22-rc6-mm1: UNION_FS=y + BLOCK=n = compile error, Adrian Bunk, (Fri Jul 6, 7:01 pm)
Re: 2.6.22-rc6-mm1: SLUB_DEBUG=n compile error, Christoph Lameter, (Fri Jul 6, 7:03 pm)
Re: 2.6.22-rc6-mm1: SLUB_DEBUG=n compile error, Adrian Bunk, (Fri Jul 6, 7:09 pm)
Re: 2.6.22-rc6-mm1: SLUB_DEBUG=n compile error, Christoph Lameter, (Fri Jul 6, 7:13 pm)
2.6.22-rc6-mm1: git-kgdb breaks sh compilation, Adrian Bunk, (Sat Jul 7, 1:03 am)
[-mm patch] XFS: fix powerpc compat compile error, Adrian Bunk, (Sat Jul 7, 2:11 pm)
Re: 2.6.22-rc6-mm1: git-kgdb breaks sh compilation, Jason Wessel, (Sat Jul 7, 10:10 pm)
[-mm patch] fix SND_CS5530=y, ISA=n compilation, Adrian Bunk, (Mon Jul 9, 3:56 pm)
Re: [-mm patch] fix SND_CS5530=y, ISA=n compilation, Takashi Iwai, (Tue Jul 10, 2:35 am)
Re: 2.6.22-rc6-mm1, Nish Aravamudan, (Fri Jul 13, 5:58 pm)
Re: Oops with touch and unknown uid [was Re: 2.6.22-rc6-mm1], Andrew Morton, (Sun Jul 22, 11:12 pm)