From: kernel test robot <lkp@intel.com>
To: Emil Renner Berthing <kernel@esmil.dk>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: [esmil:visionfive 57/57] lib/string.c:622: warning: expecting prototype for memset(). Prototype was for __memset() instead
Date: Mon, 25 Apr 2022 07:59:02 +0800 [thread overview]
Message-ID: <202204250717.pDjra3UX-lkp@intel.com> (raw)
tree: https://github.com/esmil/linux visionfive
head: a4609ecef3c07f3d2786a7f79992430e6bb72ad9
commit: a4609ecef3c07f3d2786a7f79992430e6bb72ad9 [57/57] lib/string: support CONFIG_KASAN=y
config: um-i386_defconfig (https://download.01.org/0day-ci/archive/20220425/202204250717.pDjra3UX-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce (this is a W=1 build):
# https://github.com/esmil/linux/commit/a4609ecef3c07f3d2786a7f79992430e6bb72ad9
git remote add esmil https://github.com/esmil/linux
git fetch --no-tags esmil visionfive
git checkout a4609ecef3c07f3d2786a7f79992430e6bb72ad9
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> lib/string.c:622: warning: expecting prototype for memset(). Prototype was for __memset() instead
>> lib/string.c:712: warning: expecting prototype for memcpy(). Prototype was for __memcpy() instead
>> lib/string.c:736: warning: expecting prototype for memmove(). Prototype was for __memmove() instead
vim +622 lib/string.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 611
^1da177e4c3f41 Linus Torvalds 2005-04-16 612 #ifndef __HAVE_ARCH_MEMSET
^1da177e4c3f41 Linus Torvalds 2005-04-16 613 /**
^1da177e4c3f41 Linus Torvalds 2005-04-16 614 * memset - Fill a region of memory with the given value
^1da177e4c3f41 Linus Torvalds 2005-04-16 615 * @s: Pointer to the start of the area.
^1da177e4c3f41 Linus Torvalds 2005-04-16 616 * @c: The byte to fill the area with
^1da177e4c3f41 Linus Torvalds 2005-04-16 617 * @count: The size of the area.
^1da177e4c3f41 Linus Torvalds 2005-04-16 618 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 619 * Do not use memset() to access IO space, use memset_io() instead.
^1da177e4c3f41 Linus Torvalds 2005-04-16 620 */
a4609ecef3c07f Emil Renner Berthing 2022-04-23 621 void *__memset(void *s, int c, size_t count)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @622 {
850b9247926693 Jesper Juhl 2005-10-30 623 char *xs = s;
^1da177e4c3f41 Linus Torvalds 2005-04-16 624
^1da177e4c3f41 Linus Torvalds 2005-04-16 625 while (count--)
^1da177e4c3f41 Linus Torvalds 2005-04-16 626 *xs++ = c;
^1da177e4c3f41 Linus Torvalds 2005-04-16 627 return s;
^1da177e4c3f41 Linus Torvalds 2005-04-16 628 }
a4609ecef3c07f Emil Renner Berthing 2022-04-23 629 EXPORT_SYMBOL(__memset);
a4609ecef3c07f Emil Renner Berthing 2022-04-23 630
a4609ecef3c07f Emil Renner Berthing 2022-04-23 631 void *memset(void *s, int c, size_t count) __weak __alias(__memset);
^1da177e4c3f41 Linus Torvalds 2005-04-16 632 EXPORT_SYMBOL(memset);
^1da177e4c3f41 Linus Torvalds 2005-04-16 633 #endif
^1da177e4c3f41 Linus Torvalds 2005-04-16 634
3b3c4babd89871 Matthew Wilcox 2017-09-08 635 #ifndef __HAVE_ARCH_MEMSET16
3b3c4babd89871 Matthew Wilcox 2017-09-08 636 /**
3b3c4babd89871 Matthew Wilcox 2017-09-08 637 * memset16() - Fill a memory area with a uint16_t
3b3c4babd89871 Matthew Wilcox 2017-09-08 638 * @s: Pointer to the start of the area.
3b3c4babd89871 Matthew Wilcox 2017-09-08 639 * @v: The value to fill the area with
3b3c4babd89871 Matthew Wilcox 2017-09-08 640 * @count: The number of values to store
3b3c4babd89871 Matthew Wilcox 2017-09-08 641 *
3b3c4babd89871 Matthew Wilcox 2017-09-08 642 * Differs from memset() in that it fills with a uint16_t instead
3b3c4babd89871 Matthew Wilcox 2017-09-08 643 * of a byte. Remember that @count is the number of uint16_ts to
3b3c4babd89871 Matthew Wilcox 2017-09-08 644 * store, not the number of bytes.
3b3c4babd89871 Matthew Wilcox 2017-09-08 645 */
3b3c4babd89871 Matthew Wilcox 2017-09-08 646 void *memset16(uint16_t *s, uint16_t v, size_t count)
3b3c4babd89871 Matthew Wilcox 2017-09-08 647 {
3b3c4babd89871 Matthew Wilcox 2017-09-08 648 uint16_t *xs = s;
3b3c4babd89871 Matthew Wilcox 2017-09-08 649
3b3c4babd89871 Matthew Wilcox 2017-09-08 650 while (count--)
3b3c4babd89871 Matthew Wilcox 2017-09-08 651 *xs++ = v;
3b3c4babd89871 Matthew Wilcox 2017-09-08 652 return s;
3b3c4babd89871 Matthew Wilcox 2017-09-08 653 }
3b3c4babd89871 Matthew Wilcox 2017-09-08 654 EXPORT_SYMBOL(memset16);
3b3c4babd89871 Matthew Wilcox 2017-09-08 655 #endif
3b3c4babd89871 Matthew Wilcox 2017-09-08 656
3b3c4babd89871 Matthew Wilcox 2017-09-08 657 #ifndef __HAVE_ARCH_MEMSET32
3b3c4babd89871 Matthew Wilcox 2017-09-08 658 /**
3b3c4babd89871 Matthew Wilcox 2017-09-08 659 * memset32() - Fill a memory area with a uint32_t
3b3c4babd89871 Matthew Wilcox 2017-09-08 660 * @s: Pointer to the start of the area.
3b3c4babd89871 Matthew Wilcox 2017-09-08 661 * @v: The value to fill the area with
3b3c4babd89871 Matthew Wilcox 2017-09-08 662 * @count: The number of values to store
3b3c4babd89871 Matthew Wilcox 2017-09-08 663 *
3b3c4babd89871 Matthew Wilcox 2017-09-08 664 * Differs from memset() in that it fills with a uint32_t instead
3b3c4babd89871 Matthew Wilcox 2017-09-08 665 * of a byte. Remember that @count is the number of uint32_ts to
3b3c4babd89871 Matthew Wilcox 2017-09-08 666 * store, not the number of bytes.
3b3c4babd89871 Matthew Wilcox 2017-09-08 667 */
3b3c4babd89871 Matthew Wilcox 2017-09-08 668 void *memset32(uint32_t *s, uint32_t v, size_t count)
3b3c4babd89871 Matthew Wilcox 2017-09-08 669 {
3b3c4babd89871 Matthew Wilcox 2017-09-08 670 uint32_t *xs = s;
3b3c4babd89871 Matthew Wilcox 2017-09-08 671
3b3c4babd89871 Matthew Wilcox 2017-09-08 672 while (count--)
3b3c4babd89871 Matthew Wilcox 2017-09-08 673 *xs++ = v;
3b3c4babd89871 Matthew Wilcox 2017-09-08 674 return s;
3b3c4babd89871 Matthew Wilcox 2017-09-08 675 }
3b3c4babd89871 Matthew Wilcox 2017-09-08 676 EXPORT_SYMBOL(memset32);
3b3c4babd89871 Matthew Wilcox 2017-09-08 677 #endif
3b3c4babd89871 Matthew Wilcox 2017-09-08 678
3b3c4babd89871 Matthew Wilcox 2017-09-08 679 #ifndef __HAVE_ARCH_MEMSET64
3b3c4babd89871 Matthew Wilcox 2017-09-08 680 /**
3b3c4babd89871 Matthew Wilcox 2017-09-08 681 * memset64() - Fill a memory area with a uint64_t
3b3c4babd89871 Matthew Wilcox 2017-09-08 682 * @s: Pointer to the start of the area.
3b3c4babd89871 Matthew Wilcox 2017-09-08 683 * @v: The value to fill the area with
3b3c4babd89871 Matthew Wilcox 2017-09-08 684 * @count: The number of values to store
3b3c4babd89871 Matthew Wilcox 2017-09-08 685 *
3b3c4babd89871 Matthew Wilcox 2017-09-08 686 * Differs from memset() in that it fills with a uint64_t instead
3b3c4babd89871 Matthew Wilcox 2017-09-08 687 * of a byte. Remember that @count is the number of uint64_ts to
3b3c4babd89871 Matthew Wilcox 2017-09-08 688 * store, not the number of bytes.
3b3c4babd89871 Matthew Wilcox 2017-09-08 689 */
3b3c4babd89871 Matthew Wilcox 2017-09-08 690 void *memset64(uint64_t *s, uint64_t v, size_t count)
3b3c4babd89871 Matthew Wilcox 2017-09-08 691 {
3b3c4babd89871 Matthew Wilcox 2017-09-08 692 uint64_t *xs = s;
3b3c4babd89871 Matthew Wilcox 2017-09-08 693
3b3c4babd89871 Matthew Wilcox 2017-09-08 694 while (count--)
3b3c4babd89871 Matthew Wilcox 2017-09-08 695 *xs++ = v;
3b3c4babd89871 Matthew Wilcox 2017-09-08 696 return s;
3b3c4babd89871 Matthew Wilcox 2017-09-08 697 }
3b3c4babd89871 Matthew Wilcox 2017-09-08 698 EXPORT_SYMBOL(memset64);
3b3c4babd89871 Matthew Wilcox 2017-09-08 699 #endif
3b3c4babd89871 Matthew Wilcox 2017-09-08 700
^1da177e4c3f41 Linus Torvalds 2005-04-16 701 #ifndef __HAVE_ARCH_MEMCPY
^1da177e4c3f41 Linus Torvalds 2005-04-16 702 /**
^1da177e4c3f41 Linus Torvalds 2005-04-16 703 * memcpy - Copy one area of memory to another
^1da177e4c3f41 Linus Torvalds 2005-04-16 704 * @dest: Where to copy to
^1da177e4c3f41 Linus Torvalds 2005-04-16 705 * @src: Where to copy from
^1da177e4c3f41 Linus Torvalds 2005-04-16 706 * @count: The size of the area.
^1da177e4c3f41 Linus Torvalds 2005-04-16 707 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 708 * You should not use this function to access IO space, use memcpy_toio()
^1da177e4c3f41 Linus Torvalds 2005-04-16 709 * or memcpy_fromio() instead.
^1da177e4c3f41 Linus Torvalds 2005-04-16 710 */
a4609ecef3c07f Emil Renner Berthing 2022-04-23 711 void *__memcpy(void *dest, const void *src, size_t count)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @712 {
850b9247926693 Jesper Juhl 2005-10-30 713 char *tmp = dest;
4c416ab71164dc Jan-Benedict Glaw 2006-04-10 714 const char *s = src;
^1da177e4c3f41 Linus Torvalds 2005-04-16 715
^1da177e4c3f41 Linus Torvalds 2005-04-16 716 while (count--)
^1da177e4c3f41 Linus Torvalds 2005-04-16 717 *tmp++ = *s++;
^1da177e4c3f41 Linus Torvalds 2005-04-16 718 return dest;
^1da177e4c3f41 Linus Torvalds 2005-04-16 719 }
a4609ecef3c07f Emil Renner Berthing 2022-04-23 720 EXPORT_SYMBOL(__memcpy);
a4609ecef3c07f Emil Renner Berthing 2022-04-23 721
a4609ecef3c07f Emil Renner Berthing 2022-04-23 722 void *memcpy(void *dest, const void *src, size_t count) __weak __alias(__memcpy);
^1da177e4c3f41 Linus Torvalds 2005-04-16 723 EXPORT_SYMBOL(memcpy);
^1da177e4c3f41 Linus Torvalds 2005-04-16 724 #endif
^1da177e4c3f41 Linus Torvalds 2005-04-16 725
^1da177e4c3f41 Linus Torvalds 2005-04-16 726 #ifndef __HAVE_ARCH_MEMMOVE
^1da177e4c3f41 Linus Torvalds 2005-04-16 727 /**
^1da177e4c3f41 Linus Torvalds 2005-04-16 728 * memmove - Copy one area of memory to another
^1da177e4c3f41 Linus Torvalds 2005-04-16 729 * @dest: Where to copy to
^1da177e4c3f41 Linus Torvalds 2005-04-16 730 * @src: Where to copy from
^1da177e4c3f41 Linus Torvalds 2005-04-16 731 * @count: The size of the area.
^1da177e4c3f41 Linus Torvalds 2005-04-16 732 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 733 * Unlike memcpy(), memmove() copes with overlapping areas.
^1da177e4c3f41 Linus Torvalds 2005-04-16 734 */
a4609ecef3c07f Emil Renner Berthing 2022-04-23 735 void *__memmove(void *dest, const void *src, size_t count)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @736 {
82da2c372712c7 Paul Jackson 2005-10-30 737 char *tmp;
82da2c372712c7 Paul Jackson 2005-10-30 738 const char *s;
^1da177e4c3f41 Linus Torvalds 2005-04-16 739
^1da177e4c3f41 Linus Torvalds 2005-04-16 740 if (dest <= src) {
850b9247926693 Jesper Juhl 2005-10-30 741 tmp = dest;
850b9247926693 Jesper Juhl 2005-10-30 742 s = src;
^1da177e4c3f41 Linus Torvalds 2005-04-16 743 while (count--)
^1da177e4c3f41 Linus Torvalds 2005-04-16 744 *tmp++ = *s++;
51a0f0f658b0e7 Jesper Juhl 2005-10-30 745 } else {
850b9247926693 Jesper Juhl 2005-10-30 746 tmp = dest;
850b9247926693 Jesper Juhl 2005-10-30 747 tmp += count;
850b9247926693 Jesper Juhl 2005-10-30 748 s = src;
850b9247926693 Jesper Juhl 2005-10-30 749 s += count;
^1da177e4c3f41 Linus Torvalds 2005-04-16 750 while (count--)
^1da177e4c3f41 Linus Torvalds 2005-04-16 751 *--tmp = *--s;
^1da177e4c3f41 Linus Torvalds 2005-04-16 752 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 753 return dest;
^1da177e4c3f41 Linus Torvalds 2005-04-16 754 }
a4609ecef3c07f Emil Renner Berthing 2022-04-23 755 EXPORT_SYMBOL(__memmove);
a4609ecef3c07f Emil Renner Berthing 2022-04-23 756
:::::: The code at line 622 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
reply other threads:[~2022-04-24 23:59 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202204250717.pDjra3UX-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=kernel@esmil.dk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.