Skip to contentSkip to conversation

memcpy

DISCUSSION Stoyan Gaydarov 3 participants 3 messages Aug 26, 2009 – Aug 27, 2009 Kernel janitors

lore
Share & tools
lore
#0 lore raw

I wanted to know what memcpy returned as a result, and if it needs/should be checked. There are several places in the kernel where i noticed it being used but i also saw a warning about the result not being used, so i wanted to know a little more about it.

-Stoyan

#1 lore raw

Am Donnerstag 27 August 2009 00:18:28 schrieb Stoyan Gaydarov:

Quoted 10 lines

I wanted to know what memcpy returned as a result, and if it needs/should be checked. There are several places in the kernel where i noticed it being used but i also saw a warning about the result not being used, so i wanted to know a little more about it.

-Stoyan
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Hi,

*memcpy is defined in .../lib/string.c (+ some macros etc - use cscope to find more references) as

/**
* memcpy - Copy one area of memory to another
* @dest: Where to copy to
* @src: Where to copy from
* @count: The size of the area.
*
* You should not use this function to access IO space, use memcpy_toio()
* or memcpy_fromio() instead.
*/
void *memcpy(void *dest, const void *src, size_t count)

{
    char *tmp = dest;
    const char *s = src;

    while (count--)
        *tmp++ = *s++;
    return dest;
}

You can see it just returns the destination address that you have passed to it -> so I guess unless it is possible that you have already passed it a null pointer (which might horribly fail) it is not really necessary to check the result.

Peter

#2 lore raw
In reply to Stoyan Gaydarov
Quoted 2 lines · Stoyan Gaydarov

I wanted to know what memcpy returned as a result, and if it needs/should be checked. There are several places in the kernel where i

It is IMHO agreed concensus that kernel-implementations of well-known (and especially C-library) userspace functions have to behave the same/similar.
Or they get another name if only to avoid confusion.

Quoted 2 lines

noticed it being used but i also saw a warning about the result not being used, so i wanted to know a little more about it.

Use the source, Luke.

Bernd

Signature · 3 lines
Firmix Software GmbH                   http://www.firmix.at/
mobil: +43 664 4416156                 fax: +43 1 7890849-55
          Embedded Linux Development and Services