[lkml]   [2005]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Suggestion on "int len" sanity
Jörn Engel wrote:

>On Thu, 2 June 2005 09:28:55 +0200, XIAO Gang wrote:
>>1. In the types of sys_[gs]ethostname, sys_[gs]etdomainname, "int len"
>>could be replaced
>>by "unsigned int" or "size_t" and sanity check simplified.
>If you really want that fun, try changing it to "unsigned long long"
>on your private machine and do some testing.
>Hint: arch/i386/kernel/syscall_table.S
I know; I might try to do something later. The question here is to find
the best balancing point between what
are better replaced and what are not. I would hesitate a lot before
doing things as below which are more likely to introduce new bugs than
to avoid old ones.

>>3. The similar situation occurs in fs/namei.c, vfs_readlink(). Here it does
>>not matter if len
>>is declared to be unsigned, but for size_t, we have to take care about the
>>size of size_t.
>You could possibly change the code to:
>int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link)
> union {
> unsigned len;
> int ret;
> } u;
> u.ret = PTR_ERR(link);
> if (IS_ERR(link))
> goto out;
> u.len = strlen(link);
> if (u.len > (unsigned) buflen)
> u.len = buflen;
> if (copy_to_user(buffer, link, u.len))
> u.ret = -EFAULT;
> return u.ret;
>But what would we gain, except for a few additional lines?


XIAO Gang (~{P$8U~})
home page:

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-06-02 11:15    [W:0.081 / U:40.608 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site