Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 's390-net-updates-2023-06-10'

Alexandra Winter says:

====================
s390/net: updates 2023-06-10

Please apply the following patch series for s390's ctcm and lcs drivers
to netdev's net-next tree.

Just maintenance patches, no functional changes.
====================

Link: https://lore.kernel.org/r/20230621134921.904217-1-wintera@linux.ibm.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

+46 -42
+1 -1
drivers/s390/net/ctcm_dbug.c
··· 70 70 if (!debug_level_enabled(ctcm_dbf[dbf_nix].id, level)) 71 71 return; 72 72 va_start(args, fmt); 73 - vsnprintf(dbf_txt_buf, sizeof(dbf_txt_buf), fmt, args); 73 + vscnprintf(dbf_txt_buf, sizeof(dbf_txt_buf), fmt, args); 74 74 va_end(args); 75 75 76 76 debug_text_event(ctcm_dbf[dbf_nix].id, level, dbf_txt_buf);
+3 -3
drivers/s390/net/ctcm_main.c
··· 1333 1333 goto nomem_return; 1334 1334 1335 1335 ch->cdev = cdev; 1336 - snprintf(ch->id, CTCM_ID_SIZE, "ch-%s", dev_name(&cdev->dev)); 1336 + scnprintf(ch->id, CTCM_ID_SIZE, "ch-%s", dev_name(&cdev->dev)); 1337 1337 ch->type = type; 1338 1338 1339 1339 /* ··· 1498 1498 1499 1499 type = get_channel_type(&cdev0->id); 1500 1500 1501 - snprintf(read_id, CTCM_ID_SIZE, "ch-%s", dev_name(&cdev0->dev)); 1502 - snprintf(write_id, CTCM_ID_SIZE, "ch-%s", dev_name(&cdev1->dev)); 1501 + scnprintf(read_id, CTCM_ID_SIZE, "ch-%s", dev_name(&cdev0->dev)); 1502 + scnprintf(write_id, CTCM_ID_SIZE, "ch-%s", dev_name(&cdev1->dev)); 1503 1503 1504 1504 ret = add_channel(cdev0, type, priv); 1505 1505 if (ret) {
+1
drivers/s390/net/ctcm_main.h
··· 100 100 #define CTCM_PROTO_MPC 4 101 101 #define CTCM_PROTO_MAX 4 102 102 103 + #define CTCM_STATSIZE_LIMIT 64 103 104 #define CTCM_BUFSIZE_LIMIT 65535 104 105 #define CTCM_BUFSIZE_DEFAULT 32768 105 106 #define MPC_BUFSIZE_DEFAULT CTCM_BUFSIZE_LIMIT
+10 -8
drivers/s390/net/ctcm_mpc.c
··· 144 144 145 145 for (ct = 0; ct < len; ct++, ptr++, rptr++) { 146 146 if (sw == 0) { 147 - sprintf(addr, "%16.16llx", (__u64)rptr); 147 + scnprintf(addr, sizeof(addr), "%16.16llx", (__u64)rptr); 148 148 149 - sprintf(boff, "%4.4X", (__u32)ct); 149 + scnprintf(boff, sizeof(boff), "%4.4X", (__u32)ct); 150 150 bhex[0] = '\0'; 151 151 basc[0] = '\0'; 152 152 } ··· 155 155 if (sw == 8) 156 156 strcat(bhex, " "); 157 157 158 - sprintf(tbuf, "%2.2llX", (__u64)*ptr); 158 + scnprintf(tbuf, sizeof(tbuf), "%2.2llX", (__u64)*ptr); 159 159 160 160 tbuf[2] = '\0'; 161 161 strcat(bhex, tbuf); ··· 171 171 continue; 172 172 if ((strcmp(duphex, bhex)) != 0) { 173 173 if (dup != 0) { 174 - sprintf(tdup, 175 - "Duplicate as above to %s", addr); 174 + scnprintf(tdup, sizeof(tdup), 175 + "Duplicate as above to %s", addr); 176 176 ctcm_pr_debug(" --- %s ---\n", 177 177 tdup); 178 178 } ··· 197 197 strcat(basc, " "); 198 198 } 199 199 if (dup != 0) { 200 - sprintf(tdup, "Duplicate as above to %s", addr); 200 + scnprintf(tdup, sizeof(tdup), 201 + "Duplicate as above to %s", addr); 201 202 ctcm_pr_debug(" --- %s ---\n", tdup); 202 203 } 203 204 ctcm_pr_debug(" %s (+%s) : %s [%s]\n", 204 205 addr, boff, bhex, basc); 205 206 } else { 206 207 if (dup >= 1) { 207 - sprintf(tdup, "Duplicate as above to %s", addr); 208 + scnprintf(tdup, sizeof(tdup), 209 + "Duplicate as above to %s", addr); 208 210 ctcm_pr_debug(" --- %s ---\n", tdup); 209 211 } 210 212 if (dup != 0) { ··· 293 291 struct net_device *dev; 294 292 struct ctcm_priv *priv; 295 293 296 - sprintf(device, "%s%i", MPC_DEVICE_NAME, port_num); 294 + scnprintf(device, sizeof(device), "%s%i", MPC_DEVICE_NAME, port_num); 297 295 298 296 dev = __dev_get_by_name(&init_net, device); 299 297
+23 -23
drivers/s390/net/ctcm_sysfs.c
··· 28 28 29 29 if (!priv) 30 30 return -ENODEV; 31 - return sprintf(buf, "%d\n", priv->buffer_size); 31 + return sysfs_emit(buf, "%d\n", priv->buffer_size); 32 32 } 33 33 34 34 static ssize_t ctcm_buffer_write(struct device *dev, ··· 86 86 return; 87 87 p = sbuf; 88 88 89 - p += sprintf(p, " Device FSM state: %s\n", 90 - fsm_getstate_str(priv->fsm)); 91 - p += sprintf(p, " RX channel FSM state: %s\n", 92 - fsm_getstate_str(priv->channel[CTCM_READ]->fsm)); 93 - p += sprintf(p, " TX channel FSM state: %s\n", 94 - fsm_getstate_str(priv->channel[CTCM_WRITE]->fsm)); 95 - p += sprintf(p, " Max. TX buffer used: %ld\n", 96 - priv->channel[WRITE]->prof.maxmulti); 97 - p += sprintf(p, " Max. chained SKBs: %ld\n", 98 - priv->channel[WRITE]->prof.maxcqueue); 99 - p += sprintf(p, " TX single write ops: %ld\n", 100 - priv->channel[WRITE]->prof.doios_single); 101 - p += sprintf(p, " TX multi write ops: %ld\n", 102 - priv->channel[WRITE]->prof.doios_multi); 103 - p += sprintf(p, " Netto bytes written: %ld\n", 104 - priv->channel[WRITE]->prof.txlen); 105 - p += sprintf(p, " Max. TX IO-time: %u\n", 106 - jiffies_to_usecs(priv->channel[WRITE]->prof.tx_time)); 89 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " Device FSM state: %s\n", 90 + fsm_getstate_str(priv->fsm)); 91 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " RX channel FSM state: %s\n", 92 + fsm_getstate_str(priv->channel[CTCM_READ]->fsm)); 93 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " TX channel FSM state: %s\n", 94 + fsm_getstate_str(priv->channel[CTCM_WRITE]->fsm)); 95 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " Max. TX buffer used: %ld\n", 96 + priv->channel[WRITE]->prof.maxmulti); 97 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " Max. chained SKBs: %ld\n", 98 + priv->channel[WRITE]->prof.maxcqueue); 99 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " TX single write ops: %ld\n", 100 + priv->channel[WRITE]->prof.doios_single); 101 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " TX multi write ops: %ld\n", 102 + priv->channel[WRITE]->prof.doios_multi); 103 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " Netto bytes written: %ld\n", 104 + priv->channel[WRITE]->prof.txlen); 105 + p += scnprintf(p, CTCM_STATSIZE_LIMIT, " Max. TX IO-time: %u\n", 106 + jiffies_to_usecs(priv->channel[WRITE]->prof.tx_time)); 107 107 108 108 printk(KERN_INFO "Statistics for %s:\n%s", 109 109 priv->channel[CTCM_WRITE]->netdev->name, sbuf); ··· 120 120 if (!priv || gdev->state != CCWGROUP_ONLINE) 121 121 return -ENODEV; 122 122 ctcm_print_statistics(priv); 123 - return sprintf(buf, "0\n"); 123 + return sysfs_emit(buf, "0\n"); 124 124 } 125 125 126 126 static ssize_t stats_write(struct device *dev, struct device_attribute *attr, ··· 142 142 if (!priv) 143 143 return -ENODEV; 144 144 145 - return sprintf(buf, "%d\n", priv->protocol); 145 + return sysfs_emit(buf, "%d\n", priv->protocol); 146 146 } 147 147 148 148 static ssize_t ctcm_proto_store(struct device *dev, ··· 184 184 if (!cgdev) 185 185 return -ENODEV; 186 186 187 - return sprintf(buf, "%s\n", 188 - ctcm_type[cgdev->cdev[0]->id.driver_info]); 187 + return sysfs_emit(buf, "%s\n", 188 + ctcm_type[cgdev->cdev[0]->id.driver_info]); 189 189 } 190 190 191 191 static DEVICE_ATTR(buffer, 0644, ctcm_buffer_show, ctcm_buffer_write);
+7 -6
drivers/s390/net/lcs.c
··· 1899 1899 static ssize_t 1900 1900 lcs_portno_show (struct device *dev, struct device_attribute *attr, char *buf) 1901 1901 { 1902 - struct lcs_card *card; 1902 + struct lcs_card *card; 1903 1903 1904 1904 card = dev_get_drvdata(dev); 1905 1905 1906 - if (!card) 1907 - return 0; 1906 + if (!card) 1907 + return 0; 1908 1908 1909 - return sprintf(buf, "%d\n", card->portno); 1909 + return sysfs_emit(buf, "%d\n", card->portno); 1910 1910 } 1911 1911 1912 1912 /* ··· 1956 1956 if (!cgdev) 1957 1957 return -ENODEV; 1958 1958 1959 - return sprintf(buf, "%s\n", lcs_type[cgdev->cdev[0]->id.driver_info]); 1959 + return sysfs_emit(buf, "%s\n", 1960 + lcs_type[cgdev->cdev[0]->id.driver_info]); 1960 1961 } 1961 1962 1962 1963 static DEVICE_ATTR(type, 0444, lcs_type_show, NULL); ··· 1969 1968 1970 1969 card = dev_get_drvdata(dev); 1971 1970 1972 - return card ? sprintf(buf, "%u\n", card->lancmd_timeout) : 0; 1971 + return card ? sysfs_emit(buf, "%u\n", card->lancmd_timeout) : 0; 1973 1972 } 1974 1973 1975 1974 static ssize_t
+1 -1
drivers/s390/net/lcs.h
··· 21 21 #define LCS_DBF_TEXT_(level,name,text...) \ 22 22 do { \ 23 23 if (debug_level_enabled(lcs_dbf_##name, level)) { \ 24 - sprintf(debug_buffer, text); \ 24 + scnprintf(debug_buffer, sizeof(debug_buffer), text); \ 25 25 debug_text_event(lcs_dbf_##name, level, debug_buffer); \ 26 26 } \ 27 27 } while (0)