From: Tejun Heo <tj@kernel.org> To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, Tejun Heo <tj@kernel.org>, David Airlie <airlied@linux.ie>, dri-devel@lists.freedesktop.org, Inki Dae <inki.dae@samsung.com>, Joonyoung Shim <jy0922.shim@samsung.com>, Seung-Woo Kim <sw0312.kim@samsung.com>, Kyungmin Park <kyungmin.park@samsung.com> Subject: [PATCH 06/77] drm: don't use idr_remove_all() Date: Wed, 6 Feb 2013 11:39:38 -0800 [thread overview] Message-ID: <1360179649-22465-7-git-send-email-tj@kernel.org> (raw) In-Reply-To: <1360179649-22465-1-git-send-email-tj@kernel.org> idr_destroy() can destroy idr by itself and idr_remove_all() is being deprecated. Drop its usage. * drm_ctxbitmap_cleanup() was calling idr_remove_all() but forgetting idr_destroy() thus leaking all buffered free idr_layers. Replace it with idr_destroy(). Signed-off-by: Tejun Heo <tj@kernel.org> Cc: David Airlie <airlied@linux.ie> Cc: dri-devel@lists.freedesktop.org Cc: Inki Dae <inki.dae@samsung.com> Cc: Joonyoung Shim <jy0922.shim@samsung.com> Cc: Seung-Woo Kim <sw0312.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> --- drivers/gpu/drm/drm_context.c | 2 +- drivers/gpu/drm/drm_crtc.c | 1 - drivers/gpu/drm/drm_drv.c | 1 - drivers/gpu/drm/drm_gem.c | 2 -- drivers/gpu/drm/exynos/exynos_drm_ipp.c | 4 ---- drivers/gpu/drm/sis/sis_drv.c | 1 - drivers/gpu/drm/via/via_map.c | 1 - 7 files changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/gpu/drm/drm_context.c b/drivers/gpu/drm/drm_context.c index 45adf97..75f62c5 100644 --- a/drivers/gpu/drm/drm_context.c +++ b/drivers/gpu/drm/drm_context.c @@ -118,7 +118,7 @@ int drm_ctxbitmap_init(struct drm_device * dev) void drm_ctxbitmap_cleanup(struct drm_device * dev) { mutex_lock(&dev->struct_mutex); - idr_remove_all(&dev->ctx_idr); + idr_destroy(&dev->ctx_idr); mutex_unlock(&dev->struct_mutex); } diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 9c797f6..775102d 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -1258,7 +1258,6 @@ void drm_mode_config_cleanup(struct drm_device *dev) crtc->funcs->destroy(crtc); } - idr_remove_all(&dev->mode_config.crtc_idr); idr_destroy(&dev->mode_config.crtc_idr); } EXPORT_SYMBOL(drm_mode_config_cleanup); diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index be174ca..25f91cd 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -297,7 +297,6 @@ static void __exit drm_core_exit(void) unregister_chrdev(DRM_MAJOR, "drm"); - idr_remove_all(&drm_minors_idr); idr_destroy(&drm_minors_idr); } diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 24efae4..e775859 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -561,8 +561,6 @@ drm_gem_release(struct drm_device *dev, struct drm_file *file_private) { idr_for_each(&file_private->object_idr, &drm_gem_object_release_handle, file_private); - - idr_remove_all(&file_private->object_idr); idr_destroy(&file_private->object_idr); } diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c index 1a55635..90398df 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c +++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c @@ -1786,8 +1786,6 @@ err_iommu: drm_iommu_detach_device(drm_dev, ippdrv->dev); err_idr: - idr_remove_all(&ctx->ipp_idr); - idr_remove_all(&ctx->prop_idr); idr_destroy(&ctx->ipp_idr); idr_destroy(&ctx->prop_idr); return ret; @@ -1965,8 +1963,6 @@ static int ipp_remove(struct platform_device *pdev) exynos_drm_subdrv_unregister(&ctx->subdrv); /* remove,destroy ipp idr */ - idr_remove_all(&ctx->ipp_idr); - idr_remove_all(&ctx->prop_idr); idr_destroy(&ctx->ipp_idr); idr_destroy(&ctx->prop_idr); diff --git a/drivers/gpu/drm/sis/sis_drv.c b/drivers/gpu/drm/sis/sis_drv.c index 841065b..5a5325e 100644 --- a/drivers/gpu/drm/sis/sis_drv.c +++ b/drivers/gpu/drm/sis/sis_drv.c @@ -58,7 +58,6 @@ static int sis_driver_unload(struct drm_device *dev) { drm_sis_private_t *dev_priv = dev->dev_private; - idr_remove_all(&dev_priv->object_idr); idr_destroy(&dev_priv->object_idr); kfree(dev_priv); diff --git a/drivers/gpu/drm/via/via_map.c b/drivers/gpu/drm/via/via_map.c index c0f1cc7..d0ab3fb 100644 --- a/drivers/gpu/drm/via/via_map.c +++ b/drivers/gpu/drm/via/via_map.c @@ -120,7 +120,6 @@ int via_driver_unload(struct drm_device *dev) { drm_via_private_t *dev_priv = dev->dev_private; - idr_remove_all(&dev_priv->object_idr); idr_destroy(&dev_priv->object_idr); kfree(dev_priv); -- 1.8.1
WARNING: multiple messages have this Message-ID (diff)
From: Tejun Heo <tj@kernel.org> To: akpm@linux-foundation.org Cc: Seung-Woo Kim <sw0312.kim@samsung.com>, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Kyungmin Park <kyungmin.park@samsung.com>, Tejun Heo <tj@kernel.org> Subject: [PATCH 06/77] drm: don't use idr_remove_all() Date: Wed, 6 Feb 2013 11:39:38 -0800 [thread overview] Message-ID: <1360179649-22465-7-git-send-email-tj@kernel.org> (raw) In-Reply-To: <1360179649-22465-1-git-send-email-tj@kernel.org> idr_destroy() can destroy idr by itself and idr_remove_all() is being deprecated. Drop its usage. * drm_ctxbitmap_cleanup() was calling idr_remove_all() but forgetting idr_destroy() thus leaking all buffered free idr_layers. Replace it with idr_destroy(). Signed-off-by: Tejun Heo <tj@kernel.org> Cc: David Airlie <airlied@linux.ie> Cc: dri-devel@lists.freedesktop.org Cc: Inki Dae <inki.dae@samsung.com> Cc: Joonyoung Shim <jy0922.shim@samsung.com> Cc: Seung-Woo Kim <sw0312.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> --- drivers/gpu/drm/drm_context.c | 2 +- drivers/gpu/drm/drm_crtc.c | 1 - drivers/gpu/drm/drm_drv.c | 1 - drivers/gpu/drm/drm_gem.c | 2 -- drivers/gpu/drm/exynos/exynos_drm_ipp.c | 4 ---- drivers/gpu/drm/sis/sis_drv.c | 1 - drivers/gpu/drm/via/via_map.c | 1 - 7 files changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/gpu/drm/drm_context.c b/drivers/gpu/drm/drm_context.c index 45adf97..75f62c5 100644 --- a/drivers/gpu/drm/drm_context.c +++ b/drivers/gpu/drm/drm_context.c @@ -118,7 +118,7 @@ int drm_ctxbitmap_init(struct drm_device * dev) void drm_ctxbitmap_cleanup(struct drm_device * dev) { mutex_lock(&dev->struct_mutex); - idr_remove_all(&dev->ctx_idr); + idr_destroy(&dev->ctx_idr); mutex_unlock(&dev->struct_mutex); } diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 9c797f6..775102d 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -1258,7 +1258,6 @@ void drm_mode_config_cleanup(struct drm_device *dev) crtc->funcs->destroy(crtc); } - idr_remove_all(&dev->mode_config.crtc_idr); idr_destroy(&dev->mode_config.crtc_idr); } EXPORT_SYMBOL(drm_mode_config_cleanup); diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index be174ca..25f91cd 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -297,7 +297,6 @@ static void __exit drm_core_exit(void) unregister_chrdev(DRM_MAJOR, "drm"); - idr_remove_all(&drm_minors_idr); idr_destroy(&drm_minors_idr); } diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 24efae4..e775859 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -561,8 +561,6 @@ drm_gem_release(struct drm_device *dev, struct drm_file *file_private) { idr_for_each(&file_private->object_idr, &drm_gem_object_release_handle, file_private); - - idr_remove_all(&file_private->object_idr); idr_destroy(&file_private->object_idr); } diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c index 1a55635..90398df 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c +++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c @@ -1786,8 +1786,6 @@ err_iommu: drm_iommu_detach_device(drm_dev, ippdrv->dev); err_idr: - idr_remove_all(&ctx->ipp_idr); - idr_remove_all(&ctx->prop_idr); idr_destroy(&ctx->ipp_idr); idr_destroy(&ctx->prop_idr); return ret; @@ -1965,8 +1963,6 @@ static int ipp_remove(struct platform_device *pdev) exynos_drm_subdrv_unregister(&ctx->subdrv); /* remove,destroy ipp idr */ - idr_remove_all(&ctx->ipp_idr); - idr_remove_all(&ctx->prop_idr); idr_destroy(&ctx->ipp_idr); idr_destroy(&ctx->prop_idr); diff --git a/drivers/gpu/drm/sis/sis_drv.c b/drivers/gpu/drm/sis/sis_drv.c index 841065b..5a5325e 100644 --- a/drivers/gpu/drm/sis/sis_drv.c +++ b/drivers/gpu/drm/sis/sis_drv.c @@ -58,7 +58,6 @@ static int sis_driver_unload(struct drm_device *dev) { drm_sis_private_t *dev_priv = dev->dev_private; - idr_remove_all(&dev_priv->object_idr); idr_destroy(&dev_priv->object_idr); kfree(dev_priv); diff --git a/drivers/gpu/drm/via/via_map.c b/drivers/gpu/drm/via/via_map.c index c0f1cc7..d0ab3fb 100644 --- a/drivers/gpu/drm/via/via_map.c +++ b/drivers/gpu/drm/via/via_map.c @@ -120,7 +120,6 @@ int via_driver_unload(struct drm_device *dev) { drm_via_private_t *dev_priv = dev->dev_private; - idr_remove_all(&dev_priv->object_idr); idr_destroy(&dev_priv->object_idr); kfree(dev_priv); -- 1.8.1
next prev parent reply other threads:[~2013-02-06 20:13 UTC|newest] Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-02-06 19:39 [PATCHSET] idr: deprecate idr_remova_all() and add idr_alloc() Tejun Heo 2013-02-06 19:39 ` [PATCH 01/77] idr: fix a subtle bug in idr_get_next() Tejun Heo 2013-02-06 19:39 ` [PATCH 02/77] idr: make idr_destroy() imply idr_remove_all() Tejun Heo 2013-02-06 19:39 ` [PATCH 03/77] atm/nicstar: don't use idr_remove_all() Tejun Heo 2013-02-06 19:39 ` [PATCH 04/77] block/loop: " Tejun Heo 2013-02-06 19:39 ` [PATCH 05/77] firewire: " Tejun Heo 2013-02-06 19:39 ` Tejun Heo [this message] 2013-02-06 19:39 ` [PATCH 06/77] drm: " Tejun Heo 2013-02-06 19:39 ` [PATCH 07/77] dm: " Tejun Heo 2013-02-06 19:39 ` [PATCH 08/77] remoteproc: " Tejun Heo 2013-02-06 19:39 ` [PATCH 09/77] rpmsg: " Tejun Heo 2013-02-06 19:39 ` [PATCH 10/77] dlm: use idr_for_each_entry() in recover_idr_clear() error path Tejun Heo 2013-02-06 19:39 ` [Cluster-devel] " Tejun Heo 2013-02-06 19:39 ` [PATCH 11/77] dlm: don't use idr_remove_all() Tejun Heo 2013-02-06 19:39 ` [Cluster-devel] " Tejun Heo 2013-02-06 19:39 ` [PATCH 12/77] nfs: idr_destroy() no longer needs idr_remove_all() Tejun Heo 2013-02-06 19:39 ` [PATCH 13/77] inotify: don't use idr_remove_all() Tejun Heo [not found] ` <1360179649-22465-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> 2013-02-06 19:39 ` [PATCH 14/77] cgroup: " Tejun Heo 2013-02-06 19:39 ` Tejun Heo [not found] ` <1360179649-22465-15-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> 2013-02-07 1:29 ` Li Zefan 2013-02-07 1:29 ` Li Zefan 2013-02-07 1:29 ` Li Zefan 2013-02-06 19:40 ` [PATCH 42/77] IB/ehca: convert to idr_alloc() Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 19:40 ` [PATCH 71/77] cgroup: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 19:39 ` [PATCH 15/77] idr: deprecate idr_remove_all() Tejun Heo 2013-02-06 19:39 ` [PATCH 16/77] idr: cosmetic updates to struct / initializer definitions Tejun Heo 2013-02-06 19:39 ` [PATCH 17/77] idr: relocate idr_for_each_entry() and reorganize id[r|a]_get_new() Tejun Heo 2013-02-06 19:39 ` [PATCH 18/77] idr: remove _idr_rc_to_errno() hack Tejun Heo 2013-02-06 19:39 ` [PATCH 19/77] idr: refactor idr_get_new_above() Tejun Heo 2013-02-06 19:39 ` [PATCH 20/77] idr: implement idr_preload[_end]() and idr_alloc() Tejun Heo 2013-02-07 19:53 ` [PATCH v3 " Tejun Heo 2013-02-06 19:39 ` [PATCH 21/77] block: fix synchronization and limit check in blk_alloc_devt() Tejun Heo 2013-02-06 22:24 ` Andrew Morton 2013-02-06 22:27 ` Tejun Heo 2013-02-06 22:32 ` Andrew Morton 2013-02-06 22:33 ` Tejun Heo 2013-02-06 19:39 ` [PATCH 22/77] block: convert to idr_alloc() Tejun Heo 2013-02-06 19:39 ` [PATCH 23/77] block/loop: " Tejun Heo 2013-02-07 18:25 ` [PATCH 22.5/77] block/loop: fix error return value in loop_add() Tejun Heo 2013-02-07 18:26 ` [PATCH v2 23/77] block/loop: convert to idr_alloc() Tejun Heo 2013-02-06 19:39 ` [PATCH 24/77] atm/nicstar: " Tejun Heo 2013-02-06 19:39 ` [PATCH 25/77] drbd: " Tejun Heo 2013-02-06 19:39 ` [PATCH 26/77] dca: " Tejun Heo 2013-02-06 19:39 ` [PATCH 27/77] dmaengine: " Tejun Heo 2013-02-06 19:40 ` [PATCH 28/77] firewire: add minor number range check to fw_device_init() Tejun Heo 2013-02-06 19:40 ` [PATCH 29/77] firewire: convert to idr_alloc() Tejun Heo 2013-02-06 19:40 ` [PATCH 30/77] gpio: " Tejun Heo 2013-02-06 19:40 ` [PATCH 31/77] drm: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 19:40 ` [PATCH 32/77] drm/exynos: " Tejun Heo 2013-02-06 19:40 ` [PATCH 33/77] drm/i915: " Tejun Heo 2013-02-06 19:40 ` [PATCH 34/77] drm/sis: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 19:40 ` [PATCH 35/77] drm/via: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 19:40 ` [PATCH 36/77] drm/vmwgfx: " Tejun Heo 2013-02-06 19:40 ` [PATCH 37/77] i2c: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-07 15:28 ` Mark Brown 2013-02-07 16:32 ` Tejun Heo 2013-02-07 16:32 ` Tejun Heo 2013-02-07 16:39 ` Mark Brown 2013-02-07 16:39 ` Mark Brown 2013-02-07 16:55 ` [PATCH v2] " Tejun Heo 2013-02-07 16:55 ` Tejun Heo 2013-02-07 18:52 ` Mark Brown 2013-02-08 12:10 ` Mark Brown 2013-02-08 12:10 ` Mark Brown 2013-02-10 11:47 ` Wolfram Sang 2013-02-10 11:47 ` Wolfram Sang 2013-02-12 17:34 ` [PATCH -mm] i2c: style cleanups after idr_alloc() conversion Tejun Heo 2013-02-12 17:34 ` Tejun Heo 2013-02-12 17:36 ` Tejun Heo 2013-02-12 17:36 ` Tejun Heo 2013-02-12 18:00 ` Jean Delvare 2013-02-12 18:00 ` Jean Delvare 2013-02-13 20:42 ` Wolfram Sang 2013-02-13 20:42 ` Wolfram Sang 2013-02-06 19:40 ` [PATCH 38/77] IB/core: convert to idr_alloc() Tejun Heo 2013-02-06 19:40 ` [PATCH 39/77] IB/amso1100: " Tejun Heo 2013-02-06 19:40 ` [PATCH 40/77] IB/cxgb3: " Tejun Heo 2013-02-06 19:40 ` [PATCH 41/77] IB/cxgb4: " Tejun Heo 2013-02-06 19:40 ` [PATCH 43/77] IB/ipath: " Tejun Heo 2013-02-06 19:40 ` [PATCH 44/77] IB/mlx4: " Tejun Heo 2013-02-06 19:40 ` [PATCH 45/77] IB/ocrdma: " Tejun Heo 2013-02-06 19:40 ` [PATCH 46/77] IB/qib: " Tejun Heo 2013-02-06 19:40 ` [PATCH 47/77] dm: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 19:40 ` [PATCH 48/77] memstick: " Tejun Heo 2013-02-06 19:40 ` [PATCH 49/77] mfd: " Tejun Heo 2013-02-06 19:40 ` [PATCH 50/77] misc/c2port: " Tejun Heo 2013-02-06 19:40 ` [PATCH 51/77] misc/tifm_core: " Tejun Heo 2013-02-06 19:40 ` [PATCH 52/77] mmc: " Tejun Heo 2013-02-06 19:40 ` [PATCH 53/77] mtd: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 19:40 ` [PATCH 54/77] macvtap: " Tejun Heo 2013-02-06 19:40 ` [PATCH 55/77] ppp: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 19:40 ` [PATCH 56/77] power: " Tejun Heo 2013-02-06 19:40 ` [PATCH 57/77] pps: " Tejun Heo 2013-02-06 19:40 ` [PATCH 58/77] remoteproc: " Tejun Heo 2013-02-06 19:40 ` [PATCH 59/77] rpmsg: " Tejun Heo 2013-02-06 19:40 ` [PATCH 60/77] scsi/bfa: " Tejun Heo 2013-02-06 19:40 ` [PATCH 61/77] scsi: " Tejun Heo 2013-02-06 19:40 ` [PATCH 62/77] target/iscsi: " Tejun Heo 2013-02-06 19:40 ` [PATCH 63/77] scsi/lpfc: " Tejun Heo 2013-02-11 22:47 ` James Smart 2013-02-11 22:47 ` James Smart 2013-02-06 19:40 ` [PATCH 64/77] thermal: " Tejun Heo 2013-02-06 19:40 ` [PATCH 65/77] uio: " Tejun Heo 2013-02-06 19:40 ` [PATCH 66/77] vfio: " Tejun Heo 2013-02-06 19:40 ` [PATCH 67/77] dlm: " Tejun Heo 2013-03-11 19:29 ` David Teigland 2013-03-11 20:28 ` Tejun Heo 2013-03-12 15:17 ` David Teigland 2013-03-12 21:22 ` [PATCH] idr: idr_alloc() shouldn't trigger lowmem warning when preloaded Tejun Heo 2013-02-06 19:40 ` [PATCH 68/77] inotify: convert to idr_alloc() Tejun Heo 2013-02-06 19:40 ` [PATCH 69/77] ocfs2: " Tejun Heo 2013-02-06 19:40 ` [PATCH 70/77] ipc: " Tejun Heo 2013-02-07 19:43 ` [PATCH v2 " Tejun Heo 2013-02-06 19:40 ` [PATCH 72/77] events: " Tejun Heo 2013-02-06 19:40 ` [PATCH 73/77] posix-timers: " Tejun Heo 2013-02-06 19:40 ` [PATCH 74/77] net/9p: " Tejun Heo 2013-02-06 19:40 ` [PATCH 75/77] mac80211: " Tejun Heo 2013-02-06 19:40 ` [PATCH 76/77] sctp: " Tejun Heo 2013-02-06 19:40 ` Tejun Heo 2013-02-06 20:07 ` Vlad Yasevich 2013-02-06 20:07 ` Vlad Yasevich 2013-02-07 14:49 ` Neil Horman 2013-02-07 14:49 ` Neil Horman 2013-02-06 19:40 ` [PATCH 77/77] nfs4client: " Tejun Heo 2013-02-08 4:04 ` [PATCHSET] idr: deprecate idr_remova_all() and add idr_alloc() Dave Airlie
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1360179649-22465-7-git-send-email-tj@kernel.org \ --to=tj@kernel.org \ --cc=airlied@linux.ie \ --cc=akpm@linux-foundation.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=inki.dae@samsung.com \ --cc=jy0922.shim@samsung.com \ --cc=kyungmin.park@samsung.com \ --cc=linux-kernel@vger.kernel.org \ --cc=sw0312.kim@samsung.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.