From patchwork Wed Apr 25 13:22:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 134295 Delivered-To: patch@linaro.org Received: by 10.46.151.6 with SMTP id r6csp862374lji; Wed, 25 Apr 2018 06:23:30 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/rYU0wqFL4pFoKeSb/nTNpnQECd+0KecbmUi7+fXu6BsLjtWTbHLsR4OjqsmE21GckZf4S X-Received: by 10.99.125.74 with SMTP id m10mr23626985pgn.80.1524662610678; Wed, 25 Apr 2018 06:23:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524662610; cv=none; d=google.com; s=arc-20160816; b=T3e95rSGfdZrl2tQZGeU6mVD7dYZITnADGWSqrJnPeilEHmaZU4ovFOAaDJvamLStw nDtzyrR1WvolyEMKIgA0vYPj3PHbgQtVUvxxIwtUFWeF7lnx+KX9iMG/+IwQBAf66cDR wA+7tx5rNrgoy/JRHC12ryw3QCNdy5ti/gnmfPRo4fZ6CTPKuW3ViwTzucykQf++v+3v uIralm2rhLJgS5WbBA7+XeZ9wvQz2ZDAE/uu0MVDFlm/Y2O3eCr/YOIHsbQAWk8LrTwP 8GzD34zpMeQwY5mNVvvqCAinGkkUPsS8kDBSfGGxBTmGBk758Q3VUKvIuxEw9CmIk5SF nj0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=O5FDEUvv+T9xGV1OaSiciU6iSJkdzsowujXxm6xlkpI=; b=eYZ9vAylpv+Tq6Wc2ZN9YpDHlOwb8dlajMRE975xNSdCAIK78V/EP0TYat7AmWvEE/ wLpBQwxiQbZwTembSuB19j/+awwizoKQoq4B6b+yK7/E3wIlKfG5t3yCTnAK3SSpG4bx KHi2GDX8+7CHFbHE6sbDX2OJwJg/OI71aQamCEZX3r4nwDn9qj2ELeYNbD9iQZ9Naaf8 hj0EQ05GPB2urvfbpNXBe6o56x4AOqjorg7qVUCAtfrvCyIL4Inzzh8Pyouekl23DCZT YWNzdMhEnCrOWQ7wpu+Y2Lf6iDoij++Gu1Mx3nM1ZF0NN+4wpRVgQCt4oNOLBT+Us7ZX EuNQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x64si12882552pff.196.2018.04.25.06.23.30; Wed, 25 Apr 2018 06:23:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754412AbeDYNX1 (ORCPT + 29 others); Wed, 25 Apr 2018 09:23:27 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:42569 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751705AbeDYNXB (ORCPT ); Wed, 25 Apr 2018 09:23:01 -0400 Received: from wuerfel.lan ([95.208.111.237]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.145]) with ESMTPA (Nemesis) id 0MQfGf-1eocSf01tN-00U2nC; Wed, 25 Apr 2018 15:23:00 +0200 From: Arnd Bergmann To: y2038@lists.linaro.org, linux-kernel@vger.kernel.org Cc: Arnd Bergmann Subject: [PATCH v4 14/16] y2038: ipc: Use __kernel_timespec Date: Wed, 25 Apr 2018 15:22:40 +0200 Message-Id: <20180425132242.1500539-15-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20180425132242.1500539-1-arnd@arndb.de> References: <20180425132242.1500539-1-arnd@arndb.de> X-Provags-ID: V03:K1:enaJExFVg/MzNLYA7AWtk9RjzL4WzvqzKq4cEtAIu0Ccsj7xotK HeyevMNJvfcrk9J+agR9b7vpXHOPXL6I8YYKaP2pqfv4YXRuSqy702FT3TZf7l7AyVC/FaH 6qDMBIqNsgE8NWznOu0Vp61vKnOdLbdK9bj+cuUSAfuRwiTsbK1FzTWc0FjVtAGn4Uyw7ni OK1KW/N7YoxO5YrrDhANQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:9Ueq7wwQ2Dk=:3fDU2DKLngTJ65jRR39wrO KGrs/8l5PE/C+SF8802VToWyIAWfDdfbJ1468mlXU3/ZacNtq4k5yP7fuSe1v8gTbKfZh7kfa zpAhhvgqkAHw9iJ1O2IyKQPArAJ026jI8vGoW4UlXdvmo4ZoxEiDHjpjp/mrJIBhogB/WgNZP Qwo1O9pDbTqrd2CJ+DvojD6P2HE1q19aUOT1HhZ9vM/V8sKw7NFgWZYZbjzirQLxu2kZbSf/K 0OBwNLloJ0cLGVtNwHl44n3vjMewfCKqEHzTBZs/kLIe07UPLrh+n4S/VQwLMNONaPPYHDqJN OsY9uJi9iFoSRc62DHmZ1aibP/IPEiJPKBDhBscmz4LidqGvzixcB9z8MIQT+yUoPTlbFUJJB weebpG8EIdYGM7aq0zm3aqFOmHgR1Y81W77RnvTz7mgZq6YLlKlRUtzi079LGpuwZhSyBCKua zOFNiOfyLr/p/wv4dSYWre2Ov4hAp2dL3ZlqSm1KMWxEf7cuFjLDZocKThte9O+lh2XXNsY6n RwftC44bCV6wSoaDtZqGIRAuTPn4exTfLYxqASW0xBq9tPLz2o/hR8JAEsophJDVneIeT8V5k /wlPiqKUueLBaLmTP71+flT6FfYw/CHxpY2+LUi858gvu4sk1YXQcZSAHB8WBIPWecM529txb sjgVXs4FnoihXhRhpgRkNgn1UKjNIQkdZ9QMvnuAgF6KH7zPrayml++I2LlQYS1N0Tp4AUN4m OEhvdcfrTl36+EVJxtP0E/qRPd28KoQ1je+Lsg== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a preparatation for changing over __kernel_timespec to 64-bit times, which involves assigning new system call numbers for mq_timedsend(), mq_timedreceive() and semtimedop() for compatibility with future y2038 proof user space. The existing ABIs will remain available through compat code. Signed-off-by: Arnd Bergmann --- include/linux/syscalls.h | 6 +++--- ipc/mqueue.c | 6 +++--- ipc/sem.c | 4 ++-- ipc/util.h | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) -- 2.9.0 diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index c9a2a2601852..b92cb79d38c3 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h @@ -680,8 +680,8 @@ asmlinkage long sys_sysinfo(struct sysinfo __user *info); /* ipc/mqueue.c */ asmlinkage long sys_mq_open(const char __user *name, int oflag, umode_t mode, struct mq_attr __user *attr); asmlinkage long sys_mq_unlink(const char __user *name); -asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout); -asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout); +asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct __kernel_timespec __user *abs_timeout); +asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct __kernel_timespec __user *abs_timeout); asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification); asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat); @@ -698,7 +698,7 @@ asmlinkage long sys_semget(key_t key, int nsems, int semflg); asmlinkage long sys_semctl(int semid, int semnum, int cmd, unsigned long arg); asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops, unsigned nsops, - const struct timespec __user *timeout); + const struct __kernel_timespec __user *timeout); asmlinkage long sys_semop(int semid, struct sembuf __user *sops, unsigned nsops); diff --git a/ipc/mqueue.c b/ipc/mqueue.c index a808f29d4c5a..9610afcfa2e5 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -691,7 +691,7 @@ static void __do_notify(struct mqueue_inode_info *info) wake_up(&info->wait_q); } -static int prepare_timeout(const struct timespec __user *u_abs_timeout, +static int prepare_timeout(const struct __kernel_timespec __user *u_abs_timeout, struct timespec64 *ts) { if (get_timespec64(ts, u_abs_timeout)) @@ -1128,7 +1128,7 @@ static int do_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr, SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, size_t, msg_len, unsigned int, msg_prio, - const struct timespec __user *, u_abs_timeout) + const struct __kernel_timespec __user *, u_abs_timeout) { struct timespec64 ts, *p = NULL; if (u_abs_timeout) { @@ -1142,7 +1142,7 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr, size_t, msg_len, unsigned int __user *, u_msg_prio, - const struct timespec __user *, u_abs_timeout) + const struct __kernel_timespec __user *, u_abs_timeout) { struct timespec64 ts, *p = NULL; if (u_abs_timeout) { diff --git a/ipc/sem.c b/ipc/sem.c index 8935cd8cf166..b951e25ba2db 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -2176,7 +2176,7 @@ static long do_semtimedop(int semid, struct sembuf __user *tsops, } long ksys_semtimedop(int semid, struct sembuf __user *tsops, - unsigned int nsops, const struct timespec __user *timeout) + unsigned int nsops, const struct __kernel_timespec __user *timeout) { if (timeout) { struct timespec64 ts; @@ -2188,7 +2188,7 @@ long ksys_semtimedop(int semid, struct sembuf __user *tsops, } SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops, - unsigned int, nsops, const struct timespec __user *, timeout) + unsigned int, nsops, const struct __kernel_timespec __user *, timeout) { return ksys_semtimedop(semid, tsops, nsops, timeout); } diff --git a/ipc/util.h b/ipc/util.h index acc5159e96d0..975c6de2df9d 100644 --- a/ipc/util.h +++ b/ipc/util.h @@ -251,7 +251,7 @@ static inline int compat_ipc_parse_version(int *cmd) /* for __ARCH_WANT_SYS_IPC */ long ksys_semtimedop(int semid, struct sembuf __user *tsops, unsigned int nsops, - const struct timespec __user *timeout); + const struct __kernel_timespec __user *timeout); long ksys_semget(key_t key, int nsems, int semflg); long ksys_semctl(int semid, int semnum, int cmd, unsigned long arg); long ksys_msgget(key_t key, int msgflg);