aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/mptutil
Commit message (Collapse)AuthorAgeFilesLines
* "Buses" is the preferred plural of "bus"Conrad Meyer2017-01-151-2/+2
| | | | | | | | | | | | | | | | | | | | Replace archaic "busses" with modern form "buses." Intentionally excluded: * Old/random drivers I didn't recognize * Old hardware in general * Use of "busses" in code as identifiers No functional change. http://grammarist.com/spelling/buses-busses/ PR: 216099 Reported by: bltsrc at mail.ru Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=312234
* Fix multiple Coverity Out-of-bounds access false postive issues in CAMDon Lewis2016-05-241-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The currently used idiom for clearing the part of a ccb after its header generates one or two Coverity errors for each time it is used. All instances generate an Out-of-bounds access (ARRAY_VS_SINGLETON) error because of the treatment of the header as a two element array, with a pointer to the non-existent second element being passed as the starting address to bzero(). Some instances also alsp generate Out-of-bounds access (OVERRUN) errors, probably because the space being cleared is larger than the sizeofstruct ccb_hdr). In addition, this idiom is difficult for humans to understand and it is error prone. The user has to chose the proper struct ccb_* type (which does not appear in the surrounding code) for the sizeof() in the length calculation. I found several instances where the length was incorrect, which could cause either an actual out of bounds write, or incompletely clear the ccb. A better way is to write the code to clear the ccb itself starting at sizeof(ccb_hdr) bytes from the start of the ccb, and calculate the length based on the specific type of struct ccb_* being cleared as specified by the union ccb member being used. The latter can normally be seen in the nearby code. This is friendlier for Coverity and other static analysis tools because they will see that the intent is to clear the trailing part of the ccb. Wrap all of the boilerplate code in a convenient macro that only requires a pointer to the desired union ccb member (or a pointer to the union ccb itself) as an argument. Reported by: Coverity CID: 1007578, 1008684, 1009724, 1009773, 1011304, 1011306 CID: 1011307, 1011308, 1011309, 1011310, 1011311, 1011312 CID: 1011313, 1011314, 1011315, 1011316, 1011317, 1011318 CID: 1011319, 1011320, 1011321, 1011322, 1011324, 1011325 CID: 1011326, 1011327, 1011328, 1011329, 1011330, 1011374 CID: 1011390, 1011391, 1011392, 1011393, 1011394, 1011395 CID: 1011396, 1011397, 1011398, 1011399, 1011400, 1011401 CID: 1011402, 1011403, 1011404, 1011405, 1011406, 1011408 CID: 1011409, 1011410, 1011411, 1011412, 1011413, 1011414 CID: 1017461, 1018387, 1086860, 1086874, 1194257, 1229897 CID: 1229968, 1306229, 1306234, 1331282, 1331283, 1331294 CID: 1331295, 1331535, 1331536, 1331539, 1331540, 1341623 CID: 1341624, 1341637, 1341638, 1355264, 1355324 Reviewed by: scottl, ken, delphij, imp MFH: 1 month Differential Revision: https://reviews.freebsd.org/D6496 Notes: svn path=/head/; revision=300547
* Move a call to cam_freeccb() to avoid a use after free error andDon Lewis2016-05-131-1/+1
| | | | | | | | | | | a later double free. Reported by: Coverity CID: 1018507 MFC after: 1 week Notes: svn path=/head/; revision=299592
* Add META_MODE support.Simon J. Gerraty2015-06-131-0/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp Notes: svn path=/head/; revision=284345
| * dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty2015-06-081-2/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=284172
| * Merge sync of headSimon J. Gerraty2015-05-271-2/+1
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=283595
| * Updated dependenciesSimon J. Gerraty2014-05-161-1/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=266219
| * Updated dependenciesSimon J. Gerraty2014-05-101-0/+2
| | | | | | | | Notes: svn path=/projects/bmake/; revision=265802
| * sync from headSimon J. Gerraty2013-04-121-2/+2
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=249429
| * | Updated dependenciesSimon J. Gerraty2013-03-111-0/+1
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=248169
| * | Updated dependenciesSimon J. Gerraty2013-02-161-2/+0
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246868
| * | Sync FreeBSD's bmake branch with Juniper's internal bmake branch.Marcel Moolenaar2012-08-221-0/+22
| | | | | | | | | | | | | | | | | | | | | Requested by: Simon Gerraty <sjg@juniper.net> Notes: svn path=/projects/bmake/; revision=239572
* | | Convert usr.sbin to LIBADDBaptiste Daroussin2014-11-251-2/+1
| |/ |/| | | | | | | | | | | Reduce overlinking Notes: svn path=/head/; revision=275054
* | Remove contractions.Joel Dahl2013-04-111-2/+2
|/ | | | Notes: svn path=/head/; revision=249373
* add missing variable declaration when DEBUG is defined forgotten inEitan Adler2012-05-301-1/+1
| | | | | | | | | | | | r215046 PR: bin/166404 Submitted by: "Conrad J. Sabatier" <conrads@cox.net> Approved by: cperciva MFC after: 3 days Notes: svn path=/head/; revision=236287
* Remove trailing whitespace per mdoc lint warningEitan Adler2012-03-291-2/+2
| | | | | | | | | | Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days Notes: svn path=/head/; revision=233648
* Remove superfluous paragraph macro.Joel Dahl2012-03-251-1/+0
| | | | Notes: svn path=/head/; revision=233455
* Add CAM infrastructure to allow reporting when a drive's long read capacityKenneth D. Merry2012-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | data changes. cam_ccb.h: Add a new advanced information type, CDAI_TYPE_RCAPLONG, for long read capacity data. cam_xpt_internal.h: Add a read capacity data pointer and length to struct cam_ed. cam_xpt.c: Free the read capacity buffer when a device goes away. While we're here, make sure we don't leak memory for other malloced fields in struct cam_ed. scsi_all.c: Update the scsi_read_capacity_16() to take a uint8_t * and a length instead of just a pointer to the parameter data structure. This will hopefully make this function somewhat immune to future changes in the parameter data. scsi_all.h: Add some extra bit definitions to struct scsi_read_capacity_data_long, and bump up the structure size to the full size specified by SBC-3. Change the prototype for scsi_read_capacity_16(). scsi_da.c: Register changes in read capacity data with the transport layer. This allows the transport layer to send out an async notification to interested parties. Update the dasetgeom() API. Use scsi_extract_sense_len() instead of scsi_extract_sense(). scsi_xpt.c: Add support for the new CDAI_TYPE_RCAPLONG advanced information type. Make sure we set the physpath pointer to NULL after freeing it. This allows blindly freeing it in the struct cam_ed destructor. sys/param.h: Bump __FreeBSD_version from 1000005 to 1000006 to make it easier for third party drivers to determine that the read capacity data async notification is available. camcontrol.c, mptutil/mpt_cam.c: Update these for the new scsi_read_capacity_16() argument structure. Sponsored by: Spectra Logic Notes: svn path=/head/; revision=230590
* Spelling fixes for usr.sbin/Ulrich Spörlein2011-12-301-1/+1
| | | | Notes: svn path=/head/; revision=228990
* Similar to mfiutil, drop local definition of powerof2() and use versionJohn Baldwin2010-11-221-2/+0
| | | | | | | from <sys/param.h> instead. Notes: svn path=/head/; revision=215678
* - Save errno values before calling warn(3) so that errors are correctlyJohn Baldwin2010-11-097-184/+253
| | | | | | | | | | | reported. - Check for malloc() failures. Submitted by: gcooper MFC after: 1 week Notes: svn path=/head/; revision=215046
* Report subcommand handler errors in mfiutil/mptutil so that tools thatRandi Harper2010-10-101-3/+5
| | | | | | | | | | | | invoke the utilities can robustly report errors. Submitted by: gcooper Reviewed by: jhb Approved by: cperciva (mentor) MFC after: 1 week Notes: svn path=/head/; revision=213672
* Spelling fixes.Joel Dahl2010-08-011-1/+1
| | | | Notes: svn path=/head/; revision=210723
* Syntax, commas and stuff. Comments from jhb.Sean Bruno2010-06-211-2/+2
| | | | | | | | PR: bin/147572 MFC after: 2 weeks Notes: svn path=/head/; revision=209399
* Expand man page to document the fact that mptutil/mpt doesn't support RAID ↵Sean Bruno2010-06-171-0/+12
| | | | | | | | | | | | | | volumes in excess of 2TB. Document workaround via geom or zfs Modified submitter's original patch to reference why this is broken and what to do to work around the issue. Submitted by: hubert@tournier.org PR: bin/147572 Reviewed by: jhb MFC after: 2 weeks Notes: svn path=/head/; revision=209266
* mdoc: move remaining sections into consistent orderUlrich Spörlein2010-05-131-5/+5
| | | | | | | | | | This pertains mostly to FILES, HISTORY, EXIT STATUS and AUTHORS sections. Found by: mdocml lint run Reviewed by: ru Notes: svn path=/head/; revision=208028
* Fixed static linkage.Ruslan Ermilov2010-02-261-2/+2
| | | | Notes: svn path=/head/; revision=204352
* Fix mptutil's method for locating disk devices attached to a specificJohn Baldwin2010-02-191-113/+109
| | | | | | | | | | | | | | | | mpt(4) controller. Previously, the code assumed that multiple match patterns provided to an XPT_DEV_MATCH request were ANDed together. Instead, they are ORed. Instead, to match peripherals for a specific bus, one query needs to be performed to lookup the path ID of the bus. A second query can then be performed matching peripherals attached to that path. This approach also makes the code a bit cleaner as the returned match results do not mix bus and perphierals. Reported by: several folks MFC after: 1 week Notes: svn path=/head/; revision=204090
* - Don't emit a warning in 'show adapter' if the IOC2 or IOC6 pages are notJohn Baldwin2010-02-191-5/+11
| | | | | | | | | | | present. mpt(4) controllers that do not support RAID do not have an IOC6 page, for example. - Correct a check for a missing page error in a debug function. MFC after: 1 week Notes: svn path=/head/; revision=204086
* Update the mptutil man page for FreeBSD 8.0Scott Long2009-08-171-3/+6
| | | | | | | Approved by: re Notes: svn path=/head/; revision=196283
* Add mptutil, a basic utility for managing MPT SCSI/SATA/SAS controllers.Scott Long2009-08-1411-0/+4428
Drive and controller status can be reported, basic attributes changed, and arrays and spares can be created and deleted. Approved by: re Obtained from: Yahoo! Inc. Notes: svn path=/head/; revision=196212