Commit 9bd9d5e3 authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging



* remotes/riku/linux-user-for-upstream:
  linux-user: Fix error handling in target_to_host_semarray()
  linux-user: Implement BLKPG ioctl
  linux-user: Fix error handling in lock_iovec()
  linux-user/signal.c: Don't pass sigaction uninitialised sa_flags
  linux-user/elfload.c: Avoid calling g_free() on uninitialized data
  linux-user: sync syscall numbers upto 3.13

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 774d566c 69d4c703
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -433,3 +433,10 @@
#define TARGET_NR_open_by_handle_at             498
#define TARGET_NR_clock_adjtime                 499
#define TARGET_NR_syncfs                        500
#define TARGET_NR_setns                         501
#define TARGET_NR_accept4                       502
#define TARGET_NR_sendmmsg                      503
#define TARGET_NR_process_vm_readv              504
#define TARGET_NR_process_vm_writev             505
#define TARGET_NR_kcmp                          506
#define TARGET_NR_finit_module                  507
+6 −0
Original line number Diff line number Diff line
@@ -378,3 +378,9 @@
#define TARGET_NR_open_by_handle_at            (371)
#define TARGET_NR_clock_adjtime                (372)
#define TARGET_NR_syncfs                       (373)
#define TARGET_NR_sendmmsg                     (374)
#define TARGET_NR_setns                        (375)
#define TARGET_NR_process_vm_readv             (376)
#define TARGET_NR_process_vm_writev            (377)
#define TARGET_NR_kcmp                         (378)
#define TARGET_NR_finit_module                 (379)
+1 −0
Original line number Diff line number Diff line
@@ -335,3 +335,4 @@
#define TARGET_NR_inotify_init1      332
#define TARGET_NR_preadv             333
#define TARGET_NR_pwritev            334
#define TARGET_NR_setns              335
+12 −4
Original line number Diff line number Diff line
@@ -2636,6 +2636,16 @@ static void fill_thread_info(struct elf_note_info *info, const CPUArchState *env
    info->notes_size += note_size(&ets->notes[0]);
}

static void init_note_info(struct elf_note_info *info)
{
    /* Initialize the elf_note_info structure so that it is at
     * least safe to call free_note_info() on it. Must be
     * called before calling fill_note_info().
     */
    memset(info, 0, sizeof (*info));
    QTAILQ_INIT(&info->thread_list);
}

static int fill_note_info(struct elf_note_info *info,
                          long signr, const CPUArchState *env)
{
@@ -2644,10 +2654,6 @@ static int fill_note_info(struct elf_note_info *info,
    TaskState *ts = (TaskState *)env->opaque;
    int i;

    (void) memset(info, 0, sizeof (*info));

    QTAILQ_INIT(&info->thread_list);

    info->notes = g_malloc0(NUMNOTES * sizeof (struct memelfnote));
    if (info->notes == NULL)
        return (-ENOMEM);
@@ -2781,6 +2787,8 @@ static int elf_core_dump(int signr, const CPUArchState *env)
    int segs = 0;
    int fd = -1;

    init_note_info(&info);

    errno = 0;
    getrlimit(RLIMIT_CORE, &dumpsize);
    if (dumpsize.rlim_cur == 0)
+6 −0
Original line number Diff line number Diff line
@@ -347,3 +347,9 @@
#define TARGET_NR_open_by_handle_at     342
#define TARGET_NR_clock_adjtime         343
#define TARGET_NR_syncfs                344
#define TARGET_NR_sendmmsg              345
#define TARGET_NR_setns                 346
#define TARGET_NR_process_vm_readv      347
#define TARGET_NR_process_vm_writev     348
#define TARGET_NR_kcmp                  349
#define TARGET_NR_finit_module          350
Loading