Page MenuHomeFreeBSD

D46611.1793451298.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D46611.1793451298.diff

diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c
--- a/sys/cam/ctl/ctl.c
+++ b/sys/cam/ctl/ctl.c
@@ -7461,16 +7461,20 @@
total_len = sizeof(struct scsi_report_supported_opcodes_one) + 32;
break;
case RSO_OPTIONS_OC_SA:
- if ((ctl_cmd_table[opcode].flags & CTL_CMD_FLAG_SA5) == 0 ||
- service_action >= 32) {
+ if ((ctl_cmd_table[opcode].flags & CTL_CMD_FLAG_SA5) == 0) {
goto invalid_options;
}
- total_len = sizeof(struct scsi_report_supported_opcodes_one) + 32;
- break;
+ /* FALLTHROUGH */
case RSO_OPTIONS_OC_ASA:
- if ((ctl_cmd_table[opcode].flags & CTL_CMD_FLAG_SA5) != 0 &&
- service_action >= 32) {
- goto invalid_options;
+ if (service_action >= 32) {
+ ctl_set_invalid_field(/*ctsio*/ ctsio,
+ /*sks_valid*/ 1,
+ /*command*/ 1,
+ /*field*/ 4,
+ /*bit_valid*/ 0,
+ /*bit*/ 0);
+ ctl_done((union ctl_io *)ctsio);
+ return (CTL_RETVAL_COMPLETE);
}
total_len = sizeof(struct scsi_report_supported_opcodes_one) + 32;
break;

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 31, 12:54 PM (16 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41263750
Default Alt Text
D46611.1793451298.diff (1 KB)

Event Timeline