Service actions are only valid up to 31 as they are encoded in the low
5 bits of byte 1 in CDBs. Fail requests with a requested service
action of 32 or higher with an INVALID FIELD IN COMMAND specifying
byte 4 as the illegal byte.
Details
Details
- Reviewers
asomers emaste khorben_defora.org - Group Reviewers
cam - Commits
- rG0e3a21196101: ctl_report_supported_opcodes: Handle invalid requested service action
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 59584 Build 56471: arc lint + arc unit
Event Timeline
sys/cam/ctl/ctl.c | ||
---|---|---|
7478 | Note that this is not a generic "there's an invalid field in the command", but is specifically saying that the RSO_OPTIONS field in the cdb->options byte is invalid. |
sys/cam/ctl/ctl.c | ||
---|---|---|
7439 | Should "field" be 4 for REQUESTED SERVICE ACTION instead of 1 for SERVICE ACTION? |
sys/cam/ctl/ctl.c | ||
---|---|---|
7439 | Sigh, yes, and actually, it needs to be ignored for RSO_OPTIONS_ALL and RSO_OPTIONS_OC so I need to revisit this a bit. |