debuggers.hg

annotate xen/COPYING @ 22855:1d1eec7e1fb4

xl: Perform minimal validation of virtual disk file while parsing config file

This patch performs some very basic validation on the virtual disk
file passed through the config file. This validation ensures that we
don't go too far with the initialization like spawn qemu and more
while there could be some potentially fundamental issues.

[ Patch fixed up to work with PHYSTYPE_EMPTY 22808:6ec61438713a -iwj ]

Signed-off-by: Kamala Narasimhan <kamala.narasimhan@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
author Kamala Narasimhan <kamala.narasimhan@gmail.com>
date Tue Jan 25 18:09:49 2011 +0000 (2011-01-25)
parents 8d0e06c38c0c
children
rev   line source
kaf24@1070 1 XEN NOTICE
kaf24@1070 2 ==========
kaf24@1070 3
kaf24@1537 4 This license does *not* cover guest operating systems that use
kaf24@1070 5 Xen services via normal hypercalls - this is merely considered normal
kaf24@1070 6 use of Xen, and does *not* fall under the heading of "derived work".
kaf24@1070 7 Also note that the GPL below is copyrighted by the Free Software
kaf24@1070 8 Foundation, but the instance of code that it refers to (the Xen
kaf24@1070 9 virtual machine monitor) is copyrighted by me and others who actually
kaf24@1070 10 wrote it.
kaf24@1070 11
kaf24@12319 12 A few files are licensed under both GPL and a weaker BSD-style
kaf24@12319 13 license. This includes all files within the subdirectory
kaf24@12319 14 include/public, as described in include/public/COPYING. All such files
kaf24@12319 15 include the non-GPL license text as a source-code comment. Although
kaf24@12319 16 the license text refers generically to "the software", the non-GPL
kaf24@12319 17 license applies *only* to those source files that explicitly include
kaf24@12319 18 the non-GPL license text.
kaf24@1070 19
kaf24@12319 20 Note that the only valid version of the GPL as far as Xen is concerned
kaf24@12319 21 is _this_ particular version of the license (i.e., *only* v2, not v2.2
kaf24@12319 22 or v3.x or whatever), unless explicitly otherwise stated.
kaf24@1070 23
kaf24@1070 24 -- Keir Fraser (on behalf of the Xen team)
kaf24@1070 25
kaf24@1070 26 =====================================================================
kaf24@1070 27
kaf24@804 28 GNU GENERAL PUBLIC LICENSE
kaf24@804 29 Version 2, June 1991
kaf24@804 30
kaf24@804 31 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
kaf24@804 32 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
kaf24@804 33 Everyone is permitted to copy and distribute verbatim copies
kaf24@804 34 of this license document, but changing it is not allowed.
kaf24@804 35
kaf24@804 36 Preamble
kaf24@804 37
kaf24@804 38 The licenses for most software are designed to take away your
kaf24@804 39 freedom to share and change it. By contrast, the GNU General Public
kaf24@804 40 License is intended to guarantee your freedom to share and change free
kaf24@804 41 software--to make sure the software is free for all its users. This
kaf24@804 42 General Public License applies to most of the Free Software
kaf24@804 43 Foundation's software and to any other program whose authors commit to
kaf24@804 44 using it. (Some other Free Software Foundation software is covered by
kaf24@804 45 the GNU Library General Public License instead.) You can apply it to
kaf24@804 46 your programs, too.
kaf24@804 47
kaf24@804 48 When we speak of free software, we are referring to freedom, not
kaf24@804 49 price. Our General Public Licenses are designed to make sure that you
kaf24@804 50 have the freedom to distribute copies of free software (and charge for
kaf24@804 51 this service if you wish), that you receive source code or can get it
kaf24@804 52 if you want it, that you can change the software or use pieces of it
kaf24@804 53 in new free programs; and that you know you can do these things.
kaf24@804 54
kaf24@804 55 To protect your rights, we need to make restrictions that forbid
kaf24@804 56 anyone to deny you these rights or to ask you to surrender the rights.
kaf24@804 57 These restrictions translate to certain responsibilities for you if you
kaf24@804 58 distribute copies of the software, or if you modify it.
kaf24@804 59
kaf24@804 60 For example, if you distribute copies of such a program, whether
kaf24@804 61 gratis or for a fee, you must give the recipients all the rights that
kaf24@804 62 you have. You must make sure that they, too, receive or can get the
kaf24@804 63 source code. And you must show them these terms so they know their
kaf24@804 64 rights.
kaf24@804 65
kaf24@804 66 We protect your rights with two steps: (1) copyright the software, and
kaf24@804 67 (2) offer you this license which gives you legal permission to copy,
kaf24@804 68 distribute and/or modify the software.
kaf24@804 69
kaf24@804 70 Also, for each author's protection and ours, we want to make certain
kaf24@804 71 that everyone understands that there is no warranty for this free
kaf24@804 72 software. If the software is modified by someone else and passed on, we
kaf24@804 73 want its recipients to know that what they have is not the original, so
kaf24@804 74 that any problems introduced by others will not reflect on the original
kaf24@804 75 authors' reputations.
kaf24@804 76
kaf24@804 77 Finally, any free program is threatened constantly by software
kaf24@804 78 patents. We wish to avoid the danger that redistributors of a free
kaf24@804 79 program will individually obtain patent licenses, in effect making the
kaf24@804 80 program proprietary. To prevent this, we have made it clear that any
kaf24@804 81 patent must be licensed for everyone's free use or not licensed at all.
kaf24@804 82
kaf24@804 83 The precise terms and conditions for copying, distribution and
kaf24@804 84 modification follow.
kaf24@804 85
kaf24@804 86 GNU GENERAL PUBLIC LICENSE
kaf24@804 87 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
kaf24@804 88
kaf24@804 89 0. This License applies to any program or other work which contains
kaf24@804 90 a notice placed by the copyright holder saying it may be distributed
kaf24@804 91 under the terms of this General Public License. The "Program", below,
kaf24@804 92 refers to any such program or work, and a "work based on the Program"
kaf24@804 93 means either the Program or any derivative work under copyright law:
kaf24@804 94 that is to say, a work containing the Program or a portion of it,
kaf24@804 95 either verbatim or with modifications and/or translated into another
kaf24@804 96 language. (Hereinafter, translation is included without limitation in
kaf24@804 97 the term "modification".) Each licensee is addressed as "you".
kaf24@804 98
kaf24@804 99 Activities other than copying, distribution and modification are not
kaf24@804 100 covered by this License; they are outside its scope. The act of
kaf24@804 101 running the Program is not restricted, and the output from the Program
kaf24@804 102 is covered only if its contents constitute a work based on the
kaf24@804 103 Program (independent of having been made by running the Program).
kaf24@804 104 Whether that is true depends on what the Program does.
kaf24@804 105
kaf24@804 106 1. You may copy and distribute verbatim copies of the Program's
kaf24@804 107 source code as you receive it, in any medium, provided that you
kaf24@804 108 conspicuously and appropriately publish on each copy an appropriate
kaf24@804 109 copyright notice and disclaimer of warranty; keep intact all the
kaf24@804 110 notices that refer to this License and to the absence of any warranty;
kaf24@804 111 and give any other recipients of the Program a copy of this License
kaf24@804 112 along with the Program.
kaf24@804 113
kaf24@804 114 You may charge a fee for the physical act of transferring a copy, and
kaf24@804 115 you may at your option offer warranty protection in exchange for a fee.
kaf24@804 116
kaf24@804 117 2. You may modify your copy or copies of the Program or any portion
kaf24@804 118 of it, thus forming a work based on the Program, and copy and
kaf24@804 119 distribute such modifications or work under the terms of Section 1
kaf24@804 120 above, provided that you also meet all of these conditions:
kaf24@804 121
kaf24@804 122 a) You must cause the modified files to carry prominent notices
kaf24@804 123 stating that you changed the files and the date of any change.
kaf24@804 124
kaf24@804 125 b) You must cause any work that you distribute or publish, that in
kaf24@804 126 whole or in part contains or is derived from the Program or any
kaf24@804 127 part thereof, to be licensed as a whole at no charge to all third
kaf24@804 128 parties under the terms of this License.
kaf24@804 129
kaf24@804 130 c) If the modified program normally reads commands interactively
kaf24@804 131 when run, you must cause it, when started running for such
kaf24@804 132 interactive use in the most ordinary way, to print or display an
kaf24@804 133 announcement including an appropriate copyright notice and a
kaf24@804 134 notice that there is no warranty (or else, saying that you provide
kaf24@804 135 a warranty) and that users may redistribute the program under
kaf24@804 136 these conditions, and telling the user how to view a copy of this
kaf24@804 137 License. (Exception: if the Program itself is interactive but
kaf24@804 138 does not normally print such an announcement, your work based on
kaf24@804 139 the Program is not required to print an announcement.)
kaf24@804 140
kaf24@804 141 These requirements apply to the modified work as a whole. If
kaf24@804 142 identifiable sections of that work are not derived from the Program,
kaf24@804 143 and can be reasonably considered independent and separate works in
kaf24@804 144 themselves, then this License, and its terms, do not apply to those
kaf24@804 145 sections when you distribute them as separate works. But when you
kaf24@804 146 distribute the same sections as part of a whole which is a work based
kaf24@804 147 on the Program, the distribution of the whole must be on the terms of
kaf24@804 148 this License, whose permissions for other licensees extend to the
kaf24@804 149 entire whole, and thus to each and every part regardless of who wrote it.
kaf24@804 150
kaf24@804 151 Thus, it is not the intent of this section to claim rights or contest
kaf24@804 152 your rights to work written entirely by you; rather, the intent is to
kaf24@804 153 exercise the right to control the distribution of derivative or
kaf24@804 154 collective works based on the Program.
kaf24@804 155
kaf24@804 156 In addition, mere aggregation of another work not based on the Program
kaf24@804 157 with the Program (or with a work based on the Program) on a volume of
kaf24@804 158 a storage or distribution medium does not bring the other work under
kaf24@804 159 the scope of this License.
kaf24@804 160
kaf24@804 161 3. You may copy and distribute the Program (or a work based on it,
kaf24@804 162 under Section 2) in object code or executable form under the terms of
kaf24@804 163 Sections 1 and 2 above provided that you also do one of the following:
kaf24@804 164
kaf24@804 165 a) Accompany it with the complete corresponding machine-readable
kaf24@804 166 source code, which must be distributed under the terms of Sections
kaf24@804 167 1 and 2 above on a medium customarily used for software interchange; or,
kaf24@804 168
kaf24@804 169 b) Accompany it with a written offer, valid for at least three
kaf24@804 170 years, to give any third party, for a charge no more than your
kaf24@804 171 cost of physically performing source distribution, a complete
kaf24@804 172 machine-readable copy of the corresponding source code, to be
kaf24@804 173 distributed under the terms of Sections 1 and 2 above on a medium
kaf24@804 174 customarily used for software interchange; or,
kaf24@804 175
kaf24@804 176 c) Accompany it with the information you received as to the offer
kaf24@804 177 to distribute corresponding source code. (This alternative is
kaf24@804 178 allowed only for noncommercial distribution and only if you
kaf24@804 179 received the program in object code or executable form with such
kaf24@804 180 an offer, in accord with Subsection b above.)
kaf24@804 181
kaf24@804 182 The source code for a work means the preferred form of the work for
kaf24@804 183 making modifications to it. For an executable work, complete source
kaf24@804 184 code means all the source code for all modules it contains, plus any
kaf24@804 185 associated interface definition files, plus the scripts used to
kaf24@804 186 control compilation and installation of the executable. However, as a
kaf24@804 187 special exception, the source code distributed need not include
kaf24@804 188 anything that is normally distributed (in either source or binary
kaf24@804 189 form) with the major components (compiler, kernel, and so on) of the
kaf24@804 190 operating system on which the executable runs, unless that component
kaf24@804 191 itself accompanies the executable.
kaf24@804 192
kaf24@804 193 If distribution of executable or object code is made by offering
kaf24@804 194 access to copy from a designated place, then offering equivalent
kaf24@804 195 access to copy the source code from the same place counts as
kaf24@804 196 distribution of the source code, even though third parties are not
kaf24@804 197 compelled to copy the source along with the object code.
kaf24@804 198
kaf24@804 199 4. You may not copy, modify, sublicense, or distribute the Program
kaf24@804 200 except as expressly provided under this License. Any attempt
kaf24@804 201 otherwise to copy, modify, sublicense or distribute the Program is
kaf24@804 202 void, and will automatically terminate your rights under this License.
kaf24@804 203 However, parties who have received copies, or rights, from you under
kaf24@804 204 this License will not have their licenses terminated so long as such
kaf24@804 205 parties remain in full compliance.
kaf24@804 206
kaf24@804 207 5. You are not required to accept this License, since you have not
kaf24@804 208 signed it. However, nothing else grants you permission to modify or
kaf24@804 209 distribute the Program or its derivative works. These actions are
kaf24@804 210 prohibited by law if you do not accept this License. Therefore, by
kaf24@804 211 modifying or distributing the Program (or any work based on the
kaf24@804 212 Program), you indicate your acceptance of this License to do so, and
kaf24@804 213 all its terms and conditions for copying, distributing or modifying
kaf24@804 214 the Program or works based on it.
kaf24@804 215
kaf24@804 216 6. Each time you redistribute the Program (or any work based on the
kaf24@804 217 Program), the recipient automatically receives a license from the
kaf24@804 218 original licensor to copy, distribute or modify the Program subject to
kaf24@804 219 these terms and conditions. You may not impose any further
kaf24@804 220 restrictions on the recipients' exercise of the rights granted herein.
kaf24@804 221 You are not responsible for enforcing compliance by third parties to
kaf24@804 222 this License.
kaf24@804 223
kaf24@804 224 7. If, as a consequence of a court judgment or allegation of patent
kaf24@804 225 infringement or for any other reason (not limited to patent issues),
kaf24@804 226 conditions are imposed on you (whether by court order, agreement or
kaf24@804 227 otherwise) that contradict the conditions of this License, they do not
kaf24@804 228 excuse you from the conditions of this License. If you cannot
kaf24@804 229 distribute so as to satisfy simultaneously your obligations under this
kaf24@804 230 License and any other pertinent obligations, then as a consequence you
kaf24@804 231 may not distribute the Program at all. For example, if a patent
kaf24@804 232 license would not permit royalty-free redistribution of the Program by
kaf24@804 233 all those who receive copies directly or indirectly through you, then
kaf24@804 234 the only way you could satisfy both it and this License would be to
kaf24@804 235 refrain entirely from distribution of the Program.
kaf24@804 236
kaf24@804 237 If any portion of this section is held invalid or unenforceable under
kaf24@804 238 any particular circumstance, the balance of the section is intended to
kaf24@804 239 apply and the section as a whole is intended to apply in other
kaf24@804 240 circumstances.
kaf24@804 241
kaf24@804 242 It is not the purpose of this section to induce you to infringe any
kaf24@804 243 patents or other property right claims or to contest validity of any
kaf24@804 244 such claims; this section has the sole purpose of protecting the
kaf24@804 245 integrity of the free software distribution system, which is
kaf24@804 246 implemented by public license practices. Many people have made
kaf24@804 247 generous contributions to the wide range of software distributed
kaf24@804 248 through that system in reliance on consistent application of that
kaf24@804 249 system; it is up to the author/donor to decide if he or she is willing
kaf24@804 250 to distribute software through any other system and a licensee cannot
kaf24@804 251 impose that choice.
kaf24@804 252
kaf24@804 253 This section is intended to make thoroughly clear what is believed to
kaf24@804 254 be a consequence of the rest of this License.
kaf24@804 255
kaf24@804 256 8. If the distribution and/or use of the Program is restricted in
kaf24@804 257 certain countries either by patents or by copyrighted interfaces, the
kaf24@804 258 original copyright holder who places the Program under this License
kaf24@804 259 may add an explicit geographical distribution limitation excluding
kaf24@804 260 those countries, so that distribution is permitted only in or among
kaf24@804 261 countries not thus excluded. In such case, this License incorporates
kaf24@804 262 the limitation as if written in the body of this License.
kaf24@804 263
kaf24@804 264 9. The Free Software Foundation may publish revised and/or new versions
kaf24@804 265 of the General Public License from time to time. Such new versions will
kaf24@804 266 be similar in spirit to the present version, but may differ in detail to
kaf24@804 267 address new problems or concerns.
kaf24@804 268
kaf24@804 269 Each version is given a distinguishing version number. If the Program
kaf24@804 270 specifies a version number of this License which applies to it and "any
kaf24@804 271 later version", you have the option of following the terms and conditions
kaf24@804 272 either of that version or of any later version published by the Free
kaf24@804 273 Software Foundation. If the Program does not specify a version number of
kaf24@804 274 this License, you may choose any version ever published by the Free Software
kaf24@804 275 Foundation.
kaf24@804 276
kaf24@804 277 10. If you wish to incorporate parts of the Program into other free
kaf24@804 278 programs whose distribution conditions are different, write to the author
kaf24@804 279 to ask for permission. For software which is copyrighted by the Free
kaf24@804 280 Software Foundation, write to the Free Software Foundation; we sometimes
kaf24@804 281 make exceptions for this. Our decision will be guided by the two goals
kaf24@804 282 of preserving the free status of all derivatives of our free software and
kaf24@804 283 of promoting the sharing and reuse of software generally.
kaf24@804 284
kaf24@804 285 NO WARRANTY
kaf24@804 286
kaf24@804 287 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
kaf24@804 288 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
kaf24@804 289 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
kaf24@804 290 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
kaf24@804 291 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
kaf24@804 292 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
kaf24@804 293 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
kaf24@804 294 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
kaf24@804 295 REPAIR OR CORRECTION.
kaf24@804 296
kaf24@804 297 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
kaf24@804 298 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
kaf24@804 299 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
kaf24@804 300 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
kaf24@804 301 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
kaf24@804 302 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
kaf24@804 303 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
kaf24@804 304 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
kaf24@804 305 POSSIBILITY OF SUCH DAMAGES.
kaf24@804 306
kaf24@804 307 END OF TERMS AND CONDITIONS
kaf24@804 308
kaf24@804 309 How to Apply These Terms to Your New Programs
kaf24@804 310
kaf24@804 311 If you develop a new program, and you want it to be of the greatest
kaf24@804 312 possible use to the public, the best way to achieve this is to make it
kaf24@804 313 free software which everyone can redistribute and change under these terms.
kaf24@804 314
kaf24@804 315 To do so, attach the following notices to the program. It is safest
kaf24@804 316 to attach them to the start of each source file to most effectively
kaf24@804 317 convey the exclusion of warranty; and each file should have at least
kaf24@804 318 the "copyright" line and a pointer to where the full notice is found.
kaf24@804 319
kaf24@804 320 <one line to give the program's name and a brief idea of what it does.>
kaf24@804 321 Copyright (C) <year> <name of author>
kaf24@804 322
kaf24@804 323 This program is free software; you can redistribute it and/or modify
kaf24@804 324 it under the terms of the GNU General Public License as published by
kaf24@804 325 the Free Software Foundation; either version 2 of the License, or
kaf24@804 326 (at your option) any later version.
kaf24@804 327
kaf24@804 328 This program is distributed in the hope that it will be useful,
kaf24@804 329 but WITHOUT ANY WARRANTY; without even the implied warranty of
kaf24@804 330 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
kaf24@804 331 GNU General Public License for more details.
kaf24@804 332
kaf24@804 333 You should have received a copy of the GNU General Public License
kaf24@804 334 along with this program; if not, write to the Free Software
kaf24@804 335 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
kaf24@804 336
kaf24@804 337
kaf24@804 338 Also add information on how to contact you by electronic and paper mail.
kaf24@804 339
kaf24@804 340 If the program is interactive, make it output a short notice like this
kaf24@804 341 when it starts in an interactive mode:
kaf24@804 342
kaf24@804 343 Gnomovision version 69, Copyright (C) year name of author
kaf24@804 344 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
kaf24@804 345 This is free software, and you are welcome to redistribute it
kaf24@804 346 under certain conditions; type `show c' for details.
kaf24@804 347
kaf24@804 348 The hypothetical commands `show w' and `show c' should show the appropriate
kaf24@804 349 parts of the General Public License. Of course, the commands you use may
kaf24@804 350 be called something other than `show w' and `show c'; they could even be
kaf24@804 351 mouse-clicks or menu items--whatever suits your program.
kaf24@804 352
kaf24@804 353 You should also get your employer (if you work as a programmer) or your
kaf24@804 354 school, if any, to sign a "copyright disclaimer" for the program, if
kaf24@804 355 necessary. Here is a sample; alter the names:
kaf24@804 356
kaf24@804 357 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
kaf24@804 358 `Gnomovision' (which makes passes at compilers) written by James Hacker.
kaf24@804 359
kaf24@804 360 <signature of Ty Coon>, 1 April 1989
kaf24@804 361 Ty Coon, President of Vice
kaf24@804 362
kaf24@804 363 This General Public License does not permit incorporating your program into
kaf24@804 364 proprietary programs. If your program is a subroutine library, you may
kaf24@804 365 consider it more useful to permit linking proprietary applications with the
kaf24@804 366 library. If this is what you want to do, use the GNU Library General
kaf24@804 367 Public License instead of this License.