From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2108.outbound.protection.outlook.com [40.107.215.108]) by sourceware.org (Postfix) with ESMTPS id 784073858434 for ; Wed, 13 Jul 2022 05:18:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 784073858434 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=alauda.io Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=alauda.io ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I6vMF9XY37eIwkFcb0/9fMRGaLRq6Qv0HaEchDiFsElXB8FSUc8FHN2PWlTc0oW40Fsc+Hq0fJe6qiyXBW8w7Rtqkli7p7THyz1plslx42HQa08SEbPaF+kqsaEtzGmbRquXbWhogncdFWCQG/Wc4d2PVkvnMeBNKGW6bYzSQh0NOLLWZqKuq2EnwoB5fFR1v9sSNs5M6qSwY1/g41+mOn+jcybymxP42smPC46gfTKUKua9WcX3nGt6XB8weyLoXyP8CdJn2bYGg68BDMl0rGr+PNZXTCIHuECqtfYLMYb9KlHkEzSz7qPsB48V1c9IOJ4H1hNRKy3Bof6LLzn/xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E11RzyIQCfzGDP6A8FACYh0yhzjCrd8Zwz8lArbNitU=; b=m3haDsYtE+mZRk01iSSMuxVsTwSRVsTeZP4nnkIIYZjFK4DvjV/SGlOy3ChgKk8L0t3fRRJiC2F39EEpIPr9iY2rPEoM7LDNb70yuPuRXQ0c+SC8QJ7pU7PwqB2TyHT/DyiSkJTONlBp/VFXD1UJ/Exq+JUTRzju7/XdFD2K/qpVjmO18fPBx3/omDFwZ9I+9VjQOYLTpfAvOo1NgpMOOCkXSWsVjCC1HrOg6BcYp2keRK2EP6yp40MFCOrtcQVE0soSPRuHpbh0sLsZKXbHmvi2eq2dKnRrwX4zRr9SsQrAFUMIYeQLzd8oE7IprAyTZ1x8OYo2s284nG8v/zI/mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=alauda.io; dmarc=pass action=none header.from=alauda.io; dkim=pass header.d=alauda.io; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mathilde2014.onmicrosoft.com; s=selector2-mathilde2014-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E11RzyIQCfzGDP6A8FACYh0yhzjCrd8Zwz8lArbNitU=; b=F9ny1xy++RrszqxCRlZv2F7uxw7zDIzYODhhjOrZV1RSV0rrqsGAp5rGut6uU1EuI2qLI+tMWIeWUutM3/JQPKrxNow+2GTNFZ+fqokvwmU4xviPsKEsQEO670wk6nZxZYkQmtQMmtZmhuFTQv2dJ0Krz8MKdknyMONpeQlDb5s= Received: from HK0PR01MB3491.apcprd01.prod.exchangelabs.com (2603:1096:203:b9::11) by HK0PR01MB2707.apcprd01.prod.exchangelabs.com (2603:1096:203:a2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.26; Wed, 13 Jul 2022 05:18:53 +0000 Received: from HK0PR01MB3491.apcprd01.prod.exchangelabs.com ([fe80::13b:3dc3:95b0:a3f3]) by HK0PR01MB3491.apcprd01.prod.exchangelabs.com ([fe80::13b:3dc3:95b0:a3f3%4]) with mapi id 15.20.5417.026; Wed, 13 Jul 2022 05:18:53 +0000 From: Cong Wu To: "systemtap@sourceware.org" Subject: a idea about probe proc path like /proc/pid/root/xxx Thread-Topic: a idea about probe proc path like /proc/pid/root/xxx Thread-Index: AQHYlnZvoqj/H9iABE+mmdVV+PVS3A== Date: Wed, 13 Jul 2022 05:18:52 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=alauda.io; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 12c9dffb-db1b-448f-5db3-08da648f2d54 x-ms-traffictypediagnostic: HK0PR01MB2707:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vE9KSUxxJEQgTqthxUm17aad7oidKsIxTfeTaI4yXtaokjRSWp0eYntNiGtew2+wkF1hXB+G/8LBYRhRw7DtmbctGow7DQw9wL297tQPie0YhdMlFymPK10lrucqymd5Gy8HmuJes5qZdUcv8zka+2Y2brWrZMh57mlyjDK4JUlqqrf9kugaXghBvIFgXCfWJUP9VQcIHMqtXbigDj2sB3M2IB0P9OMD8iQZl8Gnm+XRkO6EUemEMeUQOaQjPbbVOt2mSvGF4g0npLG3SX5Z8L9iNHmxJx0LYOYgUBR1JDV5eTMrFWArvfUKi32Hq5bhJYtY+lUyC8+L/LFvraHR1o7eZzJC0SjN4F7SY5SW7oA8kkiOhqk2qC0SXEMyiY6VrTHbTAW6fTSGWXVs7KRUDOa6VoYPtyIhsnnutHbt+AC15Tmo+cee+FvHg189A7tMOrZV/v1b1L7RlVrbIEcZ8NcHIcbri5dKC5eF2rNQgP+Y5hFST9JgtKwnLLWPrwkcM0bj6R290Mr/bsxepT8joHPmAi9avhpi9A1G8VSDXRy7NziLj72V1cPnlW8nk9/+9+HjVVv4igb4kvPxO6M9/RM/aJdebvWGotwPIaV0fz1NU7HYbzILbYjScQRhAJw3n7RQzuFcIENyeZHwgY9TLZG6bImTkqYsNxt8FegYLTbjSKHoFXW9HHQUJPhJ0NRuOa6kOAFBMX5Z/QeTWVG3FJF6Msz3DTU29RTbjjX7U9L/1n3SBWQf4gl9vqGqu2YkPaTC/t3NpR06hXCdEUKE2IagYja/cBDmoEzX9J883jDBM9majj370cEh1zoLgKGrGO3mlQXP3Zy0LWjJhKLu8PBgJQwBWLiJV7G3wQAGO5XCWLPXe4Bf7oFDhBNNyp90NtxWzcF3JjkNCG2LEySubYzODwAz8Yv2L2xcInG+RsY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HK0PR01MB3491.apcprd01.prod.exchangelabs.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(376002)(39830400003)(136003)(396003)(346002)(7696005)(122000001)(5660300002)(55016003)(86362001)(52536014)(33656002)(26005)(8936002)(9686003)(6506007)(38100700002)(38070700005)(19627405001)(186003)(2906002)(478600001)(83380400001)(71200400001)(64756008)(6916009)(66446008)(316002)(66476007)(66946007)(76116006)(966005)(66556008)(41300700001)(8676002)(13513002)(21314003)(579124003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?UbfSzcaU+QJwtRf7S1EE4vTfH4JsEm59nql/a3c6c7/r/mJEUVCRUPAoOb?= =?iso-8859-1?Q?mb1gYoKYZG6pl9FCvY41S5iJfW82N5SHOXtIwAaxRvMIHDXjx5SRDtKKqv?= =?iso-8859-1?Q?BlPLDRmhn4Yf6lARtpljWa8Dcx3ddRx5ko+ROqkRp6e17VpLAgT7P+ZSDI?= =?iso-8859-1?Q?k0EkjiPuAJudBjta3ED9HCu+BhTzpYc3ZHegcKJMA9IQgwr7NcaBjuZq1S?= =?iso-8859-1?Q?LFjcJ5zKoc0akK2w0XdPJ0J0idqdxrWFJnkFHeCsFIHm9B+AUdMC16CGUz?= =?iso-8859-1?Q?almhqrlK2kB8FMBbBlJQX0D1swHfEQWkaufhyEqEtY2TH3LlO2IJA70Si9?= =?iso-8859-1?Q?HY8SxB+QfzUa/+VieWYldigdSPbvBGm2rvs254UKSpIiOh29kCvReOK1Io?= =?iso-8859-1?Q?7FN7THSF/qEjfKA8Viv2ONTAB+Y1XAvZwK99CdYehugrPsav4smRr4HNG2?= =?iso-8859-1?Q?4EKkcuU6q3mQaa0TXfvvghKT3CMrgSEdI4ioj+xexE90MDS2bgOm139tMu?= =?iso-8859-1?Q?b+l7SfMqkaoqwJKGVbhEXbih165sqgZCmZwitsPe7OyMLlQG+XjWuuL+BD?= =?iso-8859-1?Q?wMSje6M8BAongxm6DPQ2dXyHUhsU343qrWfOjGxTTyAlRJXcNReBOaFzsX?= =?iso-8859-1?Q?jTefgeOCBEfAJOWwt3YOhJzj0hrzgguYZ0SK50/XUc6uoV8iy9lhakBkQF?= =?iso-8859-1?Q?4Cln54I8bsBYqfLcbqne6fp8RSUbBDqPsZYqljeOg7RYmMhJwScxZJBXwh?= =?iso-8859-1?Q?13PgMGl/g9k9zfhi9GEtzYB3e0R6asWJSrNrRhZV93R0uLbLLIt9YjYDyv?= =?iso-8859-1?Q?gNYyfn4rIMh1hW2gJ0NIOfDiQSWm1AWK2GQuvmlFxDnHmQ1wcE1GLQMVLu?= =?iso-8859-1?Q?mtaNtFfvBVuo6qhRXxd36nZ3cMi+GUomAIY6ep2ISdF42e/qkiU9yzSFID?= =?iso-8859-1?Q?y8wklRSjmX17kDQ5A+7COXFLP13+jeY0MRlA+MjiOldBazoZCWgjw4GNht?= =?iso-8859-1?Q?wulJ8Hbav3lyfBwvAAxpbRzr53r86ZXvm55u76aJwqW3ndiKM51RjsO6P/?= =?iso-8859-1?Q?7aGmVnXZoEYbAzBatPgfOOeL2PwUUgASafuIZIsuDa+V2T1iAPlYuosSD9?= =?iso-8859-1?Q?74ze94fW2yG/RoiOPpiHQQ3vpvO5FGkQki2VbZHY5eZJF3IzDrFcXZIrcZ?= =?iso-8859-1?Q?funOEZq5QfMX/Ybu01LyBcIxVzVTkVP9WNQaEjrYGnX8GNiY5594dRoV82?= =?iso-8859-1?Q?8vkLPcIdhAi3NPqgitOV3oQ66iLZIgu6KfkHN4toLzRhC+RSinGrj6Odjc?= =?iso-8859-1?Q?c7Mp0tVzB3rYkb+wd+u91/uwL3MJFJoNReVzudU+M11FFSvhnCy98T+IWY?= =?iso-8859-1?Q?+1a+wYOTCJGXNlkWDhedQpcd6jTbm6v6h4MpP6m1sZf9O3MwAnfAIUptpG?= =?iso-8859-1?Q?ouGl7cdtNjCd870ZHNg66xtSHew56s3X9q6VGSXm+oPY/MBD68PS6T+Pps?= =?iso-8859-1?Q?byTIKb5ZMQ62TDvxrpmZPU6goAcei3ctviPBoXzySVFkngqMG8yqapzabq?= =?iso-8859-1?Q?GuepIZRwAYn5Lk8GSEYO0oaOK8Pqctj8GvaCl+qkyhOA/KYSslluWJhHCJ?= =?iso-8859-1?Q?M7H9MPlBhLS8o=3D?= MIME-Version: 1.0 X-OriginatorOrg: alauda.io X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: HK0PR01MB3491.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12c9dffb-db1b-448f-5db3-08da648f2d54 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2022 05:18:52.9326 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 7ec61fd3-4825-4cf3-931a-f67c1156f955 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dBNui3KMsL2bWahQZXAJu2Vj8QXm1RTVicHBQhK9sG+/MVOLoVsNY1gDiw0/LUix1NzotoE8Pohd2SLgZ9Tpcw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK0PR01MB2707 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: systemtap@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Systemtap mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2022 05:19:01 -0000 hi all. currently, I'm use stap to probe user process like `probe process("= /proc/xx/root/xxx").function("a")`, what I really want is to probe a proces= s running in docker, I make a small patch. here is what i did. https://github.com/woodgear/systemtap-wg/commit/0872dc3= f5594be520afd83fc5075fff8c6bec955. basically if solib_pathname start with /proc/$(task->tgid)/root then i just= compare the rest part of it. ``` --- a/runtime/linux/uprobes-inode.c +++ b/runtime/linux/uprobes-inode.c @@ -813,6 +813,8 @@ stapiu_mmap_found(struct stap_task_finder_target *tf_ta= rget, struct stapiu_process* p; int known_mapping_p; unsigned long flags; + char proc_path_buff[100]; + char *proc_path=3D"/proc/"; dbug_uprobes("wg: in mmap_found pid %d inode %ld\n",task->tgid,dentry->d= _inode->i_ino); @@ -876,18 +878,33 @@ stapiu_mmap_found(struct stap_task_finder_target *tf_= target, if (! known_mapping_p) { /* The file path or build-id must match. The build-id address * is calculated using start address of this vma, the file * offset of the vma start address and the file offset of * the build-id. */ - if (c->solib_pathname && path && strcmp (path, c->solib_pathname)) - return 0; + if (c->solib_pathname && path) { + if (strncmp(proc_path, c->solib_pathname, strlen(proc_path)) =3D= =3D 0) { + sprintf(proc_path_buff,"/proc/%d/root%s",task->tgid,path); + if (strcmp (proc_path_buff, c->solib_pathname)) { + return 0; + } + }else { + // not proc path just compare + if (strcmp (path, c->solib_pathname)) { + return 0; + } + } + } if (c->solib_build_id_len > 0 && !__verify_build_id(task, addr - offset + c->= solib_build_id_vaddr, c->solib_build_id, - c->solib_build_id_l= en)) + c->solib_build_id_l= en)) { + return 0; + } } // If we made it this far, we have an interesting solib. @@ -923,7 +940,7 @@ stapiu_mmap_found(struct stap_task_finder_target *tf_ta= rget, spin_lock_irqsave (&c->process_list_lock, flags); list_add(&p->process_list, &c->process_list_head); spin_unlock_irqrestore (&c->process_list_lock, flags); } else _stp_warn("out of memory tracking solib %s in process %ld\n", path, (long) task->tgid); ``` this is just a draft code to show what I want to change. is this way work? A further idea is that we can add an option like --use-proc-path to find th= e uprobe file path at a given pid.