CC: [email protected]
CC: [email protected]
TO: Luc Van Oostenryck <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Linux Memory Management List <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   cb690f5238d71f543f4ce874aa59237cf53a877c
commit: d991bb1c8da842a2a0b9dc83b1005e655783f861 include/linux/compiler-gcc.h: 
sparse can do constant folding of __builtin_bswap*()
date:   6 months ago
:::::: branch date: 24 hours ago
:::::: commit date: 6 months ago
config: mips-randconfig-m031-20211012 (attached as .config)
compiler: mips64el-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
net/sched/sch_cake.c:1094 cake_tcph_may_drop() warn: masked condition 
'(((tcph)->words[3]) & (__builtin_bswap32(((255787008))))) != 4096' is always 
true.

Old smatch warnings:
net/sched/sch_cake.c:776 cake_hash() error: buffer overflow 'q->flows' 1024 <= 
1030
net/sched/sch_cake.c:788 cake_hash() error: buffer overflow 'q->flows' 1024 <= 
1030
net/sched/sch_cake.c:811 cake_hash() error: buffer overflow 'q->hosts' 1024 <= 
1030
net/sched/sch_cake.c:814 cake_hash() error: buffer overflow 'q->hosts' 1024 <= 
1030
net/sched/sch_cake.c:834 cake_hash() error: buffer overflow 'q->hosts' 1024 <= 
1030
net/sched/sch_cake.c:837 cake_hash() error: buffer overflow 'q->hosts' 1024 <= 
1030
net/sched/sch_cake.c:1353 cake_overhead() warn: should 'off << 16' be a 64 bit 
type?

vim +1094 net/sched/sch_cake.c

8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1076  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1077  static bool 
cake_tcph_may_drop(const struct tcphdr *tcph,
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1078                         
       u32 tstamp_new, u32 tsecr_new)
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1079  {
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1080         /* inspired by 
tcp_parse_options in tcp_input.c */
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1081         int length = 
__tcp_hdrlen(tcph) - sizeof(struct tcphdr);
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1082         const u8 *ptr = 
(const u8 *)(tcph + 1);
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1083         u32 tstamp, 
tsecr;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1084  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1085         /* 3 reserved 
flags must be unset to avoid future breakage
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1086          * ACK must be 
set
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1087          * ECE/CWR are 
handled separately
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1088          * All other 
flags URG/PSH/RST/SYN/FIN must be unset
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1089          * 0x0FFF0000 = 
all TCP flags (confirm ACK=1, others zero)
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1090          * 0x00C00000 = 
CWR/ECE (handled separately)
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1091          * 0x0F3F0000 = 
0x0FFF0000 & ~0x00C00000
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1092          */
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1093         if 
(((tcp_flag_word(tcph) &
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06 @1094               
cpu_to_be32(0x0F3F0000)) != TCP_FLAG_ACK))
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1095                 return 
false;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1096  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1097         while (length > 
0) {
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1098                 int 
opcode = *ptr++;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1099                 int 
opsize;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1100  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1101                 if 
(opcode == TCPOPT_EOL)
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1102                         
break;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1103                 if 
(opcode == TCPOPT_NOP) {
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1104                         
length--;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1105                         
continue;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1106                 }
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1107                 opsize 
= *ptr++;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1108                 if 
(opsize < 2 || opsize > length)
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1109                         
break;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1110  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1111                 switch 
(opcode) {
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1112                 case 
TCPOPT_MD5SIG: /* doesn't influence state */
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1113                         
break;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1114  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1115                 case 
TCPOPT_SACK: /* stricter checking performed later */
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1116                         
if (opsize % 8 != 2)
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1117                         
        return false;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1118                         
break;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1119  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1120                 case 
TCPOPT_TIMESTAMP:
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1121                         
/* only drop timestamps lower than new */
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1122                         
if (opsize != TCPOLEN_TIMESTAMP)
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1123                         
        return false;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1124                         
tstamp = get_unaligned_be32(ptr);
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1125                         
tsecr = get_unaligned_be32(ptr + 4);
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1126                         
if (after(tstamp, tstamp_new) ||
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1127                         
    after(tsecr, tsecr_new))
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1128                         
        return false;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1129                         
break;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1130  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1131                 case 
TCPOPT_MSS:  /* these should only be set on SYN */
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1132                 case 
TCPOPT_WINDOW:
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1133                 case 
TCPOPT_SACK_PERM:
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1134                 case 
TCPOPT_FASTOPEN:
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1135                 case 
TCPOPT_EXP:
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1136                 
default: /* don't drop if any unknown options are present */
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1137                         
return false;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1138                 }
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1139  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1140                 ptr += 
opsize - 2;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1141                 length 
-= opsize;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1142         }
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1143  
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1144         return true;
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1145  }
8b7138814f29933 Toke Høiland-Jørgensen 2018-07-06  1146  

:::::: The code at line 1094 was first introduced by commit
:::::: 8b7138814f29933898ecd31dfc83e35a30ee69f5 sch_cake: Add optional ACK 
filter

:::::: TO: Toke Høiland-Jørgensen <[email protected]>
:::::: CC: David S. Miller <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to