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

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: "J.A. Magallón" <jamagallon@...>
Cc: <linux-kernel@...>
Date: Monday, July 23, 2007 - 2:12 am

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