tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   b29482fde649c72441d5478a4ea2c52c56d97a5e
commit: a17becc112535b912f2165f80a98c21b59655119 s390/zcrypt: extend EP11 card 
and queue sysfs attributes
config: s390-randconfig-m031-20200611 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.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]>

smatch warnings:
drivers/s390/crypto/zcrypt_cex4.c:251 ep11_card_op_modes_show() warn: should 
'(1 << ep11_op_modes[i]->mode_bit)' be a 64 bit type?
drivers/s390/crypto/zcrypt_cex4.c:346 ep11_queue_op_modes_show() warn: should 
'(1 << ep11_op_modes[i]->mode_bit)' be a 64 bit type?

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a17becc112535b912f2165f80a98c21b59655119
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout a17becc112535b912f2165f80a98c21b59655119
vim +251 drivers/s390/crypto/zcrypt_cex4.c

a17becc112535b Harald Freudenberger 2019-08-30  237  static ssize_t 
ep11_card_op_modes_show(struct device *dev,
a17becc112535b Harald Freudenberger 2019-08-30  238                             
       struct device_attribute *attr,
a17becc112535b Harald Freudenberger 2019-08-30  239                             
       char *buf)
a17becc112535b Harald Freudenberger 2019-08-30  240  {
a17becc112535b Harald Freudenberger 2019-08-30  241     int i, n = 0;
a17becc112535b Harald Freudenberger 2019-08-30  242     struct ep11_card_info 
ci;
a17becc112535b Harald Freudenberger 2019-08-30  243     struct ap_card *ac = 
to_ap_card(dev);
a17becc112535b Harald Freudenberger 2019-08-30  244     struct zcrypt_card *zc 
= ac->private;
a17becc112535b Harald Freudenberger 2019-08-30  245  
a17becc112535b Harald Freudenberger 2019-08-30  246     memset(&ci, 0, 
sizeof(ci));
a17becc112535b Harald Freudenberger 2019-08-30  247  
a17becc112535b Harald Freudenberger 2019-08-30  248     
ep11_get_card_info(ac->id, &ci, zc->online);
a17becc112535b Harald Freudenberger 2019-08-30  249  
a17becc112535b Harald Freudenberger 2019-08-30  250     for (i = 0; 
ep11_op_modes[i].mode_txt; i++) {
a17becc112535b Harald Freudenberger 2019-08-30 @251             if (ci.op_mode 
& (1 << ep11_op_modes[i].mode_bit)) {
                                                                    ^^^^^^^^^^
This is a u64 type, which suggests that it should be "1ULL << 
ep11_op_modes[i].mode_bit".

a17becc112535b Harald Freudenberger 2019-08-30  252                     if (n > 
0)
a17becc112535b Harald Freudenberger 2019-08-30  253                             
buf[n++] = ' ';
a17becc112535b Harald Freudenberger 2019-08-30  254                     n += 
snprintf(buf + n, PAGE_SIZE - n,
a17becc112535b Harald Freudenberger 2019-08-30  255                             
      "%s", ep11_op_modes[i].mode_txt);
a17becc112535b Harald Freudenberger 2019-08-30  256             }
a17becc112535b Harald Freudenberger 2019-08-30  257     }
a17becc112535b Harald Freudenberger 2019-08-30  258     n += snprintf(buf + n, 
PAGE_SIZE - n, "\n");
a17becc112535b Harald Freudenberger 2019-08-30  259  
a17becc112535b Harald Freudenberger 2019-08-30  260     return n;
a17becc112535b Harald Freudenberger 2019-08-30  261  }
a17becc112535b Harald Freudenberger 2019-08-30  262  
a17becc112535b Harald Freudenberger 2019-08-30  263  static struct 
device_attribute dev_attr_ep11_card_op_modes =
a17becc112535b Harald Freudenberger 2019-08-30  264     __ATTR(op_modes, 0444, 
ep11_card_op_modes_show, NULL);
a17becc112535b Harald Freudenberger 2019-08-30  265  
a17becc112535b Harald Freudenberger 2019-08-30  266  static struct attribute 
*ep11_card_attrs[] = {
a17becc112535b Harald Freudenberger 2019-08-30  267     
&dev_attr_ep11_api_ordinalnr.attr,
a17becc112535b Harald Freudenberger 2019-08-30  268     
&dev_attr_ep11_fw_version.attr,
a17becc112535b Harald Freudenberger 2019-08-30  269     
&dev_attr_ep11_serialnr.attr,
a17becc112535b Harald Freudenberger 2019-08-30  270     
&dev_attr_ep11_card_op_modes.attr,
a17becc112535b Harald Freudenberger 2019-08-30  271     NULL,
a17becc112535b Harald Freudenberger 2019-08-30  272  };
a17becc112535b Harald Freudenberger 2019-08-30  273  
a17becc112535b Harald Freudenberger 2019-08-30  274  static const struct 
attribute_group ep11_card_attr_grp = {
a17becc112535b Harald Freudenberger 2019-08-30  275     .attrs = 
ep11_card_attrs,
a17becc112535b Harald Freudenberger 2019-08-30  276  };
a17becc112535b Harald Freudenberger 2019-08-30  277  
a17becc112535b Harald Freudenberger 2019-08-30  278  /*
a17becc112535b Harald Freudenberger 2019-08-30  279   * EP11 queue additional 
device attributes
a17becc112535b Harald Freudenberger 2019-08-30  280   */
a17becc112535b Harald Freudenberger 2019-08-30  281  
a17becc112535b Harald Freudenberger 2019-08-30  282  static ssize_t 
ep11_mkvps_show(struct device *dev,
a17becc112535b Harald Freudenberger 2019-08-30  283                            
struct device_attribute *attr,
a17becc112535b Harald Freudenberger 2019-08-30  284                            
char *buf)
a17becc112535b Harald Freudenberger 2019-08-30  285  {
a17becc112535b Harald Freudenberger 2019-08-30  286     int n = 0;
a17becc112535b Harald Freudenberger 2019-08-30  287     struct ep11_domain_info 
di;
a17becc112535b Harald Freudenberger 2019-08-30  288     struct zcrypt_queue *zq 
= to_ap_queue(dev)->private;
a17becc112535b Harald Freudenberger 2019-08-30  289     static const char * 
const cwk_state[] = { "invalid", "valid" };
a17becc112535b Harald Freudenberger 2019-08-30  290     static const char * 
const nwk_state[] = { "empty", "uncommitted",
a17becc112535b Harald Freudenberger 2019-08-30  291                             
                  "committed" };
a17becc112535b Harald Freudenberger 2019-08-30  292  
a17becc112535b Harald Freudenberger 2019-08-30  293     memset(&di, 0, 
sizeof(di));
a17becc112535b Harald Freudenberger 2019-08-30  294  
a17becc112535b Harald Freudenberger 2019-08-30  295     if (zq->online)
a17becc112535b Harald Freudenberger 2019-08-30  296             
ep11_get_domain_info(AP_QID_CARD(zq->queue->qid),
a17becc112535b Harald Freudenberger 2019-08-30  297                             
     AP_QID_QUEUE(zq->queue->qid),
a17becc112535b Harald Freudenberger 2019-08-30  298                             
     &di);
a17becc112535b Harald Freudenberger 2019-08-30  299  
a17becc112535b Harald Freudenberger 2019-08-30  300     if (di.cur_wk_state == 
'0') {
a17becc112535b Harald Freudenberger 2019-08-30  301             n = 
snprintf(buf, PAGE_SIZE, "WK CUR: %s -\n",
a17becc112535b Harald Freudenberger 2019-08-30  302                          
cwk_state[di.cur_wk_state - '0']);
a17becc112535b Harald Freudenberger 2019-08-30  303     } else if 
(di.cur_wk_state == '1') {
a17becc112535b Harald Freudenberger 2019-08-30  304             n = 
snprintf(buf, PAGE_SIZE, "WK CUR: %s 0x",
a17becc112535b Harald Freudenberger 2019-08-30  305                          
cwk_state[di.cur_wk_state - '0']);
a17becc112535b Harald Freudenberger 2019-08-30  306             bin2hex(buf + 
n, di.cur_wkvp, sizeof(di.cur_wkvp));
a17becc112535b Harald Freudenberger 2019-08-30  307             n += 2 * 
sizeof(di.cur_wkvp);
a17becc112535b Harald Freudenberger 2019-08-30  308             n += 
snprintf(buf + n, PAGE_SIZE - n, "\n");
a17becc112535b Harald Freudenberger 2019-08-30  309     } else
a17becc112535b Harald Freudenberger 2019-08-30  310             n = 
snprintf(buf, PAGE_SIZE, "WK CUR: - -\n");
a17becc112535b Harald Freudenberger 2019-08-30  311  
a17becc112535b Harald Freudenberger 2019-08-30  312     if (di.new_wk_state == 
'0') {
a17becc112535b Harald Freudenberger 2019-08-30  313             n += 
snprintf(buf + n, PAGE_SIZE - n, "WK NEW: %s -\n",
a17becc112535b Harald Freudenberger 2019-08-30  314                           
nwk_state[di.new_wk_state - '0']);
a17becc112535b Harald Freudenberger 2019-08-30  315     } else if 
(di.new_wk_state >= '1' && di.new_wk_state <= '2') {
a17becc112535b Harald Freudenberger 2019-08-30  316             n += 
snprintf(buf + n, PAGE_SIZE - n, "WK NEW: %s 0x",
a17becc112535b Harald Freudenberger 2019-08-30  317                           
nwk_state[di.new_wk_state - '0']);
a17becc112535b Harald Freudenberger 2019-08-30  318             bin2hex(buf + 
n, di.new_wkvp, sizeof(di.new_wkvp));
a17becc112535b Harald Freudenberger 2019-08-30  319             n += 2 * 
sizeof(di.new_wkvp);
a17becc112535b Harald Freudenberger 2019-08-30  320             n += 
snprintf(buf + n, PAGE_SIZE - n, "\n");
a17becc112535b Harald Freudenberger 2019-08-30  321     } else
a17becc112535b Harald Freudenberger 2019-08-30  322             n += 
snprintf(buf + n, PAGE_SIZE - n, "WK NEW: - -\n");
a17becc112535b Harald Freudenberger 2019-08-30  323  
a17becc112535b Harald Freudenberger 2019-08-30  324     return n;
a17becc112535b Harald Freudenberger 2019-08-30  325  }
a17becc112535b Harald Freudenberger 2019-08-30  326  
a17becc112535b Harald Freudenberger 2019-08-30  327  static struct 
device_attribute dev_attr_ep11_mkvps =
a17becc112535b Harald Freudenberger 2019-08-30  328     __ATTR(mkvps, 0444, 
ep11_mkvps_show, NULL);
a17becc112535b Harald Freudenberger 2019-08-30  329  
a17becc112535b Harald Freudenberger 2019-08-30  330  static ssize_t 
ep11_queue_op_modes_show(struct device *dev,
a17becc112535b Harald Freudenberger 2019-08-30  331                             
        struct device_attribute *attr,
a17becc112535b Harald Freudenberger 2019-08-30  332                             
        char *buf)
a17becc112535b Harald Freudenberger 2019-08-30  333  {
a17becc112535b Harald Freudenberger 2019-08-30  334     int i, n = 0;
a17becc112535b Harald Freudenberger 2019-08-30  335     struct ep11_domain_info 
di;
a17becc112535b Harald Freudenberger 2019-08-30  336     struct zcrypt_queue *zq 
= to_ap_queue(dev)->private;
a17becc112535b Harald Freudenberger 2019-08-30  337  
a17becc112535b Harald Freudenberger 2019-08-30  338     memset(&di, 0, 
sizeof(di));
a17becc112535b Harald Freudenberger 2019-08-30  339  
a17becc112535b Harald Freudenberger 2019-08-30  340     if (zq->online)
a17becc112535b Harald Freudenberger 2019-08-30  341             
ep11_get_domain_info(AP_QID_CARD(zq->queue->qid),
a17becc112535b Harald Freudenberger 2019-08-30  342                             
     AP_QID_QUEUE(zq->queue->qid),
a17becc112535b Harald Freudenberger 2019-08-30  343                             
     &di);
a17becc112535b Harald Freudenberger 2019-08-30  344  
a17becc112535b Harald Freudenberger 2019-08-30  345     for (i = 0; 
ep11_op_modes[i].mode_txt; i++) {
a17becc112535b Harald Freudenberger 2019-08-30 @346             if (di.op_mode 
& (1 << ep11_op_modes[i].mode_bit)) {
                                                                    
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Same.

a17becc112535b Harald Freudenberger 2019-08-30  347                     if (n > 
0)
a17becc112535b Harald Freudenberger 2019-08-30  348                             
buf[n++] = ' ';
a17becc112535b Harald Freudenberger 2019-08-30  349                     n += 
snprintf(buf + n, PAGE_SIZE - n,
a17becc112535b Harald Freudenberger 2019-08-30  350                             
      "%s", ep11_op_modes[i].mode_txt);
a17becc112535b Harald Freudenberger 2019-08-30  351             }
a17becc112535b Harald Freudenberger 2019-08-30  352     }
a17becc112535b Harald Freudenberger 2019-08-30  353     n += snprintf(buf + n, 
PAGE_SIZE - n, "\n");
a17becc112535b Harald Freudenberger 2019-08-30  354  
a17becc112535b Harald Freudenberger 2019-08-30  355     return n;
a17becc112535b Harald Freudenberger 2019-08-30  356  }

---
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