[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Fix *printf specifier for user space mach ports.
From: |
Samuel Thibault |
Subject: |
Re: [PATCH] Fix *printf specifier for user space mach ports. |
Date: |
Tue, 6 Dec 2022 02:12:49 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Applied, thanks!
Samuel
Flavio Cruz, le lun. 05 déc. 2022 01:34:56 -0500, a ecrit:
> mach_port_t are mach_port_name_t and thus require %u instead of %lu.
> ---
> boot/boot.c | 4 ++--
> exec/main.c | 2 +-
> ext2fs/ext2fs.c | 2 +-
> ext2fs/pager.c | 2 +-
> libdiskfs/boot-start.c | 2 +-
> libpager/data-request.c | 2 +-
> libpager/data-return.c | 2 +-
> libpager/data-unlock.c | 2 +-
> libshouldbeinlibc/portinfo.c | 8 ++++----
> libshouldbeinlibc/xportinfo.c | 2 +-
> procfs/process.c | 2 +-
> startup/startup.c | 4 ++--
> utils/rpctrace.c | 12 ++++++------
> 13 files changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/boot/boot.c b/boot/boot.c
> index f326e5b2..1f02947f 100644
> --- a/boot/boot.c
> +++ b/boot/boot.c
> @@ -2032,7 +2032,7 @@ static void
> task_died (mach_port_t name)
> {
> if (verbose > 1)
> - fprintf (stderr, "Task '%lu' died.\r\n", name);
> + fprintf (stderr, "Task '%u' died.\r\n", name);
>
> hurd_ihash_remove (&task_ihash, (hurd_ihash_key_t) name);
> }
> @@ -2050,7 +2050,7 @@ S_mach_notify_new_task (mach_port_t notify,
> return EOPNOTSUPP;
>
> if (verbose > 1)
> - fprintf (stderr, "Task '%lu' created by task '%lu'.\r\n", task, parent);
> + fprintf (stderr, "Task '%u' created by task '%u'.\r\n", task, parent);
>
> err = mach_port_request_notification (mach_task_self (), task,
> MACH_NOTIFY_DEAD_NAME, 0,
> diff --git a/exec/main.c b/exec/main.c
> index 9825d9cf..9021e45c 100644
> --- a/exec/main.c
> +++ b/exec/main.c
> @@ -150,7 +150,7 @@ trivfs_append_args (struct trivfs_control *fsys,
>
> if (MACH_PORT_VALID (opt_device_master))
> {
> - asprintf (&opt, "--device-master-port=%lu", opt_device_master);
> + asprintf (&opt, "--device-master-port=%u", opt_device_master);
>
> if (opt)
> {
> diff --git a/ext2fs/ext2fs.c b/ext2fs/ext2fs.c
> index 50435c76..5beb3906 100644
> --- a/ext2fs/ext2fs.c
> +++ b/ext2fs/ext2fs.c
> @@ -232,7 +232,7 @@ main (int argc, char **argv)
> if (store->size < SBLOCK_OFFS + SBLOCK_SIZE)
> ext2_panic ("device too small for superblock (%Ld bytes)", store->size);
> if (store->log2_blocks_per_page < 0)
> - ext2_panic ("device block size (%zu) greater than page size (%zd)",
> + ext2_panic ("device block size (%zu) greater than page size (%lu)",
> store->block_size, vm_page_size);
>
> /* Map the entire disk. */
> diff --git a/ext2fs/pager.c b/ext2fs/pager.c
> index baf2d4b7..00544cfb 100644
> --- a/ext2fs/pager.c
> +++ b/ext2fs/pager.c
> @@ -905,7 +905,7 @@ static void
> disk_cache_init (void)
> {
> if (block_size != vm_page_size)
> - ext2_panic ("Block size %u != vm_page_size %u",
> + ext2_panic ("Block size %u != vm_page_size %lu",
> block_size, vm_page_size);
>
> pthread_mutex_init (&disk_cache_lock, NULL);
> diff --git a/libdiskfs/boot-start.c b/libdiskfs/boot-start.c
> index 89d09d65..f245200d 100644
> --- a/libdiskfs/boot-start.c
> +++ b/libdiskfs/boot-start.c
> @@ -248,7 +248,7 @@ diskfs_start_bootstrap ()
> while (err == KERN_NAME_EXISTS);
> diskfs_kernel_task = MACH_PORT_NULL;
>
> - len = snprintf (buf, sizeof buf, "--kernel-task=%lu",
> kernel_task_name);
> + len = snprintf (buf, sizeof buf, "--kernel-task=%u", kernel_task_name);
> assert_backtrace (len > 0);
> assert_backtrace ((size_t) len < sizeof buf);
> /* Insert as second argument. */
> diff --git a/libpager/data-request.c b/libpager/data-request.c
> index 7069fc84..b06b7f18 100644
> --- a/libpager/data-request.c
> +++ b/libpager/data-request.c
> @@ -49,7 +49,7 @@ _pager_S_memory_object_data_request (struct pager *p,
> }
> if (length != __vm_page_size)
> {
> - printf ("incg data request: bad length size %zd\n", length);
> + printf ("incg data request: bad length size %lu\n", length);
> goto release_out;
> }
> if (offset % __vm_page_size)
> diff --git a/libpager/data-return.c b/libpager/data-return.c
> index 4c4affe8..79c012aa 100644
> --- a/libpager/data-return.c
> +++ b/libpager/data-return.c
> @@ -60,7 +60,7 @@ _pager_do_write_request (struct pager *p,
> }
> if (length % __vm_page_size)
> {
> - printf ("incg data return: bad length size %zd\n", length);
> + printf ("incg data return: bad length size %lu\n", length);
> goto release_out;
> }
> if (offset % __vm_page_size)
> diff --git a/libpager/data-unlock.c b/libpager/data-unlock.c
> index 077e673f..d155ff12 100644
> --- a/libpager/data-unlock.c
> +++ b/libpager/data-unlock.c
> @@ -58,7 +58,7 @@ _pager_S_memory_object_data_unlock (struct pager *p,
> }
> if (length != __vm_page_size)
> {
> - printf ("incg data unlock: bad length size %zd\n", length);
> + printf ("incg data unlock: bad length size %lu\n", length);
> goto out;
> }
>
> diff --git a/libshouldbeinlibc/portinfo.c b/libshouldbeinlibc/portinfo.c
> index a023446a..42b22081 100644
> --- a/libshouldbeinlibc/portinfo.c
> +++ b/libshouldbeinlibc/portinfo.c
> @@ -72,7 +72,7 @@ print_port_info (mach_port_t name, mach_port_type_t type,
> task_t task,
> return err;
> }
>
> - fprintf (stream, hex_names ? "%#6lx: " : "%6lu: ", name);
> + fprintf (stream, hex_names ? "%#6x: " : "%6u: ", name);
>
> if (type & MACH_PORT_TYPE_RECEIVE)
> {
> @@ -480,7 +480,7 @@ print_port_info (mach_port_t name, mach_port_type_t type,
> task_t task,
> fprintf (stream, " (");
> if (status.mps_pset != MACH_PORT_NULL)
> fprintf (stream,
> - hex_names ? "port-set: %#lx, " : "port-set: %lu, ",
> + hex_names ? "port-set: %#x, " : "port-set: %u, ",
> status.mps_pset);
> fprintf (stream, "seqno: %zu", status.mps_seqno);
> if (status.mps_mscount)
> @@ -514,9 +514,9 @@ print_port_info (mach_port_t name, mach_port_type_t type,
> task_t task,
> fprintf (stream, " (empty)");
> else
> {
> - fprintf (stream, hex_names ? " (%#lx" : " (%lu", members[0]);
> + fprintf (stream, hex_names ? " (%#x" : " (%u", members[0]);
> for (i = 1; i < members_len; i++)
> - fprintf (stream, hex_names ? ", %#lx" : ", %lu",
> + fprintf (stream, hex_names ? ", %#x" : ", %u",
> members[i]);
> fprintf (stream, ")");
> munmap ((caddr_t) members, members_len * sizeof *members);
> diff --git a/libshouldbeinlibc/xportinfo.c b/libshouldbeinlibc/xportinfo.c
> index 47e6dd9a..2a6d6f69 100644
> --- a/libshouldbeinlibc/xportinfo.c
> +++ b/libshouldbeinlibc/xportinfo.c
> @@ -35,7 +35,7 @@ print_xlated_port_info (mach_port_t name, mach_port_type_t
> type,
> error_t err = port_name_xlator_xlate (x, name, type, &name, &type);
> if (! err)
> {
> - fprintf (stream, (show & PORTINFO_HEX_NAMES) ? "%#6lx => " : "%6lu =>
> ",
> + fprintf (stream, (show & PORTINFO_HEX_NAMES) ? "%#6x => " : "%6u => ",
> old_name);
> err = print_port_info (name, type, x->to_task, show, stream);
> }
> diff --git a/procfs/process.c b/procfs/process.c
> index 6e4c1515..f608bed6 100644
> --- a/procfs/process.c
> +++ b/procfs/process.c
> @@ -191,7 +191,7 @@ process_file_gc_maps (struct proc_stat *ps, char
> **contents)
> else
> mach_port_deallocate (mach_task_self (), obj);
>
> - fprintf (s, "[mem_obj=%lu]\n", obj);
> + fprintf (s, "[mem_obj=%u]\n", obj);
> }
> else
> fprintf (s, "\n");
> diff --git a/startup/startup.c b/startup/startup.c
> index 1e3a65fb..f4636323 100644
> --- a/startup/startup.c
> +++ b/startup/startup.c
> @@ -497,7 +497,7 @@ argz_task_insert_right (char **argz, size_t *argz_len,
> task_t task,
> }
> while (err == KERN_NAME_EXISTS);
>
> - if (asprintf (&arg, "--%s=%lu", argument, name) < 0)
> + if (asprintf (&arg, "--%s=%u", argument, name) < 0)
> return errno;
>
> err = argz_add (argz, argz_len, arg);
> @@ -1636,7 +1636,7 @@ do_mach_notify_dead_name (mach_port_t notify_port,
> boots[i].name);
> crash_mach ();
> }
> - error (0, 0, "BUG! Unexpected dead-name notification (name %#lx)",
> + error (0, 0, "BUG! Unexpected dead-name notification (name %#x)",
> name);
> crash_mach ();
> }
> diff --git a/utils/rpctrace.c b/utils/rpctrace.c
> index b4de175c..f47d179a 100644
> --- a/utils/rpctrace.c
> +++ b/utils/rpctrace.c
> @@ -353,7 +353,7 @@ new_send_wrapper (struct receiver_info *receive, task_t
> task,
> assert_perror_backtrace (err);
>
> TRACED_INFO (info)->name = 0;
> - asprintf (&TRACED_INFO (info)->name, " %lu<--%lu(pid%d)",
> + asprintf (&TRACED_INFO (info)->name, " %u<--%u(pid%d)",
> receive->forward, TRACED_INFO (info)->pi.port_right, task2pid
> (task));
> TRACED_INFO (info)->type = MACH_MSG_TYPE_MOVE_SEND;
> info->task = task;
> @@ -979,7 +979,7 @@ wrap_all_threads (task_t task)
> task, &new_thread_port);
> free (TRACED_INFO (thread_send_wrapper)->name);
> asprintf (&TRACED_INFO (thread_send_wrapper)->name,
> - "thread%lu(pid%d)", threads[i], task2pid (task));
> + "thread%u(pid%d)", threads[i], task2pid (task));
>
> err = mach_port_insert_right (mach_task_self (),
> new_thread_port, new_thread_port,
> @@ -1031,7 +1031,7 @@ wrap_new_thread (mach_msg_header_t *inp, struct
> req_info *req)
> mach_port_deallocate (mach_task_self (), reply->child_thread);
>
> free (TRACED_INFO (send_wrapper)->name);
> - asprintf (&TRACED_INFO (send_wrapper)->name, "thread%lu(pid%d)",
> + asprintf (&TRACED_INFO (send_wrapper)->name, "thread%u(pid%d)",
> thread_port, task2pid (req->from));
> ports_port_deref (send_wrapper);
> }
> @@ -1078,10 +1078,10 @@ wrap_new_task (mach_msg_header_t *inp, struct
> req_info *req)
>
> pid = task2pid (task_port);
> free (TRACED_INFO (task_wrapper1)->name);
> - asprintf (&TRACED_INFO (task_wrapper1)->name, "task%lu(pid%d)",
> + asprintf (&TRACED_INFO (task_wrapper1)->name, "task%u(pid%d)",
> task_port, task2pid (req->from));
> free (TRACED_INFO (task_wrapper2)->name);
> - asprintf (&TRACED_INFO (task_wrapper2)->name, "task%lu(pid%d)",
> + asprintf (&TRACED_INFO (task_wrapper2)->name, "task%u(pid%d)",
> task_port, pid);
> ports_port_deref (task_wrapper1);
> }
> @@ -1648,7 +1648,7 @@ traced_spawn (char **argv, char **envp)
> ti = new_send_wrapper (receive_ti, traced_task, &task_wrapper);
> ti->task = traced_task;
> free (TRACED_INFO (ti)->name);
> - asprintf (&TRACED_INFO (ti)->name, "task%lu(pid%d)", traced_task, pid);
> + asprintf (&TRACED_INFO (ti)->name, "task%u(pid%d)", traced_task, pid);
>
> /* Replace the task's kernel port with the wrapper. When this task calls
> `mach_task_self ()', it will get our wrapper send right instead of its
> --
> 2.37.2
>
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.