On Wed, Mar 30, 2022 at 10:44:50PM +0800, chenchacha wrote: > > @@ -2298,6 +2309,14 @@ static int i_ipmi_request(struct ipmi_user *user, > > struct ipmi_recv_msg *recv_msg; > > int rv = 0; > > + if (user) { > > + if (atomic_add_return(1, &user->nr_msgs) > max_msgs_per_user) { > > + atomic_dec(&user->nr_msgs); > > + rv = -EBUSY; > > + goto out; > > + } > > + } > > + > > @@ -2369,6 +2388,8 @@ static int i_ipmi_request(struct ipmi_user *user, > > rcu_read_unlock(); > > out: > > + if (rv && user) > > + atomic_dec(&user->nr_msgs); > > return rv; > > } > > If the number of msg is greater than the limit, the nr_msgs will be decrease > twice. > > Should it be returned directory?
Oh wait, yeah, I screwed that up. I added the first decrement later, after I "noticed" it was missing. I should add a comment there. Thanks. -corey > > -- > Chen Guanqiao _______________________________________________ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer