Alec Brown
33bd6b5ac5
disk: Check if returned pointer for allocated memory is NULL
...
When using grub_malloc(), grub_zalloc() or grub_calloc(), these functions can
fail if we are out of memory. After allocating memory we should check if these
functions returned NULL and handle this error if they did.
On the occasion make a NULL check in ATA code more obvious.
Signed-off-by: Alec Brown <alec.r.brown@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2025-02-13 15:45:56 +01:00
Glenn Washburn
351c9c2fd0
disk: Replace code that calculates the log of sector size with grub_log2ull()
...
Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-07-04 14:43:26 +02:00
Elyes Haouas
b441ca3238
disk: Remove trailing whitespaces
...
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-03-14 15:44:45 +01:00
Glenn Washburn
c95ec30d48
disk/ata: Use format code PRIxGRUB_UINT64_T for 64-bit uint argument in grub_error()
...
Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2021-03-10 15:01:08 +01:00
Vladimir Serbinenko
384091967d
Rename grub_disk members
...
Otherwise it horribly clashes with gnulib when it's
replacing open/write/read/close
Signed-off-by: Vladimir Serbinenko <phcoder@google.com>
2019-03-25 15:14:52 +01:00
Vladimir Serbinenko
f27ccb584c
grub_ata_setaddress: Check that geometry is sane when using CHS addressing.
2015-01-21 17:42:10 +01:00
Vladimir Serbinenko
a1dcc2cb98
* grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
...
* grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
device is known to be ATAPI.
2013-11-03 13:52:36 +01:00
Vladimir Serbinenko
cb72aa1809
Rewrite blocklist functions in order to get progress when
...
reading large extents and decrease amount of blocklist hook calls.
2013-11-01 23:28:03 +01:00
Vladimir 'phcoder' Serbinenko
e343549ca9
* grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2013-04-24 14:47:14 +02:00
Colin Watson
25239370fd
Remove nested functions from device iterators.
...
* include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
(grub_arc_iterate_devs): Add hook_data argument.
* include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
(struct grub_ata_dev.iterate): Add hook_data argument.
* include/grub/device.h (grub_device_iterate_hook_t): New type.
(grub_device_iterate): Add hook_data argument.
* include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
(struct grub_disk_dev.iterate): Add hook_data argument.
(grub_disk_dev_iterate): Likewise.
* include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
Likewise.
* include/grub/msdos_partition.h (grub_partition_msdos_iterate):
Likewise.
* include/grub/partition.h (grub_partition_iterate_hook_t): New
type.
(struct grub_partition_map.iterate): Add hook_data argument.
(grub_partition_iterate): Likewise.
* include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
(struct grub_scsi_dev.iterate): Add hook_data argument.
Update all callers.
2013-01-20 15:52:15 +00:00
Vladimir 'phcoder' Serbinenko
b7b4ab33ae
* grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
...
(grub_ata_strncpy): Likewise.
(grub_ata_identify): Add missing byteswaps.
2012-06-06 12:22:32 +02:00
Bean
1501ac21b0
* grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
...
place.
2012-04-18 23:21:38 +02:00
Vladimir 'phcoder' Serbinenko
cc774926f1
SCSI write support (for usbms mainly).
...
* grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
a const pointer.
(grub_scsi_write): Implement.
* include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2012-01-30 12:26:11 +01:00
Vladimir 'phcoder' Serbinenko
2b5336a24a
* include/grub/ata.h (grub_ata): Add a new element maxbuffer.
...
* grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
* grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
* grub-core/disk/ahci.c (grub_ahci_open): Likewise.
2012-01-29 19:00:30 +01:00
Vladimir 'phcoder' Serbinenko
6166442083
* grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
...
to ensure alignment.
(grub_hdparm_print_identify): Make argument uint16 * to ensure
alignment. Ensure tmp alignment.
(grub_cmd_hdparm): Ensure buf alignment.
* grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
to ensure alignment.
(grub_ata_dumpinfo): Ensure text alignment.
(grub_atapi_identify): Preserve alignment invariant.
(grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
2011-12-13 14:57:46 +01:00
Vladimir 'phcoder' Serbinenko
6795300e7f
Support ATA disks with 4K sectors.
...
* include/grub/ata.h (grub_ata): New member log_sector_size.
* grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
(grub_ata_identify): Read sector size.
(grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
2011-07-25 08:14:34 +02:00
Vladimir 'phcoder' Serbinenko
0044d1db2e
Simplify disk opening
2011-07-07 21:46:25 +02:00
Vladimir 'phcoder' Serbinenko
00542307eb
merge mainline into lazy
2011-07-07 12:21:53 +02:00
Vladimir 'phcoder' Serbinenko
0670a9751b
merge mainline into ahci
2011-05-16 17:17:04 +02:00
Vladimir 'phcoder' Serbinenko
36084912c0
Give ATA device a bit more time on first try in order to allow disks
...
to spin up.
* grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
if dev->present is 1. Reset dev->present on failure.
(grub_ata_device_initialize): Set dev->present to 1.
* include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
(grub_ata_device): New member 'present'.
2011-05-13 21:41:18 +02:00
Vladimir 'phcoder' Serbinenko
24b905a11c
Lazy LVM and RAID assembly
2011-04-22 00:09:07 +02:00
Vladimir 'phcoder' Serbinenko
e745cf0ca6
Implement automatic module license checking according to new GNU
...
guidelines.
* grub-core/kern/dl.c (grub_dl_check_license): New function.
(grub_dl_load_core): Use grub_dl_check_license.
* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
(GRUB_MOD_LICENSE): Likewise.
(GRUB_MOD_DUAL_LICENSE): Likewise.
All modules updated.
2011-04-11 23:01:51 +02:00
Vladimir 'phcoder' Serbinenko
c76ae9b4da
set parms.write on disk write
2010-12-25 17:40:00 +01:00
Vladimir 'phcoder' Serbinenko
3c51ecb82b
Fix adressing mode mismatch
2010-12-25 15:47:23 +01:00
Vladimir 'phcoder' Serbinenko
d9675dbee3
Move 0xE0 to callers rather than to have it in drivers
2010-12-25 03:47:51 +01:00
Vladimir 'phcoder' Serbinenko
51f7e1acb7
DMA ATA commands support
2010-12-25 02:53:20 +01:00
Vladimir 'phcoder' Serbinenko
8f5ac9e570
fix ATAPI support
2010-12-24 17:10:41 +01:00
Vladimir 'phcoder' Serbinenko
22a7cc9a6f
fix 3rd argument to scsi_iterate
2010-12-24 17:09:56 +01:00
Vladimir 'phcoder' Serbinenko
faec81d97d
Add missing buffer specifications
2010-12-24 16:54:33 +01:00
Vladimir 'phcoder' Serbinenko
de2690be7c
merge mainline into ahci
2010-12-24 16:16:01 +01:00
Vladimir 'phcoder' Serbinenko
94564f81a8
* include/grub/disk.h (grub_disk): Remove has_partitions.
...
All users updated.
* disk/loopback.c (grub_loopback): Remove has_partitions.
All users updated.
(options): Remove partitions. All users updated.
* util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
* util/i386/pc/grub-setup.c (setup): copy partition table only when
actual partition table is found.
2010-09-13 23:59:22 +02:00
BVK Chaitanya
297f0c2b6e
merge with mainline
2010-07-13 00:43:28 +05:30
BVK Chaitanya
8c41176882
automake commit without merge history
2010-05-06 11:34:04 +05:30