OpenCloudOS-Kernel/drivers/scsi
Linus Torvalds 6c0cf6022a minmax: scsi: fix mis-use of 'clamp()' in sr.c
commit 9f499b8c791d2983c0a31a543c51d1b2f15e8755 upstream.

While working on simplifying the minmax functions, and avoiding
excessive macro expansion, it turns out that the sr.c use of the
'clamp()' macro has the arguments the wrong way around.

The clamp logic is

	val = clamp(in, low, high);

and it returns the input clamped to the low/high limits. But sr.c ddid

	speed = clamp(0, speed, 0xffff / 177);

which clamps the value '0' to the range '[speed, 0xffff / 177]' and ends
up being nonsensical.

Happily, I don't think anybody ever cared.

Fixes: 9fad9d560af5 ("scsi: sr: Fix unintentional arithmetic wraparound")
Cc: Justin Stitt <justinstitt@google.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Wentao Guan <guanwentao@uniontech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-03 08:54:33 +02:00
..
aacraid Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity" 2024-01-01 12:42:45 +00:00
aic7xxx scsi: aic7xxx: Fix firmware build fatal error 2023-07-31 11:28:55 -04:00
aic94xx scsi: libsas: Delete sas_ata_task.retry_count 2023-08-21 17:50:59 -04:00
arcmsr scsi: arcmsr: Support new PCI device IDs 1883 and 1886 2024-02-05 20:14:19 +00:00
arm scsi: powertec: Declare SCSI host template const 2023-03-24 19:19:21 -04:00
be2iscsi scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle() 2023-12-13 18:45:17 +01:00
bfa scsi: bfa: Ensure the copied buf is NUL terminated 2024-06-12 11:11:49 +02:00
bnx2fc scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload 2024-05-17 12:02:11 +02:00
bnx2i scsi: bnx2i: Replace all non-returning strlcpy with strscpy 2023-05-26 13:52:19 -07:00
csiostor scsi: csiostor: Avoid function pointer casts 2024-03-26 18:20:01 -04:00
cxgbi Networking changes for 6.4. 2023-04-26 16:07:23 -07:00
cxlflash Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
device_handler scsi: core: alua: I/O errors for ALUA state transitions 2024-07-25 09:50:39 +02:00
elx scsi: elx: sli4: Remove code duplication 2023-08-21 17:13:56 -04:00
esas2r modules-6.4-rc1 2023-04-27 16:36:55 -07:00
fcoe scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock" 2024-02-23 09:25:01 +01:00
fnic scsi: fnic: Return error if vmalloc() failed 2024-01-25 15:35:22 -08:00
hisi_sas scsi: hisi_sas: Handle the NCQ error returned by D2H frame 2024-05-17 12:02:15 +02:00
ibmvscsi scsi: ibmvfc: Remove BUG_ON in the case of an empty event pool 2023-11-28 17:19:42 +00:00
ibmvscsi_tgt scsi: ibmvscsit: Remove default fabric ops callouts 2023-03-16 23:36:36 -04:00
isci scsi: isci: Fix an error code problem in isci_io_request_build() 2024-02-05 20:14:34 +00:00
libfc scsi: libfc: Fix up timeout error in fc_fcp_rec_error() 2024-02-05 20:14:20 +00:00
libsas scsi: libsas: Fix exp-attached device scan after probe failure scanned in again after probe failed 2024-07-25 09:50:53 +02:00
lpfc scsi: lpfc: Allow DEVICE_RECOVERY mode after RSCN receipt if in PRLI_ISSUE state 2024-08-03 08:54:26 +02:00
megaraid scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers 2023-11-28 17:19:55 +00:00
mpi3mr scsi: mpi3mr: Use proper format specifier in mpi3mr_sas_port_add() 2024-07-11 12:49:15 +02:00
mpt3sas scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory 2024-06-21 14:38:25 +02:00
mvsas scsi: libsas: Delete sas_ssp_task.task_prio 2023-08-21 17:50:58 -04:00
pcmcia scsi: Add HAS_IOPORT dependencies 2023-05-31 19:59:26 -04:00
pm8001 scsi: pm8001: Setup IRQs on resume 2023-09-13 20:08:40 -04:00
qedf scsi: qedf: Set qed_slowpath_params to zero before use 2024-07-25 09:50:40 +02:00
qedi scsi: qedi: Fix crash while reading debugfs attribute 2024-06-27 13:49:01 +02:00
qla2xxx scsi: qla2xxx: validate nvme_local_port correctly 2024-08-03 08:54:27 +02:00
qla4xxx scsi: qla4xxx: Add length check when parsing nlattrs 2023-07-25 21:51:04 -04:00
smartpqi scsi: smartpqi: Fix disable_managed_interrupts 2024-03-01 13:35:06 +01:00
snic scsi: snic: Fix double free in snic_tgt_create() 2023-08-24 22:30:32 -04:00
sym53c8xx_2 scsi: sym53c8xx: Replace all non-returning strlcpy() with strscpy() 2023-05-31 18:04:30 -04:00
.gitignore
3w-9xxx.c scsi: 3w-9xxx: Replace all non-returning strlcpy with strscpy 2023-05-26 13:52:19 -07:00
3w-9xxx.h
3w-sas.c scsi: 3w-sas: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
3w-sas.h scsi: 3w-sas: Replace 1-element arrays with flexible array members 2023-01-12 00:09:52 -05:00
3w-xxxx.c scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe() 2023-05-22 17:31:56 -04:00
3w-xxxx.h scsi: 3w-xxxx: Replace one-element array with flexible-array member 2022-09-25 13:06:00 -04:00
53c700.c scsi: 53c700: Check that command slot is not NULL 2023-07-31 14:38:17 -04:00
53c700.h
53c700.scr
53c700_d.h_shipped
BusLogic.c scsi: BusLogic: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
BusLogic.h
FlashPoint.c scsi: FlashPoint: Remove redundant variable bm_int_st 2022-08-01 19:52:03 -04:00
Kconfig scsi: jazz_esp: Only build if SCSI core is builtin 2024-03-01 13:35:06 +01:00
Makefile scsi: dpt_i2o: Remove obsolete driver 2022-06-27 22:56:21 -04:00
NCR5380.c scsi: NCR5380: Use default @max_active for hostdata->work_q 2023-05-22 15:13:03 -10:00
NCR5380.h scsi: NCR5380: Add SCp members to struct NCR5380_cmd 2022-02-22 21:11:03 -05:00
a100u2w.c scsi: a100u2w: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
a100u2w.h
a2091.c scsi: a2091: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
a2091.h
a3000.c scsi: a3000: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
a3000.h
a4000t.c
advansys.c scsi: advansys: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
aha152x.c scsi: aha152x: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
aha152x.h
aha1542.c scsi: aha1542: Declare SCSI host template const 2023-03-24 19:19:21 -04:00
aha1542.h
aha1740.c scsi: aha1740: Declare SCSI host template const 2023-03-24 19:19:21 -04:00
aha1740.h
am53c974.c scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
atari_scsi.c scsi: NCR5380: Add SCp members to struct NCR5380_cmd 2022-02-22 21:11:03 -05:00
atp870u.c scsi: atp870u: Declare SCSI host template const 2023-03-24 19:19:21 -04:00
atp870u.h
bvme6000_scsi.c
ch.c scsi: replace the fmode_t argument to scsi_ioctl with a simple bool 2023-06-12 08:04:04 -06:00
constants.c
dc395x.c scsi: dc395x: Declare SCSI host template const 2023-03-24 19:19:21 -04:00
dc395x.h
dmx3191d.c scsi: dmx3191d: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
esp_scsi.c scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
esp_scsi.h scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
fdomain.c scsi: fdomain: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
fdomain.h
fdomain_isa.c
fdomain_pci.c
g_NCR5380.c scsi: NCR5380: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
gvp11.c scsi: gvp11: Remove unused gvp11_setup() function 2023-08-21 16:37:11 -04:00
gvp11.h
hosts.c scsi: core: Fix unremoved procfs host directory regression 2024-04-03 15:28:59 +02:00
hpsa.c scsi: hpsa: Fix allocation size for Scsi_Host private data 2024-06-12 11:11:43 +02:00
hpsa.h
hpsa_cmd.h
hptiop.c overflow: Add struct_size_t() helper 2023-05-26 13:52:19 -07:00
hptiop.h scsi: hptiop: Replace one-element array with flexible-array member in struct hpt_iop_request_ioctl_command() 2022-09-25 13:04:17 -04:00
imm.c scsi: imm: Declare SCSI host template const 2023-03-24 19:19:56 -04:00
imm.h scsi: imm: Move the SCSI pointer to private command data 2022-02-22 21:11:04 -05:00
initio.c scsi: initio: Declare SCSI host template const 2023-03-24 19:19:56 -04:00
initio.h scsi: initio: Stop using the SCSI pointer 2022-02-22 21:11:05 -05:00
ipr.c scsi: ipr: Remove several unused variables 2023-04-24 23:11:47 -04:00
ipr.h scsi: ipr: Remove SATA support 2023-04-18 23:01:23 -04:00
ips.c scsi: ips: Replace kmap_atomic() with kmap_local_page() 2023-01-18 18:41:12 -05:00
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c scsi: iscsi_tcp: restrict to TCP sockets 2023-09-17 17:46:13 +01:00
iscsi_tcp.h scsi: iscsi_tcp: Use sendmsg(MSG_SPLICE_PAGES) rather than sendpage 2023-06-24 15:50:13 -07:00
jazz_esp.c scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
lasi700.c
libiscsi.c scsi: iscsi: Declare SCSI host template const 2023-03-24 19:19:57 -04:00
libiscsi_tcp.c scsi: iscsi: Remove iscsi_get_task back_lock requirement 2022-06-21 21:19:23 -04:00
mac53c94.c scsi: mac53c94: Declare SCSI host template const 2023-03-24 19:19:57 -04:00
mac53c94.h scsi: mac53c94: Stop using struct scsi_pointer 2022-02-27 21:35:30 -05:00
mac_esp.c scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
mac_scsi.c scsi: NCR5380: Add SCp members to struct NCR5380_cmd 2022-02-22 21:11:03 -05:00
megaraid.c scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS 2023-03-24 20:27:17 -04:00
megaraid.h scsi: megaraid: Stop using the SCSI pointer 2022-02-22 21:11:05 -05:00
mesh.c scsi: mesh: Declare SCSI host template const 2023-03-24 19:19:57 -04:00
mesh.h scsi: mesh: Stop using struct scsi_pointer 2022-02-27 21:34:02 -05:00
mvme16x_scsi.c
mvme147.c scsi: mvme147: Declare SCSI host template const 2023-03-24 19:19:57 -04:00
mvme147.h
mvumi.c scsi: core: Improve type safety of scsi_rescan_device() 2023-08-24 22:11:29 -04:00
mvumi.h scsi: mvumi: Replace 1-element arrays with flexible array members 2023-01-12 00:11:11 -05:00
myrb.c scsi: mylex: Fix sysfs buffer lengths 2024-04-10 16:36:00 +02:00
myrb.h
myrs.c scsi: mylex: Fix sysfs buffer lengths 2024-04-10 16:36:00 +02:00
myrs.h
ncr53c8xx.c scsi: ncr53c8xx: Replace strlcpy() with strscpy() 2023-06-21 21:13:00 -04:00
ncr53c8xx.h scsi: zalon: Stop using the SCSI pointer 2022-02-22 21:11:07 -05:00
nsp32.c scsi: nsp32: Declare SCSI host template const 2023-03-24 19:19:58 -04:00
nsp32.h scsi: nsp32: Stop using the SCSI pointer 2022-02-22 21:11:06 -05:00
nsp32_debug.c
nsp32_io.h
pmcraid.c scsi: pmcraid: Use pci_dev_id() to simplify the code 2023-08-21 17:13:56 -04:00
pmcraid.h scsi: pmcraid: Remove the PMCRAID_PASSTHROUGH_IOCTL ioctl implementation 2022-03-29 23:32:26 -04:00
ppa.c scsi: ppa: Fix accidentally reversed conditions for 16-bit and 32-bit EPP 2023-09-05 05:26:49 -04:00
ppa.h scsi: ppa: Add a module parameter for the transfer mode 2023-08-21 16:32:40 -04:00
ps3rom.c scsi: ps3rom: Declare SCSI host template const 2023-03-24 19:19:58 -04:00
qla1280.c scsi: qla1280: Declare SCSI host template const 2023-03-24 19:19:59 -04:00
qla1280.h scsi: qla1280: Move the SCSI pointer to private command data 2022-02-22 21:11:06 -05:00
qlogicfas.c scsi: Remove drivers/scsi/scsi.h 2022-02-22 21:11:02 -05:00
qlogicfas408.c scsi: Remove drivers/scsi/scsi.h 2022-02-22 21:11:02 -05:00
qlogicfas408.h
qlogicpti.c scsi: qlogicpti: Mark qlogicpti_info() static 2023-08-21 16:37:11 -04:00
qlogicpti.h
raid_class.c scsi: core: raid_class: Remove raid_component_add() 2023-08-24 21:34:28 -04:00
script_asm.pl
scsi.c scsi: core: Disable CDL by default 2024-06-21 14:38:25 +02:00
scsi_bsg.c scsi: replace the fmode_t argument to ->sg_io_fn with a simple bool 2023-06-12 08:04:04 -06:00
scsi_common.c scsi: core: Use min() instead of open-coding it 2023-05-31 11:05:34 -04:00
scsi_debug.c scsi: scsi_debug: Remove dead code 2023-07-05 21:37:43 -04:00
scsi_debugfs.c scsi: core: Report error list information in debugfs 2023-08-24 22:13:03 -04:00
scsi_debugfs.h
scsi_devinfo.c scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR 2023-03-16 22:54:43 -04:00
scsi_dh.c
scsi_error.c scsi: core: Move scsi_host_busy() out of host lock if it is for per-command 2024-02-16 19:10:53 +01:00
scsi_ioctl.c scsi: replace the fmode_t argument to scsi_ioctl with a simple bool 2023-06-12 08:04:04 -06:00
scsi_lib.c scsi: core: Fix handling of SCMD_FAIL_IF_RECOVERING 2024-04-27 17:11:30 +02:00
scsi_lib_dma.c
scsi_logging.c scsi: core: scsi_logging: Fix a BUG 2022-03-29 23:29:19 -04:00
scsi_logging.h
scsi_netlink.c
scsi_pm.c scsi: block: pm: Always set request queue runtime active in blk_post_runtime_resume() 2021-12-22 23:38:29 -05:00
scsi_priv.h scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler 2024-02-05 20:14:34 +00:00
scsi_proc.c scsi: core: Fix legacy /proc parsing buffer overflow 2023-07-31 15:39:39 -04:00
scsi_sas_internal.h
scsi_scan.c scsi: sd: Fix TCG OPAL unlock on system resume 2024-04-03 15:28:59 +02:00
scsi_sysctl.c scsi: simplify sysctl registration with register_sysctl() 2023-04-13 11:49:20 -07:00
scsi_sysfs.c scsi: core: Improve type safety of scsi_rescan_device() 2023-08-24 22:11:29 -04:00
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c scsi: core: Replace scsi_target_block() with scsi_block_targets() 2023-06-16 12:19:59 -04:00
scsi_transport_iscsi.c scsi: iscsi: Add strlen() check in iscsi_if_set{_host}_param() 2023-07-25 21:48:13 -04:00
scsi_transport_sas.c scsi: mpi3mr: Fix ATA NCQ priority support 2024-06-21 14:38:25 +02:00
scsi_transport_spi.c scsi: spi: Convert to scsi_execute_cmd() 2023-01-13 21:34:09 -05:00
scsi_transport_srp.c scsi: core: Replace scsi_target_block() with scsi_block_targets() 2023-06-16 12:19:59 -04:00
scsicam.c scsicam: Fix use of page cache 2022-05-08 14:28:18 -04:00
sd.c scsi: sd: Use READ(16) when reading block zero on large capacity disks 2024-06-21 14:38:25 +02:00
sd.h scsi: sd: Do not issue commands to suspended disks on shutdown 2023-09-28 21:23:18 +09:00
sd_dif.c scsi: sd: Update DIX config every time sd_revalidate_disk() is called 2023-02-21 22:00:32 -05:00
sd_trace.h scsi: sd: sd_zbc: Trace zone append emulation 2022-12-01 03:13:55 +00:00
sd_zbc.c scsi: sd_zbc: Set zone limits before revalidating zones 2023-07-05 21:58:10 -04:00
sense_codes.h
ses.c Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
sg.c scsi: sg: Avoid race in error handling & drop bogus warn 2024-04-17 11:19:34 +02:00
sgiwd93.c scsi: sgiwd93: Declare SCSI host template const 2023-03-24 19:19:59 -04:00
sim710.c
sni_53c710.c
sr.c SCSI misc on 20230629 2023-06-30 11:57:07 -07:00
sr.h scsi: sr: Fix unintentional arithmetic wraparound 2024-07-25 09:50:40 +02:00
sr_ioctl.c minmax: scsi: fix mis-use of 'clamp()' in sr.c 2024-08-03 08:54:33 +02:00
sr_vendor.c scsi: sr: Don't use GFP_DMA 2021-12-22 23:41:13 -05:00
st.c scsi: st: Add third party poweron reset handling 2023-08-24 22:16:28 -04:00
st.h scsi: don't use disk->private_data to find the scsi_driver 2022-03-08 19:40:00 -07:00
st_options.h
stex.c scsi: stex: Fix gcc 13 warnings 2023-05-31 11:36:40 -04:00
storvsc_drv.c scsi: storvsc: Fix ring buffer size calculation 2024-02-23 09:24:54 +01:00
sun3_scsi.c scsi: NCR5380: Add SCp members to struct NCR5380_cmd 2022-02-22 21:11:03 -05:00
sun3_scsi_vme.c
sun3x_esp.c scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
sun_esp.c scsi: sun_esp: Explicitly include correct DT includes 2023-07-23 15:49:41 -04:00
virtio_scsi.c scsi: core: Improve type safety of scsi_rescan_device() 2023-08-24 22:11:29 -04:00
vmw_pvscsi.c scsi: vmw_pvscsi: No need to clear memory after a dma_alloc_coherent() call 2022-04-06 23:01:54 -04:00
vmw_pvscsi.h scsi: vmw_pvscsi: Expand vcpuHint to 16 bits 2022-06-07 21:30:56 -04:00
wd33c93.c scsi: wd33c93: Remove dead code related to the long-gone config WD33C93_PIO 2022-09-25 13:29:53 -04:00
wd33c93.h scsi: wd33c93: Remove dead code related to the long-gone config WD33C93_PIO 2022-09-25 13:29:53 -04:00
wd719x.c scsi: wd719x: Declare SCSI host template const 2023-03-24 19:19:59 -04:00
wd719x.h scsi: wd719x: Stop using the SCSI pointer 2022-02-22 21:11:07 -05:00
xen-scsifront.c scsi: xen-scsifront: shost_priv() can never return NULL 2023-08-24 22:06:44 -04:00
zalon.c scsi: zalon: Stop using the SCSI pointer 2022-02-22 21:11:07 -05:00
zorro7xx.c scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one() 2022-03-30 00:05:42 -04:00
zorro_esp.c scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00