[PATCH as442] gcc 2.96 workaround in sys_getdents64()

From: Alan Stern
Date: Thu Jan 13 2005 - 11:44:18 EST


Andrew:

How serious are people about continuing to support versions of gcc prior
to 3.0? My copy of RedHat's gcc-2.96 croaks without this patch:


Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

===== fs/readdir.c 1.26 vs edited =====
--- 1.26/fs/readdir.c 2005-01-09 08:29:46 -05:00
+++ edited/fs/readdir.c 2005-01-13 11:31:58 -05:00
@@ -288,7 +288,7 @@
if (lastdirent) {
typeof(lastdirent->d_off) d_off = file->f_pos;
error = count - buf.count;
- if (__put_user(d_off, &lastdirent->d_off))
+ if (put_user(d_off, &lastdirent->d_off))
error = -EFAULT;
}


For changes involving code that's not executed very often I wouldn't
hesitate to recommend adopting such a patch. Does sys_getdents64() fall
in that category? Also I'm not sure how much extra overhead is added by
calling put_user() rather than __put_user().

So I'll leave it up to you to decide whether the patch should be applied.

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/