| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Fix a dprintf() message so it matches reality.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
| |
The previous commit had some unfortunate line-end garbage; remove.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
| |
We already have a core function for setting the IP address of an URL
object based on network lookup or the server default. Export and use
it instead of open-coding the equivalent logic in upload_tftp.c.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
|
| |
We used to need a wrapper around the core function dns_resolv() to
implement pxe_dns(), because the former function required its argument
to live in low memory. This is no longer the case and hasn't been for
a while, so remove this unnecessary level of indirection.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
| |
Provide weak stubs for the case where the tftp functions aren't
available. This prevents link failures for the case of running on top
of non-network cores.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
| |
Update comments which explains next_extent() semantics to be slightly
clearer, and also correct the statement that next_extent can be NULL.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
| |
"may be used uninitialized in this function [-Wuninitialized]" even though logic dictates
it must be OK.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Besides supporting newer version of xfs file system, this patch also
does some code refactoring and fix completely broken listing and
searching on v2-3 node directories.
Cc: Gene Cumm <gene.cumm@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Raphael S. Carvalho <raphael.scarv@gmail.com>
Cc: Ady <ady-sf@hotmail.com>
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current btrfs support did not handled multiple stripes stored in
chunk items, hence skipping the physical addresses that were needed to
do the mapping.
Besides, the chunk tree may contain DEV_ITEM keys which store
information on all of the underlying block devices, so we must skip them
instead of finishing lookup.
The bug was reproduced with btrfs-progs v4.2.2.
Cc: Gene Cumm <gene.cumm@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
---
v1 -> v2:
* Do not set ignore_key multiple times. Set it before parsing chunk
tree.
v2 -> v3:
* Replace an unnecessary goto with a continue statement.
|
|
|
|
|
|
|
|
| |
xfs_is_valid_magicnum is not actually a generic function that checks for
magic numbers, instead it checks only for superblock's one.
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
Reviewed-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
| |
HTTP/1.1 header Host must contain the port number if not default for the
protocol. Host isn't a part of HTTP/1.0 but let's implement it right.
Reported-By: Michael DeCandia <michael.decandia@gmail.com>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently some servers don't bother setting siaddr when pointing to
itself for TFTP. Re-allow 54 but always set IPInfo.serverip from
siaddr/dhcp->sip in packet #3 (PXEReply/proxyDHCP).
Always set from siaddr if good in case parsing after-DHCP options.
Reported-by: Celelibi <celelibi@gmail.com>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When adding lwIP functionality, the gPXE/iPXE callback was broken. This
prevented pxelinux.0 from calling gPXE/iPXE for HTTP and FTP URLs. Re-add
for pxelinux.0 and add code to find file size.
Move to core/legacynet/core.c to access packet_buf and leave a dummy
function for lpxelinux.0.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
| |
When multiple architectures are on a single media, all will try to use the
same config, preventing PATH from pointing to an architecture-specific
directory.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
| |
Server Identifier is NEVER the next server where Syslinux was loaded from.
BOOTP field siaddr, BOOTP field sname and DHCP option 66 TFTP server name
may contain this information. For now, just use siaddr.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The libupload was using the pxe_call() directly for doing the tftp
uploading stuff. This was only working with pxelinux.
Since we do have lpxelinux, the libupload should use the core functions
to get rid of thoses direct PXE calls.
This patch does
- add a tftp_put() function which supports core functions.
- implement the call from libupload making the code much more simplier
As a result {l}pxelinux can upload data to a tftp server is a similar
way. HDT is getting the benefit of such code.
|
|
|
|
|
| |
When debugging, it is very useful to get the ip adress of the server
that reponsded to that packet.
|
|
|
|
|
|
|
|
| |
Filter (by setting a minimum option number) the options based on pkt_type.
DHCPDiscover/PXEReply should only contain info about client ID, boot
server and PXELINUX options.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
| |
This prevented a proxyDHCP/PXEReply from overriding the IPInfo.serverip,
most often stored in BOOTP field siaddr or DHCP option 54.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
| |
Add packet type so we can eventually only grab certain data elements from
the DHCP packets appropriately
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
| |
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
| |
When building efi64, there's a size mismatch between the uint32_t
variable (32 bits) and the -1UL (64 bits). This fixes the warning:
large integer implicitly truncated to unsigned type
Signed-off-by: Jonathan Boeing <jonathan.n.boeing@gmail.com>
|
|
|
|
| |
Signed-off-by: Jonathan Boeing <jonathan.n.boeing@gmail.com>
|
|
|
|
|
|
|
|
| |
gcc complains about the size of the constant of BTRFS_MAGIC_N. It is a
64bit value, so it needs the ULL suffix.
Signed-off-by: MartinS <ams@luminous.ludd.ltu.se>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
| |
Like 2fe3a7bd, certain Dell machines (Latitude E6510) state interrupts
should work but effectively don't. Force polling.
Reported-by:
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
| |
Like 2fe3a7bd, certain Dell machines (OptiPlex 990) state interrupts
should work but effectively don't. Force polling.
Reported-by: Alexander Perlis <aperlis@math.lsu.edu>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Fix the support for embedded DHCP options. Although we were
diligently saving them away, we never actually parsed them.
This fixes embedded options for BIOS only -- for EFI we need to modify
the encoding scheme so that it can fit inside an EFI PECOFF image.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
It's already loading modules successfully, booting Linux, and both
UFS version 1 and 2 seem to be working correctly.
Signed-off-by: Raphael S. Carvalho <raphael.scarv@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
file->offset is used to store position in index root between
ntfs_readdir calls. Previously, pointer to buffer was stored in this
field. However this buffer is reallocated and read each ntfs_readdir
call so the pointer may become incorrect. Now offset in index root
rather than pointer is stored in this field.
[ hpa: applied patch manually as it arrived whitespace-corrupted ]
Signed-off-by: Andy Alex <andy at r-tt.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
| |
btrfs_read() was really just a function to read data linearly while
using the metadata cache. Move it to cache.c and rename it
cache_read() so other filesystems can make use of it as well.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Remove the use of static variables and replace them with per-instance
allocations that can be found from the fs_info structure.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Newer btrfs has a node size of more than 4K. Make sure we have a
buffer big enough to hold a node -- instead of allocating it on the
stack, allocate it at startup time.
While changing this code, remove a completely unnecessary arbitrary
64-bit divide.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
| |
NTFS $MFT file may be fragmented by itself (and actually is in most
cases). However, such a situation was not handled. This patch adds
support for a fragmented $MFT file.
Signed-off-by: Andy Alex <andy at r-tt.com>
Fixed-by: Ady <ady-sf@hotmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
| |
Most of file system drivers initialize the cache themselves.
The problem is that the same cache could be again initialized later,
then invalidating the previous one. This patch fixes this.
Problem found while auditing the code.
Signed-off-by: Raphael S. Carvalho <raphael.scarv@gmail.com>
|
|
|
|
|
|
| |
byte_shift is a constant, label it as such.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Length of some extents of NTFS files is parsed in wrong way.
Signed-off-by: Andy Alex <andy at r-tt.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
The ext2 filesystem supports volume UUID now.
The FSUUID variable can be set to kernel command line.
Patch is based on FSUUID for FAT patch.
Signed-off-by: Serj Kalichev <serj.kalichev@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
| |
Filesystem UUID shows the partition we boot kernel from.
The kernel parameter has format like FSUUID=DA1A-0B2E.
The SYSAPPEND bit is 0x40000. Now the FAT only supports FSUUID.
The patch is based on 67aaaeeb228.
Signed-off-by: Serj Kalichev <serj.kalichev@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
DL register is not set to drive number when detecting EDD for drive,
so detection may fail.
Signed-off-by: Andy Alex <andy at r-tt.com>
|
|
|
|
|
|
|
|
|
|
| |
Export the initial stack and PXE(NV) structure pointers properly, even
for users which need seg:offs. Use this in pxechn.c rather than the
already-removed INT 22h AX=000Ah call.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: Gene Cumm <gene.cumm@gmail.com>
|
|\
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
com32/include/byteswap.h
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| | |
I noticed that the trailing 0-byte is not copied to the result of
iso_readdir(). The function iso_convert_name() does append a trailing 0.
|
| |
| |
| |
| |
| |
| |
| | |
Use the new get_le32() accessor in the SUSP/Rock Ridge code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Thomas Schmitt <scdbackup@gmx.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Attached is a patch which switches susp_rr.c from reading the
big-endian ISO 9660 and SUSP numbers to reading the little-endian
ones.
Tested within libisofs on my collection of ISO images.
[ hpa: more mastering programs are known which botch the bigendian
information than the littleendian information, so most systems only
read the littleendian info regardless of the native byte order. ]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After explaining the slightly wasteful usage of malloc()/memcpy()
with multi-block CE entries, i noticed that i did not install a
safety cap on the malloc size.
I could not challenge this in practice but only by gdb manipulation.
My most CE-happy test image has 3 occasions of multi-block CE.
All three only span over 2 blocks each.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for parsing SUSP and RRIP records, and support for Rock
Ridge filename extensions, thus avoiding the filename limitations
(length and character set) of plain iso9660. This will be a part of
using UTF-8 for filenames and console.
[ hpa: manually rebased to the elflink branch ]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As per commit f775e740a3a817a4ff5ba26bea99dbfd735456b3, inreg parameters
of intcall() shall be zeroified.
Having unclean inreg could trigger bad behaviors on some hosts.
This patch is about adding memset() calls prior any intcall() :
- some intcall didn't had any memset at all
- some successive intcall() calls didn't memset inreg in between calls
|
|\ \
| | |
| | |
| | | |
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A fancy pointers logic has been replaced with a plain old if / else
branches. It was assigning only half of a 64 bits integer which is then
assigned to a size_t. Thus leading to a bug on platform where size_t is
64 bits.
Resolves bug #26
Signed-off-by: Celelibi <celelibi@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|