On Mon, Dec 30, 2019 at 02:03:29PM -0800, J Freyensee wrote:
quoted
+#ifdef CONFIG_PROC_FS
+static inline void pidns_proc_lock(struct pid_namespace *pid_ns)
+{
+ down_write(&pid_ns->rw_proc_mounts);
+}
+
+static inline void pidns_proc_unlock(struct pid_namespace *pid_ns)
+{
+ up_write(&pid_ns->rw_proc_mounts);
+}
+
+static inline void pidns_proc_lock_shared(struct pid_namespace *pid_ns)
+{
+ down_read(&pid_ns->rw_proc_mounts);
+}
+
+static inline void pidns_proc_unlock_shared(struct pid_namespace *pid_ns)
+{
+ up_read(&pid_ns->rw_proc_mounts);
+}
+#else /* !CONFIG_PROC_FS */
+
Apologies for my newbie question. I couldn't help but notice all these
function calls are assuming that the parameter struct pid_namespace *pid_ns
will never be NULL. Is that a good assumption?
These inline helpers are introduced to improve readability. They only make
sense inside procfs. I don't think that defensive programming is useful
here.
--
Rgrds, legion