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 |
| Ingo Molnar | Re: [RFT] x86 acpi: normalize segment descriptor register on resume |
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
git: | |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Ingo Molnar | [bug] stuck localhost TCP connections, v2.6.26-rc3+ |
