Messages in this thread | | | Subject | Re: [PATCH] diskquota: 32bit quota tools on 64bit architectures | From | Andi Kleen <> | Date | 19 Oct 2006 18:09:35 +0200 |
| |
Vasily Tarasov <vtaras@openvz.org> writes:
> OpenVZ Linux kernel team has discovered the problem > with 32bit quota tools working on 64bit architectures. > In 2.6.10 kernel sys32_quotactl() function was replaced by sys_quotactl() with > the comment "sys_quotactl seems to be 32/64bit clean, enable it for 32bit" > However this isn't right. Look at if_dqblk structure: > > struct if_dqblk { > __u64 dqb_bhardlimit; > __u64 dqb_bsoftlimit; > __u64 dqb_curspace; > __u64 dqb_ihardlimit; > __u64 dqb_isoftlimit; > __u64 dqb_curinodes; > __u64 dqb_btime; > __u64 dqb_itime; > __u32 dqb_valid; > }; > > For 32 bit quota tools sizeof(if_dqblk) == 0x44. > But for 64 bit kernel its size is 0x48, 'cause of alignment! > Thus we got a problem. > Attached patch reintroduce sys32_quotactl() function, > that handles the situation.
Thanks. But the code should be probably common somewhere in fs/*, not duplicated.
-Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |