fs/jffs2/xattr.c:887:1: warning: the frame size of 1040 bytes is larger than 1024 bytes

From: kernel test robot
Date: Sun Oct 24 2021 - 13:38:51 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9c0c4d24ac000e52d55348961d3a3ba42065e0cf
commit: d0a3ac549f389c1511a4df0d7638536305205d20 ubsan: enable for all*config builds
date: 10 months ago
config: powerpc64-randconfig-r013-20211019 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d0a3ac549f389c1511a4df0d7638536305205d20
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d0a3ac549f389c1511a4df0d7638536305205d20
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

fs/jffs2/xattr.c: In function 'jffs2_garbage_collect_xattr_datum':
fs/jffs2/xattr.c:1247:79: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
1247 | xd->xid, xd->version, old_ofs, ref_offset(xd->node));
| ^
fs/jffs2/xattr.c:1222:34: warning: variable 'old_ofs' set but not used [-Wunused-but-set-variable]
1222 | uint32_t totlen, length, old_ofs;
| ^~~~~~~
fs/jffs2/xattr.c: In function 'jffs2_garbage_collect_xattr_ref':
fs/jffs2/xattr.c:1281:86: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
1281 | ref->ic->ino, ref->xd->xid, old_ofs, ref_offset(ref->node));
| ^
fs/jffs2/xattr.c:1258:34: warning: variable 'old_ofs' set but not used [-Wunused-but-set-variable]
1258 | uint32_t totlen, length, old_ofs;
| ^~~~~~~
fs/jffs2/xattr.c: In function 'jffs2_build_xattr_subsystem':
>> fs/jffs2/xattr.c:887:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
887 | }
| ^


vim +887 fs/jffs2/xattr.c

aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 773
c9f700f840bd48 KaiGai Kohei 2006-06-11 774 #define XREF_TMPHASH_SIZE (128)
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 775 void jffs2_build_xattr_subsystem(struct jffs2_sb_info *c)
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 776 {
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 777 struct jffs2_xattr_ref *ref, *_ref;
c9f700f840bd48 KaiGai Kohei 2006-06-11 778 struct jffs2_xattr_ref *xref_tmphash[XREF_TMPHASH_SIZE];
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 779 struct jffs2_xattr_datum *xd, *_xd;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 780 struct jffs2_inode_cache *ic;
c9f700f840bd48 KaiGai Kohei 2006-06-11 781 struct jffs2_raw_node_ref *raw;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 782 int i, xdatum_count = 0, xdatum_unchecked_count = 0, xref_count = 0;
8a13695cbe4e83 KaiGai Kohei 2006-06-24 783 int xdatum_orphan_count = 0, xref_orphan_count = 0, xref_dead_count = 0;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 784
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 785 BUG_ON(!(c->flags & JFFS2_SB_FLAG_BUILDING));
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 786
8a13695cbe4e83 KaiGai Kohei 2006-06-24 787 /* Phase.1 : Merge same xref */
c9f700f840bd48 KaiGai Kohei 2006-06-11 788 for (i=0; i < XREF_TMPHASH_SIZE; i++)
c9f700f840bd48 KaiGai Kohei 2006-06-11 789 xref_tmphash[i] = NULL;
8f2b6f49c656dd KaiGai Kohei 2006-05-13 790 for (ref=c->xref_temp; ref; ref=_ref) {
c9f700f840bd48 KaiGai Kohei 2006-06-11 791 struct jffs2_xattr_ref *tmp;
c9f700f840bd48 KaiGai Kohei 2006-06-11 792
8f2b6f49c656dd KaiGai Kohei 2006-05-13 793 _ref = ref->next;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 794 if (ref_flags(ref->node) != REF_PRISTINE) {
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 795 if (verify_xattr_ref(c, ref)) {
c9f700f840bd48 KaiGai Kohei 2006-06-11 796 BUG_ON(ref->node->next_in_ino != (void *)ref);
c9f700f840bd48 KaiGai Kohei 2006-06-11 797 ref->node->next_in_ino = NULL;
c9f700f840bd48 KaiGai Kohei 2006-06-11 798 jffs2_mark_node_obsolete(c, ref->node);
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 799 jffs2_free_xattr_ref(ref);
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 800 continue;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 801 }
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 802 }
c9f700f840bd48 KaiGai Kohei 2006-06-11 803
c9f700f840bd48 KaiGai Kohei 2006-06-11 804 i = (ref->ino ^ ref->xid) % XREF_TMPHASH_SIZE;
c9f700f840bd48 KaiGai Kohei 2006-06-11 805 for (tmp=xref_tmphash[i]; tmp; tmp=tmp->next) {
c9f700f840bd48 KaiGai Kohei 2006-06-11 806 if (tmp->ino == ref->ino && tmp->xid == ref->xid)
c9f700f840bd48 KaiGai Kohei 2006-06-11 807 break;
c9f700f840bd48 KaiGai Kohei 2006-06-11 808 }
c9f700f840bd48 KaiGai Kohei 2006-06-11 809 if (tmp) {
c9f700f840bd48 KaiGai Kohei 2006-06-11 810 raw = ref->node;
c9f700f840bd48 KaiGai Kohei 2006-06-11 811 if (ref->xseqno > tmp->xseqno) {
c9f700f840bd48 KaiGai Kohei 2006-06-11 812 tmp->xseqno = ref->xseqno;
c9f700f840bd48 KaiGai Kohei 2006-06-11 813 raw->next_in_ino = tmp->node;
c9f700f840bd48 KaiGai Kohei 2006-06-11 814 tmp->node = raw;
c9f700f840bd48 KaiGai Kohei 2006-06-11 815 } else {
c9f700f840bd48 KaiGai Kohei 2006-06-11 816 raw->next_in_ino = tmp->node->next_in_ino;
c9f700f840bd48 KaiGai Kohei 2006-06-11 817 tmp->node->next_in_ino = raw;
c9f700f840bd48 KaiGai Kohei 2006-06-11 818 }
c9f700f840bd48 KaiGai Kohei 2006-06-11 819 jffs2_free_xattr_ref(ref);
c9f700f840bd48 KaiGai Kohei 2006-06-11 820 continue;
c9f700f840bd48 KaiGai Kohei 2006-06-11 821 } else {
c9f700f840bd48 KaiGai Kohei 2006-06-11 822 ref->next = xref_tmphash[i];
c9f700f840bd48 KaiGai Kohei 2006-06-11 823 xref_tmphash[i] = ref;
c9f700f840bd48 KaiGai Kohei 2006-06-11 824 }
c9f700f840bd48 KaiGai Kohei 2006-06-11 825 }
c9f700f840bd48 KaiGai Kohei 2006-06-11 826 c->xref_temp = NULL;
c9f700f840bd48 KaiGai Kohei 2006-06-11 827
8a13695cbe4e83 KaiGai Kohei 2006-06-24 828 /* Phase.2 : Bind xref with inode_cache and xattr_datum */
c9f700f840bd48 KaiGai Kohei 2006-06-11 829 for (i=0; i < XREF_TMPHASH_SIZE; i++) {
c9f700f840bd48 KaiGai Kohei 2006-06-11 830 for (ref=xref_tmphash[i]; ref; ref=_ref) {
8a13695cbe4e83 KaiGai Kohei 2006-06-24 831 xref_count++;
c9f700f840bd48 KaiGai Kohei 2006-06-11 832 _ref = ref->next;
c9f700f840bd48 KaiGai Kohei 2006-06-11 833 if (is_xattr_ref_dead(ref)) {
c9f700f840bd48 KaiGai Kohei 2006-06-11 834 ref->next = c->xref_dead_list;
c9f700f840bd48 KaiGai Kohei 2006-06-11 835 c->xref_dead_list = ref;
8a13695cbe4e83 KaiGai Kohei 2006-06-24 836 xref_dead_count++;
c9f700f840bd48 KaiGai Kohei 2006-06-11 837 continue;
c9f700f840bd48 KaiGai Kohei 2006-06-11 838 }
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 839 /* At this point, ref->xid and ref->ino contain XID and inode number.
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 840 ref->xd and ref->ic are not valid yet. */
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 841 xd = jffs2_find_xattr_datum(c, ref->xid);
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 842 ic = jffs2_get_ino_cache(c, ref->ino);
27c72b040c0be8 David Woodhouse 2008-05-01 843 if (!xd || !ic || !ic->pino_nlink) {
8a13695cbe4e83 KaiGai Kohei 2006-06-24 844 dbg_xattr("xref(ino=%u, xid=%u, xseqno=%u) is orphan.\n",
c9f700f840bd48 KaiGai Kohei 2006-06-11 845 ref->ino, ref->xid, ref->xseqno);
8a13695cbe4e83 KaiGai Kohei 2006-06-24 846 ref->xseqno |= XREF_DELETE_MARKER;
c9f700f840bd48 KaiGai Kohei 2006-06-11 847 ref->next = c->xref_dead_list;
c9f700f840bd48 KaiGai Kohei 2006-06-11 848 c->xref_dead_list = ref;
8a13695cbe4e83 KaiGai Kohei 2006-06-24 849 xref_orphan_count++;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 850 continue;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 851 }
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 852 ref->xd = xd;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 853 ref->ic = ic;
2c887e2359f6e7 KaiGai Kohei 2006-06-24 854 atomic_inc(&xd->refcnt);
8f2b6f49c656dd KaiGai Kohei 2006-05-13 855 ref->next = ic->xref;
8f2b6f49c656dd KaiGai Kohei 2006-05-13 856 ic->xref = ref;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 857 }
c9f700f840bd48 KaiGai Kohei 2006-06-11 858 }
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 859
8a13695cbe4e83 KaiGai Kohei 2006-06-24 860 /* Phase.3 : Link unchecked xdatum to xattr_unchecked list */
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 861 for (i=0; i < XATTRINDEX_HASHSIZE; i++) {
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 862 list_for_each_entry_safe(xd, _xd, &c->xattrindex[i], xindex) {
8a13695cbe4e83 KaiGai Kohei 2006-06-24 863 xdatum_count++;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 864 list_del_init(&xd->xindex);
2c887e2359f6e7 KaiGai Kohei 2006-06-24 865 if (!atomic_read(&xd->refcnt)) {
8a13695cbe4e83 KaiGai Kohei 2006-06-24 866 dbg_xattr("xdatum(xid=%u, version=%u) is orphan.\n",
c9f700f840bd48 KaiGai Kohei 2006-06-11 867 xd->xid, xd->version);
8a13695cbe4e83 KaiGai Kohei 2006-06-24 868 xd->flags |= JFFS2_XFLAGS_DEAD;
c9f700f840bd48 KaiGai Kohei 2006-06-11 869 list_add(&xd->xindex, &c->xattr_unchecked);
8a13695cbe4e83 KaiGai Kohei 2006-06-24 870 xdatum_orphan_count++;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 871 continue;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 872 }
c9f700f840bd48 KaiGai Kohei 2006-06-11 873 if (is_xattr_datum_unchecked(c, xd)) {
c9f700f840bd48 KaiGai Kohei 2006-06-11 874 dbg_xattr("unchecked xdatum(xid=%u, version=%u)\n",
c9f700f840bd48 KaiGai Kohei 2006-06-11 875 xd->xid, xd->version);
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 876 list_add(&xd->xindex, &c->xattr_unchecked);
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 877 xdatum_unchecked_count++;
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 878 }
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 879 }
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 880 }
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 881 /* build complete */
8a13695cbe4e83 KaiGai Kohei 2006-06-24 882 JFFS2_NOTICE("complete building xattr subsystem, %u of xdatum"
8a13695cbe4e83 KaiGai Kohei 2006-06-24 883 " (%u unchecked, %u orphan) and "
8a13695cbe4e83 KaiGai Kohei 2006-06-24 884 "%u of xref (%u dead, %u orphan) found.\n",
8a13695cbe4e83 KaiGai Kohei 2006-06-24 885 xdatum_count, xdatum_unchecked_count, xdatum_orphan_count,
8a13695cbe4e83 KaiGai Kohei 2006-06-24 886 xref_count, xref_dead_count, xref_orphan_count);
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 @887 }
aa98d7cf59b5b0 KaiGai Kohei 2006-05-13 888

:::::: The code at line 887 was first introduced by commit
:::::: aa98d7cf59b5b0764d3502662053489585faf2fe [JFFS2][XATTR] XATTR support on JFFS2 (version. 5)

:::::: TO: KaiGai Kohei <kaigai@xxxxxxxxxxxxx>
:::::: CC: KaiGai Kohei <kaigai@xxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip