{"id":2222800,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2222800/?format=json","web_url":"http://patchwork.ozlabs.org/project/ltp/patch/20260413180725.411367-1-somadas1@linux.ibm.com/","project":{"id":59,"url":"http://patchwork.ozlabs.org/api/1.2/projects/59/?format=json","name":"Linux Test Project development","link_name":"ltp","list_id":"ltp.lists.linux.it","list_email":"ltp@lists.linux.it","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260413180725.411367-1-somadas1@linux.ibm.com>","list_archive_url":null,"date":"2026-04-13T18:07:25","name":"mq_unlink01: fix EEXIST failure when run in parallel","commit_ref":null,"pull_url":null,"state":"needs-review-ack","archived":false,"hash":"b45f769d18ea1844b1ca73b511a3813c47821d81","submitter":{"id":93035,"url":"http://patchwork.ozlabs.org/api/1.2/people/93035/?format=json","name":"Soma Das","email":"somadas1@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/ltp/patch/20260413180725.411367-1-somadas1@linux.ibm.com/mbox/","series":[{"id":499734,"url":"http://patchwork.ozlabs.org/api/1.2/series/499734/?format=json","web_url":"http://patchwork.ozlabs.org/project/ltp/list/?series=499734","date":"2026-04-13T18:07:25","name":"mq_unlink01: fix EEXIST failure when run in parallel","version":1,"mbox":"http://patchwork.ozlabs.org/series/499734/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2222800/comments/","check":"success","checks":"http://patchwork.ozlabs.org/api/patches/2222800/checks/","tags":{},"related":[],"headers":{"Return-Path":"<ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it>","X-Original-To":["incoming@patchwork.ozlabs.org","ltp@lists.linux.it"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","ltp@picard.linux.it"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=M7vK50ir;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it\n (client-ip=2001:1418:10:5::2; helo=picard.linux.it;\n envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it;\n receiver=patchwork.ozlabs.org)"],"Received":["from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvZWB14Nmz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 03:43:02 +1000 (AEST)","from picard.linux.it (localhost [IPv6:::1])\n\tby picard.linux.it (Postfix) with ESMTP id AD6583E2EB7\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 19:42:59 +0200 (CEST)","from in-7.smtp.seeweb.it (in-7.smtp.seeweb.it\n [IPv6:2001:4b78:1:20::7])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature ECDSA (secp384r1))\n (No client certificate requested)\n by picard.linux.it (Postfix) with ESMTPS id 8C37F3C6EE3\n for <ltp@lists.linux.it>; Mon, 13 Apr 2026 19:42:56 +0200 (CEST)","from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by in-7.smtp.seeweb.it (Postfix) with ESMTPS id C844B2005DC\n for <ltp@lists.linux.it>; Mon, 13 Apr 2026 19:42:55 +0200 (CEST)","from pps.filterd (m0360072.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63DFaKLh3309467\n for <ltp@lists.linux.it>; Mon, 13 Apr 2026 17:42:54 GMT","from ppma13.dal12v.mail.ibm.com\n (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221])\n by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dfdxx0gyn-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)\n for <ltp@lists.linux.it>; Mon, 13 Apr 2026 17:42:53 +0000 (GMT)","from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1])\n by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 63DEMo3J025837\n for <ltp@lists.linux.it>; Mon, 13 Apr 2026 17:42:53 GMT","from smtprelay03.dal12v.mail.ibm.com ([172.16.1.5])\n by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dg2uje1bw-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)\n for <ltp@lists.linux.it>; Mon, 13 Apr 2026 17:42:53 +0000","from smtpav01.wdc07v.mail.ibm.com (smtpav01.wdc07v.mail.ibm.com\n [10.39.53.228])\n by smtprelay03.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63DHgprP20382240\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Mon, 13 Apr 2026 17:42:52 GMT","from smtpav01.wdc07v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id CCEA758063;\n Mon, 13 Apr 2026 17:42:51 +0000 (GMT)","from smtpav01.wdc07v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 7C8AB58055;\n Mon, 13 Apr 2026 17:42:51 +0000 (GMT)","from ktes.isst.tadn.ibm.com (unknown [9.5.15.16])\n by smtpav01.wdc07v.mail.ibm.com (Postfix) with ESMTP;\n Mon, 13 Apr 2026 17:42:51 +0000 (GMT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n :content-transfer-encoding:date:from:message-id:mime-version\n :subject:to; s=pp1; bh=zxe/MDbv8szFId/GCoY+viqpDFcQkl0OuseK3HSG1\n qs=; b=M7vK50irVX2IxL2nu41CIdAeQCt5IdzhvCsbWPPgT9uY2qpdIIDEmsN75\n ejLswvpbvGmqNdm6oz3qBQD/XXSgCHlpsybmf1L6yeIILVty2L1VwpZEk48AdzFc\n 9w6PmVmjH97G7oJIH7I5/dCRrvAFlPMYA7ruKUdXlri5auJ8e9Xd8++3ul1OZkmD\n O98IwTzvMs2yBetTWY0UHuhCLX98qjml2sxaLSh4YrcP1aMLSutP6qA02gbmPpSE\n SydHCXLPysGgQiFN9cK2SkaNZTURyVoQkG3617WAc+v8RCwJoC6EbptMkZZHvEq3\n j6U4gPdjkSL0BNKrmQD7QmDfyj9Ow==","From":"Soma Das <somadas1@linux.ibm.com>","To":"ltp@lists.linux.it","Date":"Mon, 13 Apr 2026 18:07:25 +0000","Message-Id":"<20260413180725.411367-1-somadas1@linux.ibm.com>","X-Mailer":"git-send-email 2.39.1","MIME-Version":"1.0","X-TM-AS-GCONF":"00","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDEzMDE3MCBTYWx0ZWRfX6HVsTCFU+a49\n WhsGqc5i3thJ11HIFjd1BxxsitEl5MhzEZSuCr9INpWRtMBD0xxrWE+Fqn/7eTqNEEHotYBjQ98\n LnEpTafxFzozpa8f8ZLBVs+K9WgoF1cP5c03M/G2l6YxELm5EtJ8VTe1mL+N+eDMHvYNgt2HEjS\n aRcrXTpNJkElSZ3UE6bMMLqsHx81TuMKukzlS2KHYCBjp6caG/bHyTp8rCSIQ0inpqGEQuvcePy\n ySmV9P3ppWZ4Np5PEeRQc1XaCLCpmU+Bt9tJCd9CytQ+Jh82dLVh/DoNMpZadEcbQAdQxHOGESt\n th3uLMSEr7MIZRUSeQCAVjCHZXlrX7COFfGFkTrHcvKpEBKMb7SZK0W9Xmtu8LcF9NFz4jvCgx9\n eAorEcweBnEQ+LyQh+Xozj2itU5t2rGNp9ZhumUk12d2PQD6MHnUFgDUIOKz2SFygIlaD4knxFX\n q/vK7PIPV2w0jNu7vtQ==","X-Proofpoint-ORIG-GUID":"qHinwXaPqrorczlCgb7GOuQIRRcb22Vf","X-Authority-Analysis":"v=2.4 cv=TId1jVla c=1 sm=1 tr=0 ts=69dd2b1d cx=c_pps\n a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=RzCfie-kr_QcCd8fBx8p:22 a=VnNF1IyMAAAA:8 a=vnwhZ7JpDF0lGcMctGQA:9","X-Proofpoint-GUID":"qHinwXaPqrorczlCgb7GOuQIRRcb22Vf","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-13_03,2026-04-13_04,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n bulkscore=0 malwarescore=0 spamscore=0 adultscore=0 phishscore=0\n suspectscore=0 priorityscore=1501 impostorscore=0 clxscore=1015\n lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000\n definitions=main-2604130170","X-Spam-Status":"No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID,\n SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on in-7.smtp.seeweb.it","X-Virus-Scanned":"clamav-milter 1.0.9 at in-7.smtp.seeweb.it","X-Virus-Status":"Clean","Subject":"[LTP] [PATCH] mq_unlink01: fix EEXIST failure when run in parallel","X-BeenThere":"ltp@lists.linux.it","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"Linux Test Project <ltp.lists.linux.it>","List-Unsubscribe":"<https://lists.linux.it/options/ltp>,\n <mailto:ltp-request@lists.linux.it?subject=unsubscribe>","List-Archive":"<http://lists.linux.it/pipermail/ltp/>","List-Post":"<mailto:ltp@lists.linux.it>","List-Help":"<mailto:ltp-request@lists.linux.it?subject=help>","List-Subscribe":"<https://lists.linux.it/listinfo/ltp>,\n <mailto:ltp-request@lists.linux.it?subject=subscribe>","Cc":"somadas1@linux.ibm.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it","Sender":"\"ltp\" <ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it>"},"content":"When executed with -w N, all workers share the hardcoded\n\"/test_mqueue\" queue name. The second worker to reach\nSAFE_MQ_OPEN(O_CREAT|O_EXCL) finds the queue already exists\nand aborts with TBROK: EEXIST.\n\nFix by generating a per-process queue name using getpid(),\nmatching the approach used in mq_timedreceive01.\n\nSigned-off-by: Soma Das <somadas1@linux.ibm.com>\n---\n testcases/kernel/syscalls/mq_unlink/mq_unlink01.c | 14 +++++++-------\n 1 file changed, 7 insertions(+), 7 deletions(-)","diff":"diff --git a/testcases/kernel/syscalls/mq_unlink/mq_unlink01.c b/testcases/kernel/syscalls/mq_unlink/mq_unlink01.c\nindex baca57948..1cfffb083 100644\n--- a/testcases/kernel/syscalls/mq_unlink/mq_unlink01.c\n+++ b/testcases/kernel/syscalls/mq_unlink/mq_unlink01.c\n@@ -14,10 +14,9 @@\n #include \"tst_test.h\"\n #include \"tst_safe_posix_ipc.h\"\n \n-#define QUEUE_NAME\t\"/test_mqueue\"\n-\n static uid_t euid;\n static struct passwd *pw;\n+static char queue_name[64];\n \n struct test_case {\n \tint as_nobody;\n@@ -28,13 +27,11 @@ struct test_case {\n \n static struct test_case tcase[] = {\n \t{\n-\t\t.qname = QUEUE_NAME,\n \t\t.ret = 0,\n \t\t.err = 0,\n \t},\n \t{\n \t\t.as_nobody = 1,\n-\t\t.qname = QUEUE_NAME,\n \t\t.ret = -1,\n \t\t.err = EACCES,\n \t},\n@@ -64,6 +61,9 @@ static struct test_case tcase[] = {\n \n void setup(void)\n {\n+\tsnprintf(queue_name, sizeof(queue_name), \"/test_mqueue_%d\", getpid());\n+\ttcase[0].qname = queue_name;\n+\ttcase[1].qname = queue_name;\n \teuid = geteuid();\n \tpw = SAFE_GETPWNAM(\"nobody\");\n }\n@@ -79,10 +79,10 @@ static void do_test(unsigned int i)\n \t * When test ended with SIGTERM etc, mq descriptor is left remains.\n \t * So we delete it first.\n \t */\n-\tmq_unlink(QUEUE_NAME);\n+\tmq_unlink(queue_name);\n \n \t/* prepare */\n-\tfd = SAFE_MQ_OPEN(QUEUE_NAME, O_CREAT | O_EXCL | O_RDWR, S_IRWXU, NULL);\n+\tfd = SAFE_MQ_OPEN(queue_name, O_CREAT | O_EXCL | O_RDWR, S_IRWXU, NULL);\n \n \tif (tc->as_nobody && seteuid(pw->pw_uid)) {\n \t\ttst_res(TFAIL | TERRNO, \"seteuid failed\");\n@@ -107,7 +107,7 @@ EXIT:\n \tif (fd > 0 && close(fd))\n \t\ttst_res(TWARN | TERRNO, \"close(fd) failed\");\n \n-\tmq_unlink(QUEUE_NAME);\n+\tmq_unlink(queue_name);\n }\n \n static struct tst_test test = {\n","prefixes":[]}