On Thu, Sep 27, 2007 at 02:01:37AM +0200, Adrian Bunk wrote:chroot() is present in v7, thank you very much. /usr/sys/sys/sys4.c has chdir() { chdirec(&u.u_cdir); } chroot() { if (suser()) chdirec(&u.u_rdir); } and back then it didn't stop lookups by .. at all - u_rdir is only used in the beginning of namei() (when pathname starts with /), plus the obvious refcounting in exit()/newproc(). So give me a break - back when it had been introduced, it didn't do anything jail-like _at_ _all_. That check appears only in BSD: @@ -1,4 +1,4 @@ -/* vfs_lookup.c 4.4 03/06/81 */ +/* vfs_lookup.c 4.5 81/03/09 */ #include "../h/param.h" #include "../h/systm.h" @@ -107,6 +107,9 @@ u.u_segflg = 1; eo = 0; bp = NULL; + if (dp == u.u_rdir && u.u_dent.d_name[0] == '.' && + u.u_dent.d_name[1] == '.' && u.u_dent.d_name[2] == 0) + goto cloop; eloop: with spectaculary lousy commit message ("lint and a minor fixed") by wnj. Feel free to ask Bill Joy WTF he had intended. At a guess, more consistent behaviour in chrooted environment (i.e. pathname resolution looking as if the subtree had been everything). To talk about root-safety of _anything_ at that point is bloody ridiculous. -
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Ingo Molnar | [git pull] x86 arch updates for v2.6.25 |
| Anton Salikhmetov | [PATCH -v8 2/4] Update ctime and mtime for memory-mapped files |
git: | |
| Patrick McHardy | Re: [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 16/37] dccp: API to query the current TX/RX CCID |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
